Skip to content

Latest commit

 

History

History
402 lines (289 loc) · 11.6 KB

CHANGELOG.adoc

File metadata and controls

402 lines (289 loc) · 11.6 KB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[Unreleased]

Fixed

  • Fix flat embeddable in the constructor builder

[1.1.2] - 2023-09-15

Added

  • Enables custom Repository

  • Include the First keyword in the method by query in the Repository

  • Include the Null, NotNull and countAll keywords in the method by query in the Repository

  • Include condition to is NUll and is Not Null in the query

  • Include pagination with Query annotation

  • Add support to array in the fields

  • Add support to array in the fields of java record classes

  • Include selectOffSet to pagination queryies at the SemiStructuredTemplate

Fixed

  • Fix the Orderby annotation in the Repository

  • Make the JDQL return the correct type when the select is by field

  • Invalid deserialization of maps with generic values

  • Make sure at the serialization to the field, the API does not return any communication layer, but standard Java types

  • Fix the like query at the JDQL

  • Fix recursion calling to avoid stack overflow on the custom repository’s query methods with @Query annotation with predefined queries

  • Fix documentation at SemiStructuredTemplate explaining how the cursor works.

Removed

  • Remove Apache Tinkerpop from the project and move it as a driver

Changed

  • by default disable Cursor pagination in the SemiStructuredTemplate when there is more than one sort

[1.1.1] - 2023-05-25

Changed

  • Upgrade Jakarta Data to version 1.0.0-RC1

  • Upgrade Jakarta NoSQL to version 1.0.0-M1

  • Replace query language to Jakarta Data Query Language as default

Added

  • Introduce NoSQLRepository

  • Include the semistructured layers (mapping and communication)

  • Include Column and Document Templates

  • Include support to Embedded and EmbeddedCollection as group

  • Include support to CursoredPage pagination

  • Include support to Jakarta Data Query language as default

Removed

  • Remove column and document from communication API.

[1.1.0] - 2023-02-05

Changed

  • Upgrade Jakarta Data to version 1.0.0-M2

Added

  • Add support to operations annotations (Insert, Update, Delete and Save) from Jakarta Data

  • Add support to match parameters

Fixed

  • Enhance query at Template for Inheritance (Document, Column, and Graph)

  • Enhance query at Repository for Inheritance (Document and Column)

  • Fix MapReader when reads to an interaction of elements or a list of maps

[1.0.4] - 2023-12-19

Fixed

  • Fix serialization when the entity has constructor with simple generic types

  • null Embeddable list of nested object cannot be saved

Changed

  • Change package name to avoid duplicated name in different modules

[1.0.3] - 2023-12-02

Changed

  • Add support to boolean values at the queries declaration

  • Make null a valid value

[1.0.2] - 2023-10-01

Added

  • Create Metadata API project

  • Enhance the reflection documentation

  • Add support to delete by entities

  • Add support to Custom Repositories

  • Create KeyValueDatabase annotation

Changed

  • Define metadata as a module

  • define the default implementation of metadata using reflection

  • enhance the documentation to use metadata

  • Update Apache Tinkerpop to version 3.7.0

  • Update classpath to version 4.8.162

  • Update Mockito version to 5.5.0

Fixed

  • Remove exception at the delete methods at the repositories proxies

  • Add support to LIKE conditions parameterized at Repository methods annotated with @Query

  • Enhance the error message when the entity in the repository does not have the Entity annotation

  • query specification does not allow for dashes in table names

[1.0.1] - 2023-7-31

Fixed

  • Added no-args constructor into the injectable beans

  • Fixes lazy loading metadata at the EntityMetadata

  • Fixes ParameterMedataData to not thrown NullPointException when it’s built with a Parameter without @Column or @Id annotations

  • Fixes Reflections.getConstructor() method logic to detect constructors with parameters annotated with @Id or @Column

  • Unwrapping of UndeclaredThrowableException in repository when an underlying (f.e. ConstraintValidationException) occurs

