Releases: matteobortolazzo/couchdb-net
Releases · matteobortolazzo/couchdb-net
v4.1.0
4.1.0
Bugs
- Find queries:
_idand_revfields from CouchDB_findresponses are now correctly mapped toIdandRevproperties on result documents. Previously, these fields were silently dropped during deserialization. (#219, based on #218) Thanks @gchiappe - Active tasks: Fixed
GetActiveTasksAsync()throwingInvalidOperationExceptionat runtime due toUnixTimestampSecondsConvertertype mismatch withActiveTask.StartedOn/UpdatedOnproperties (#219) - Changes feed: Fixed
ReceiveStream()prematurely disposing the HTTP response content stream when using POST-based continuous change feed filters (#219)
Improvements
- Extracted shared
DocumentRewriterfor_id/_revproperty rewriting, used by bothFindResultConverterandReadItemResponseConverter
v4.0.0
V4 is almost a complete rewrite of the library.
In the effort to migrate away from Newtonsoft.Json in favour of System.Text.Json, I found myself rewriting large portions of the library and then wondering whether the structure still made sense.
The answer was no. Up to this point, the library was inspired by Entity Framework, but it made no sense because there was no change tracking.
So for this version, I decided a Cosmos SDK approach would suit better.
Finally, I chose a zero-dependency approach, removing Flurl and Humanizer dependencies.
Hence, all the following breaking changes.
Breaking Changes
General
- Removed Dependency Injection packages
- Removed
CouchContext - Removed
Newtonsoft.Jsondependency in favour ofSystem.Text.Json - Removed
Flurldependency - Removed
Humanizerdependency - Remove
Couchprefix from most classes - Removed
CouchDocument, any class/record can now be used (Id and Rev are special and handled automatically) - CRUD operations accept dedicate options object instead of parameters
- Internal serialisation is done via source-generated serializers for better performance, except for objects that deal with user-provided types (like query results)
Client
- Changed
CouchClientconstructor parameters - Removed
OptionsBuider - Renamed
CouchOptionstoCouchClientOptions - Authentication is now via
CouchCredentialsimplementations CouchOptionshas now only four properties, and the others are not relevant anymore
Database
- Removed reflection+humanizer-based naming conventions in favour of explicit names. Related methods are removed.
- Removed database splitting (might be reintroduced later)
- Renamed
Database.FindAsynctoDatabase.ReadItemAsync - Renamed
Database.AddAsynctoDatabase.CreateItemAsync - Renamed
Database.RemoveAsynctoDatabase.DeleteItemAsync - GetDetailedViewAsync
- Replaced
AddOrUpdateRangeAsyncandDeleteRangeAsyncwithExecuteBulkItemOperationsAsync - Added
Database.UpdateItemAsync - Added
Database.UpsertAttachmentAsync - Added
Database.DeleteAttachmentAsync - Removed
Database.AddOrUpdateAsync - Removed
Database.GetDetailedViewAsyncasGetViewAsyncnow returns all metadata - Changed
Find/ReadItemAsyncresponse to return aReadItemResponse<T>to split the document from the metadata
Query
ThrowOnQueryWarningnow defaults totrue(use newWith/WithoutQueryParamLINQ methods)- Removed
ToCouchQueryAsync, replaced byToListAsync - Changed
ToListAsyncto return aCouchList<T>instead of aList<T>
Attachments
- Now returned in
ReadItemResponse<T> - To add them during document creation, use
CreateItemRequestOptions - To manage them, use
Upsert/DeleteAttachmentAsync
Others
- Removed
ChangeUserPasswordas it's just an update
v4.0.0-preview1
Check V4 release notes
v3.7.0
3.7.0 (2025-12-03)
Features
- Partitions: Add comprehensive support for partitions (#213)
- Get/SetRevisionLimit: Added method to get the revision limit of a database (#202)
- ThrowOnQueryWarning: Added option to throw exception on query warnings (#205)
Bugs
What's Changed
- Fixed infinite loop in GetChangesAsync by @nefarius in #201
- Feature/revision limits by @dhirensham in #202
- Fix for IncludeExecutionStats causing an exception by @Stormalong in #204
- Added ThrowOnQueryWarning option by @Stormalong in #205
- fix for local documents by @Stormalong in #206
- Added Comprehensive CouchDB Partitioned Database Support by @xXAvoraXx in #213
- v3.7.0 by @matteobortolazzo in #214
- Replace ADO pipeline with GH actions by @matteobortolazzo in #215
New Contributors
- @Stormalong made their first contribution in #204
- @xXAvoraXx made their first contribution in #213
Full Changelog: v3.6.0...v3.7.0
v3.6.0
v3.4.0
v3.3.1
v3.3.0
v3.2.0
v3.1.1
Bug Fixes
- Query: Fix First/Last with conditions fail. (#142)
- Query: Fix First/Last on splitted database. (#136)
- Query: Throws exception on List.Count instead of wrong query. (#138)
- Query: Fix multi thread call issues. (#133)
- FindManyAsync: Filters out null results. (#141) Thanks AlexandrSHad
- Continuous Changes: Fix multi thread issues. (#140)