Changes for version v0.3.8 - 2026-08-27 (TRIAL RELEASE)
- Enhancements
- Reverted back to using XS modules. There is no point using pure-Perl alternatives if this already uses Net::Patricia.
- Updated robot rules.
- Bug Fixes
- Fixed _check_dns so that it correctly returns false instead of undef if there is no match.
- Documentation
- Updated KNOWN ISSUES.
- Tests
- Add a "live" test with Google DNS.
Changes for version v0.3.7 - 2026-08-26 (TRIAL RELEASE)
- Enhancements
- Switch to Try::Tiny over Syntax::Keyword::Try.
- Bug Fixes
- bad_robot now returns undef for unknown results, like validate does.
- validate returns undef for unknown IPs without user agents.
Changes for version v0.3.6 - 2026-08-26 (TRIAL RELEASE)
- Enhancements
- User-agents are not matched against in a case-insensitive manner.
- Updated robot rules.
- Bug Fixes
- Fixed typo in robot rules.
- Documentation
- Documented potential rule conflicts.
- Improved documentation.
Changes for version v0.3.5 - 2026-08-25 (TRIAL RELEASE)
- Enhancements
- This uses the pure-Perl Algorithm::AhoCorasick module, but will use Algorithm::AhoCorasick::XS if it is available.
- Added bad_robot convenience method.
- cache_failure can be set in the cache_options as a global default.
- Bug Fixes
- Fixed regression: cache_failure overwrote the default expires_in setting.
- Documentation
- Added recommended modules to the REQUIREMENTS section of the README.
- Fixed POD errors.
- Updated SUPPORT section errors.
- Tests
- Add tests for pure-Perl modules only.
Changes for version v0.3.4 - 2026-08-25 (TRIAL RELEASE)
- Enhancements
- Added the cache_failure option to invalidate.
- This changes the behaviour of caching before v0.3.0.
- Added more bots: Cotoyogi, MJ12Bot and SofyaBot.
- Documentation
- Added missing items to Changes for v0.3.0.
- Updated KNOWN ISSUES.
Changes for version v0.3.3 - 2026-08-24 (TRIAL RELEASE)
- Enhancements
- Updated robot rules.
- Added devel/rebuild-robots-config utility to rebuild the robot rules.
- Switched the configuration parser to use TOML::Tiny by default, but TOML::XS if it is available.
- Documentation
- Improved documentation.
- Tests
- Added a missing prerequsite.
- Improved tests.
Changes for version v0.3.2 - 2026-08-23 (TRIAL RELEASE)
- Security
- Added missing initial dot to the domain suffixes for petalbot and visionheight, which allowed an imposter domain such as fakepetalsearch.com.
- Bug Fixes
- Fixed IPv6 DNS validation.
- Documentation
- Removed duplicate CONTRIBUTOR.
- Documented why the initial dot for the domain suffix is important.
- Improved the SECURITY CONSIDERATIONS section.
- Updated automation policy to be "human supervised".
- Added link to TOML specification in SEE ALSO.
Changes for version v0.3.1 - 2026-08-23 (TRIAL RELEASE)
- Documentation
- Fixed error in Changes.
Changes for version v0.3.0 - 2026-08-23 (TRIAL RELEASE)
- Incompatible Changes
- This is a complete rewrite, and the interface is not compatible.
- Bumped minimum Perl version to v5.24;
- Enhancements
- This uses the Aho-Corasick algorithm to match multiple user-agent strings efficiently.
- The robot rules are in a configuration file, allowing the user to easily update their own rules.
- The robot rules have been expanded and updated.
- Support for caching the results has been added, GH#3.
- Tests
- Updated the tests to use Test2.
- Documentation
- Updated the author email address.
- Updated the copyright year.
- Added a security policy.
- Toolchain
- Use SigStore instead of Module::Signature to sign releases.
- Added Automation Policy and DOAP metadata.
Modules
Validate that IP addresses are associated with known robots