Hey there 👋,
while working on a PHP 8.1 project, I noticed the following deprecation message
PHP Deprecated: Return type of GeoJson\GeoJson::jsonSerialize() should either be compatible with JsonSerializable::jsonSerialize(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /path/to/code/vendor/jmikola/geojson/src/GeoJson/GeoJson.php on line 64
the reason probably being the
JsonSerializable stub, and I thought this might be an excellent opportunity to propose a 1.1 release of this library.
I tried to keep the changes as atomic as possible and as minimal as needed, just enough to support the updated dependencies, which are:
- The minimum required PHP version is now 7.4 because it hasn't quite yet reached its end of life
- Updated PHPUnit vom ~3.7 to ~9.5
- Removed obsolete
- Removed API Doc generation with Apigen (Apigen doesn't support newer PHP versions and hasn't received updates in quite some time - clicking through GitHub or downloading the source code to open it in one's favorite editor should be sufficient)
- Updated MkDocs configuration (the spacelab theme is not included in MkDocs anymore, and I couldn't find it elsewhere)
- Migrated the defunct Travis CI configuration to a GitHub actions workflow (including PHP 8.2 tests)
- Partially reverted the changes in #24, because they, unfortunately, broke the tests.
This PR supersedes #27 and #29.
I'd greatly appreciate it if you could let me know if you could see these changes in a 1.1 release 🙏 . I have more improvements in mind (and already prepared 😅), e.g., updated usage of language features and type checks, but I didn't want to blow this PR more than necessary.