Skip to content

Releases: JasperFx/marten

Release 3.12.0

08 Jun 17:45
72596e9
Compare
Choose a tag to compare

Features and Enhancements

  • Core: Add AddMarten service collection extension method to ease of process of adding Marten to .NET Core applications including IoC containers. #1501 See more in documentation: link.
  • Document Store/LINQ: Add support for IsOneOf to allow passing List<T> as opposed to arrays. #1426
  • Document Store/LINQ: Add support for In & NotIn LINQ operators for queries. #1427
  • Document Store/Hierarchies/LINQ: Add support for hierarchical documents in custom SQL query. #1479
  • Document Store/Multi-Tenancy: Add feature to disable using default tenant to store multi tenanted documents. #1450 See more in documentation: link.
  • Document Store: Add overloads to IDocumentSession for methods with params to allow passing IEnumerable (Store, Insert, Update, Load) #1428
  • Event Store: Add overloads to IEventStore for methods with params to allow passing IEnumerable (StartStream, Append) #1428
  • Event Store: Remove the requirement for having the default constructor in the aggregation process and projections. #1447
  • Event Store: Add possibility to start typed event streams with non-generic StartStream #1456

Bug Fixes

  • CLI Tooling: Fix unable to execute command line tool to dump script to single output file #1448
  • Document Store/LINQ: Fix to allow case in-variance for .NET Core apps #1363
  • Document Store/LINQ: Fix case for query against field.HasValue == false
  • Event Store: Fix CombGuid setting not respected for event streams #1432
  • Event Store/Async Daemon/Projections: Fix ProjectView / DeleteEvent not run when rebuilding projections #1302
  • Schema Management: Fix Initial Data Null Reference Exception with Query #1495
  • Schema Management/Indexes: Index should not lower/uppercase non-strings #1499

Docs

  • DI: Add docs pertaining to integrating Marten into .NET Core applications using IoC containers with various usage/use cases. Also includes a sample ASP.NET Core project #1501
  • Event Store/Projections: Add missing documentation for updateOnly view projection #1481
  • Introduction: Add Marten video introduction to main page from .NET Conf 2018. #1486 See: link
  • Logging, Diagnostics: Add docs for statement tracking using a custom IMartenSessionLogger. See more in documentation: link #1248

Miscellaneous

  • Build: Fix build tooling security vulnerability warning with npm package dependency #1498
  • CI: Add test performance optimization #1463
  • Document Store/Unit Tests: Add tests for the case when there is a session having deletions to two or more document types, where those documents have the same types of primary keys #1478
  • Project Management: Update project/package description in csproj files, docs and readme #1497

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)