Change summary of various releases for Simple Persistence for Java ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2.2.0 ~~~~~ - Changed save policy. Only differences/changes are saved. - Multiple Store (scalability) support! - Fixed: Changes were not detected when an attribute was set to null, but no previous changes were recorded in the Store for that object. 2.1.0 ~~~~~ - Added HSQLDB support. - Added documentation. - Updated apidoc. - Fixed: excluded inner and anonymous classes from handling. - Fixed: transaction listening and recursion avoidance - Fixed: historical queries stayed in cache 2.0.1 ~~~~~ - Separated runtime and compile dependencies - Fixed List and Map modification error. 2.0.0 ~~~~~ - Optimized count statements. Now they're run once (max) on every lazy list. - Optimized selecting referred objects. - Fixed: exception is thrown if a name conflict is detected in a query - Added transaction statistics. - Added search result cache. - Fixed: library throws exception if it sees an object which has no default constructor. 1.4.0 ~~~~~ - Added index handling. Currently all fields will be indexed. - Added findSingle() methods, for selecting single objects. - Added table view selects. 1.3.5 ~~~~~ - Fixed: historical select now works with arbitrary resolution, so selects with no date specified will return a lazy list with exactly the database contents currently available. - Fixed: transactions are now truly atomic. It is not possible to query an inconsistent state. - Fixed: objects are now locked during transactions, concurrent modification will throw exception. 1.3.4 ~~~~~ - Added historical search capability. A query can be run in the past returning exactly the result it would have returned on given date. - On-demand lists and maps now stay unchanged even if there are updates running during iterating over them. - Object member lists and maps now handle null values correctly, that is: null values in lists are disallowed, maps handle null values. - Removed Derby support (it does not have necessary features) - Fixed: null parameters are now handled correctly 1.3.3 ~~~~~ - Added persistenceId support. When naming an attribute persistenceId (long), it's value will be always set with the object's unique id inside the library. - Added Apache Derby support - Database reserved words now can be used as attributes, the library will escape them 1.3.2 ~~~~~ - Added 'ilike' operator - Added special keyword 'now' to the query language, which can be used to compare with dates, and represents the current time/date. - Fixed: List and Maps did not stay null - Fixed: classes of same name but different packages were mapped to same table - Fixed: operators <= and >= where left out of syntax, now added. - Fixed: polymorphic queries for attributes in superclass did not work 1.3.1 ~~~~~ - Fixed: orderby syntax was not like the other terms - Fixed: now one can order by attributes not in the selected class - Added byte array support 1.3.0 ~~~~~ - Added polymorphism support