Releases: hexydec/agentzero
AgentZero 2.0.3
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 anint, whereas they are stored asstring, 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 aslegacy - Updated PHP version in test runner
- Fixed PHPStan issues
- Added new google agents
- Updated
README.mdwith 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-fetchas a scraper - Fixed strict error in
index.php - Added new crawler mappings
- Updated dependencies
- Added tests
AgentZero v2.0.2
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
This release fixes some issues and improves some code features, and adds lots of new crawler captures:
- Fixed issue with
Fennecbrowser inbrowser::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
ClaudeBottests - Updated class definition in
README.md - Fixed docblock in
hints::parse() - Added loads of AI bots to
crawlers::get() - Added
StatusCakemonitor - Added URL to
SiteImprovecrawler - Added and updated tests
- Updated dependencies
AgentZero v2.0.0
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.iocrawler - Added
vivobrowser - Improved
weiboparsing inapps::get() - Improved
Facebookapp parsing inapps::get() - Moved device characteristics such as width, height and network type captures to
devices::get()and added new network type captures - Added new
Vivo Browsercapture tobrowsers::get() - Added
Blueskycrawler tocrawlers::get() - Added
Rokuplatform specific captures as they have a fixed format inplatforms::get() - Improved
Rokudevices parser - Added
agentzero::getHints()to retrieve the client hints sent by the browser - Updated
README.mdwith information on how to parse client hints and add versioning information - Added tests
AgentZero v1.3.1
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,MacOSandiOS - Moved
Headless Chromedetection tocrawlers::get() - Fixed
Amazon Kendradetection - Added
Playstation 3support - Added support for more
LGandXiaomidevices - Improved
widthandheightprocessing to includedensity - Improved JSON extraction to include device and platform information
- Added better URL detection in
url::get() - Added category and type to
libwww-perlframework - Added
Douyinas an app name (Chinese TikTok) fixes #9 - Added
MIUI Browserto browsers list. - Added tests.
- Updated dependencies.
AgentZero v1.3.0
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-perlas a framework - Added lots of new crawlers
- Fixed performance issue in
crawlers::get()where acount()call was in a loop - Added and updated tests
- Updated dependencies
- Fixed some PHPStan recommendations
AgentZero v1.2.1
This is a maintenance release:
- Added OpenAI and Claude bots
- Added tests
- Updated dependencies
AgentZero v1.2.0
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 CLRframework toframeworks::get() - Added
specialclass to handle difficult captures - Updated
Yahoo! Slurpparser - Fix issue #6 typo in
README.md - "arm" is now "Arm" in
architectures::get() - Improved how apps are normalised in
crawlers::getApp() Applebotis now categorised as AI- Added
bytespidercrawler - Fixed issue in
agentzero::getTokens()where the single values array was encoded withpreg_quote(), but the delimiter was not supplied AppleWebKit/537.36is now marked as single as it is sometime preceded by other tokens that get captured together- Added captures for
BaiduandMicroMessengerapps - Fixed PHPStan issues to level 9
- Added and updated test
- Updated dependencies
AgentZero v1.1.0
This release enables capture of more crawlers, and adds a new ai category:
- Apps are now not automatically type
human - Moved
PowershellandAppleExchangeWebServicesto crawlers, as there is no indication that these are human UA's - Added
Alamofireas a framework - Fixed issue in
other::getApp()where theappwas expected to exist - Added capture for
iOSwith a space after it - Added
Blazerbrowser (PalmOS) - Added
PalmOSand updated Windows captures to ignore PalmOS - Added a new
aicategory, 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
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
Cloudflarecrawlers to capture list - Fixes issue #5, missing Huawei Browser
- Added tests