Main changes
- Fixed: the "Regenerate now" / "Regenerate everything" form was nested inside the settings form, so on a clean install both buttons landed on the "All Settings" screen and the General tab could not be saved. The status block now renders after the settings form through the new
wpasl_page_after_formaction. - Fixed: the page configured as "Posts page" is served as Markdown (
.md,Accept: text/markdown,?wpasl=md) and announces its Markdown URL, as llms.txt already advertised. - Fixed: "Settings saved." is shown after saving any tab; a save without a known tab (third-party tabs, programmatic updates) no longer wipes the other settings.
- Fixed: sites created after a network activation are set up on creation; a missing recurring event is re-scheduled on the next admin request.
- Fixed:
wp wpasl generate --post-typestays scoped with--batch, with--all(only that type is invalidated) and when the type has no eligible items. - Added: generation failures are counted per item, shown in the General tab and
wp wpasl status, reported through thewpasl_generation_failedaction and the PHP error log, and retried after the rest of the queue once they reachwpasl_max_failures(default 3). - Performance: the generation state is written once per run (lazy fills during llms-full.txt no longer rewrite the option per item) and not at all when an item of a non-enabled post type is unpublished.
- Fixed: the robots.txt preview and copy block match what WordPress serves, also when search engines are discouraged.
- Changed:
/llms.txtonly builds llms.txt; a missingllms-full.txtanswers 503 withRetry-Afterand is built in the background by a one-off event. - Added: the diagnostics probe the
.mdURL and robots.txt with every crawler user-agent, so user-agent specific WAF or CDN rules show up per crawler.
Full Changelog: v1.0.2...v1.0.3