Added
- A changelog, in Keep a Changelog 1.1.0, recording every release back to 1.0.0 and published beside the docs at docs.fkrzski.dev/robots-txt. It is kept out of the Composer archive, so a
--prefer-distdownload is unchanged (#24).
Changed
- The guide, the API reference and the crawler list are published at docs.fkrzski.dev/robots-txt and live in
docs/in the repository; the README is a quickstart that links there instead of carrying the whole manual. - The Composer archive leaves out
docs/as well, so a--prefer-distdownload stayssrc/andcomposer.json.
Added
- PHP 8.5 support.
Changed
- A
--prefer-distdownload shipssrc/andcomposer.jsononly: theexport-ignorerules in the new.gitattributeskeepart/,tests/,.github/, the README, the license and the tool configs out of the Composer archive.
Removed
- BC break PHP 8.3 support; the package requires PHP 8.4 or 8.5.
2.0.1
Fixed
disallowAll()writesDisallow: /, the whole-site rule every crawler reads, where it wrote theDisallow: /*wildcard that only crawlers supporting pattern matching honour.
2.0.0
Removed
- BC break PHP 8.2 support; the package requires PHP 8.3 or higher.
1.0.2
Fixed
- The README’s
disallowAll()example closes its code fence, so everything after it reads as prose again instead of as one code block.
1.0.1
Fixed
composer.jsonno longer pins"version": "dev-0.1.0", so Composer and Packagist read the version from the tag; 1.0.0 reported itself asdev-0.1.0.
1.0.0
Added
RobotsTxt, a fluent builder:allow(),disallow(),crawlDelay()andsitemap()for global rules,userAgent()andforUserAgent()for per-crawler blocks,disallowAll()to block the whole site, andtoString()/toFile()to render the file or write it to disk.CrawlerEnum, 37 crawlers mapped to their official user-agent strings, andDirectiveEnumwithAllow,Disallow,User-agent,Crawl-delayandSitemap.Path,CrawlDelay,Sitemap,UserAgentandRulevalue objects behind theValueObjectcontract, each validating on construction and throwingInvalidArgumentExceptionon a path that does not start with/, a negative delay, or a sitemap URL that is not an HTTP(S).xml.- Support for PHP 8.2 and higher.