All Versions
19
Latest Version
Avg Release Cycle
37 days
Latest Release
2814 days ago
Changelog History
Page 1
Changelog History
Page 1
-
v4.0.0-beta.2
March 28, 2017 -
v4.0.0-beta.1
January 31, 2017 -
v3.2.3
December 13, 2016 -
v3.2.2 Changes
December 05, 2016- ๐ฒ Introduce a new error logging mechanism in the code generator that allows SquiDB to log errors without generating a bunch of "cannot find symbol [ModelClass]" errors
- Implement validation in the code generator to guard against illegal column or table names, e.g. those that use SQLite keywords or contain invalid characters.
-
v3.2.1 Changes
November 07, 2016- ๐ Fix a bug that could cause
containsNonNullValue(Property<?>)
to return an incorrect result under certain conditions. - โ Eliminate several harmless warnings that could be emitted by the code generator when compiling using Java 1.8.
- ๐ Deprecate the SQLite version constants in the
VersionCode
class in favor of use-case specific constants in other classes. Most notably,VersionCode.LATEST
is superseded bySQLiteBindingsAdapter.SQLITE_VERSION
for thesquidb-sqlite-bindings
project, andVersionCode.V3_7_11
is superseded byInsert.SQLITE_VERSION_MULTI_ROW_INSERT
. - Minor enhancements to null argument handling in the
in()/notIn()
criterion creating methods.
- ๐ Fix a bug that could cause
-
v3.2.0 Changes
November 01, 2016- โ Add an experimental, under-the-hood change that can lead to performance increases of up to 70% for transactions inserting a large number of rows, and ~25-50% in the average case when inserting rows. The change is disabled by default; to enable it, users can call
setPreparedInsertCacheEnabled(true)
in theonConfigure
method of their SquidDatabase. See the javadocs ofsetPreparedInsertCacheEnabled
for more information. - โ Add a new
prepareStatement
API to SquidDatabase, which allows users to prepare and reuse low-level (non-query) SQLite statements. Reusing these prepared statements can result in a performance improvement when used judiciously. - ๐ Introduce the
ArgumentResolver
API that lets users control how non-primitive values are bound to SQL statements (e.g., a user could override enum value handling to bind the values usingordinal()
instead ofname()
). CustomArgumentResolver
implementations can be used in a SquidDatabase using the extensiblebuildCompileContext
method. - ๐ Move the
copyDatabase()
debugging utility into SquidDatabase. Fix some bugs with its implementation to make it behave nicely with databases in WAL mode and be thread safe. - ๐ Some minor enhancements to the BasicPropertyGenerator plugin API that make it easier to modify the declarations of a model's getters and setters.
- โฌ๏ธ Bump the SQLite version in
squidb-sqlite-bindings
to 3.15.0.
- โ Add an experimental, under-the-hood change that can lead to performance increases of up to 70% for transactions inserting a large number of rows, and ~25-50% in the average case when inserting rows. The change is disabled by default; to enable it, users can call
-
v3.1.3 Changes
September 02, 2016- ๐ Fix a bug where enums that override toString() would be incorrectly serialized to the database. It's likely that you would have noticed a problem before now if this happened to you, but if you've been persisting an enum column with an enum that overrides toString(), you may have to run a data migration to fix the issue. Sorry to anyone affected by this!
-
v3.1.2 Changes
August 24, 2016- ๐ Fix a bug introduced in version 3.1.1 where automatically generating the deprecated default ID property would cause a compilation error. This issue only affected users who have not yet updated their model specs as described in the 3.1.0 release notes.
-
v3.1.1 Changes
August 23, 2016- Edit: A bug with the deprecated default
INTEGER PRIMARY KEY
column existed in this version. Users should use 3.1.2 instead. - Further enhancements to the
INTEGER PRIMARY KEY
changes introduced in version 3.1.0. Any columns acting as an alias to the model rowid will now generate named getters and setters, which will delegate togetRowId()/setRowId()
under the hood. This makes rowid alias columns easier to work with. - โจ Enhance code generation plugins by allowing them to declare compile-time options that they consume using the
@SupportedOptions
annotation. This makes it easier for the code generator to warn about unused/mistyped options passed to SquiDB as well as allowing user-defined plugins to consume their own custom option flags.
- Edit: A bug with the deprecated default
-
v3.1.0 Changes
July 27, 2016- โ Removed restrictions on the
@PrimaryKey
annotation so that columns of any type may be declared as the primary key for the table. SquiDB will stop generating theID
property as a rowid alias in a future version; as such thegetId()
andsetId()
methods in allTableModel
subclasses are deprecated in favor of the more descriptively namedgetRowId()
andsetRowId()
. See this wiki page for information on how to future-proof your existing model specs for this change. - SquidCursor now exposes the "hint" class object of its type argument via the
getModelHintClass()
method
- โ Removed restrictions on the