[1.0.0] - 2023-6-22

Removed

  • Removed the JNoSQL Bean Validation module

Fixed

  • Create a filter to ignore unsupported annotations on repositories interfaces.

  • Enhance database supplier error message to use property instead of the enum name.

  • Fix convertion to/from entities when it is a record

  • Enhance the field name auto-detection of the constructor parameters annotated with @Column defined with empty name when it’s used Record as entity

Added

  • Include support for default method interface

  • Add support for interfaces that is not repository

[1.0.0-b6] - 2023-03-11

Changed

  • Update Jakarta API to after the Big-bang

  • Add support for Jakarta Data

  • Add documentation repository

  • Move the communication API as JNoSQL implementation

  • Change the test engine to Weld-jupiter instead of jnosql-jupiter

  • Move antlr4 to grammar package

  • Update Antlr version to 4.12.0

  • Update Apache Tinkerpop to version 3.6.2

Added

  • Implements new methods that explore fluent-API for Graph, Document, Key-value and Document

  • Create jnosql-jupiter module

  • Enhance readme, adding Mapping and communication details.

  • Add count and exist methods as default on DocumentManager and ColumnManager

  • Include a migration file adoc

Removed

  • Remove ColumnQueryMapper implementation

  • Remove DocumentQueryMapper implementation

  • Remove support for old Repository and Pagination (replaced by Jakarta Data)

  • Remove project jnosql-jupiter and jnosql-entity

  • Remove Apache Tinkerpop Groovy and use JavaScript engine instead.

Fixed

  • Enhance constructor converter allowing simple translating supported by Value implementation.

  • Define Qualifier on templates implementations (Graph, Key-value, Document and Column).

  • Using the proper methods to skip on GraphRepository implementation

  • Increase capability on map to improve scenario on Repository parser

  • Fix param analyzer on Gremlin Graph query

  • Fix method query by query when there is Not Equals

[1.0.0-b5] - 2022-12-22

Added

  • Create a CHANGELOG file to track the specification evolution

  • Add Settings implementation using Eclipse MicroProfile Config

  • Support to Record and Constructor

Changed

  • Move the default documentation to ASCIIDOC

  • Replace Hamcrest by AsseJ

  • Scan entities classes using classgraph project

  • move the bean-discovery-mode to annotated instead of all

Removed

  • Remove Eclipse MicroProfile Config converts

Fixed

  • Fix param binder when bind for In query condition

[1.0.0-b4] - 2022-08-04

Added

  • Add QueryBuilder

Changed

  • Upgrade Tinkerpop to version 3.6.0

Fixed

  • Parasite property in document deserialization

[1.0.0-b3] - 2021-03-01

Changed

  • Remove JNoSQL logo from repositories

  • Remove "Artemis" references in the package and use "mapping" instead.

  • Remove "diana" references in the package name and use "communication" instead.

  • Update Cassandra library to use DataStax OSS

Fixed

  • Fixes HashMap issue in the mapping API

[1.0.0-b2] - 2020-06-07

Added

  • Creates TCK Mapping

  • Creates TCK Communication

  • Creates TCK Drive

  • Defines Reactive API as an extension

Changed

  • Remove Async APIs

  • Keep the compatibility with Java 11 and Java 8

[1.0.0-b1] - 2019-12-01

Added

  • Creates Integration with Eclipse MicroProfile Configuration

  • Creates Tree Graph Operation

Changed

  • Split the project into API/implementation

  • Updates the API to use Jakarta NoSQL

  • Moves the Jakarta NoSQL API to the right project

[0.0.9] - 2019-05-16

Added

  • Allows Repository with pagination

  • Allows update query with column using JSON

  • Allows insert query with column using JSON

  • Allows update query with a document using JSON

  • Allows insert query with a document using JSON

  • Allow cryptography in the settings

  • Define alias configuration in the communication layer

