Releases: JasperFx/marten
Release 3.11.0
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 usingCollectionStorage.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
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 emptyId
(#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
whenIQueryable
convertingString.Equals
(#1381)
Miscellaneous
Npgsql upgrade to 4.1.1, restricting .NET support to >=4.6.1
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
to4.10.0
System.Reflection.Emit.Lightweight
to4.6.0
See more in PR and Gitter discussion.
Restricting Npgsql version to [4.0.4,4.1)
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
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
Release 3.7.0
Features
- Schema Generation: Add functionality to run
ApplyAllConfiguredChangesToDatabase
independent ofStoreOptions
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 fromMartenCommandException
) 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 whenCamelCase
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 forId
(#1297)
Documentation:
3.6.2 - Bug fix release
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
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 forStore
) (#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
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:
- Retry Policy feature
- Using sequences for unique and human-readable identifiers
- Copying and transforming events stream
As always we fixed set of bugs
See full issues list here:
https://github.com/JasperFx/marten/milestone/36?closed=1