xref: /plugin/statdisplay/vendor/cbschuld/browser.php/CHANGELOG.md (revision c99923ae4df1753dbe81b6e7241dbc4afd1ba64a)
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