Skip to content

Releases: JasperFx/marten

Release 3.11.0

25 Mar 17:41
fec62b5
Compare
Choose a tag to compare

Enhancements

  • Core: Use async versions of Npgsql dispose and close methods #1368
  • LINQ: Add support for IsOneOf to allow passing List<T> #1422

Bug Fixes

  • Patch: Fix patch expression to use right property name casing #1385
  • Serializer: Fix issue of not being able to serialize IReadonlyCollection<int> while using CollectionStorage.AsArray #1386
  • Schema Identity: Fix Hilo concurrency error #1404
  • Event Store: Make DeleteAllEventData safe for empty database. #1410
  • Scheme Management: Fix to trim extraneous space from table column name and type causing failure with deriving schema patch #1412
  • Schema Management: Fix ComputedIndex DDL generation when non-default casing is present #1420

Docs

  • Website: Fix mixed content and links in docs #1406
  • Document Store: Fix typo performas -> performs #1411
  • Scenarios: Add an example scenario on storing & querying non-uniform JSON records via the help of dynamic #1414
  • Postgres-PLV8-Windows: Document additional plv8 options for newer versions of PostgreSQL #1423

Miscellaneous

  • Project Management: Create a separate domain name for Marten https://martendb.io #1399
  • Build: Update publish-docs to publish also to Netlify for Martendb.io domain #1403
  • Project Management: .NET Foundation onboarding #1436
  • CI: Add Postgres 12 to build matrix #1445

Release 3.10.0

11 Nov 08:18
6b90964
Compare
Choose a tag to compare

