Magic IndexedDB v2.0.3 - .NET 10, Engine Hardening, and Cross-Browser Reliability - #128
Merged
Conversation
…acts Fix enum query contracts and nested dictionary materialization
Automate trusted NuGet publishing from release
Build required cross-browser and contract test gates
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Magic IndexedDB 2.0.3 is a substantial reliability and maintainability release. It upgrades the project to .NET 10, strengthens serialization and streaming, fixes several query and browser-specific bugs, expands enum and dictionary support, modernizes the documentation, and introduces required cross-browser validation for future changes.
Highlights
[MagicConstructor].System.Text.Json.TakeLastquery behavior.releasebranch..NET 10 upgrade
Magic IndexedDB now targets
net10.0across the library, tests, examples, and supporting projects.The upgrade also includes:
Containsqueries.Existing applications must target a framework capable of referencing the .NET 10 package.
Constructor materialization
A new optional
[MagicConstructor]attribute provides explicit control over which constructor Magic IndexedDB uses when materializing records.Constructor selection is now deterministic:
[MagicConstructor][JsonConstructor]Additional improvements include:
[JsonConstructor].Normal repository registration, querying, and database operation syntax remains unchanged.
Serialization and memory improvements
Serialization and JavaScript interop have been hardened throughout the engine:
System.Text.Jsonconverters.0,false, empty strings, andnull.These changes address the previously reported memory spikes while also improving correctness and diagnostics.
Progressive streaming
AsAsyncEnumerable()now processes streamed data progressively instead of waiting for the complete result to be buffered.Streaming improvements include: