Skip to content

Latest commit

 

History

History
309 lines (242 loc) · 25.5 KB

CHANGELOG.md

File metadata and controls

309 lines (242 loc) · 25.5 KB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

Added

  • New method SimplePie\SimplePie::set_http_client() for providing PSR-18 HTTP client and PSR-17 factories by @Art4 in #777
  • New method SimplePie\Locator::set_http_client() for providing PSR-18 HTTP client and PSR-17 factories by @Art4 in #777
  • New method SimplePie\Sanitize::set_http_client() for providing PSR-18 HTTP client and PSR-17 factories by @Art4 in #777

Changed

  • Use idn_to_ascii function instead of idna_convert library (requires intl extension or a polyfill) by @jtojnar in #785

Removed

  • Third-party idna_convert library is no longer part of the repository by @jtojnar in #785

Deprecated

  • The method SimplePie\SimplePie::set_file() is deprecated, use SimplePie\SimplePie::set_http_client() or SimplePie\SimplePie::set_raw_data() instead
  • The method SimplePie\Sanitize::pass_file_data() is deprecated, use SimplePie\Sanitize::set_http_client() instead
  • Passing multiple URLs to SimplePie\SimplePie::set_feed_url() is deprecated. You can create separate SimplePie instance per feed and then use SimplePie::merge_items() to get a single list of items. (#795)

1.8.0 - 2023-01-20

Added

  • New method SimplePie\SimplePie::set_cache() for providing a PSR-16 cache implementation by @Art4 in #742
  • New method SimplePie\SimplePie::set_cache_namefilter() for customize the cache key in #762
  • New class SimplePie\Cache\CallableNameFilter to provide a callable to customize the cache key in #762
  • New interface SimplePie\RegistryAware to inject the Registry instance into classes created by Registry by @Art4 in #760
  • update PHP versions in GH Actions workflows by @jrfnl in #767
  • Registry: Allow using class-strings instead of magic strings by @jtojnar and @Art4 in #766

Changed

  • Clarify branching strategy by @Art4 in #751
  • Use native array_replace_recursive() by @Alkarex in #749
  • PHP 7.2 or newer is now required by @Art4 in #743
  • Parse\Date: Clean up regex structure by @jtojnar in #765
  • Declare strict_types=1 in every file by @Art4 in #763

Fixed

  • Item::get_date(): fix return type on unparsable date by @jtojnar in #753
  • Fix error handling for PHP 8.1 by @cedric-anne in #747
  • The method SimplePie\SimplePie::get_image_height() returns the pixel number as int instead of float by @Art4 in #763
  • The method SimplePie\SimplePie::get_image_width() returns the pixel number as int instead of float by @Art4 in #763
  • No URL Decode for enclosure links by @Alkarex in #768
  • Sanitize thumbnail URL by @Alkarex in #770
  • Fix case of multiple RSS2.0 enclosures by @Alkarex in #769
  • Fix broken phpdoc references by @jtojnar in #771

Deprecated

  • The method SimplePie\Misc::array_merge_recursive() is deprecated, use native array_replace_recursive() instead
  • The method SimplePie\SimplePie::set_cache_name_function() is deprecated, use SimplePie\SimplePie::set_cache_namefilter() instead
  • The method SimplePie\SimplePie::set_cache_location() is deprecated, use SimplePie\SimplePie::set_cache() instead
  • The method SimplePie\SimplePie::force_cache_fallback() is deprecated, expired cache will not be used anymore
  • The class SimplePie\Cache is deprecated, use implementation of SimplePie\SimplePie::set_cache() instead
  • The class SimplePie\Cache\DB is deprecated, use implementation of Psr\SimpleCache\CacheInterface instead
  • The class SimplePie\Cache\File is deprecated, use implementation of Psr\SimpleCache\CacheInterface instead
  • The class SimplePie\Cache\Memcache is deprecated, use implementation of Psr\SimpleCache\CacheInterface instead
  • The class SimplePie\Cache\Memcached is deprecated, use implementation of Psr\SimpleCache\CacheInterface instead
  • The class SimplePie\Cache\MySQL is deprecated, use implementation of Psr\SimpleCache\CacheInterface instead
  • The class SimplePie\Cache\Redis is deprecated, use implementation of Psr\SimpleCache\CacheInterface instead
  • The interface SimplePie\Cache\Base is deprecated, use interface Psr\SimpleCache\CacheInterface instead

Removed

  • ROADMAP.md removed by @Art4 in #748
  • remove check for E_USER_DEPRECATED definition by @Art4 in #750
  • remove broken BC code in Registry by @Art4 in #764

1.7.0 - 2022-09-30

Added

  • New class SimplePie\SimplePie as a replacement for class SimplePie
  • New method SimplePie\Misc::get_default_useragent() as a replacement for constant SIMPLEPIE_USERAGENT

Changed

  • Do not use magic values for state machine state by @jtojnar in #735
  • Use PSR-4 classes in Registry by @Art4 in #736
  • GH Actions: run tests against PHP 8.2 by @jrfnl in #739
  • Change code style to PSR-12 by @Art4 in #738

Fixed

  • Fix status_code type by @Alkarex in #728
  • Fix parsing of HTTP Links by @Alkarex in #729
  • Fix using the best base link for an item content by @Alkarex in #744
  • Fix .editorconfig regression by @Alkarex in #745

Deprecated

  • The class SimplePie is deprecated, use class SimplePie\SimplePie instead
  • The use of PSR-0 classes (all classes without namespaces in the library directory) is deprecated, use PSR-4 classes (see src directory) instead
  • The constant SIMPLEPIE_BUILD is deprecated, use SimplePie\Misc::get_build() instead
  • The constant SIMPLEPIE_USERAGENT is deprecated, use SimplePie\Misc::get_default_useragent() instead
  • All global constants are deprecated, use the constants from the class SimplePie\SimplePie instead (e.g. replace SIMPLEPIE_VERSION with SimplePie\SimplePie::VERSION)

1.6.0 - 2022-04-21

Added

  • New methods SimplePie::rename_attributes() and SimplePie_Sanitize::rename_attributes() allow renaming attributes by @math-GH in #717
  • Add audio, video @src elements/attribute for URL resolution by @rdalverny in #716
  • Added new namespaced aliases and PSR-4 support for every class by @Art4 in #711
  • Add .editorconfig by @Alkarex in #724
  • Upload compiled file as release asset by @Art4 in #725

Changed

  • GH Actions: version update for ramsey/composer-install by @jrfnl in #713

Fixed

  • Bugfix in MySQL cache by @Art4 in #720
  • Re-enable xml:base for all supported RSS formats by @Alkarex in #723

1.5.8 - 2021-12-24

Changed

  • Update CHANGELOG.md, follow keepachangelog format by @Art4 in #709

Fixed

  • Fix a small typo in the error() function Docblock by @audrasjb in #712
  • Fix/708 version bump for constant SIMPLEPIE_VERSION for 1.5.8 release by @faisal-alvi in #710

1.5.7 - 2021-12-19

  • Fix PHP8 crash due to insufficient isset test by @Alkarex in #670
  • gitignore tests by @Alkarex in #671
  • Reduce memory when parsing large feeds by @Alkarex in #672
  • PHP8 catch ValueError for loadHTML() by @Alkarex in #673
  • Provide access to HTTP status code by @Alkarex in #674
  • Fix wrong type hint by @Alkarex in #678
  • Force HTTPS for selected domains by @Alkarex in #676
  • Prevent cache polution by @Alkarex in #675
  • Fix typo in comment by @Alkarex in #680
  • Remove HTTP credentials in HTTP Referer by @Alkarex in #681
  • CI: switch to GH Actions by @jrfnl in #688
  • PHP 8.1: fix "passing null to non-nullable" deprecation notice by @jrfnl in #689
  • Tests: PHPUnit cross-version compatibility by @jrfnl in #690
  • Tests: use strict assertions by @jrfnl in #692
  • CacheTest: handle different exceptions PHP cross-version by @jrfnl in #691
  • GH Actions: don't allow builds to fail on PHP 8.0 or 8.1 by @jrfnl in #693
  • Tests: use the correct parameter order by @jrfnl in #694
  • PHPUnit: update configuration by @jrfnl in #696
  • fix: better deal with proxy returning proxy headers (in response to cURL's Proxy-Connection header) by @shunf4 in #698
  • Handle multiple Link headers by @voegelas in #700
  • PHP 8.2: explicitly declare properties by @jrfnl in #705
  • New Contributor: @shunf4 made their first contribution in #698
  • New Contributor: @voegelas made their first contribution in #700

1.5.6 - 2020-10-14

  • PHP 8.0: prevent ValueError for invalid encoding #657
  • Travis: test against more recent PHP versions #653
  • PHP 8.0: handle removal of get_magic_quotes_gpc() #654
  • PHP 7.4/8.0: curly brace array access deprecated & removed #655
  • PHP 8.0: required parameters are no longer allowed after optional parameters #656
  • Fix permanent_url for HTTP 301 #660
  • Fix typo in MIME type in Content_Type_Sniffer #661

1.5.5 - 2020-05-01

  • Ensure that feeds retrieved with force_feed do not share the same cache as those retrieved without. #643
  • Removed references to removed PHP directives and some PHP < 5.6 checks. #645
  • Corrected incorrect alumni name. #638

1.5.4 - 2019-12-17

  • PHP 5.6 or newer is now required. #625
  • Fixed invalid docblock parameter types #633
  • Added support for German short forms for weekdays and months. #632
  • PHP 7.4 support: Fixed instances of accessing array offset on null type values. #628
  • Return an effective feed URL when asking for non-permanent subscribe_url. #627

1.5.3 - 2019-09-22

  • Replaced pow() call with ** operator (micro performance optimization). #622
  • Match links containing feed in the Locator class. #621
  • PHP 7.4 support: Ensure the proper argument order for implode() calls. #617
  • Added support for Russian dates. #607
  • Preemptively changed is_writeable() calls to is_writable() in case the former is deprecated in PHP. #604

1.5.2 - 2018-08-02

  • Added support for PHPUnit 6. #565
  • Added PHP module requirements to Composer. #590
  • Added support for Redis password and database. #589
  • Changed the spelling of writeable to writable within inline documentation. #586
  • Fixed various issues in the test suite and Travis. #576
  • Removed ambiguous tests failing on usort() in PHP 7. #578
  • Simplified logic for some function returns. #573
  • Fixed inline documentation for return value types for accuracy. #570
  • Fixed Travis to run composer install. #567
  • Removed unnecessary elses when a value has already been returned. #566
  • Fixed a bug where URL fragments are included when SimplePie_File normalizes URLs when really old versions of cURL are used. #564
  • Updated SimplePie_Locator to respect cURL options specified. #561

1.5.1 - 2017-11-17

  • Fixed photos so they are not added if the URL is empty. #530
  • Fixed issues with retrieving feeds from behind a proxy. #512/#548
  • Updated favicon URL in get_favicon(). #525
  • Fixed inline documentation typo. #540
  • Removed extra closing <a> tag. #537
  • Removed and updated feed URLs in the demo. #535
  • Improvements to microformat feed parsing. #533
  • Switched from regex to xpath for microformats discovery. #536
  • Update the registry if the Sanitize class has been changed. #532
  • Changed the sanitization type for author and category back to text from HTML. #531

1.5 - 2017-04-17

  • Introduced SimplePie_Category->get_type() for retrieving category type. #492
  • Added $enable_exceptions to the class property declarations for SimplePie class. #504
  • Titles are now parsed for ATOM10 enclosure links. #507
  • $item->get_id() can now be forced to return the supplied ID instead of generating a new one. #509

1.4.3 - 2016-11-26

  • Removed support for PHP 5.2. #469
  • Added support for the PHP UConverter class. #485
  • PHP 7.1 Support: Fixed PHP error when trying to use a non-numeric value in round(). #458
  • PHP 7 Support: Fixed deprecated message for old style constructors. #489
  • Fixed the error message shown when a feed has an empty body. #487
  • Added an error message when the XML or PCRE PHP extensions are missing. #468
  • Check the result of sanitize before returning in get_content() and get_description(). #494
  • Use saveHTML() to fix issues with non UTF-8 characters. #470
  • Stop passing compressed data through trim(). #455
  • Refactored the UTF-8 conversion error message. #467
  • Updated the readme file. #486
  • Added command line support for compayibility test. #481
  • Added PHP 7.1 to the testing matrix. #462
  • Use the latest HHVM version in testing (3.15.2). #480
  • Added PHPUnit as a dev-dependency in Composer. #463
  • Added mf2/mf2 as a suggestion in Composer for use with microformats. #491
  • Fixed misspelled occurrences of "separated". #459
  • Improvements to the compatibility test and error messages. #488

1.4.2 - 2016-06-14

  • Fixed a bug with IRI parsing.
  • More cleanly separates discovery of microformats and parsing when php-mf2 is not present.

1.4.1 - 2016-06-02

  • Fixed inconsistent hash results in SimplePie_Item->get_id().
  • Leading and trailing whitespace is now trimmed from XML feed content to prevent errors. #445
  • Improved support for microformat feeds.

1.4.0 - 2016-04-25

  • Dropped support for PHP 5.2. #348
  • Serialized data is now used for hashing in SimplePie_Item->get_id(). #348
  • Added support for PHP 5.5 and 5.6. #348
  • Added the add_attributes() method to SimplePie. #394
  • Added the force_cache_fallback() method to SimplePie to allow an expired cache to be used when a feed is unavailable. #389
  • Added Memcached. #386
  • Added set_curl_options() method to SimplePie to allow custom options. #348
  • Added Redis Caching. #348
  • Added the CEST timezone. #380
  • Added support for HTTP 301 Moved Permanently. #348
  • Added support for application/x-rss+xml in SimplePie_Locator. #348
  • Added photo de-duping in microformats. #348
  • Added decoding for special characters in MAYBE_HTML. #400
  • Added SimplePie_Exception for internally reporting errors. Also, use this to show an error when trying to load the class instead of causing a failure. #241
  • Added sanitization of the </html> and </body> tags. #348
  • Added support for media thumbnails through SimplePie_Item->get_thumbnail(). #348
  • Added the feed_url to a returned error message. #348
  • Added cache purging after a specified period of time when using MySQL cache. #329
  • Added backwards compatibility for removed subscribe_*() and enable_xml_dump() methods. #348
  • Re-added the deprecated get/set_favicon() methods for backwards compatibility.
  • Charsets are now compared without case sensitivity to avoid duplicates. #352
  • Fixed encoding of ampersands in SimplePie->subscribe_url(). #348
  • The feed URL is now updated based on the URL returned by cURL. #348
  • Explicitly use UTF-8 in SimplePie_Misc->get_element() and Simple_ie_Misc->element_implode(). #348
  • Improved support, feed and authorship discovery, and parsing for microformats. #348
  • rss:pubDate is now used over atom:updated when determining the posting date. #288
  • Simplified the use of mtime() and touch(). #403
  • All items are now forced to have a timestamp. #348
  • Fixed typo in the date parser that incorrectly identified September as month 8. #348
  • Fixed backwards compatibility with cache subclasses. #243
  • Fixed a bug where the updated date was not fetched correctly. #239
  • Fixed the datatype for items.data to be more appropriate in when using MySQL cache. #302
  • Fixed cURL not failing when the server returns an error. #425
  • Fixed an error caused when trying to instantiate a SimplePie_File object with a bad URI. #272
  • Fixed a PHP notice that occurs when a date starts with (. #348
  • Fixed uninitialized string offeset PHP notices. #353
  • Fixed call to non-existent property in Memcache. #311
  • Fixed a bug where MySQL statements were not being passed thorugh prepare(). #348
  • Fixed an instance where an error message in SimplePie was not being triggered correctly. #348
  • Fixed a bug with Russian feeds. #348
  • Fixed an issue with memory leaks. #287
  • Fixed use of DOMElement as array. #315
  • Improved the error message when a feed cannot be found. #348