DEV Community

Cover image for Brighter V10 RC1 Is Here: New Features, Breaking Changes, and What’s Next
Rafael Andrade
Rafael Andrade

Posted on

Brighter V10 RC1 Is Here: New Features, Breaking Changes, and What’s Next

After months of development, Brighter V10 RC1 is finally available! Listed as 10.0.0-preview.6 in releases, this version introduces significant enhancements, breaking changes, and groundwork for future updates. Below, we break down the key updates and what they mean for developers.

New feature

Here some of the new feature available in Brighter V10

Default mapper

Brighter now supports a default message mapper for unregistered types. By default, it uses JSON serialization, but developers can switch to CloudEvents (JSON mode) or custom mappers. This simplifies configuration while maintaining flexibility.

CloudEvents

Brighter integrates with the CloudEvents standard for event-driven architectures. Binary mode is the default, automatically setting headers for compatibility, though JSON mode remains optional via attributes or the default mapper.

Scheduler

A built-in in-memory scheduler enables message/command/event scheduling. Additionally, Brighter now integrates with external systems like AWS Scheduler, Hangfire, Quartz.NET, and Azure Service Bus.

MongoDB Support

MongoDB is now fully supported, including outbox, inbox, claim-check patterns, and distributed locking. This expands Brighter’s compatibility with NoSQL ecosystems.

RabbitMQ C# Library V7

Developers can now leverage the latest RabbitMQ C# client (V7) for improved performance and compatibility with modern messaging workflows.

Breaking changes

Here some of breaking changes on V10

Async Interface Overhaul

Most interfaces now provide both synchronous and asynchronous versions, aligning with modern .NET practices and ensuring better scalability for async-first applications.

Mapper

The new IAmAMessageMapperAsync interface handles async pipelines. Additionally, MapToMessage now accepts a Publication parameter, enabling dynamic mapping based on publication settings (e.g., matching RequestType).

Primitive Obsession Reduction

Primitive types like string for IDs and partition keys have been replaced with dedicated types (Id, PartitionKey).

Dependency Injection Registration

The registration process for Microsoft DI has been redesigned, requiring updates to startup configurations for compatibility with V10.

Upcoming Features for RC2/Final Release

While RC1 stabilizes core changes, work continues on additional features:

Framework Adaptors

Adaptors for JustSaying and MassTransit will simplify integration with these popular messaging libraries, reducing boilerplate code.

AWS SDK v4 Support

A new package will add compatibility with AWS SDK v4, allowing gradual migration from v3 without disrupting existing workflows.

RocketMQ Integration

RocketMQ support will empower users with a scalable, distributed messaging system, ideal for high-throughput architectures.

Google Cloud Platform (GCP) Support

Brighter will expand its cloud capabilities with GCP integrations for Pub/Sub, GCS, Firestore, and Spanner.

Enhanced Nullable Reference Types

Improved support for C# nullable features will reduce runtime null exceptions and enhance code reliability.

Conclusion

Brighter V10 RC1 marks a major milestone, balancing innovation with backward compatibility. While breaking changes require careful migration, they pave the way for a more robust and flexible framework. Stay tuned for RC2 and the final release, which will further expand Brighter’s capabilities across cloud platforms and messaging ecosystems.

Top comments (0)