Change Log
A full track of changes/release for PikaORM. For the most up-to-date view, or to see individual code changes, please reference the Github Page
For a list of dependencies and versions please refer to our official Maven Package page.
V0.1.4
- Fix: a field set in
beforeInsert()is now in the INSERT. Before this fix, Pika read the fields before the hook ran. - Breaking:
beforeUpdate(Map<String, Object>)is nowbeforeUpdate(). Pika reads the fields after the hook, so a field set inbeforeUpdate()is in the UPDATE. To add a column, set its field. - Change:
PikaORM.update()removes the unchanged columns of aPikaBeanafterbeforeUpdate(). An override ofbeforeUpdate()no longer turns off this removal. - Change:
insertAllcallsvalidate()andbeforeInsert()for each item, and skips an item if a hook returnsfalse. It makes UUIDs for UUID columns. It does not callafterInsert(), and does not set the generated ids. - Fix:
PikaBean.getOriginalValue(Field)andgetOriginalValue(String)accept a field name. Before this fix, they accepted only a column name. A column name still works. - Fix: the migrations
console()readsSystem.in. Before this fix, it threw aNullPointerExceptionwithout a terminal, for example in an IDE run window. At the end of input, the console stops. - Fix: migrations
down()deletes the migration row byuuid. Before this fix, it threwIllegalStateException: ... has no id column. - Fix: migrations
showaccepts a migration with no up or no down SQL.down()on a migration with no down SQL throws a clear error. - Fix: migrations
showprints the applied date. It prints a blank, notnull, for a missing date or description. - Fix: migrations
up()anddown()log the name of the migration. - Fix: migrations use the default ORM if no ORM is set. Before this fix,
console,show,up,downandapplyAllthrew aNullPointerException. - Fix:
PikaMigration.toString()no longer throws for a migration in the database. Therawconsole command also works. - Fix: the migrations console prints text that contains
%. Before this fix, it threw a format exception.
V0.1.3
- Add:
PikaMapandPikaSetcollection classes. - Add:
PikaMap.onMiss(value)andPikaMap.onMiss(supplier)return a view with a default for missing keys. A miss does not change the map. - Add: new
PikaIterablemethods:flatMap,filter(Class),filterOutNull,skip,take,reverse,unique,uniqueBy,sorted,sortedBy,tap,firstOrThrow(),last,lastOrThrow,firstWhereOrThrow,indexOf,fold,all,asMap,toDistinctMap(keyFn, valueFn)andtoString(prefix, delim, suffix). - Add: new
PikaListmethods:get(index, default),get(index, supplier),getLast,removeLastandconcat. - Change:
toMapandtoOrderedMapreturnPikaMap<K, PikaList<T>>.toDistinctMapandtoOrderedDistinctMapreturnPikaMap<K, T>.toSetreturnsPikaSet<T>. - Change:
toDistinctMapkeeps keys in insertion order. - Breaking: if code assigns the result of
toMaportoOrderedMaptoMap<K, List<T>>orTreeMap, it does not compile. UsevarorPikaMap<K, PikaList<T>>. If code assigns the result oftoOrderedDistinctMaptoTreeMap, usePikaMap.
V0.1.2
- Fix: limit and offset values no longer get locale grouping separators. Before this fix, an offset of 1000 or more gave SQL such as
OFFSET 1,000, and the database rejected it. Custom clauses fromwithOffsetClause(...)also get the fix. - Add:
PikaORM.formatLimitOffset(limit, offset)formats the limit/offset clause. - Fix: enum coercion and the
join(String)keyword check now useLocale.ROOT. Before this fix, a Turkish default locale changedito a dotted capital I. Enum values such asactivedid not resolve, andjoin("join ...")got a secondJOIN.
V0.1.1
- Fix:
getErrors(field),getErrorString(field)andgetGeneralErrors()no longer add an empty entry to the error map. Before this fix,hasError(field)andhasErrors()returned true after these calls.
V1.0.0
- PikaORM publicly launched!
- First iteration documentation released
[!WARNING]
This is the first public release of PikaORM for public usage so bear with us. Please report any bugs or documentation inaccuracies with a new issue and we will attempt to promptly fix, thanks :3