Skip to content

Version 3.1.0#79

Merged
sfxcode merged 14 commits into
mainfrom
develop
Apr 14, 2026
Merged

Version 3.1.0#79
sfxcode merged 14 commits into
mainfrom
develop

Conversation

@QuadStingray
Copy link
Copy Markdown
Contributor

  • Fix: Enum Read Write
  • New Collections
  • Support Transaction
  • Find and Modify comfort methods

* ch.qos.logback:logback-classic:test  : 1.5.20  -> 1.5.32
* com.github.luben:zstd-jni:provided   : 1.5.7-6 -> 1.5.7-7
* com.typesafe:config                  : 1.4.5   -> 1.4.6
* joda-time:joda-time                  : 2.14.0  -> 2.14.1
* org.apache.lucene:lucene-queryparser : 10.3.1  -> 10.4.0
* org.liquibase:liquibase-core:test    : 5.0.1   -> 5.0.2
* org.mongodb.scala:mongo-scala-driver : 5.6.1   -> 5.6.5
* org.scala-lang:scala-library         : 2.13.17 -> 2.13.18 AND 3.7.2 -> 3.8.3
* org.scalameta:munit                  : 1.2.1   -> 1.3.0
Add findOneAndUpdate, findOneAndDelete, findOneAndReplace, and upsertOne
to Crud[A] for atomic read-modify-write semantics in a single round-trip.
All variants return SingleObservable[A] (or Observable[UpdateResult] for
upsertOne) and support optional Options arguments.
Add DatabaseProvider.withTransaction[T] for executing a block inside a
client session with automatic commit/rollback. Add session-aware overloads
to Crud[A] (insertOne, insertMany, replaceOne, updateOne, updateMany,
deleteOne, deleteMany) and Search[A] (find with session). Uses a reactive-
streams Subscriber bridge to await Publisher[Void] from commitTransaction/
abortTransaction in driver 5.x.
Add DatabaseProvider.createCappedCollection and createTimeSeriesCollection
for first-class API support of MongoDB's specialized storage engines.
Extend CollectionInfo with isCapped and isTimeSeries helpers that inspect
collection metadata returned by listCollections.
Add fullDocument mode, aggregation pipeline filtering, and resumeAfter
token support to both DatabaseProvider (database-level) and MongoDAO
(collection-level) change stream observers. Fix collection-level
addChangeObserver to use watch[Document]() with a typed Observer bridge,
avoiding CodecConfigurationException for types without a registered BSON
codec.
New pages:
- database/transactions.md: withTransaction, session-aware CRUD/find overloads
- database/collections.md: createCappedCollection, createTimeSeriesCollection,
  CollectionInfo.isCapped / isTimeSeries
- mongo-dao/find-and-modify.md: findOneAndUpdate, findOneAndDelete,
  findOneAndReplace, upsertOne
- mongo-dao/change-streams.md: collection- and database-level change stream API

Updated pages:
- mongo-dao/crud.md: fix Observable[Void] → correct result types, fix syntax
  error in insertOne signature, add updateOne/updateMany/replaceOne(filter)
  overloads, bulk write, transaction overloads, find-and-modify summary
- mongo-dao/base.md: fix Observable[Void] → Unit, fix typo, add columnNames
  and importJsonFile, link to new feature pages
- database/provider.md: add withTransaction and collection-creation sections
- .vitepress/config.ts: add Transactions, Collection Management, Find-and-Modify,
  and Change Streams to sidebar
The configFile path '../../unocss.config.ts' resolved outside the project
root and pointed to a non-existent file. The actual config is at
docs/uno.config.ts; updated the path to 'docs/uno.config.ts' which
resolves correctly from the project root CWD.
- Fix BsonConverter to handle Java enums (java.lang.Enum) as name strings
- Fix BsonConverter to handle Scala Enumeration values as name strings
- Fix AbstractConverterPlugin.objectToBson to filter MODULE$ synthetic field
  and self-references, preventing infinite recursion for case objects
- Use productPrefix to serialise sealed-trait case objects as name strings
- Add Color Java enum, Season/Direction Scala models and EnumDocument
- Add EnumSuite with 12 tests covering all three enum flavours and raw
  BSON format assertions
* org.scalameta:sbt-scalafmt            : 2.5.5   -> 2.6.0
* org.scoverage:sbt-scoverage           : 2.3.1   -> 2.4.4
@QuadStingray QuadStingray requested a review from a team April 14, 2026 05:38
@sfxcode sfxcode merged commit 073feea into main Apr 14, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants