-
Notifications
You must be signed in to change notification settings - Fork 34
/
CHANGES.txt
117 lines (111 loc) · 9.92 KB
/
CHANGES.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
Change Log
==========
Empire 1.0 (2015-11-18)
=======================
* MODIFIED: Java 8
* MODIFIED: Upgraded to Guice4, Sesame 4.0, Stardog 4.0, CP Utils 5.0 & CP OpenRDF Utils 4.0.1
* FIXED: re-throw lifecycle exceptions from callbacks instead of only logging them (issue #110)
* REMOVED: apt-based utilities (issue #64)
Empire 0.9 (2015-03-25)
=======================
* ADDED: Gradle build out
* ADDED: Open sourced Stardog bindings
* FIXED: Resolved perm-gen leak (issue #86)
* MODIFIED: Upgraded to Sesame 2.7.14, Guava 18, CP Utils 4.0 & CP OpenRDF Utils 3.0
Empire 0.8 (2013-09-30)
=======================
* ADDED: Ivy build out
* MODIFIED: Altered superclass checks to better accommodate auto-generated instances that use EmpireGenerated so users to have to resort to incorrectly using MappedSuperclass
* MODIFIED: Removed a couple uses of describe and replaced them with direct lookups in the DataSource for the relevant information to help make going to/from RDF more efficient.
* MODIFIED: Dropped 4Store integration. (issue #84)
* MODIFIED: Deprecated SDB integration
* MODIFIED: Upgraded to latest Sesame, 2.7.0 (issue #76) -- additionally upgraded to Guava 14, CP Utils 3.0 & CP OpenRdf Utils 1.1
* MODIFIED: Upgraded to latest Jena, 2.10.1 (as well as TDB & SDB). (issue #82)
* MODIFIED: Upgraded to SLF4J for logging and placed core logging calls in isXXX checks to avoid as much logging overhead as possible. (issue #83)
* MODIFIED: Support mapping multiple triples to single value in non-strict mode (issue #85)
* FIXED: Collections were getting mangled over repeated merges when they were lazy loaded (issue #81)
* FIXED: Bug when the refreshing and/or re-use of the same bean which is persisted originally, EmpireGenerated information was not correctly updated. (issue #73)
* FIXED: NPE in AsValue function when using a java.net.URI
* FIXED: Bug in equals method of generated instances
* FIXED: Bug with using wildcard types in interfaces that are used in the code generation. (issue #70)
* FIXED: Bug that resulted in class cast exceptions between BNode and URI when the value of a property was a BNode and did not map to a valid bean entity. (issue #71)
* FIXED: Appended loader path to Javassist ClassPool during instance generation so Empire works better in some servlet containers, notably Tomcat & Glassfish.
* FIXED: Corrected handling of multiply typed individuals when lazy loading classes into a collection (issue #87)
* FIXED: Test code circular dependency (issue #80)
Empire 0.7 (2011-11-18)
=======================
* MODIFIED: Repackaged all DataSource specific classes into the com.clarkparsia.empire.ds package. (issue #25)
* MODIFIED: Moved some DataSource specific functions from EmpireUtil to DataSourceUtil
* MODIFIED: Query results can returned proxied objects, allowing users to defer the loading of the results until they
iterate over them. Disable/Enabling this feature is controlled via EmpireOptions.
* MODIFIED: All contains to contains, and persistence operations (merge/persist/remove) in EntityManager have been
compacted; the amount of calls to the DataSource has been greatly reduced resulting in a large performance
increase when cascading persistence operations, and a modest increase overall.
* MODIFIED: Global config passed through to EntityManagers in the unit config so parameters do not have to be duplicated.
* MODIFIED: Properties mapped as collections, with no values, return empty collections instead of null. (issue #40)
* MODIFIED: Laundry list of names checked for configuration files, settling on 'empire.configuration' with the Properties format as the default
* MODIFIED: Handler for graph queries was checking for duplicates in a less than ideal fashion, changed the handler code which increases the performance of graph queries.
* MODIFIED: Improved transation support for database which do not provide it natively.
* MODIFIED: Upgrade to TDB 0.8.7, Jena 2.6.4, CP OpenRdfUtil 0.4, CP Util 2.0, Guice 3, Guava r10, Reflections 0.9.5, 4Store API 0.4, ARQ 2.8.8, SDB 1.3.4
* ADDED: Support for loading the configuration from the jar (issue #58)
* ADDED: Support for using Empire as the Java Agent and an AnnotationProvider implementation based on this (issue #46)
* ADDED: TripleSource interface for allowing triple-level access to a DataSource
* ADDED: Ask & Describe query methods introduced to DataSource interface. Best effort implementations provided for DataSources which do not implement these natively.
* ADDED: Query type specific methods to RdfQuery to allow direct access to the query results from the DataSource
* ADDED: Default logging configuration
* ADDED: Flag to RdfProperty annotation to control how java.net.URI objects are marshalled into RDF.
* ADDED: Flag in EmpireOptions to disable the enforcement of @Entity annotations on classes
* ADDED: TDB support
* ADDED: Added support to automatically "infer" RdfProperty annotations when they are not present. When flag in EmpireOptions is enabled, RdfGenerator
will try to map all fields of a bean, regardless of whether or not RdfProperty annotation is present or not. Transient annotations can
'hide' these fields from being mapped. This is more inline with how normal JPA implementations work. (issue #19)
* ADDED: Simple cache to support reflection which increases performance of the serialization/deserialization into and out of Java. (issue #44)
* ADDED: Extensive improvements and additions to TDB & SDB support via contributions from Ultan O'Carroll -- includes support for JDBC data sources via DBCP & C3P0 DataSource wrappers. (issue #55)
* FIXED: Several issues with the SPARQL endpoint data source implementation
* FIXED: Bug in InstanceGenerator where the class/interface hierarchy was not being used to generate the bytecode resulting in AbstractMethodError's (issue #38)
* FIXED: Upgraded to Javassist 3.14.0 and altered how proxies are created when objects are constructed. This solves both the PermGen OutOfMemory error (issue #52)
regarding a bug in Javassist and resolves a significant memory leak within RdfGenerator.
* FIXED: Bug in BNode detection for building and using them as primary keys for instances
* FIXED: Bug in InstanceGenerator to allow creating instances of abstract classes (issue #38)
* FIXED: Ant/JUnit integration, annotation configuration was not correctly configured and the xml for the JUnit reports was missing (from patch from ManuelB) (issue #49-51)
* FIXED: Infinite loops in bi-directional cascades (issue #57)
* FIXED: Duplicated property assertions when a method is annotated with @RdfProperty in a concrete class and in an interface/abstract class (issue #56)
* FIXED: Calls to CtClass.getMethod -- catching NotFoundException and handling properly, was incorrectly expecting a null to be returned (issue #60)
* FIXED: Provided connection exception when EntityManagerFactory cannot open a connection and create an EntityManager (issue #65)
* FIXED: Corrected the polymorphism support in Empire. Conversions to/from RDF are no longer lossy, you can save a bean as a multiple disjoint types and not lose information
about the individuals when the persists occur. (issue #30, #41)
* FIXED: NPE in getting properties as lists (issue #59)
* REMOVED: Global flag in EmpireOptions for handling proxying, this is now completely controlled via JPA annotations (issue #32)
Empire 0.6.6 (2010-07-08)
=========================
* MODIFIED: Updates in 4Store & OpenRDF utility libraries to resolve issue regarding escaping quotes in queries.
* MODIFIED: Better sniffing for XML formatted configuration files in DefaultEmpireModule
* ADDED: Support for MappedSuperclass
* ADDED: Build flag for enabling debug in jar files
* ADDED: Targets for producing separate builds for each platform (Jena, Sesame, 4Store, etc.)
* REMOVED: Global option to inspect bean hierarchy, this is now controlled by @MappedSuperclass
* FIXED: Bug in query parameter handling introduced in 0.6.5, optional parameters could produce invalid queries in certain cases.
* FIXED: Bug in Empire initialization. Static code in RdfGenerator was not getting executed to init its state in some cases.
* MODIFIED: Updates in 4Store & OpenRDF utility libraries to resolve issue regarding escaping quotes in queries.
Empire 0.6.5 (2010-06-04)
=========================
* MODIFIED: Behavior of a missing annotation index changed from error to warning.
* MODIFIED: Refactor of persistence API to include a method for creating a DataSource independent of an EntityManager
* MODIFIED: Query API clean-ups
* Limit & Offset are extracted from static query strings and used on the Query object
* Fix to detection of the type of query being executed
* Relaxing constraint that all variables in the parameterized query must be bound, any vars not bound are left as normal query variables.
* Query factory now public on DataSources
* Support for ARQ-style bnode encoding in SPARQL queries.
* ADDED: Implementation of DataSource interface for SPARQL endpoints.
* ADDED: Utility methods for getting values of a property for a specific subject
* ADDED: Utility method to load a class from any of the system, thread and current context class loaders
* ADDED: New example code and configuration for the Empire article published at SemanticUniverse
* ADDED: Annotation checker for scanning classes to make sure they have the required Empire & JPA annotations and that they are used correctly.
* ADDED: Support for @NamedQueries and @NamedNativeQueries
* ADDED: Parameter to Sesame DataSource factory which toggles the query dialect used, SeRQL or SPARQL.
* ADDED: support for language attribute awareness in handling literal values in Java/RDF conversion
* FIXED: InstanceGenerator to correct generate implementations for abstract classes as well as interfaces
* FIXED: Bug in Empire.init where the default module would not get loaded when no other modules were loaded
* FIXED: Bug in primary key creation
* FIXED: Bug in regex used for BNode detection