Features

  • Schema management: Optionally global unique ID for multiple document types via HiLoSequence (#1054)
  • Serializer: Added NonPublicMembersStorage to Newtonsoft.NET serializer to allow private and protected setters usage during properties (de)serialization. Added documentation for missing Newtonsoft.NET serializer options. (#1369). See more in documentation: link

Bug Fixes

  • Event Store Projections: Projections inherited from a base class that hides the Id property, projects to an empty Id (#1369)
  • Schema management: Tenant.EnsureStorageExists() is not thread-safe when using Document Hierarchies (#1372)
  • LINQ: Query on 'false' with Boolean Flags fails with DefaultValueHandling.Ignore as Serializer Settings (#1374)
  • LINQ: Check for null value with nullable enum type in Linq query (#1376)
  • Duplicate Fields: Calls to mt_immutable_timestampt/mt_immutable_timestamptz fail with duplicated fields (#1378)
  • LINQ: NullReferenceException when IQueryable converting String.Equals (#1381)

Miscellaneous

  • CI: Update Bullseye and SimpleExec to latest RTM (#1366)
  • Core: Removed redundant null conditional method calls (#1367)
  • Core: QuerySession implements finalizer, but Dispose does not call into GCSuppressFinalize -> our connections needlessly always end up in the finalizer queue (#1375)

Npgsql upgrade to 4.1.1, restricting .NET support to >=4.6.1

02 Oct 12:04
Compare
Choose a tag to compare

Peer dependencies upgrade:

Upgraded Npgsql packages to 4.1.1. ( Note: added restriction for Npgsql to be [4.1.1, 4.2.0) to reduce the risk of issues when version 4.2.0 or higher is released)

BREAKING CHANGE: As a consequence of Npgsql dropping support for .NET 4.6 (see Npgsql 4.1 release notes), as a chain reaction, we also needed to drop it in favor of 4.6.1 (this version is still supported).

Updated also:

  • System.Threading.Tasks.Dataflow to 4.10.0
  • System.Reflection.Emit.Lightweight to 4.6.0

See more in PR and Gitter discussion.

Restricting Npgsql version to [4.0.4,4.1)

29 Sep 11:09
Compare
Choose a tag to compare

Peer dependencies upgrade:

Npgsql in the 4.1.0 introduced a few breaking changes. To not have unexpected errors we locked the version of Npgsql to be [4.0.4,4.1).

See more in PR and Gitter discussion.

Release 3.8.0

17 Sep 15:07
b93d70a
Compare
Choose a tag to compare

Features

  • Schema/Duplicate Fields: Add functionality to define duplicate field with NOT NULL constraint (#1351 closes #1198)

Bug Fixes

  • Querying/LINQ: Fix FindIdMember not working work correctly for Turkish Culture (#1354)
  • Event Store: Fix ViewProjection to only delete view if it exists (#1349)
  • Event Store: Fix an issue where the ViewProjection class can process events out of order. (#1341)

Miscellaneous:

  • Schema: Make the search for upsert write method more precise. This change also ensures Marten works fine with Npgsql 4.x and 4.1 versions. (#1350)
  • Build/CI: Update to Bullseye 3.0.0-rc.1 and SimpleExec 6.1.0-rc.1 (#1353)

Documentation:

  • documents/customizing/duplicated_fields: Add documentation for defining duplicate field with NOT NULL constraint (#1351) - see link
  • documents/tenancy/configuring: Fix a minor typo (#1344 ) - see link
  • scenarios/aggregates_events_repositories: Update to simplify aggregates, events and repositories scenario sample (#1355) - see link

Release 3.7.1

05 Sep 06:59
Compare
Choose a tag to compare

Bug Fixes

  • Schema Generation: Fix failing AssertDatabaseMatchesConfiguration due to Hilo not behaving when Document has integer Id (#1348 closes #1347)

Release 3.7.0

20 Aug 07:53
Compare
Choose a tag to compare

Features

  • Schema Generation: Add functionality to run ApplyAllConfiguredChangesToDatabase independent of StoreOptions AutoCreate settings. Now it's possible to keep database schema not being automatically updated, but generating full Patch sql script (#1330 closes #1324 and #958)
  • Exception Handling: Add MartenCommandNotSupportedException (derived from MartenCommandException) to give more meaningful information if feature is not supported (eg. FTS) (#1286)
  • Event Store: Improved performance of InInline projections when saving if there are no streams to apply (#1326)

Bug Fixes

  • Querying/LINQ: Fix Any linq method handling when CamelCase is used as serialization (#1328 and #1331 closes #1325)
  • Event Store: Fix ViewProjection to only delete view if it exists (#1349)
  • Event Store: Fix an issue where the ViewProjection class can process events out of order. (#1341)
  • Schema/Foreign Keys: Fix schema generation for Foreign Key with the conjoined tenancy . (#1335)
  • Schema/Foreign Keys: Fix unhandled exception while using Foreign Key to non-Marten table (#1339 and #1335)
  • Schema/Foreign Keys: Add unit test for Foreign Key on same member as Identity (#1332 closes #1226)
  • Schema/Foreign Keys: Fix inability to create a self referencing foreign key (#1329 closes #1311)
  • Schema/Unique Indexes: Fix UniqueIndex missing multitenant configuration for Id (#1297)

Documentation:

  • documents/tenancy/basicoperations: Update docs wording and sample for tenancy basic operations to clear confusion of non-tenanted vs tenanted querying (#1351) - see link

3.6.2 - Bug fix release

21 Jul 15:23
616d78d
Compare
Choose a tag to compare

Bug Fixes

  • An item with the same key has already been added. Key: patch_doc (#1306)
  • ForeignKey to non Marten table generates wrong DDL sql (#1317)
  • The DocumentMappingExpression.ForeignKey() overload used for external table foreign keys maps the parameters all wrong (#1319)

CI

Resolve or suppress all compiler warnings (#1313)

https://github.com/JasperFx/marten/issues?q=is%3Aissue+milestone%3A3.6.2+is%3Aclosed

3.6.1- Bugfixes for External Foreign Key handling and Custom Document Session listener, Documentation updates

11 Jul 08:45
Compare
Choose a tag to compare

In this small release we fixed two bugs:

  • ExternalForeignKeyDefinition returns null for ReferenceDocumentType causing an exception (#1308),
  • Custom listener not notifying properly for document Update method (although working for Store) (#1296)

We fixed also flaky tests, to make CI and PR review process more stable. (#1303)

We placed also big update to Custom View Projection documentation (#1304)

3.6.0 - Noda Time support for Event Store, Foreign Keys to Non-Marten tables, Linq improvements

18 Jun 09:31
Compare
Choose a tag to compare

This release broughts full support for NodaTime for EventStore. Previously it was working for Document API, but Event Store had flaws. See details.

We added also support for FTS Websearch Postgres method (it's supported for Postgres version >=11). See:

You may find also useful possibility to set up Foreign key to non Marten table. See documentation and changes details.

We also started our work on the Linq overhaul, new set of non-breaking changes were included (see details ).

To make your life easier we also updated docs about:

As always we fixed set of bugs

See full issues list here:
https://github.com/JasperFx/marten/milestone/36?closed=1