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.
- fixed counterclockwise box generation for compatibility with geo json polygons in ArangoDB 3.10 (#231)
- fixed query generation with custom field names (#240)
- fixed compatibility with Lombok classes (#241)
- fixed WITH clause generation for compatibility with ArangoDB 3.10 (#247)
- deprecated hash and skiplist indexes
- fixed support for collection names containing
-
symbol (#230) - upgraded dependency
com.arangodb:arangodb-java-driver:6.16.0
- added mapping support to
LocalTime
(#227)
NOTE: new changes in Spring Core named parameters discovery could result in runtime exceptions when using positional query parameters. Using named query parameters is therefore recommended.
- updated support of spring-data to
2.5.x
- upgraded dependency
com.arangodb:arangodb-java-driver:6.13.0
- upgraded dependency
com.arangodb:velocypack:2.5.4
- fixed binding Point parameter in query derivation (#223)
- added support to geoJSON types and Spring Data geo types (#222)
- added SPEL support to custom AQL query on repository methods (#221)
- fixed missing
META-INF/spring.factories
(#155) - fixed query derivation for not persistent nested attribute (#216)
- added annotations to ttl indexes (
@TtlIndex
and@TtlIndexed
) - removed dependencies on
velocypack-module-jdk8
andvelocypack-module-joda
- upgraded dependency
com.arangodb:arangodb-java-driver:6.11.1
- upgraded dependency
com.arangodb:velocypack:2.5.3
- upgraded dependency
com.arangodb:arangodb-java-driver:6.8.2
- support for array search by example (#202)
- updated support of spring-data to
2.4.x
- upgraded dependency
com.arangodb:velocypack:2.5.1
- upgraded dependency
com.arangodb:arangodb-java-driver:6.8.0
- fixed swallowed exception in query result conversion (#213)
- fixed escaping of array brackets in user queries (#208)
- find by example using regex string matcher
- find by example matching any object in nested array
- reimplemented
ArangoOperations.repsert()
using AQL UPSERT (also used byArangoRepository.save()
) - dependencies update
- fixed
null
serialization when writing Maps, Arrays and Collections - fixed automatical collection creation on
ArangoRepository.count()
andArangoRepository.findAll()
- fixed serialization of
@Ref
fields with custom names - fixed collection like mapping, allowing duplicate values
- fixed lazy behavior of
ArangoOperations.findAll()
- set
org.springframework.data.build:spring-data-parent
as parent project - added
org.springframework.boot:spring-boot-dependencies
to dependency management
- dependencies update
- upgraded dependency arangodb-java-driver 6.3.0
- upgraded dependency arangodb-java-driver 6.1.0
3.2.1 - 2018-12-17
- fixed preventing the use of multiple edge entities in a query inside
@Relations
- fixed
ArangoRepository.save()
to perform repsert instead of upsert (for ArangoDB < 3.4) - fixed deserialization of nested
Map
s - fixed deserialization of type
Object
3.2.0 - 2018-11-09
-
added interface
ArangoConfiguration
to replaceAbstractArangoConfiguration
ArangoConfiguration
provides default methods and can be implemented directly without the need of the classAbstractArangoConfiguration
.
- updated support of spring to
5.1.x
- updated support of spring-data to
2.1.x
- deprecated
AbstractArangoConfiguration
- removed use of javax.xml.bind to better support Java 9 and above
- fixed NPE when loading non-existing data into fields of primitive type (issue #127)
- upgraded dependency arangodb-java-driver 5.0.1
- fixed dirty read
- fixed connection stickiness
3.1.0 - 2018-09-18
- added dirty read support (reading from followers) for AQL queries
- added
QueryOptions#allowDirtRead
- added
- use AQL
LIKE
instead ofREGEX_TEST
for query by example inArangoRepository
- upgraded dependency arangodb-java-driver 5.0.0
3.0.0 - 2018-09-04
-
added support for non-String
@Id
s (issue #79) -
added annotation
@ArangoId
as representation for field_id
(instead of@Id
) -
added support for saving entities lazy loaded
Entities loaded over
@Ref
/@From
/@To
/@Relations
withlazy
==true
can now be saved back into the database. -
added logging of query warnings when executed through
ArangoRepository
(issue #56) -
added convenience method
ArangoOperations#query(String, Class)
-
added convenience method
ArangoOperations#query(String, Map<String, Object>, Class)
-
added convenience method
AbstractArangoConfiguration#customConverters()
to add custom converters -
added SpEL expression parsing for database names
SpEL expressions can now be used within
AbstractArangoConfiguration#database()
. This allows Multi-tenancy on database level. -
added mapping events (
BeforeDeleteEvent
,AfterDeleteEvent
,AfterLoadEvent
,BeforeSaveEvent
,AfterSaveEvent
) -
added support for non-collection fields annotated with
@Relations
/@From
/@To
in domain objects annotated with@Document
(issue #104) -
added support for placeholder
#collection
in@Query
methods -
added auditing support through annotations
@CreatedDate
/@CreatedBy
/@LastModifiedDate
/@LastModifiedBy
-
save
@Id
values as_key
instead of_id
(issue #78) -
changed SpEL expression parsing for collection names
SpEL expressions in
@Document#value
/@Edge#value
are now parsed whenever the domain entity is accessed. This allows Multi-tenancy on collection level. -
upgraded dependency arangodb-java-driver 5.0.0
- removed
com.arangodb.springframework.annotation.Key
- removed
com.arangodb.springframework.annotation.Param
- removed
com.arangodb.springframework.core.convert.DBEntity
- removed
com.arangodb.springframework.core.convert.DBCollectionEntity
- fixed repository methods with
Example
usingStringMatcher.CONTAINING
(issue #113) - added
toString()
,equals()
andhashCode()
to proxy
2.3.1 - 2018-08-13
- fixed a bug in derived queries when using two times
@Relations
in one entity
2.3.0 - 2018-07-18
- deprecated
com.arangodb.springframework.annotation.Key
- deprecated
com.arangodb.springframework.core.convert.DBEntity
- deprecated
com.arangodb.springframework.core.convert.DBCollectionEntity
2.2.2 - 2018-07-09
- fixed
ArangoOperations#getVersion()
use configured database instead of _system
2.2.1 - 2018-07-03
- fixed
ArangoOperations#upsert(T, UpsertStrategy)
(issue #92)- Check
Persistable#isNew
- Check
- fixed
ArangoOperations#upsert(Iterable<T>, UpsertStrategy)
(issue #92)- Check
Persistable#isNew
- Check
2.2.0 - 2018-07-02
- added
ArangoOperations#repsert(T)
- added
ArangoOperations#repsert(Iterable<T>, Class<T>)
- added support for streaming AQL cursors
- added
QueryOptions#stream()
- added
- added
QueryOptions#memoryLimit()
- added support for satellite collections
- added
@Document#satellite()
- added
@Edge#satellite()
- added
- upgraded dependency arangodb-java-driver 4.6.0
- changed
SimpleArangoRepository#save()
to useArangoOperations#repsert()
when ArangoDB version >= 3.4.0 - changed
SimpleArangoRepository#saveAll()
to useArangoOperations#repsert()
when ArangoDB version >= 3.4.0 - changed
ArangoOperations#upsert(T, UpsertStrategy)
to work with@Id
in addition to@Key
- changed
ArangoOperations#upsert(Iterable<T>, UpsertStrategy)
to work with@Id
in addition to@Key
- deprecated
ArangoOperations#upsert(T, UpsertStrategy)
- deprecated
ArangoOperations#upsert(Iterable<T>, UpsertStrategy)
2.1.9 - 2018-06-26
- fixed derived query with
containing
onString
(issue #84)
2.1.8 - 2018-06-25
- upgraded dependency arangodb-java-driver 4.5.2
- fixed
ArangoDB#aquireHostList(true)
with authentication - added support for custom serializer
- fixed
2.1.7 - 2018-06-14
- allow override of CRUD methods of
ArangoRepository
with@Query
- upgraded dependency arangodb-java-driver 4.5.0
- fixed lazy use of
@Relations
/@From
/@To
when using a Set<>
2.1.6 - 2018-06-07
- fixed relation cycle (issue #43)
2.1.5 - 2018-06-07
- upgraded arangodb-java-driver to 4.4.1
- fixed relation cycle (issue #43)
2.1.4 - 2018-06-04
- added
java.time.*
toArangoSimpleTypes
- added paging and sorting support for native queries
- annotated
TimeStringConverters
for compatibility with Spring Data 2.0.7-RELEASE
- fixed support for
ArangoCusor
as query-method return type (compatibility with Spring Data 2.0.7-RELEASE)
2.1.3 - 2018-05-04
- added support for named queries
- deprecated
@Param
annotation, there is already such an annotation from Spring Data
- fixed floating point numbers in derived queries
- fixed distance calculation in derived geo queries
2.1.2 - 2018-04-23
- fixed serialization of enums (issue #39)
2.1.1 - 2018-04-20
- fixed
org.joda.time.DateTime
parsing
2.1.0 - 2018-04-20
- added
DataIntegrityViolationException
toExceptionTranslator
- added type mapper implementation & custom conversions extension (issue #33)
- fixed race conditions in
ArangoTemplate
when creating database and collections (issue #35) - fixed missing deserialization of return types of
@Query
methods(issue #21) - fixed handling of
java.time
in converters (issue #36, #24, #25) - fixed handling of
org.joda.time
in converters (issue #36)
2.0.3 - 2018-03-23
- fixed missing WITH information in derived query
- fixed missing WITH information in AQL when resolving annotation @Relations (issue #9)