Skip to content

Schema Registry #357

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 79 commits into
base: master
Choose a base branch
from
Draft

Schema Registry #357

wants to merge 79 commits into from

Conversation

w1am
Copy link
Contributor

@w1am w1am commented Jul 16, 2025

No description provided.

RagingKore and others added 30 commits December 16, 2024 17:03
dropped support for net6.0 and net7.0
added some helpers to fluentdocker
playing around the idea of keeping the container on tests
Refactored the folder structure for streams and protocol files to improve organization and clarity. Introduced `Modules` as the main folder for streams, and migrated protocol definitions to a new hierarchical structure under `proto/kurrentdb/protocol`. Added new v2 protocol files for schema registry functionality.
Moved core files and modules to reorganized namespaces for better project modularity and maintainability. Introduced a clearer folder structure aligning with version-specific implementations, while consolidating and relocating common utility files.
`DefaultRequestVersionHandler` was removed to simplify or deprecate its functionality. Additionally, the namespaces were updated to adopt a cleaner, concise syntax throughout the project for improved readability and consistency.
Removed redundant `using` directives and simplified several class constructors. Streamlined method signatures and adhered to consistent formatting across interceptors. Introduced `KurrentDBConnectionString` for parsing and managing connection strings, along with updated connectivity settings implementation in `KurrentDBClientConnectivitySettings`.
…otobuf.

Added abstractions and implementations for schema serialization and deserialization, enabling multi-format data handling. Included support for schema-based data validation, serialization exceptions, and extensibility for future formats. Refactored client modules to integrate the schema framework seamlessly.
Removed legacy stream handling code and replaced it with more modular, extensible append models using `OneOf` and Proto-based definitions. Introduced new `Appender` and `Protocol` utilities for improved batching, schema handling, and multi-stream transactional operations. Updated metadata processing strategy for compatibility with both old and new database contracts.
Deleted unused or outdated gRPC client-related code, schema serialization infrastructure, and related logic. Simplifies the codebase by discarding legacy components no longer in use or relevant.
Refactored schema serialization to use a streamlined auto-registration and validation approach. Introduced new exception types to improve error specificity, added gRPC compression support (e.g., Brotli), and improved hash code generation APIs. Replaced legacy serialization code, cleaned up unused methods, and aligned serialization formats with updated schema registry standards.
RagingKore and others added 30 commits June 11, 2025 00:09
… consistency

Remove experimental KurrentClient and related legacy files

Deleted unused experimental versions of `KurrentClient` and associated legacy implementations, including `KurrentDBClientSettingsBuilder`. Streamlined project by eliminating obsolete and commented-out code, improving overall clarity and maintainability.

Signed-off-by: Sérgio Silveira <[email protected]>
…` directory

Deleted the `.clinerules` directory and its contents, including legacy documentation and unused guides. Updated `.gitignore` to prevent further tracking of this directory. Streamlined the repository by eliminating outdated resources.

Signed-off-by: Sérgio Silveira <[email protected]>
…ine error handling and introduce stream metadata model

Deleted legacy files such as `KurrentDBLegacyExtensions` and `KurrentDBLegacyResolver`. Replaced `IErrorDetails` with `ErrorDetailsBase` and unified error handling across stream-related operations. Introduced refined `StreamMetadata` and `StreamInfo` models to improve metadata management. Simplified and modernized the codebase by removing deprecated implementations and enhancing maintainability.

Signed-off-by: Sérgio Silveira <[email protected]>
…troduce new Result class for better error management

Signed-off-by: Sérgio Silveira <[email protected]>
…te namespaces for consistency

Signed-off-by: Sérgio Silveira <[email protected]>
…handling in Result classes

Signed-off-by: Sérgio Silveira <[email protected]>
… error handling in Result methods

Signed-off-by: Sérgio Silveira <[email protected]>
…add `IResultError` interface with extension methods
…hance performance and add case enum generation
…r and related classes for improved context management
…s for improved error handling and consistency
…rrorGenerator`; update related tests and sources for improved error handling and maintainability.
…streamline attribute checks. Add KurrentDBLegacyExceptionMappers for legacy exception handling.
…chema-registry-reloaded

# Conflicts:
#	test/Kurrent.Client.Integration.Tests/ShouldlyToolkit.cs
… KurrentStreamsClient for improved clarity and error handling
- Renamed several files for consistency and clarity.
- Updated project references in multiple .csproj files.
- Refactored KurrentClientOptions and related classes for improved structure.
…ethods

- Introduced xunit.runner.json for test configuration.
- Updated KurrentClientOptions validation methods for clarity.
- Enhanced KurrentStreamsClient with additional type mappings.
- Refactored test project files to ensure proper resource handling.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants