Skip to content

Stream Engine 0.5.0

Choose a tag to compare

@bfhp bfhp released this 08 Oct 21:50
· 188 commits to main since this release

Highlights

Stream Engine 0.5.0 moves fixed internal module routes out of the database and into module-owned runtime page trees. Administrators now configure only public mount pages, while modules own and validate their internal routing structure.

This release also introduces unique 24-hour feed view counting, stable cursor pagination for growing feeds, and stricter TypeScript validation.

Changed

Module-owned runtime pages

  • Forum, personal-blog, and community internal routes are now registered in memory beneath their public mount pages.
  • The Pages editor exposes only routes that administrators may genuinely create or configure.
  • Moving or removing a public mount page automatically moves or removes its runtime subtree on the next request.
  • Runtime routes define access rules, indexing behavior, feed metadata, settings, and localized breadcrumb names in module code.
  • Runtime page hierarchies and route conflicts are validated during application boot.
  • Internal URLs are resolved and generated through the shared PageTree.
  • Fresh installations persist only public mount pages.
  • The upgrade migration removes the legacy internal page rows.

Feed views

  • Feed views are counted at most once per member or guest within a 24-hour window.
  • Known crawlers no longer increase view counters.
  • View counting remains independent from read/unread state.

Pagination

  • Profile, community, and tag-filtered post feeds now use stable (created_at, id) cursor pagination instead of offsets.
  • New content no longer causes duplicate or skipped entries while an existing feed is being paginated.

Development

  • TypeScript checking now runs in strict mode across browser sources, JavaScript tests, and Vite/Vitest configuration.

Upgrade notes

Update the package and apply the new database migrations:

composer update
composer migrate