Releases: JasperFx/marten
Release 3.12.0
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 passingList<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 passingIEnumerable
(Store
,Insert
,Update
,Load
) #1428 - Event Store: Add overloads to
IEventStore
for methods with params to allow passingIEnumerable
(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
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)