v3.1.0
Highlights
@byline/core,@byline/db-postgres— Documentpathon write-side collection hooks. Every write-side lifecycle hook context now carries the document's canonical (source-locale) routingpath:afterCreate,afterUpdate,beforeStatusChange/afterStatusChange,beforeUnpublish/afterUnpublish, andbeforeDelete/afterDelete. Previously these contexts exposed onlydocumentIdandcollectionPath, so consumers wiring cache invalidation, CDN URL purges, webhooks, or search re-indexing had no way to target the specific document/URL that changed and were forced into coarse, collection-wide invalidation. The path is the raw slug frombyline_document_paths, resolved via a new narrowgetCurrentPathstorage query that reuses the existing source-locale fallback projection — so it follows a document'ssource_localeanchor even after the site default changes.beforeCreateintentionally stays path-free, since the path isn't derived until after that hook may have mutated the source field. The change is additive and backward-compatible — existing hooks keep working and simply receive an extractx.pathfield. (Note: while paths remain single-canonical-slug,ctx.pathis unambiguous; the per-locale-paths future phase will enrich these contexts with the derived locale — seedocs/DOCUMENT-PATHS.md.)
All other @byline/* packages bumped to 3.1.0 in lockstep with no behavioural changes this cycle.