Repository navigation
v0.32.0
0.32.0 (2026-10-15)
⚠ BREAKING CHANGES
- cms: a plugin names every file it keeps through host.data in a
datafield on its definition (kept, rebuildable or credential). host.data.read and update throw on an undeclared file, and PluginDataFolder.path is removed. The testing helper pluginDataFolder takes the plugin instead of its name. - cms: PluginFederationContext.outbox(username) and .followers(username) return Promise<PluginCollection<…> | undefined>; await them before reading totalItems, firstCursor, lastCursor or a page.
- cms: settings.current() returns a Promise and HOST_API_VERSION is 2. Plugin settings move from site.json to data/plugins// at boot.
- cms: host.siteInfo() returns a Promise. SiteSettings keys are snake_case and the three license fields are one license value; readSiteSettings is removed, read cms.settings.values(SITE) instead. ConversationReader methods take the site settings. RelayService.sync, FeedNotifier.feedsFor, IndexNowNotifier.urlsFor and MailService.from return promises. A site that builds its own CMS passes await settleConfig(config) to createCms.
- cms: MailService.configured() and providerName() return promises, and CommentNotifier gains settled().
Features
- cms: a census test fails on any data file a site writes without a declaration (1d853c2)
- cms: choose on Settings > Discussion which document types take comments by default (e84e774)
- cms: geekity export writes a tar.gz of the kept files with a manifest (e992983)
- cms: geekity import restores an export and installs its plugins from npm (3f158c3)
- cms: give a read citation an optional book cover (df8f1f1)
- cms: keep federation messages in a SQLite queue under data/ (2872231)
- cms: keep plugin settings in data/plugins/ on the settings registry (f046118)
- cms: list, get and set plugin settings from geekity settings (4a7cb23)
- cms: mail and Akismet credentials move onto the settings registry (e2341f0)
- cms: plugins declare their data files, and an undeclared file is refused (91319f1)
- cms: return promises from the plugin federation outbox and followers (02eeafc)
- cms: run admin jobs on an in-process queue with records in data/ (9c26bab)
- cms: run resends as a queued job from the federation screen (88abd04)
- cms: run strip-metadata as a queued job from the media screen (68a1246)
- cms: settings registry with maintenance and dev mode switches (7a16fce)
- cms: the site settings move onto the settings registry (5e8ac71)
- cms: tools > export runs a site export as a job and offers the download (cfc37b7)
Bug Fixes
- cms: answer 404 for a variant of an upload that is not an image (2e67287)
- cms: close the gaps the review found in site export and import (b20c83b)
- cms: escape admin field labels and hints unless the caller marks them safe (caa8be3)
- cms: give newestPosts entries an excerpt in the Eleventy example config (1c53e16)
- cms: leave a job a live process is running alone at start-up recovery (41230d1)
- cms: leave the export's own job and lost+found out of a site move (7033ff0)
- cms: let a missing upload fall through to declared redirects (8e7480a)
- cms: list a titled read post by its headline and words, with the read line after them (312c524)
- cms: migrate plugin settings before a plugin command and keep env secrets untrimmed (8691bdd)
- cms: mint the indexnow key at boot and warn when a term redirect is not saved (57d46c3)
- cms: name every file under content/ an export could not carry (e716415)
- cms: refuse a job command while the same job is active (960167c)
- cms: remove temp files a cut-off metadata sweep left in uploads (d51d9ca)
- cms: run a job a dead or discarded worker left behind without a restart (0148218)
- cms: say a web address where the editor accepts http and https (d0b4482)
- cms: serve uploads with the type of their kind, so a PDF is application/pdf (6b01f82)
- cms: stage an import inside content/ and data/ so it works on mount points (0f50930)
- cms: wait for and stop a federation queue passed through config (ca575fc)
plugin-wordpress: 0.5.0
0.5.0 (2026-10-15)
⚠ BREAKING CHANGES
- cms: a plugin names every file it keeps through host.data in a
datafield on its definition (kept, rebuildable or credential). host.data.read and update throw on an undeclared file, and PluginDataFolder.path is removed. The testing helper pluginDataFolder takes the plugin instead of its name. - cms: PluginFederationContext.outbox(username) and .followers(username) return Promise<PluginCollection<…> | undefined>; await them before reading totalItems, firstCursor, lastCursor or a page.
Features
- cms: a census test fails on any data file a site writes without a declaration (1d853c2)
- cms: geekity export writes a tar.gz of the kept files with a manifest (e992983)
- cms: geekity import restores an export and installs its plugins from npm (3f158c3)
- cms: plugins declare their data files, and an undeclared file is refused (91319f1)
- cms: return promises from the plugin federation outbox and followers (02eeafc)
Bug Fixes
- plugin-wordpress: target host api 2 (dc41cde)
plugin-llm: 0.3.0
0.3.0 (2026-10-15)
⚠ BREAKING CHANGES
- cms: a plugin names every file it keeps through host.data in a
datafield on its definition (kept, rebuildable or credential). host.data.read and update throw on an undeclared file, and PluginDataFolder.path is removed. The testing helper pluginDataFolder takes the plugin instead of its name.
Features
- cms: plugins declare their data files, and an undeclared file is refused (91319f1)
Bug Fixes
- plugin-llm: await the settings and target host api 2 (d5a892f)
- plugin-llm: await the site info the host now returns as a promise (0a836a6)
plugin-post-summary: 0.4.0
0.4.0 (2026-10-15)
⚠ BREAKING CHANGES
- cms: a plugin names every file it keeps through host.data in a
datafield on its definition (kept, rebuildable or credential). host.data.read and update throw on an undeclared file, and PluginDataFolder.path is removed. The testing helper pluginDataFolder takes the plugin instead of its name.
Features
- cms: plugins declare their data files, and an undeclared file is refused (91319f1)
Bug Fixes
- plugin-post-summary: target host api 2 (686dac6)
plugin-tag-suggest: 0.3.0
0.3.0 (2026-10-15)
⚠ BREAKING CHANGES
- cms: a plugin names every file it keeps through host.data in a
datafield on its definition (kept, rebuildable or credential). host.data.read and update throw on an undeclared file, and PluginDataFolder.path is removed. The testing helper pluginDataFolder takes the plugin instead of its name.
Features
- cms: plugins declare their data files, and an undeclared file is refused (91319f1)
Bug Fixes
- plugin-tag-suggest: await the settings and target host api 2 (d08d771)
- plugin-tag-suggest: await the site info the host now returns as a promise (f95571a)
plugin-wordpress: 0.5.0
0.5.0 (2026-10-15)
⚠ BREAKING CHANGES
- cms: a plugin names every file it keeps through host.data in a
datafield on its definition (kept, rebuildable or credential). host.data.read and update throw on an undeclared file, and PluginDataFolder.path is removed. The testing helper pluginDataFolder takes the plugin instead of its name. - cms: PluginFederationContext.outbox(username) and .followers(username) return Promise<PluginCollection<…> | undefined>; await them before reading totalItems, firstCursor, lastCursor or a page.
Features
- cms: a census test fails on any data file a site writes without a declaration (1d853c2)
- cms: geekity export writes a tar.gz of the kept files with a manifest (e992983)
- cms: geekity import restores an export and installs its plugins from npm (3f158c3)
- cms: plugins declare their data files, and an undeclared file is refused (91319f1)
- cms: return promises from the plugin federation outbox and followers (02eeafc)
Bug Fixes
- plugin-wordpress: target host api 2 (dc41cde)
plugin-llm: 0.3.0
0.3.0 (2026-10-15)
⚠ BREAKING CHANGES
- cms: a plugin names every file it keeps through host.data in a
datafield on its definition (kept, rebuildable or credential). host.data.read and update throw on an undeclared file, and PluginDataFolder.path is removed. The testing helper pluginDataFolder takes the plugin instead of its name.
Features
- cms: plugins declare their data files, and an undeclared file is refused (91319f1)
Bug Fixes
- plugin-llm: await the settings and target host api 2 (d5a892f)
- plugin-llm: await the site info the host now returns as a promise (0a836a6)
plugin-post-summary: 0.4.0
0.4.0 (2026-10-15)
⚠ BREAKING CHANGES
- cms: a plugin names every file it keeps through host.data in a
datafield on its definition (kept, rebuildable or credential). host.data.read and update throw on an undeclared file, and PluginDataFolder.path is removed. The testing helper pluginDataFolder takes the plugin instead of its name.
Features
- cms: plugins declare their data files, and an undeclared file is refused (91319f1)
Bug Fixes
- plugin-post-summary: target host api 2 (686dac6)
plugin-tag-suggest: 0.3.0
0.3.0 (2026-10-15)
⚠ BREAKING CHANGES
- cms: a plugin names every file it keeps through host.data in a
datafield on its definition (kept, rebuildable or credential). host.data.read and update throw on an undeclared file, and PluginDataFolder.path is removed. The testing helper pluginDataFolder takes the plugin instead of its name.
Features
- cms: plugins declare their data files, and an undeclared file is refused (91319f1)