Skip to content

Releases: MineInAbyss/sqlite-kt

v0.1.2

14 May 16:33

Choose a tag to compare

🐛 Bug Fixes

  • Bump catalog to fix duplicate publications - (a67a4d2)

v0.1.0-dev.0

13 May 20:32

Choose a tag to compare

v0.1.0-dev.0 Pre-release
Pre-release

⛰️ Features

  • (generator) Automatic schema generation and better error handling - (b264466)
  • Write scope to allow launching writes without suspend - (bba6155)
  • Support INSERT ... RETURNING statements correctly - (5485f2d)
  • Allow defining binding class types using kotlin function syntax - (8259033)
  • Rewrite codegen statement parsing using ANTRL4 grammar for SQLite - (0691241)
  • Allow creating multiple databases using gradle container - (6d2e503)
  • Add option for generated main class name - (04b3f9f)
  • Automatically track table updates using a temporary table - (b264466)
  • Implement basic sql wrapper codegen via kotlinpoet + jsql parser, add test module - (6e27fd0)
  • Start codegen module and test project - (70b200b)
  • Temporary and in-memory database constructors, ability to set readConnections to 0 - (38515bc)
  • Closing database, and tying its lifecycle to a parent CoroutineScope - (e208be7)
  • Select statement helper class - (24c59a3)
  • NamedColumnSqliteStatement with ability to read columns by name instead of index - (c26657a)

🐛 Bug Fixes

  • Correctly annotate task source to rebuild on changes - (d63f544)
  • Insert statement without RETURNING not executed right away - (7c56000)
  • Insert statements not executing right away (RETURNING support needs fixing) - (48574ac)
  • Automatically track changes on watched tables - (d3141fb)
  • Use me.dvyy for generator package names, publish codegen plugin - (703d76b)
  • Try fixing prepared statement caching by clearing bindings as well as resetting - (11159fc)
  • Temporary database connections referencing different db + test this case - (7ad2467)
  • Database write/execSQL causing cached prepared statement to close prematurely - (7c0d7aa)
  • Use ThreadLocal for read transactions to avoid calling them from different threads - (e208be7)
  • Make readonly transactions actually readonly - (e208be7)

🚜 Refactor

  • (geneartor) Extract into separate gradle task with correct input/output annotations - (b264466)
  • Migrate to mineinabyss catalog/conventions - (c153cef)
  • Delete Table, View, etc... classes - (8259033)
  • Cleanup helpers in generator - (703d76b)
  • Start moving away from jsql parser - (c1dcced)

📚 Documentation

  • Start writing out README with usage information - (bf6a78c)

⚡ Performance

  • Cache prepared statements, finalizing old ones automatically - (521e09f)

🧪 Testing

  • Add another test for finalizing old prepared statements - (799ef9f)

⚙️ Miscellaneous Tasks

  • Lower target jdk to 21 on codegen plugin (a dependency prevents going further) - (9048903)
  • Configure task caching strategy - (e965b26)
  • Bump gradle, add SupervisorJob to DB writeScope - (b4a6ce2)
  • Bump gradle, add caching configuration options - (bf1cbe0)
  • Generate individual classes for each file in queries/ - (a4f484b)
  • Add identity to read transactions as well - (e7e11d4)

◀️ Revert

  • Disable prepared statement cache due to inconsistent state bugs - (f128cde)

🔍 Other

  • Change group to me.dvyy.sqlite - (58ee1b4)