PhpUserAgent

Lightning Fast, Minimalist PHP User Agent String Parser.

MIT License

Downloads
14.6M
Stars
553
Committers
18

Bot releases are hidden (Show)

PhpUserAgent - v0.23.0 - Backport v1.8.0 Latest Release

Published by donatj 12 months ago

DEPRECATED RELEASE - PLEASE UPGRADE TO 1.8.0 for EXACT PARITY

See 1.8.0 for changelog

Full Changelog: https://github.com/donatj/PhpUserAgent/compare/v0.22.0...v0.23.0

PhpUserAgent - Better bot support

Published by donatj 12 months ago

What's Changed

  • Adds a lot of test coverage
  • Officially support Slackbot
  • Better bot support overall

Full Changelog: https://github.com/donatj/PhpUserAgent/compare/v1.7.0...v1.8.0

PhpUserAgent - Backport v1.17.0 to 0.x

Published by donatj about 2 years ago

DEPRECATED RELEASE - PLEASE UPGRADE TO 1.17.0 for EXACT PARITY

PhpUserAgent - Fix PHP 8.1 Deprecation + Old AndroidBrowser

Published by donatj about 2 years ago

  • Fix deprecation notice on PHP 8.1 #86 - Thanks @kocsismate
  • Fix AndroidBrowser detection on old versions of Android

Full Changelog: https://github.com/donatj/PhpUserAgent/compare/v1.6.1...v1.7.0

PhpUserAgent - v0.21.1

Published by donatj over 2 years ago

PhpUserAgent - Fix "Motorola Edge" parsed as MS Edge

Published by donatj over 2 years ago

What's Changed

Full Changelog: https://github.com/donatj/PhpUserAgent/compare/v1.6.0...v1.6.1

PhpUserAgent - Edge Android Support

Published by donatj over 2 years ago

What's Changed

New Contributors

Full Changelog: https://github.com/donatj/PhpUserAgent/compare/v1.5.0...v1.6.0

PhpUserAgent - PlayStation 5 Support + Cleanup

Published by donatj about 3 years ago

  • Adds PlayStation 5 support
  • Drops Support for PHP 5.3
  • General cleanup
  • Improved Firefox test coverage

Adds official support for TelegramBot and Twitterbot.

They were already detected but did not have tests.

Adds sniffing and support for iMessageBot.

Please upgrade to the 1.x release.

This is a deprecated release for compatibility.

The functionality of this release is mirrored exactly by v1.3.0 and does not break compatibility. You can easily upgrade.

The 0.x releases will soon no longer be maintained.

Please upgrade ASAP.

PhpUserAgent - Adds support for TelegramBot, Twitterbot and iMessageBot

Published by donatj over 3 years ago

Adds official support for TelegramBot and Twitterbot.

They were already detected but did not have constants nor tests.

Adds sniffing and support for iMessageBot.

Adds:

  • Support for Miui Browser
  • Support for Sailfish OS
  • Support for Sailfish Browser

Please consider upgrading to the 1.x release.

This is a deprecated release for compatibility.

The functionality of this release is mirrored exactly by v1.3.0 and does not break compatibility. The 0.x releases will soon no longer be maintained. Please upgrade ASAP.

PhpUserAgent - Adds support for Miui Browser and Sailfish OS + Sailfish Browser

Published by donatj over 3 years ago

Adds:

  • Support for Miui Browser
  • Support for Sailfish OS
  • Support for Sailfish Browser
PhpUserAgent - Much Better UC Browser Support

Published by donatj almost 4 years ago

  • Older versions of UC Browser noted the platform as Adr rather than Android - handle this weirdness.
  • Add a bunch of tests for UC Browser
PhpUserAgent - Please use release v1.2.0 Instead - Much Better UC Browser Support

Published by donatj almost 4 years ago

  • Older versions of UC Browser noted the platform as Adr rather than Android - handle this weirdness.
  • Add a bunch of tests for UC Browser

Please consider upgrading to the 1.x release.

This is a deprecated release for compatibility.

The functionality of this release is mirrored exactly by v1.2.0 and does not break compatibility. The 0.x releases will soon no longer be maintained. Please upgrade ASAP.

PhpUserAgent - Applebot Support - Retroactive

Published by donatj about 4 years ago

Adds support for the Applebot - http://www.apple.com/go/applebot

Please consider upgrading to the 1.x release.

The functionality of this release is mirrored by v1.1.0 and does not break backwards compatibility. The 0.x releases will soon no longer be maintained.

PhpUserAgent - Applebot Support

Published by donatj about 4 years ago

Adds support for the Applebot - http://www.apple.com/go/applebot

PhpUserAgent - 1.0.0 Major Release

Published by donatj over 4 years ago

This is a major rework of the entire project that took just under 2 years. The utmost care went into considering how to keep this both the small and light library the community enjoys, but also add features people have been clamoring for since the beginning. I really believe we've hit the nail on the head here.

Backwards Compatibility Considerations:

A lot of work went into not breaking compatibility especially for people not using composer. If you encounter any issues with compatibility let us know and we will fix it ASAP.

All required "functional" logic remains in a single file src/UserAgentParser.php This is specifically to make the library easy to use for people who do not use composer.

Adds:

  • Object oriented convenience wrapper ecosystem.
    • \donatj\UserAgent\UserAgentParser - Object oriented parse_user_agent call wrapper.
    • \donatj\UserAgent\UserAgent - Object oriented response object.
    • \donatj\UserAgent\UserAgentInterface - Helper interface for test mocking.
  • Namespaced \donatj\UserAgent\parse_user_agent function to mirror global parse_user_agent
  • Constants for the returned arrays keys
    • \donatj\UserAgent\PLATFORM = 'platform';
    • \donatj\UserAgent\BROWSER = 'browser';
    • \donatj\UserAgent\BROWSER_VERSION = 'version';
  • Helpful predefined constants to check against for Platforms and Browsers generated from the same dataset as the tests.
    • \donatj\UserAgent\Browsers::*
    • \donatj\UserAgent\Platforms::*
  • Even more test cases

Changes:

  • parse_user_agent is deprecated in favor of \donatj\UserAgent\parse_user_agent
    • Will remain in the code until at least 2.x

Thus require "{$dir}/src/UserAgentParser.php"; remains a supported method of using the library.

Upgrading to 1.*

The new 1.* release does not break compatibility with 0.* and nothing need to change to upgrade. However, the global parse_user_agent is now deprecated; it has been replaced with the namespaced \donatj\UserAgent\parse_user_agent and functions exactly the same. You can easily replace any existing call to parse_user_agent with \donatj\UserAgent\parse_user_agent

In addition, 1.x adds a convenience object wrapper you may use should you prefer. More information on this is in the Usage section of the README.


I would also like to personally thank @mimmi20 for helping review ideas early in the project's life cycle.

PhpUserAgent - Fixes: UC Browser Support + Minor Refactoring

Published by donatj over 4 years ago

Fixes:

  • Corrects an issue detecting with newer versions of UC Browser. See: #63

Updates:

  • Refactored the code into a smaller number of test cases. Seems to actually be a very slight performance boon.
PhpUserAgent - Drops Support for Opera Next

Published by donatj over 4 years ago

Drops support for Opera Next - it's not really a thing anymore and supporting it was interfering with proper detection of Opera propper.