Skip to content

Releases: Ziptility/RxDBDotNet

v1.1.5

16 Sep 15:02
c7d3a6e
Compare
Choose a tag to compare

What's Changed

🐛 Bug Fixes

🔄 CI

v1.1.3

15 Sep 21:00
9360dd6
Compare
Choose a tag to compare

What's Changed

🧹 Chores

  • chore: enhance logging in WebSocketJwtAuthInterceptor to enable root cause analysis if connections are being rejected @rbeauchamp (#79)

v1.1.2

14 Sep 17:50
eb27d1b
Compare
Choose a tag to compare

What’s Changed

🚀 Features

  • feat: add support for OIDC-configured JWT authentication in GraphQL subscriptions @rbeauchamp (#75)

📚 Documentation

v1.0.4

13 Sep 17:40
00d306b
Compare
Choose a tag to compare

What’s Changed

🐛 Bug Fixes

  • fix: align the subscription connection init message payload with RxDB's format @rbeauchamp (#70)

📚 Documentation

v1.0.3

13 Sep 15:24
bf6a615
Compare
Choose a tag to compare

What’s Changed

🐛 Bug Fixes

v1.0.2

12 Sep 17:53
048cf24
Compare
Choose a tag to compare

What’s Changed

v1.0.1

07 Sep 22:40
34981e3
Compare
Choose a tag to compare

What's Changed

⚠️ Configuration changes

  • When configuring Hot Chocolate, you must enable mutation conventions for replication to work. For example:
 // Configure the Hot Chocolate GraphQL server
 builder.Services
     .AddGraphQLServer()
      // Mutation conventions must be enabled for replication to work
     .AddMutationConventions()
     .AddReplication()
     .AddReplicatedDocument<Workspace>()
     .AddInMemorySubscriptions();
  • When adding replication, call .AddReplication() instead of .AddReplicationServer(). Please take a look at the example above.

🐛 Bug Fixes

  • fix: Do not override the library user's AddMutationConventions() configuration @rbeauchamp (#57)

📚 Documentation

v1.0.0

05 Sep 18:43
c8131ff
Compare
Choose a tag to compare

We are thrilled to announce the initial release of RxDBDotNet v1.0.0! This release marks a significant milestone in bringing the power of RxDB replication to the .NET ecosystem, seamlessly integrated with Hot Chocolate GraphQL.

Features

Core Functionality

  • Full RxDB Protocol Support: Implements the complete RxDB replication protocol, enabling seamless integration with RxDB clients.
  • Hot Chocolate GraphQL Integration: Leverages the power of Hot Chocolate to provide a robust GraphQL API for replication.
  • Real-Time & Offline-First Capabilities: Supports real-time data synchronization and offline-first operations, allowing clients to work offline and sync when back online.

Replication Protocol Implementation

  • Document-Level Replication: Supports git-like replication model for efficient client-server synchronization.
  • Transfer-Level Protocol:
    • Pull Handler: Implemented via Pull<your-replicated-document> query with checkpoint-based iteration.
    • Push Handler: Implemented via Push<your-replicated-document> mutation with conflict detection.
    • Pull Stream: Implemented using GraphQL subscriptions for real-time updates.
  • Checkpoint Iteration: Efficiently synchronizes data using checkpoints, allowing clients to catch up after being offline.
  • Event Observation: Utilizes GraphQL subscriptions for real-time event streaming.

Security and Authorization

  • Policy-Based Security: Integrates with ASP.NET Core's authorization infrastructure for fine-grained access control.
  • Customizable Security Policies: Allows definition of custom policies for read and write operations on replicated documents.

Advanced Features

  • Subscription Topics: Supports topic-based subscriptions, allowing clients to subscribe to specific subsets of documents.
  • Custom Error Types: Enables configuration of custom exception types for detailed error reporting during replication operations.
  • Structured Error Handling: Implements advanced error handling using GraphQL mutation conventions for consistent and detailed error reporting.

Developer Experience

  • Quick Setup: Minimal configuration required to get started with RxDBDotNet.
  • Extensible Design: Allows for easy extension with custom document types and services.
  • Comprehensive Documentation: Includes detailed README and inline documentation for easy understanding and usage.

Getting Started

To start using RxDBDotNet, install the NuGet package:

dotnet add package RxDBDotNet

For a quick start guide and more detailed documentation, please refer to our README.md.

Breaking Changes

As this is the initial release, there are no breaking changes to report.

Known Issues

  • Clients using the standard RxDB GraphQL plugin may need modifications to work with RxDBDotNet's advanced error handling approach. Please refer to the "Important Note for RxDB GraphQL Plugin Users" section in the README for more details.

Future Plans

We are committed to the continuous improvement of RxDBDotNet. Future releases will focus on:

  • Enhanced performance optimizations
  • Additional integration options with popular .NET frameworks and libraries
  • Expanded documentation and examples
  • Community-driven feature requests and improvements

Contributing

We welcome contributions from the community! Please see our Contributing Guide for more information on how to get involved.

Acknowledgments

We would like to thank the RxDB and Hot Chocolate communities for their inspiration and excellent work, which has made this project possible.


Thank you for your interest in RxDBDotNet. We're excited to see what you'll build with it!

For any questions, issues, or feedback, please open an issue on our GitHub repository.

Happy coding!

The RxDBDotNet Team