Skip to content

Releases: hexydec/agentzero

AgentZero 2.0.3

27 Apr 16:05
1d8e56d

Choose a tag to compare

This is a bug fix and maintenance release, which also adds some new capture keys:

  • Fixed issue in agentzero::__construct() where the returned type for version values could be an int, whereas they are stored as string, they are now converted
  • Fixed bug in versions::get() where if the specified version was out of range of the earliest version we have data for, and the major version was the same, it would incorrect return that it was the latest version. It now checks the string against the earliest version to see if it lower, and if so marks it as legacy
  • Updated PHP version in test runner
  • Fixed PHPStan issues
  • Added new google agents
  • Updated README.md with more accurate information
  • Updated agentzero::getTokens() to guard against inputs that are too long
  • Updated hints::parse() to guard against hints that are too long
  • Added node-fetch as a scraper
  • Fixed strict error in index.php
  • Added new crawler mappings
  • Updated dependencies
  • Added tests

AgentZero v2.0.2

31 Aug 20:26

Choose a tag to compare

This is a bug fix release:

  • Fix bug in agentzero::getHints() where a variable wasn't set if you pass your own headers
  • Fixed bugs in versions::released() where it didn't always pick the earliest date for each browser based on the version number supplied
  • Updated tests

AgentZero v2.0.1

25 Aug 22:10

Choose a tag to compare

This release fixes some issues and improves some code features, and adds lots of new crawler captures:

  • Fixed issue with Fennec browser in browser::getBrowser() where it could get the version wrong, causing the release date to be incorrect
  • Updated agentzero::getHints() to enable the hints to be extracted from a headers array or from $_SERVER
  • Added support for fxiOS (Firefox on Safari)
  • Improved logic in versions::get()
  • Added some ClaudeBot tests
  • Updated class definition in README.md
  • Fixed docblock in hints::parse()
  • Added loads of AI bots to crawlers::get()
  • Added StatusCake monitor
  • Added URL to SiteImprove crawler
  • Added and updated tests
  • Updated dependencies

AgentZero v2.0.0

03 May 20:29

Choose a tag to compare

This release adds support for browser versions and client hints, and improves detection:

  • Client Hints can now be passed to agentzero::parse() for processing
  • Browser release dates, latest version, and status can now be added to the browser information (See the readme for how to enable it)
  • Improved UA normalisation
  • Added Barracuda Sentinel
  • Added webz.io crawler
  • Added vivobrowser
  • Improved weibo parsing in apps::get()
  • Improved Facebook app parsing in apps::get()
  • Moved device characteristics such as width, height and network type captures to devices::get() and added new network type captures
  • Added new Vivo Browser capture to browsers::get()
  • Added Bluesky crawler to crawlers::get()
  • Added Roku platform specific captures as they have a fixed format in platforms::get()
  • Improved Roku devices parser
  • Added agentzero::getHints() to retrieve the client hints sent by the browser
  • Updated README.md with information on how to parse client hints and add versioning information
  • Added tests

AgentZero v1.3.1

22 Nov 11:15

Choose a tag to compare

This release adds detection for more app/crawlers/platforms/devices/browsers/features:

  • Added support to detect Reddit/Pinterest/MXPlayer/Todoist/Trello/PurpleMash/Instapaper/LG Player/Roblox/nu.nl apps
  • Added more detection for Android, MacOS and iOS
  • Moved Headless Chrome detection to crawlers::get()
  • Fixed Amazon Kendra detection
  • Added Playstation 3 support
  • Added support for more LG and Xiaomi devices
  • Improved width and height processing to include density
  • Improved JSON extraction to include device and platform information
  • Added better URL detection in url::get()
  • Added category and type to libwww-perl framework
  • Added Douyin as an app name (Chinese TikTok) fixes #9
  • Added MIUI Browser to browsers list.
  • Added tests.
  • Updated dependencies.

AgentZero v1.3.0

01 Oct 08:56

Choose a tag to compare

This release improves normalisation of crawler names to enable analytics to be more consistent:

  • Agent strings are now normalised to remove surrounding quotes and extra whitespace in agentzero::parse()
  • Reworked how crawler names are parsed to make them more consistent in crawlers::normaliseAppname()
  • Added libwww-perl as a framework
  • Added lots of new crawlers
  • Fixed performance issue in crawlers::get() where a count() call was in a loop
  • Added and updated tests
  • Updated dependencies
  • Fixed some PHPStan recommendations

AgentZero v1.2.1

02 Aug 16:22

Choose a tag to compare

This is a maintenance release:

  • Added OpenAI and Claude bots
  • Added tests
  • Updated dependencies

AgentZero v1.2.0

27 Jun 20:10

Choose a tag to compare

This update add support for lots of new crawlers, and improves token handling internally:

  • Reworked how tokens are ignored in agentzero::getTokens() to make them case-insensitive
  • Added loads of new crawlers to crawlers::get()
  • Added .NET CLR framework to frameworks::get()
  • Added special class to handle difficult captures
  • Updated Yahoo! Slurp parser
  • Fix issue #6 typo in README.md
  • "arm" is now "Arm" in architectures::get()
  • Improved how apps are normalised in crawlers::getApp()
  • Applebot is now categorised as AI
  • Added bytespider crawler
  • Fixed issue in agentzero::getTokens() where the single values array was encoded with preg_quote(), but the delimiter was not supplied
  • AppleWebKit/537.36 is now marked as single as it is sometime preceded by other tokens that get captured together
  • Added captures for Baidu and MicroMessenger apps
  • Fixed PHPStan issues to level 9
  • Added and updated test
  • Updated dependencies

AgentZero v1.1.0

08 Apr 19:06

Choose a tag to compare

This release enables capture of more crawlers, and adds a new ai category:

  • Apps are now not automatically type human
  • Moved Powershell and AppleExchangeWebServices to crawlers, as there is no indication that these are human UA's
  • Added Alamofire as a framework
  • Fixed issue in other::getApp() where the app was expected to exist
  • Added capture for iOS with a space after it
  • Added Blazer browser (PalmOS)
  • Added PalmOS and updated Windows captures to ignore PalmOS
  • Added a new ai category, to mark crawlers that are specifically for AI
  • Added specific mispellings that indicate a web scraper instead of the human it is trying to spoof
  • Added and updated tests.

AgentZero v1.0.1

15 Feb 18:27

Choose a tag to compare

This release adds detection for more strings and improves how some strings are handled internally:

  • Fixed issues parsing Google-Read-Aloud
  • Cleaned up how specific category names and app names are specified for generic bot captures
  • Added Cloudflare crawlers to capture list
  • Fixes issue #5, missing Huawei Browser
  • Added tests