Skip to content

Releases: hexydec/agentzero

AgentZero v1.3.1

22 Nov 11:15
Compare
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
Compare
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
Compare
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
Compare
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
Compare
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
Compare
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

AgentZero v1.0.0

25 Jan 21:24
Compare
Choose a tag to compare

This release improves detection, adds some new properties, and improves performance. Also is now marked as stable:

  • Added PS Vita and PSP support
  • Added Moblie as an alternative to Mobile as some Samsung devices misspell it
  • Added new properties framework and frameworkversion to capture the runtime that the app was built in
  • Added support for Weibo and WeChat apps
  • Added support for QQ Browser
  • Improved how IE and Trident is captured to account for the fact that the QQ Browser can be either Trident or WebKit
  • Updated Chromium detection to set the rendering engine to WebKit when the version is less than 28
  • Languages can now be captured from language/ or ByteLocale tokens
  • Updated config in apps::get() to unify how app names are processed, now going through apps::getApp()
  • Updated other::get() to normalise app names through apps::getApp()
  • Moved capture for ByteFullLocale/ to languages::get().
  • Updated crawlers::get() to improve normalisation of the Qwant crawler
  • Improved how iPhone is captured for certain app strings
  • Added tests/profile.php to process a load of UA strings so the code can be profiled
  • Updated agentzero::parse() to generate a lowercase copy of the tokens, which is then passed to props::match(), this is to prevent the tokens being lowercased for every match that is made
  • Added declare(strict_types = 1) to all test files
  • Added and updated tests
  • Updated README.md to remove beta flag

AgentZero v0.6.0

11 Jan 13:53
Compare
Choose a tag to compare

This release fixes some bugs and adds a new metric::

  • Fixed #2 where the normalisation of the app name was not specific enough, and lost detail. There is now a new metric appname that extracts the original app name as specified in the UA string
  • Fixed #4 where the version of Safari is specified in a different token, it is now extracted where available
  • Updated test
  • Updated docs and readme
  • Updated dependencies

AgentZero v0.5.1

18 Dec 22:32
Compare
Choose a tag to compare

This is a service release that adds some improvements:

  • The original UA string is now a property of the returned object
  • Added snap preview crawler
  • Updated tests
  • Updated dependencies

AgentZero v0.5.0

19 Nov 21:59
Compare
Choose a tag to compare

This release improves the output quality, and adds some new properties:

  • Tightened up what device and model represent, and upgraded parsers to produce the correct value
  • Added RAM, CPU model number, and CPU clock metrics to output, as this is revealed by some app UA strings
  • Added lowercase versions of some ignore strings in config::get()
  • Added Google Quick Search Box to the apps list, fixed duplication with OcIdWebView, added imo, Amazon Kids Browser, and Viber
  • Added support for detecting edge on Android
  • Added Phone mapping in categories::get() to map to mobile
  • Added a load of scrapers to crawlers::get()
  • Fixed issues capturing some Amazon Fire Tablets in devices::get()
  • Added support for capturing Samsung and Blackberry devices
  • Redmi devices are now not mapped as Xiaomi devices
  • Fixed issue in other::get() where Chrome was mapped as an app
  • Added and updated tests
  • Updated README.md to show the correct example now that the return value of agentzero::parse() is an agentzero object