1# Changelog 2All notable changes to this project will be documented in this file. 3 4The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), 5and this project **attempts** to adhere to [Semantic Versioning](https://semver.org/spec/v2.0.0.html) while applying 6changes when it socially makes sense. 7 8## [Unreleased] 9 10## [2.0.0] - 2025-08-31 11### Added 12- PSR-4 autoloading with `cbschuld` namespace 13- Return type declarations on key methods (setVersion, checkBrowserEdge, etc.) 14- `compareVersion()` method for PHP 8+ compatible version comparisons 15- Enhanced Edge browser detection (supports Edge/, Edg/, EdgA/, EdgiOS/ patterns) 16- Root-level Browser.php shim for non-Composer backward compatibility 17- GitHub Actions CI pipeline (replaces Travis CI) 18- Support metadata in composer.json 19- Comprehensive upgrade documentation (UPGRADING.md) 20 21### Changed 22- **BREAKING**: Minimum PHP version is now 8.0 (was 7.2) 23- **BREAKING**: Added return type declarations to key methods (may affect extenders) 24- **BREAKING**: Class is now namespaced as `cbschuld\Browser` 25- Updated PHPUnit to 9.6 for broad PHP 8.x compatibility 26- Updated phpunit.xml.dist to PHPUnit 9.6 schema 27- Fixed fgetcsv escape parameter for PHP 8.1+ compatibility 28- Removed composer.lock from repository (library best practice) 29 30### Removed 31- Support for PHP 7.x 32- Travis CI configuration (.travis.yml) 33- Composer branch alias 34 35### Migration 36- See UPGRADING.md for detailed migration instructions 37- Backward compatibility maintained via automatic class aliasing 38- Non-Composer users can still use direct includes 39 40## [1.9.4] - 2019-07-09 41### Added 42- Added better support for Firefox Mobile 43- Added support for the Brave browser 44- Added support for the UCBrowser 45- Added more tests for specific User Agents and more IE tests (removed duplicate UAs as well) 46 47## [1.9.3] - 2019-07-08 48### Added 49- Added support for curl, wget and the Palemoon browser 50 51## [1.9.2] - 2019-06-26 52### Added 53- PHPUnit Tests for Firefox, Opera and Chrome (3684 tests, 7368 assertions) 54- Stronger tests for Firefox and Chrome 55### Removed 56- Dropped support for 5.x PHP due to updates to PHPUnit and legacy nature of 5.X 57 58## [1.9.1] - 2019-06-19 59### Added 606/19/2019: Update (Version 1.9.1) 61* Added Firefox iOS (gejobj) 62* Corrected 'Vivalidi' to 'Vivaldi' (adaxi) 63* Reset enhancement (yahasana) 64* Enforce using precise distribution until End Of Life for Travis CI (bburnichon) 65* Lazy load browser class on demand (bburnichon) 66 67## 1.9.0 - 2010-08-20 68### Added 69* Added MSN Explorer Browser 70* Added Bing/MSN Robot 71* Added the Android Platform 72### Fixed 73* Fixed issue with Android 1.6/2.2 74 75## 1.8.0 - 2010-04-27 76## Fixed 77* Added iPad support 78 79## 1.7.0 - 2010-03-07 80### Added 81* Added FreeBSD Platform 82* Added OpenBSD Platform 83* Added NetBSD Platform 84* Added SunOS Platform 85* Added OpenSolaris Platform 86* Added support of the Iceweazel Browser 87* Added isChromeFrame() call to check if chromeframe is in use 88* Moved the Opera check in front of the Firefox check due to legacy Opera User Agents 89* Added the __toString() method (Thanks Deano) 90## Removed 91* Almost all of Gary's original code has been replaced 92## Fixed 93* Version 1.7 was a *MAJOR* Rebuild (preg_match and other *slow* routine removal(s)) included the following 94 95## 0.0.9 - 2008-12-09 96### Fixed 97* removed an unused constant and renamed the constructor to use the PHP magic method __construct (thanks to Robin for locating the legacy constant and suggesting the use of the magic method). 98 99## 0.0.8 - 2009-11-08 100### Fixed 101* A lot of changes to the script, thank you to everyone for the suggestions and emails. This release should add all of the requested features. Added BlackBerry, mobile detection, Opera Mini support, robot detection, Opera 10's UserAgent mess, detection for IceCat and Shiretoko! 102 103## 0.0.7 - 2009-04-27 104### Fixed 105* John pointed out a terrible typo (see below) - removed the typo 106 107## 0.0.6 - 2009-04-22 108### Added 109* added support for GoogleBot, the W3C Validator and Yahoo! Slurp 110 111## 0.0.5 - 2009-03-14 112### Added 113* added support for the iPod; added iPod and iPhone as platforms; added Google.s Android 114 115## 0.0.4 - 2009-02-24 116### Fixed 117* fixed typo in the usage! (thanks Adam!) 118 119## 0.0.3 - 2009-02-19 120### Fixed 121* updated typical usage to show a correct example! (thanks David!) 122* Updated the version detection for Amaya 123* Updated the version detection for Firefox 124* Updated the version detection for Lynx 125* Updated the version detection for WebTV 126* Updated the version detection for NetPositive 127* Updated the version detection for IE 128* Updated the version detection for OmniWeb 129* Updated the version detection for iCab 130* Updated the version detection for Safari 131* Updated Safari to remove mobile devices (iPhone) 132### Added 133* Added version detectionf for edge via [pixelbacon](https://github.com/pixelbacon) 134* Added detection for Chrome 135* Added detection for iPhone 136* Added detection for robots 137* Added detection for mobile devices 138* Added detection for BlackBerry 139* Added detection for iPhone 140* Added detection for iPad 141* Added detection for Android 142### Removed 143* Removed Netscape checks 144