RESTHeart 9.4.0
RESTHeart 9.4.0 introduces the new restheart-accounts module for application-level account management, along with Server-Sent Events (SSE) support, GridFS and OAuth improvements, and various dependency upgrades.
✨ Highlights
restheart-accounts: application-level account management (#623)
A new module that adds a complete, ready-to-use identity and account layer on top of RESTHeart, so applications no longer have to build user management from scratch. It provides:
- User registration and email verification: self-service sign-up with an email-confirmation flow before accounts become active
- Password reset: secure self-service password recovery
- OAuth social login: let users authenticate through external identity providers
- Team invitations: invite users to join a team, with the surrounding membership flow
- Multi-tenancy: built-in tenant model with the ability to switch between tenants, isolating each tenant's users and data
In short, it turns RESTHeart into a backend that ships with the kind of multi-tenant, team-based account management typically expected from a SaaS/BaaS platform, out of the box.
Server-Sent Events (SSE)
- New
SseServiceinterface with full SSE support inChangeStreamWorkerand related handlers - Dedicated registry, factory, and bootstrapper for SSE services
- Per-client change stream event filtering via
notify_when(#629) - "SSE clock" example plugin with integration tests
- Expanded
ChangeStreamSseITtests: co-existence, worker lifecycle,Last-Event-ID, and authentication (#628)
OAuth & security
- OAuth 2.0 client credentials grant support
GridFS
- Bulk delete handler for GridFS files
MongoDB
- Estimated count functionality in
MongoRequestand related components - MongoDB client metadata (#614)
🔧 Improvements
- Enhanced
BsonUtils.getwith path token parsing and improved null handling; removed document context caching with added memory-management tests - Upgraded Undertow to 2.4.0 with RFC 3986 compliance
- Updated
mongodb-driver-syncto 5.6.5 - Updated
graphql-javato 25.0 - Helm chart support for RESTHeart 9.x (#600)
- Documentation: added
CONTRIBUTING.md(#613) andPLUGIN_EXCEPTION.md
🐛 Bug fixes
- Fixed double-call in the
setup-second-teamhelper - Restored
GetTenantsServiceandSwitchTenantService(were accidentally gitignored) - Fixed
CreateIndexesOnGqlAppscreating an index on the obsoletedescriptor.namefield