Releases: cbschuld/Browser.php
Releases · cbschuld/Browser.php
v2.0.0 Modernization
Added
- PSR-4 autoloading with
cbschuld
namespace - Return type declarations on key methods (setVersion, checkBrowserEdge, etc.)
compareVersion()
method for PHP 8+ compatible version comparisons- Enhanced Edge browser detection (supports Edge/, Edg/, EdgA/, EdgiOS/ patterns)
- Root-level Browser.php shim for non-Composer backward compatibility
- GitHub Actions CI pipeline (replaces Travis CI)
- Support metadata in composer.json
- Comprehensive upgrade documentation (UPGRADING.md)
Changed
- BREAKING: Minimum PHP version is now 8.0 (was 7.2)
- BREAKING: Added return type declarations to key methods (may affect extenders)
- BREAKING: Class is now namespaced as
cbschuld\Browser
- Updated PHPUnit to 9.6 for broad PHP 8.x compatibility
- Updated phpunit.xml.dist to PHPUnit 9.6 schema
- Fixed fgetcsv escape parameter for PHP 8.1+ compatibility
- Removed composer.lock from repository (library best practice)
Removed
- Support for PHP 7.x
- Travis CI configuration (.travis.yml)
- Composer branch alias
Migration
- See UPGRADING.md for detailed migration instructions
- Backward compatibility maintained via automatic class aliasing
- Non-Composer users can still use direct includes
Breaking Changes
PHP Version Requirement
- Minimum PHP version: 8.0+ (was 7.2+)
- Reason: Enables modern PHP features and improved performance
Namespace Introduction
- New namespace:
cbschuld\Browser
- Migration path: See usage examples below
Return Type Declarations
- Added return type hints to protected methods
- Impact: If you extend the
Browser
class and override protected methods, you'll need to add matching return types - Example:
protected function checkBrowserEdge(): bool
(wasprotected function checkBrowserEdge()
)
1.9.6 - support for Android Edge
Adds
- support for Android Edge
Removes
- tests for 7.2 as it was dropped by Travis CI/trusty
Changes
- moved from /lib to /src for classes to get ready for 2.0 which will support PSR-4 loading
v1.9.5 - better support for Edge, testing improvements
Added
- better support for the Edge Browser
- updated travis to trusty and removed 7.2, added 7.4 for tests
- added better/additional Edge tests
Thanks
- thank you to @GramThanos for the PRs
v1.9.4 - added Brave and UCBrowser (fixes)
Added
- Added better support for Firefox Mobile
- Added support for the Brave browser
- Added support for the UCBrowser
- Added more tests for specific User Agents and more IE tests (removed duplicate UAs as well)
v1.9.1 - [rebuilt 1.9.1 due to typo in php file]
6/19/2019: Update (Version 1.9.1)
- Added Firefox iOS (gejobj)
- Corrected 'Vivalidi' to 'Vivaldi' (adaxi)
- Reset enhancement (yahasana)
- Enforce using precise distribution until End Of Life for Travis CI (bburnichon)
- Lazy load browser class on demand (bburnichon)
v1.9.3 - curl, wget and Palemoon
Added support for curl, wget and palemoon. Also added testing for both.
v1.9.2 - Testing Begins
Added testing to this release, updated the firefox and chrome sensors. Test suite addresses Firefox, Chrome and Opera detection with 3684 individual user-agent tests.
Added
- PHPUnit Tests for Firefox, Opera and Chrome (3684 tests, 7368 assertions)
- Stronger tests for Firefox and Chrome
Removed
- Dropped support for 5.x PHP due to updates to PHPUnit and legacy nature of 5.X