Releases: rtfirst/llms-txt
Releases · rtfirst/llms-txt
1.0.12
Fixed
- Bug: Pages located below a "Spacer" page (
doktype = 199, "Trennzeichen für Menü") are now included inllms.txt. Previously the spacer row was filtered out by the SQL query, which suppressed all of its descendants (#2). Spacers themselves remain excluded from the output, matching the TYPO3 frontend menu behavior. Nested spacers are handled automatically.
Added
- Functional test coverage for
PageTreeService(spacer traversal, nested spacers, explicit page exclusion). - New
Functional Testsjob in CI matching the unit-tests matrix (PHP 8.2–8.4 × TYPO3 13.4 / 14.0, SQLite).
Pull requests
v1.0.11
Added
- Feature: YAML frontmatter now includes real page timestamps —
dateshows the page creation date (crdate),lastmodshows the most recent modification date from content elements (tt_content);lastmodis omitted when identical todate
Improved
- Only
DeletedRestrictionon timestamp queries (page already confirmed by TYPO3 routing) - Language-aware timestamps: translation overlay
crdate/tstampused for non-default languages; default-language content changes do not bleed into other languages'lastmod - Content element timestamps filtered by
sys_language_uidfor accurate per-languagelastmod - Content timestamps (editorial changes) take priority over
pages.tstamp(which can be updated by system operations) - Graceful error handling: database failures during timestamp fetching are logged and fall back to current date instead of crashing the response
LoggerInterfaceadded toContentFormatMiddlewarefor error observability
Full Changelog: 1.0.10...1.0.11
v1.0.10
v1.0.9
Security & Bug Fixes
Security
- Access control: Replace
removeAll()query restrictions with selective restriction management — now properly respectsfe_group,starttime, andendtimeaccess controls on pages - Injection: Escape canonical URLs in YAML frontmatter, escape Markdown link syntax in page titles
Bug Fixes
- Cache: Cache flush event now clears entire llms.txt cache (index + per-page Markdown), preventing stale
.mdcontent after page edits - TableConverter: Escape pipe characters in table cell content for valid Markdown tables
- YAML: Frontmatter escaping now handles newlines, carriage returns, and tabs
Code Quality
- Add
LoggerInterfacetoAbstractContentConverterandPageTreeService— errors are now logged instead of silently swallowed - Use
new FlashMessage()instead ofGeneralUtility::makeInstance() - Remove redundant
getSettings()call inLlmsTxtGeneratorService - Simplify
CacheFlushEventListener(remove unused dependency)
Full Changelog: 1.0.8...1.0.9
1.0.8
Changed
- Rename TYPO3 extension key from
llms_txttort_llms_txt(Composer package namertfirst/llms-txtremains unchanged) - Update all
EXT:llms_txt/references toEXT:rt_llms_txt/ - Add explicit extension key to TER publish workflow
- Update GitHub Actions to Node.js 24-compatible versions (checkout v6, cache v5)
- Add
.gitattributesto exclude dev files from TER archive
Version 1.0.6
Changes
- Fix PHPStan and PHP-CS-Fixer issues for CI compatibility
- Add
declare(strict_types=1)to ext_emconf.php - Update phpstan.neon with correct vendor path and ignore rules
- Add PHPStan ignore comments for TYPO3 13/14 compatibility
- Update README with correct local development commands
- Remove generated documentation temp files
Compatibility
- TYPO3 13.0 - 14.x
- PHP 8.2+
Version 1.0.5
Features
- Improved Markdown output quality
- Convert remaining HTML tags to Markdown (
<a>,<br>,<strong>,<em>) - Decode HTML entities (
&→&,<→<) - Strip remaining HTML tags after conversion
- Convert remaining HTML tags to Markdown (
- Make canonical URLs absolute in frontmatter
- Use real page URLs in llms.txt examples instead of placeholders
- Internal page links in
.mdfiles now point to.mdversion for consistent LLM navigation
Technical
- Extend PHP version support to 8.2, 8.3, 8.4
- Add new unit tests for link conversion
v1.0.4
Added
- Unit tests for HeaderLinkEventListener
Changed
- Update dev dependencies: phpstan ^2.1, phpstan-typo3 ^2.0, rector ^2.0
- Apply Rector fixes (First Class Callable syntax)
Fixed
- TYPO3 14 compatibility for HeaderLinkEventListener (use getContent()/setContent())
- PHPStan errors for TYPO3 13/14 compatibility
- GitHub repository URLs in composer.json
v1.0.3
Changes
Changes in 1.0.3
- Add HeaderLinkEventListener for theme-independent header link injection
- Fix header link not appearing when no API key configured
- Convert relative links to absolute URLs in Markdown output
- Add badges and support links to README and composer.json
- Add API key protection mention to documentation
v1.0.2 - Rector Code Quality Fixes
Changes
- Use
instanceof ResponseInterfaceinstead of!== nullfor type checks - Use
||instead oforfor boolean operations (better operator precedence)
Applied Rector rules:
FlipTypeControlToUseExclusiveTypeRectorLogicalToBooleanRector