diff --git a/.planning/todos/pending/2026-10-29-stream-aware-previous-next-on-summercms-io-changelog.md b/.planning/todos/pending/2026-10-29-stream-aware-previous-next-on-summercms-io-changelog.md new file mode 100644 index 00000000..45d1470f --- /dev/null +++ b/.planning/todos/pending/2026-10-29-stream-aware-previous-next-on-summercms-io-changelog.md @@ -0,0 +1,19 @@ +--- +created: 2026-10-29T00:00:00.000Z +title: Stream-aware previous/next links on the summercms.io changelog +area: consumers +severity: minor +g15office: csdgkgez +files: + - ../sm-journal-plugin/controllers/api/posts.go + - ../vue-journal-layer/app/journal-pages/PostPage.vue + - ../sm-summercmsio-app/vue-summercmsio-app/changelog/nuxt.config.ts +--- + +## Problem + +Quick 261028-wqu split the summercms.io changelog into two streams by Journal category: `/changelog` (`framework`) and `/changelog/plugins` (`plugins`). A post page's previous/next links come from the Journal API, which orders them across all posts, so a framework release post can link to a plugin post and the reverse. + +## Solution + +Two options. Either the post endpoint takes an additive, optional category scope for its neighbours (sm-journal-plugin, no breaking change), and vue-journal-layer passes the post's stream category through a new layer option, followed by a layer tag and a pin bump in vue-summercmsio-app. Or the app owns its post page and computes neighbours from the category-filtered list. The first is reusable by other Journal sites.