Skip to content

Releases: cbschuld/Browser.php

v2.0.0 Modernization

04 Sep 16:17
bf4be5f
Compare
Choose a tag to compare

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 (was protected function checkBrowserEdge())

1.9.6 - support for Android Edge

14 Apr 18:48
9d07d64
Compare
Choose a tag to compare

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

06 Apr 16:56
c880d1b
Compare
Choose a tag to compare

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

v1.9.4 - added Brave and UCBrowser (fixes)

09 Jul 23:57
3d0f74b
Compare
Choose a tag to compare

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]

09 Jul 16:00
Compare
Choose a tag to compare

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

08 Jul 23:17
Compare
Choose a tag to compare

Added support for curl, wget and palemoon. Also added testing for both.

v1.9.2 - Testing Begins

26 Jun 22:47
f48bdc9
Compare
Choose a tag to compare

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