1.13.0 (2024-09-30)
1.12.0 (2024-09-21)
- add Metadatable interface (10f7f01)
1.11.0 (2024-09-04)
- add various Updatable#updateAllLazy (ea5a11b)
- PostgreSQL tests are now tremendously super-fast. (b5352d4)
- provide connection per thread instead of singleton (c497787)
- support LINQ style Queryable#findBy() (d0f0f9a)
- support record (ec4f00c)
- UPSERT uses ON CONFLICT instead of REPLACE (f3044b4)
- use DataSource partially (a734797)
- date-related constraints accept null property (17fe199)
- remove unused methods (6c76e16)
- test lazy update (a8d94c1)
- test more (1152d5d)
- Testable accepts Identifiable instead of IdentifiableModel (c28b743)
- Updable#update with specifier throws error on non-existed item. (8c858dc)
1.10.0 (2024-08-31)
- support postgres (753d118)
- clean up tests on postgres (f8c80bb)
- rename tests (561ffc8)
- rename to PostgreSQL (bcd4b3a)
- revert env variable 'typewriter.connection.singleton' (40e6a53)
1.9.2 (2024-08-28)
- SQLite connection must be singleton. (a230183)
- support abnormal table name (11457f0)
- table name pattern (355afca)
- use try-catch-resource more (0bfbcd5)
1.9.1 (2024-08-27)
- cache the computed property name (47a9f53)
1.9.0 (2024-08-27)
- disable default singleton mode on sqlite (5936a09)
1.8.4 (2024-08-27)
- revert Linq setting (385d6f5)
1.8.3 (2024-08-26)
- enable LINQ explicitly (65da3d7)
1.8.2 (2024-08-26)
- skip test on jitpack (94b095b)
1.8.1 (2024-08-21)
- throw error when dialect is not found (12f9556)
1.8.0 (2024-08-06)
- automatic model detection by data source (3575b10)
- detect DB by class (cc70fa2)
- enhance SQL (ff8e1fd)
- Identifiable is interface now (3abde50)
- LINQ is available (41909ae)
- Provide bulk updater. (aa2ea53)
- provide Identifiable interface (e611cb0)
- Provide option for RDB. (4317dc0)
- RDB can build stream collection. (1865eda)
- remove RDBOption (b27ace9)
- support avg option (distinct and window range) (f2ce8ec)
- support BigDecimal and BigInteger (09be090)
- support duckdb completely (5d0742e)
- support duckdb partialy (0981a4c)
- auto model detection for DuckDB (16bc732)
- avoid ClassNotFoundException (c8065b7)
- expand type restriction on RDB#of (fe09fbf)
- ignore null variable (521f5ec)
- update ci process (6bb2c06)
- update license (94457e5)
- update reincarnation (279b3fe)
1.7.1 (2023-08-26)
1.7.0 (2023-07-10)
- Add 'typewriter.connection.autoCommit readOnly isolation' config. (856b5c8)
- Add 'typewriter.connection.singleton' config. (9045bbe)
- Add BackendedModel#saveLazily with default delay. (24ca70f)
- Add BackendedModel#saveLazily. (4ed7242)
- RDBCodec support null column. (986d071)
- SQLite is more configurable. (5440652)
- Support primitive wrapper types. (9cd071a)
1.6.0 (2023-07-03)
- Add general codec for enum. (45915d6)
- Add various List constraints. (e029268)
- BackendedModel supports delayed saving. (5f805e1)
- Dialect can create the specialized ListConstraint. (0aeabf2)
- Enable error log. (7870b6b)
- H2 supports ListConstraint. (a9e600a)
- LocalDate codec supports null. (eb6ee9c)
- RDB can detect dialect from environment. (c13f65f)
- Support additional property migration. (b86e0f6)
- Support ListConstraint on sqlite. (c5834dc)
- Support multiple update. (0d090d1)
- Support name-based property update on RDB backend. (37e1f77)
- Try to support 1:n relationship. (790cf98)
- Add slf4j-nop explicitly. (9dc4af8)
- Can't search the configured db location. (f63b281)
- Correct DB setting on H2. (dcc9b6c)
- correct type inference (b2590dd)
- H2DB uses memory db on test. (e62295c)
- Optimize query builder. (eededb8)
- Update MariaDB. (166d53b)
- We should detect dialect from model type. (a44830c)
1.5.0 (2023-04-25)
- Support error handling in BackendedModel. (adf0a45)
1.4.0 (2022-08-30)
- Add BackendModel#restoring instead of #restore(Consumer). (75ea065)
- Provide Queryable#page as pagination helper. (fc3929f)
- Support accumulable operators. (MIN MAX SVG SUM DISTINCT) (55720f1)
- Support distinct by single property. (77a1265)
- Support min accumulator. (11181d3)
- Support OffsetDateTime. (d034253)
1.3.0 (2022-08-04)
- Support sort by text. (838227b)
- Support sorting by Data and LocalData. (57c3f15)
- Support sorting by multiple properties. (dbd9636)
- Support sorting by various date related API. (86d70b1)
- Support sorting. (662c2d0)
- Support various character set. (b3eb7a4)
1.2.0 (2022-08-02)
- Provide connection pool for RDB. (feab563)
- Provide RDB dialect. (e868801)
- Support finding limit size. (4266d2c)
- Support MariaDB. (2c1b48f)
- Support multi thread operation. (f732f3d)
- Support offset constraint. (cb2253b)
- Support Queryable#findAll. (9f9d026)
1.1.0 (2022-07-29)
- Add BackendedModel. (1c3765b)
- Add QueryableModel and special decoder for mongo. (5f41395)
- Add QueryableModel#delete. (10e2823)
- DateConstraint supports #is and #isNot. (61e8368)
- IdentifiableModel hides its ID. (aca3fb2)
- Mongo supports StringConstraint. (112a4ec)
- Provide the extensible value codec on sqlite. (21a94e9)
- Provide Updatable, Deletable and Operatable. (6f34dac)
- Queryable is interface now. (a625c28)
- Restorable can accept the callbak. (d9c5dd6)
- SQLite can pool its connection. (2cff3df)
- StringConstraint supports #contains. (31e6aba)
- StringConstraint supports regular expression. (d4aa7ed)
- StringConstraints support #isEmpty and #isNotEmpty. (d2c97c3)
- Support java.util.Date constraint. (c5166a8)
- Support LocalDate constriant. (c88c985)
- Support LocalDateTime constraint. (bc3bd82)
- Support LocalTime constraint. (b1718a5)
- Support Restorable interface. (d637e2a)
- Support SQLite. (11294d4)
- Support transaction. (2614cd7)
- Support ZonedDateTime constraint on mongdb. (3a2db78)
- Support ZonedDateTime constraint on mongodb. (eb6be7d)
- Support ZonedDateTime constraint on sqlite. (5ec6d6a)
- Use custom id. (4b5d20a)