Repository navigation
Stream Engine 0.5.0
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