Changelog: Mention some more changes since 1.8.0#923
Conversation
It is internal only.
Art4
left a comment
There was a problem hiding this comment.
Some of the changes were backported into 1.8.1. We should insert the 1.8.1 section as well.
https://github.com/simplepie/simplepie/blob/one-dot-eight/CHANGELOG.md#181---2024-10-01
|
|
||
| ### Deprecated | ||
|
|
||
| - Most public properties on `SimplePie\File` are deprecated in favour of new methods of `SimplePie\Response` interface: |
There was a problem hiding this comment.
The SimplePie\HTTP\Response interface is marked as internal. We should not reference it in the CHANGELOG, so we can have some changes in the interface before it will be non-internal in 1.10.
| - Most public properties on `SimplePie\File` are deprecated in favour of new methods of `SimplePie\Response` interface: | |
| - Most public properties on `SimplePie\File` are deprecated in favour of new methods: |
There was a problem hiding this comment.
Hmm, good point. Though that means the suggested replacement methods should not be mentioned either?
There was a problem hiding this comment.
Yes, would be better to not mention them at all but refer to PSR-18 client to replace File class starting with SimplePie 1.10.
There was a problem hiding this comment.
But using the methods instead of the properties now will help the future migration. I think we can keep them but should not mention the interface.
| - `SimplePie\File::$url` → `SimplePie\File::get_final_requested_uri()` | ||
| - `SimplePie\File::$useragent` → Pass the user agent in constructor. | ||
| - `SimplePie\File::$body` → `SimplePie\File::get_body_content()` | ||
| - `SimplePie\File::$headers` → `SimplePie\File::get_headers()` | ||
| - `SimplePie\File::$status_code` → `SimplePie\File::get_status_code()` | ||
| - `SimplePie\File::$method` – no replacement: backend is implementation detail which you should not care about; to see if the file was retrieved over HTTP, check the protocol of `SimplePie\File::get_final_requested_uri()`. | ||
| - `SimplePie\File::$permanent_url` → `SimplePie\File::get_permanent_uri()` |
There was a problem hiding this comment.
| - `SimplePie\File::$url` → `SimplePie\File::get_final_requested_uri()` | |
| - `SimplePie\File::$useragent` → Pass the user agent in constructor. | |
| - `SimplePie\File::$body` → `SimplePie\File::get_body_content()` | |
| - `SimplePie\File::$headers` → `SimplePie\File::get_headers()` | |
| - `SimplePie\File::$status_code` → `SimplePie\File::get_status_code()` | |
| - `SimplePie\File::$method` – no replacement: backend is implementation detail which you should not care about; to see if the file was retrieved over HTTP, check the protocol of `SimplePie\File::get_final_requested_uri()`. | |
| - `SimplePie\File::$permanent_url` → `SimplePie\File::get_permanent_uri()` | |
| - `SimplePie\File::$url`, use `SimplePie\File::get_final_requested_uri()` instead. | |
| - `SimplePie\File::$useragent`, pass the user agent in constructor instead. | |
| - `SimplePie\File::$body`, use `SimplePie\File::get_body_content()` instead. | |
| - `SimplePie\File::$headers`, use `SimplePie\File::get_headers()` instead. | |
| - `SimplePie\File::$status_code`, use `SimplePie\File::get_status_code()` instead. | |
| - `SimplePie\File::$method` without replacement: backend is implementation detail which you should not care about; to see if the file was retrieved over HTTP, check the protocol of `SimplePie\File::get_final_requested_uri()`. | |
| - `SimplePie\File::$permanent_url`, use `SimplePie\File::get_permanent_uri()` instead. |
| ### Fixed | ||
|
|
||
| - Do not crash when `Content-Type` header is missing (by @Art4 in [#774](https://github.com/simplepie/simplepie/pull/774)) | ||
| - Correct `File::$permanent_url` when multiple redirects are chained (by @jtojnar in [#812](https://github.com/simplepie/simplepie/pull/812)) |
There was a problem hiding this comment.
| - Correct `File::$permanent_url` when multiple redirects are chained (by @jtojnar in [#812](https://github.com/simplepie/simplepie/pull/812)) | |
| - Correct `SimplePie\File::$permanent_url` when multiple redirects are chained (by @jtojnar in [#812](https://github.com/simplepie/simplepie/pull/812)) |
| - Correct `File::$permanent_url` when multiple redirects are chained (by @jtojnar in [#812](https://github.com/simplepie/simplepie/pull/812)) | ||
| - Improve PHP 8.4 compatibility (by @jrfnl in [#880](https://github.com/simplepie/simplepie/pull/880), [#881](https://github.com/simplepie/simplepie/pull/881), @jtojnar in [#837](https://github.com/simplepie/simplepie/pull/837), @Girgias in [#851](https://github.com/simplepie/simplepie/pull/851)) | ||
| - Fix regression from 1.8.0 in cache invalidation (by @Alkarex in [#883](https://github.com/simplepie/simplepie/pull/883)) | ||
| - `SimplePie::strip_htmltags()` correctly propagates `$encode` argument to `Sanitize` (by @jtojnar in [#894](https://github.com/simplepie/simplepie/pull/894)) |
There was a problem hiding this comment.
This change was backported into 1.8.1.
| - `SimplePie::strip_htmltags()` correctly propagates `$encode` argument to `Sanitize` (by @jtojnar in [#894](https://github.com/simplepie/simplepie/pull/894)) | |
| - `SimplePie\SimplePie::strip_htmltags()` correctly propagates `$encode` argument to `Sanitize` (by @jtojnar in [#894](https://github.com/simplepie/simplepie/pull/894)) |
| - Improve PHP 8.4 compatibility (by @jrfnl in [#880](https://github.com/simplepie/simplepie/pull/880), [#881](https://github.com/simplepie/simplepie/pull/881), @jtojnar in [#837](https://github.com/simplepie/simplepie/pull/837), @Girgias in [#851](https://github.com/simplepie/simplepie/pull/851)) | ||
| - Fix regression from 1.8.0 in cache invalidation (by @Alkarex in [#883](https://github.com/simplepie/simplepie/pull/883)) | ||
| - `SimplePie::strip_htmltags()` correctly propagates `$encode` argument to `Sanitize` (by @jtojnar in [#894](https://github.com/simplepie/simplepie/pull/894)) | ||
| - Stop `File` from mangling UTF-16 and UTF-32 encoded feeds (by @Alkarex in [#916](https://github.com/simplepie/simplepie/pull/916) and [#917](https://github.com/simplepie/simplepie/pull/917)) |
There was a problem hiding this comment.
| - Stop `File` from mangling UTF-16 and UTF-32 encoded feeds (by @Alkarex in [#916](https://github.com/simplepie/simplepie/pull/916) and [#917](https://github.com/simplepie/simplepie/pull/917)) | |
| - Stop `SimplePie\File` from mangling UTF-16 and UTF-32 encoded feeds (by @Alkarex in [#916](https://github.com/simplepie/simplepie/pull/916) and [#917](https://github.com/simplepie/simplepie/pull/917)) |
| - Use `idn_to_ascii` function instead of `idna_convert` library (requires `intl` extension or a [polyfill](https://github.com/symfony/polyfill-intl-idn)) (by @jtojnar in [#785](https://github.com/simplepie/simplepie/pull/785)) | ||
| - Improve precision of type annotations and increased level of PHPStan checks (by @jtojnar in [#837](https://github.com/simplepie/simplepie/pull/837)) | ||
| - Use native `gzdecode` function instead of internal PHP implementation (by @jtojnar in [#882](https://github.com/simplepie/simplepie/pull/882)) | ||
| - `SimplePie::set_curl_options([CURLOPT_HTTPHEADER => …])` will no longer prevent the following headers defined by SimplePie from being sent `Accept`, `if-modified-since`, `if-none-match` and `X-FORWARDED-FOR`. (by @Alkarex in [#912](https://github.com/simplepie/simplepie/pull/912)) |
There was a problem hiding this comment.
| - `SimplePie::set_curl_options([CURLOPT_HTTPHEADER => …])` will no longer prevent the following headers defined by SimplePie from being sent `Accept`, `if-modified-since`, `if-none-match` and `X-FORWARDED-FOR`. (by @Alkarex in [#912](https://github.com/simplepie/simplepie/pull/912)) | |
| - `SimplePie\SimplePie::set_curl_options([CURLOPT_HTTPHEADER => …])` will no longer prevent the following headers defined by SimplePie from being sent `Accept`, `if-modified-since`, `if-none-match` and `X-FORWARDED-FOR`. (by @Alkarex in [#912](https://github.com/simplepie/simplepie/pull/912)) |
|
|
||
| - Do not crash when `Content-Type` header is missing (by @Art4 in [#774](https://github.com/simplepie/simplepie/pull/774)) | ||
| - Correct `File::$permanent_url` when multiple redirects are chained (by @jtojnar in [#812](https://github.com/simplepie/simplepie/pull/812)) | ||
| - Improve PHP 8.4 compatibility (by @jrfnl in [#880](https://github.com/simplepie/simplepie/pull/880), [#881](https://github.com/simplepie/simplepie/pull/881), @jtojnar in [#837](https://github.com/simplepie/simplepie/pull/837), @Girgias in [#851](https://github.com/simplepie/simplepie/pull/851)) |
| - Use `idn_to_ascii` function instead of `idna_convert` library (requires `intl` extension or a [polyfill](https://github.com/symfony/polyfill-intl-idn)) by @jtojnar in [#785](https://github.com/simplepie/simplepie/pull/785) | ||
| - Use native `gzdecode` function instead of internal PHP implementation by @jtojnar in [#882](https://github.com/simplepie/simplepie/pull/882) | ||
| - Use `idn_to_ascii` function instead of `idna_convert` library (requires `intl` extension or a [polyfill](https://github.com/symfony/polyfill-intl-idn)) (by @jtojnar in [#785](https://github.com/simplepie/simplepie/pull/785)) | ||
| - Improve precision of type annotations and increased level of PHPStan checks (by @jtojnar in [#837](https://github.com/simplepie/simplepie/pull/837)) |
There was a problem hiding this comment.
Maybe we should mention that declare(strict_types=1); are declared furthermore in contrast to the removal in 1.8.1?
There was a problem hiding this comment.
That was already done in 1.8.0?
How would that interact with the 1.9.0 changelog? Then some changes would be listed twice. Or should I omit the backported changes from 1.9.0? What about changes that were fixed differently on master and 1.8.1 like #891? |
Yes, the changes, that was backported to 1.8.1 should be omitted in 1.9.0.
In general: The Changelog is written for the humans. So I recommend the changes should sort by the release dates. Backports to 1.8.1 don't have to be mentioned again in 1.9.0. But we should to address every issue separately, like:
But I'm not fully sure about that. I'll take a look how other projects like nextcloud handle this situation. |
|
Hmm, also curious what they do if we were to release 1.8.2 with backports after 1.9.0. |
|
Closing this in favor of #850. |
* bump SimplePie::VERSION to 1.9.0 * bump SimplePie::VERSION to 1.9.0 * Add CHANGELOG for 1.8.1 section * Parenthesize author and PR link * import changelog changes from simplepie#923 * Add 1.9.0 section, update unreleased section * improve changelog * Add missing authors of changes * PHP 8.5: Conditionally call deprecated functions (simplepie#937) Several PHP functions that have not been doing anything since PHP 8.0/8.1 will be deprecated in PHP 8.5 and will thus be throwing warnings: https://wiki.php.net/rfc/deprecations_php_8_5#deprecate_no-op_functions_from_the_resource_to_object_conversion To solve this while supporting multiple versions of PHP, they can be called conditionally based on a PHP version check. This PR adds this for affected functions throughout the SimplePie codebase. * Update release date --------- Co-authored-by: Art4 <art4@wlabs.de> Co-authored-by: Tobias Bäthge <git@tobias.baethge.com> Co-authored-by: Artur Weigandt <Art4@users.noreply.github.com>
Also parenthesize author and PR link.