Releases: agcom/bson
Release list
0.5.0
0.4.0
0.3.0
Future group id change (#66) was back-ported to this release (affected the published artifacts).
Breaking Changes
BsonValueSerializernow won't decode deprecated bson types.- Functions
Set<RegexOption>.asEmbedded()andString.toRegexOptions()are now declared as internal. - Removed
load / dumpprimitive type support (#43, #18). - Changed
BsonInput.decodeRegularExpressionandBsonOutput.encodeRegularExpressionsignature to usePattern(#51). - Applied semantic versioning practices (#60) .
- Removed obsolete packages (#62).
New Features
- Added
loadBsonDocument,loadBsonArrayanddumpBsonfunctions (#44). - Added constructor like builder for
BsonBinaryandBsonRegularExpressionusing corresponding platform types. - Added
BsonDocument.toBsonArrayandBsonArray.toBsonDocumentfunctions (#44). - Added unique serializers per bson type (#49).
- Added some missing serializers (#42).
Bug Fixes
- Declared application binary interfaces as transitive dependencies (#37).
- Fixed
SerializationCodecRegistryinconsistent behavior (#26). - Fixed regex flags support (#46).
Improvements
- Added README (#14).
- Added code documentations (#14).
- Extended the
Bsondefault contextual module. - Extended
TemporalSerializertoTemporalAccessorSerializer. - Cached polymorphics structure in
SerializationCodecRegistry(#48). - Dropped Kotlin compile byte code version to
1.8(#63).
Other Changes
- Marked
load(deserializer, bytes, type)function as deprecated (#44). - Extended and cleaned the tests.
- Moved
pommeta-data into XML files.
Known issues
0.2.0
This release was known as
v1.0.1before migrating to semantic versioning.
Future group id change (#66) was back-ported to this release (affected the published artifacts).
Upgrade steps
-
New dependencies
Gradle example,
dependencies { implementation 'com.github.agcom:bson-mongodb:1.0.1' // Old bson-codec:1.0.0 implementation 'com.github.agcom:bson-serialization:1.0.1' // Old bson-core:1.0.0 }The
bson-core:1.0.0andbson-codec:1.0.0are marked as obsolete and they're going to be removed (#33).- Change artifact id
bson-coretobson-serializationbson-codectobson-mongodb
- Change versions from
1.0.0to1.0.1
- Change artifact id
-
Package names; Update your
importstatements.- Anything under
com.github.agcom.bson.coremoved tocom.github.agcom.bson.serialization. - Anything under
com.github.agcom.bson.codecsmoved tocom.github.agcom.bson.mongodb.codecs.
- Anything under
Breaking changes
- Most of the
importstatements are gonna be red. As mentioned in the Upgrade steps, package directives has changed.
Known issues
- Known issues from the last version
v1.0.0.
0.1.0
Package namings' changes from the
v0.2.0was back-ported to this release (affected the published artifacts).
This release was known asv1.0.0before migrating to semantic versioning.
Future group id change (#66) was back-ported to this release (affected the published artifacts).
New features
-
Serialization functions,
Can be found in the
com.github.agom.bson.Bsonclass. ExtendsBinaryFormat.toBson--> Transform an object to aBsonValue.fromBson--> TransformBsonValueto an object.dump--> Transform an object to aByteArray.load--> TransformByteArrayto an object.
-
Special serializers,
Can be found under
com.github.agcom.bson.serializerspackage.-
BsonValueSerializerPorts to
BsonPrimitiveSerializer,BsonArraySerializerandBsonDocumentSerializerbased on the bson type. -
TemporalSerializer--> Corresponds tojava.time.temporal.Temporalinterface and it's known subclasses.A serializer exists for each subclass, named
<subclass>Serializer. -
Bson type's serializers
BinarySerializerObjectIdSerializerDateTimeSerializerJavaScriptSerializerDecimal128SerializerRegexSerializerandPatternSerializer
-
-
MongoDB serialization codec registry
Under the
bson-codecartifact,com.github.agcom.bson.codecspackage.-
SerializationCodec--> Extendsorg.bson.codecs.Codec. Receives a serializer and a bson (com.github.agcom.bson.Bson) instance. -
SerializationCodecRegistry--> Extendsorg.bson.codecs.configuration.CodecRegistry. Receives a bson instance, extracts the serializer.Serializer extraction procedure,
- Class annotated with
Serializable - Built-in type
- Contextual
- Polymorphic serializer
- Class annotated with
-
Known issues
- Related to serialization
loadfunction, #18.