Skip to content

v6 Planning #2623

@JKamsker

Description

@JKamsker

This issue will serve as the main tracking and planning document for the upcoming v6 release.

The primary motivation for this major version is the broken build pipeline and assembly signing process, which occurred after migrating the project to the litedb-org organization. As this has proven unfixable in its current state, we will take this opportunity to modernize our processes and dependencies.


Build & Release Process Overhaul

To resolve the pipeline issues, we are making the following changes:

  • Remove Assembly Signing: The signing key is lost, and the process is broken. We will remove strong-name signing from the project.
  • Migrate to GitHub Actions: The build and release pipeline will be moved entirely to GitHub Actions for better integration and maintainability.

The new release workflow will be as follows:

  • Dev Branch: A merge to the dev branch will automatically build and publish a new pre-release NuGet package (e.g., 6.0.0-prerelease.XXX).
  • Main Branch: A merge to the main branch will automatically build and publish a new stable release on NuGet.
  • GitHub Releases: All published versions will also be pushed as releases to the GitHub Releases page.

Improvements & Changes

Already Implemented (Awaiting Release)

The following improvements and fixes have already been merged and will be part of the v6 release:

## What's Changed
* Updates to v5.0.21 by @mbdavid in https://github.com/litedb-org/LiteDB/pull/2517
* Fix #2534 by @Joy-less in https://github.com/litedb-org/LiteDB/pull/2552
* #2536 Fix race condition in bsonmapper by @JKamsker in https://github.com/litedb-org/LiteDB/pull/2538
* Fixes concurrent access issues using a concurrent dictionary by @JKamsker in https://github.com/litedb-org/LiteDB/pull/2566
* Add tests for Issue #2506 fix by @Joy-less in https://github.com/litedb-org/LiteDB/pull/2567
* Fix potential concurrency issue in GetEntityMapper caused by #2566 by @JKamsker in https://github.com/litedb-org/LiteDB/pull/2569
* Fix returning temporary mapper on concurrent access to BsonMapper by @vonzshik in https://github.com/litedb-org/LiteDB/pull/2575
* Add support for ValueTypes that consist only of Fields #2571 by @JKamsker in https://github.com/litedb-org/LiteDB/pull/2572

## New Contributors
* @Joy-less made their first contribution in https://github.com/litedb-org/LiteDB/pull/2552
* @vonzshik made their first contribution in https://github.com/litedb-org/LiteDB/pull/2575

**Full Changelog**: https://github.com/litedb-org/LiteDB/compare/v5.0.21...v5.0.22

Planned Work (To-Do)

  • Upgrade Target Frameworks: We need to update our target frameworks from the current net4.5;netstandard1.3;netstandard2.0.
    • Proposal: Multi-target netstandard2.0 (for broad compatibility) and a modern .NET version like net8.0 or net9.0. This provides modern performance benefits while maintaining support for older runtimes.
    • Note: Targeting net8.0 or net9.0 should not have performance downsides when the library is used in future projects (e.g., .NET 10), as .NET is designed for forward compatibility.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions