Releases: Syncleus/Ferma
Releases · Syncleus/Ferma
version 3.3.2
- Updated the following dependencies
- org.apache.tinkerpop:gremlin-core 3.4.4 -> 3.4.6
- org.apache.tinkerpop:tinkergraph-gremlin 3.4.4 -> 3.4.6
- org.reflections:reflections 0.9.12 -> net.oneandone.reflections8:reflections8 0.11.7
- Removed Guava dependency, moved to Java 8 Stream API
version 3.3.1
- Updated the following dependencies
- com.google.code.gson:gson 2.8.5 -> 2.8.6
- com.google.guava:guava 26.0-jre -> 28.2-jre
- net.bytebuddy:byte-buddy 1.8.20 -> 1.10.6
- org.apache.tinkerpop:gremlin-core 3.3.3 -> 3.4.4
- org.apache.tinkerpop:tinkergraph-gremlin 3.3.3 -> 3.4.4
- org.reflections:reflections 0.9.11 -> 0.9.12
v3.3.0
- Added support for properties with mulitiple values for annotated property getters.
- An adjacency getter (annotated) will now return null instead of an exception if no elements present.
- Setters now take null as a valid argument.
- Fixed a bug that caused exceptions in the case of a vertex property with a cardinality other than single.
- Updated the following dependencies
- gson 2.8.2 -> 2.8.5
- guava 23.0 -> 26.0-jre
- byte-buddy 1.7.5 -> 1.8.20
- gremlin-core 3.3.0 -> 3.3.3
- tinkergraph-gremlin 3.3.0 -> 3.3.3
- mockito-all 1.10.19 -> 2.0.2-beta
v3.2.1
- Removed
throws exception
from the signature of the TxActions. - Fixed a bug where the
VertexFrame.toJson()
andEdgeFrame.toJson()
methods wouldn't encode properties that werent
of the typeNumber
orString
- When constructing a
DelegatingFramedGraph
if a the delegate graph argument is null the constructor now throws an
exception. AbstractAnnotationFrameFactory.constructClass()
method now throws an exception if the element argument is neither an
Edge
or aVertex
.- Added several more unit tests bringing test coverage up an additional 5%.
v3.2.0
- Added nexus staging deployment plugin.
- Removed explicit version from licensing plugin.
- Pom updated to require maven 3.0.4
- Added additional constructor to DelegatingFramedGraph which accepts a package name to scan instead of needing to
explicitly pass all the model's classes as a set. - Added
operation
parameter to the following annotations:@Adjacency
,@Incidence
,@Property
. Setting the
parameter will override the auto discovery of the method prefix previously used to discovery the operation of the
method. - Getter methods annotated with the
@Adjacency
annotation can now return aList
or aSet
in addition to the usual
Iterator
return type. - Setter methods annotated with the
@Adjacency
annotation can now acceptIterable
parameters such asCollection
,
List
, orSet
in addition to the usualIterator
type. - Remove methods annotated with the
@Adjacency
annotation can now have no parameters and they will remove all edges
matching the specified label and direction. - Setter methods annotated with the
@Adjacency
annotation can now acceptVertexFrame
parameters including other
vertex in the users custom model. - Methods annotated with the
@Incidence
annotation can now return aList
or aSet
in addition to the usual
Iterator
return type. - Removed the upper bound on traversal generics. The travese function's argument has changed from
GraphTraversal<? extends Vertex, ? extends Vertex>
toGraphTraversal<Vertex, Vertex>
. - Expanded documentation to cover all the annotations availible in greater detail, including recent changes.
AnnotationFrameFactory
was redesigned to make it easier to inherit from the class and add support for additional
custom annotations.AbstractAnnotationFrameFactory
was created to help create custom annotations that replace the existing standard
annotations provided byAnnotationFrameFactory
.- Fixed a
NullPointerException
thrown any timeDelegatingFramedGraph.addFramedEdgeExplicit
was called. - Fixed a
IllegalStateException
thrown anytimeDefaultTraversable.nextOrAdd()
was called. - Fixed a
IllegalStateException
thrown whenPolymorphicTypeResolver.resolve()
is called on a class without type
information. - Updated the following dependencies
- gson: 2.8.1 -> 2.8.2
v3.1.0
-
Added abstraction code for tinkerpop transactions which ease usage of transactions within ferma.
The new code provides functional interfaces for transactions and methods which allow
access to transactions from nested functions without the need to pass the original transaction object along.
Once a transaction has been opened it can be accessed from anywhere within the same thread
via theTx.getActive()
method.The
TxFactoryTest
class and the ferma-orientdb extension
contain examples how these classes and methods can be used. -
Updated the following dependencies
- guava 22.0 -> 23.0
- byte-buddy 1.7.1 -> 1.7.5
- gremlin-core 3.2.5 -> 3.3.0
- tinkergraph-gremlin 3.2.4 -> 3.3.0
v2.4.0
- Renamed functional interfaces for transactions from TxHandler to TxAction to conform with Ferma 3.1.0 changes.
- Methods annotated with the Property annotation can now accept null arguments.
- Updated the following dependencies
- syncleus-pom: 3 -> 4
- guava: 22.0 -> 23.0
- byte-buddy: 1.7.1 -> 1.7.5
v2.3.0
v3.0.3
- Updated the following dependencies
- gson: 2.8.0 -> 2.8.1
- guava: 20.0 -> 22.0
- byte-buddy: 1.5.12 -> 1.7.1
- gremlin-core: 3.2.3 -> 3.2.4
- tinkergraph-gremlin: 3.2.4 -> 3.2.4
- reflections: 0.9.10 -> 0.9.11
- maven-license-plugin: 1.9.0 -> 1.10.b1
- Changed internal traversal code to use the new lambda syntax.