Changed

  • Improves ConfigurationUnit annotation to inject Repository and RepositoryAsync

  • Make Settings an immutable instance

Fixed

  • Native ArangoDB driver uses the type metadata which might cause class cast exception

[0.0.8] - 2019-02-20

Added

  • Defines GraphFactory

  • Creates GraphFactory implementations

  • Allows inject by Template and repositories classes from @ConfigurationUnit

  • Support to DynamoDB

Changed

  • Improve performance to access instance creation beyond reading and writing attributes

  • Improve documentation in Class and Field metadata

  • Join projects as one single repository

Fixed

  • Fixes repository default configuration

  • Fixes test scope

[0.0.7] - 2018-10-29

Added

  • Adds support to CouchDB

Changed

  • Updates OrientDB to version 3.0

  • Improves query to Column

  • Improves query to Document

  • Improves Cassandra query with paging state

  • Optimizes Query cache to avoid memory leak

  • Improves performance of a query method

Fixed

  • Fixes MongoDB driver

  • Fixes NPE at Redis Configuration

[0.0.6] - 2018-06-23

Added

  • Adds support to ravenDB

  • Adds support to syntax query with String in Column, Key-value, and document.

  • Adds integration with gremlin as String in Mapper layer

  • Adds support to syntax query in Repository and template class to Mapper

  • Adds support to Repository Producer

Break compatibility

  • Changes start to skip when need to jump elements in either Document or Column query

  • Changes maxResult to limit to define the maximum of items that must return in a query in either

Fixed

  • Fixes MongoDB limit and start a query

  • Fixes MongoDB order query

  • Avoid duplication injection on repository bean

[0.0.5] - 2018-04-07

Added

  • Adds support to findAll in Graph

  • Adds support to yaml file

Changed

  • Couchbase keeps the behavior when key is not found

  • OrientDB improves callback in live query

  • Redis improves SortedSet with clear method

  • Cassandra optimizes query with underscore

  • ArangoDB optimizes AQL query

  • Graph improves getSingleResult

  • Graph improves getResultList

  • Improves performance in Graph

Fixed

  • Couchbase fixes TTL behavior in document

  • Couchbase fixes TTL behavior in key-value

  • Couchbase Fixes the JSON structure when a document is saved

  • Couchbase Fixes JSON structures in key-value structures

  • OrientDB fixes live query

  • OrientDB fixes live query with Map param

  • OrientDB fixes delete query without parameters

  • OrientDB fixes query with not condition

  • OrientDB fixes sort of query

  • OrientDB fixes pagination resource

  • MongoDB fixes queries with "in" condition

  • Cassandra fixes query with condition "in"

  • Cassandra fixes UDT

  • ArangoDB fixes insert

[0.0.4] - 2018-01-18

Added

  • Supports to Infinispan

  • Modules at JNoSQL Diana

  • Adds query with param to OrientDB

  • Adds Hazelcast query

Changed

  • Updates driver ArangoDB to 2

  • Updates Couchbase driver to version 2.5.1

  • Updates OrientDB driver to version 2.2.29

  • Updates Cassandra driver to version 3.3.0

  • Updates MongoDB driver to version 2.5.1

  • Updates Hazelcast driver version to 3.9

  • Updates Redis driver to version 2.9.0

  • Updates Riak driver to version 2.1.1

  • Improves fluent API in document

  • Improves fluent API in column

Fixed

  • Fixes async issues at MongoDB

  • Fix Embedded on Collection

[0.0.3] - 2017-10-14

Added

  • Uses Select/Delete in Document as fluent API

  • Uses Select/Delete in Column as fluent API

Changed

  • Improves ColumnEntity to use Map structure instead of List

  • Improves DocumentEntity to use Map structure instead of List

[0.0.2] - 2017-06-25

Changed

  • Updates Header license

  • Updates nomenclature (Repository.save discussion)