$ git log --oneline

Changelog

Every release across all Socigy.OpenSource packages. Newest first.

1 May 2026
Socigy.OpenSource.DBv0.1.81stable
Added
  • Initial public release of `Socigy.OpenSource.DB`.
  • Roslyn incremental source generator that produces typed `Insert()`, `Query()`, `Update()`, and `Delete()` extension methods from annotated C# classes at build time.
  • Attribute-based schema definition: `[Table]`, `[PrimaryKey]`, `[Column]`, `[Default]`, `[Nullable]`, `[Ignore]`, `[ForeignKey]`, `[Unique]`, `[Check]`, `[StringLength]`, `[Min]`, `[Max]`, and `[Renamed]`.
  • Fluent query builder with LINQ expression support for parameterised WHERE clauses.
  • JOIN support via `InnerJoin()`, `LeftJoin()`, `RightJoin()`, and `FullJoin()` with expression-based ON conditions.
  • Set operations: `Union()`, `UnionAll()`, `Intersect()`, and `Except()` across two compatible queries via the `ICompiledQuery` interface.
  • Value convertors: `IDbValueConvertor<T>` interface and `[ValueConvertor]` attribute for custom read/write transformation per column.
  • Procedure mapping: `.sql` files declared as `<AdditionalFiles>` are parsed by the generator and produce strongly-typed async method wrappers in `{Assembly}.Socigy.Generated.Procedures`.
  • `DateOnly` and `TimeOnly` support, mapping to PostgreSQL `DATE` and `TIME WITHOUT TIME ZONE` respectively.
  • `[FlaggedEnum]` attribute for flags enums — generates a junction table and syncs rows on INSERT/SELECT.
  • `[JsonColumn(typeof(TContext))]` and `[RawJsonColumn]` attributes for JSONB columns with optional AOT-safe typed serialisation.
  • `[AutoIncrement]` attribute and `CREATE SEQUENCE` generation for integer sequence columns.
  • CLI migration tool (`Socigy.OpenSource.DB.Tool`) that analyses compiled assemblies and generates PostgreSQL DDL, bundled inside the NuGet meta-package.
  • NuGet meta-package pattern: a single `PackageReference` installs the Core runtime, the Roslyn source generator, and the CLI tool.
  • GitHub Actions CI workflow: runs tests against a real PostgreSQL 14 service container and publishes to NuGet.org when the `PackageVersion` changes.
Initial development — pre-release