B4J Library SQLite JDBC - Library version updates

Hi everybody!

This thread is supposed to get all SQLite JDBC library version links together so as to find and download them easier.
As a heavy B4J+SQLite user, I'm always looking forward to have new JDBC versions.
All information contained herein has been taken from Mr. Taro L. Saito (xerial), library author, GitHub documentation.
Thank you @mcqueccu, for suggesting the creation of this thread.
There are earlier versions available. They can be easily found HERE, should you ever need them.

Future versions might be found in additional posts in this thread.

Having this said, let's get to it!

Sqlite-jdbc version 3.25.2 (2018.10.01) available for download HERE
  • Implements UPSERT, ALTER TABLE ... RENAME COLUMN and added the Geopoply module.
Sqlite-jdbc version 3.27.2 (2019.03.15) available for download HERE
  • Upgrade to SQLite 3.27.2

Sqlite-jdbc version 3.27.2.1 (2019.03.20) available for download HERE
  • Make smaller the jar size by using -Os compiler option
  • Performance improvement for concurrent access.

Sqlite-jdbc version 3.28.0 (2019.06.25) available for download HERE
  • Upgrade to sqlite 3.28.0

Sqlite-jdbc version 3.30.1 (2019.12.23) available for download HERE
  • Upgrade to sqlite 3.30.1
  • Various fixes


Sqlite-jdbc version 3.31.1 (2020.05.05) available for download HERE
  • Upgrade to sqlite 3.31.1
  • Support update/commit/rollback event notifications #350
  • Remove sparse index checks #476
  • Support alpine linux (Linux-alpine)
  • Enabled SQLITE_ENABLE_STAT4 flag

Sqlite-jdbc version 3.32.3 (2020.06.19) available for download HERE

Sqlite-jdbc version 3.32.3.1 (2020.07.15) available for download HERE
  • Remove SQLITE_MAX_MMAP_SIZE compile option, which might be causing performance issuess.

Sqlite-jdbc version 3.32.3.2 (2020.07.28) available for download HERE
  • Enable SQLITE_MAX_MMAP_SIZE compile option again.
  • Fixes issues when using Arm Cortex A8, A9 (32-bit architecture)
Sqlite-jdbc version 3.32.3.3 (2020.12.08) available for download HERE
  • Apple Silicon (M1) support

Sqlite-jdbc version 3.34.0 (2020.12.10) available for download HERE
  • Improved the performance of reading String columns
  • Support URI file names (file://...) in backup/restore commands https://sqlite.org/uri.html
  • Show SQL strings in PreparedStatements.toString()

Sqlite-jdbc version 3.35.0 (2021.06.27) available for download HERE
  • Don't use 3.35.0 if you are Apple Silicon (M1) user. 3.35.0 failed to include M1 binary

Sqlite-jdbc version 3.35.0.1 (2021.06.27) available for download HERE
  • Upgraded to SQLite 3.35.0
  • Avoid using slower ByteBuffer decode() method (#575)
  • Allow increasing SQLite limits (#568)
  • Add Automatic-Module-Name for OSGi (#558
  • Avoid using shared resource streams between class loaders when extracting the native library. (#578)
  • (Note: Don't use 3.35.0 if you are Apple Silicon (M1) user. 3.35.0 failed to include M1 binary)
Sqlite-jdbc version 3.36.0 (2021.06.27) available for download HERE
  • Upgrade to SQLite 3.36.0


Sqlite-jdbc version 3.36.0.1 (2021.06.30) available for download HERE
  • Fixed a date parsing issue #88
  • Added CI for testing JDK16 compatibility. sqlite-jdbc works for JDK8 to JDK16

Sqlite-jdbc version 3.36.0.2 (2021.08.25) available for download HERE
  • Newly Supported OS and Arch
    • Support custom collation creation (#627)
    • Newly Supported OS and Arch
    • Windows armv7 and arm64 (e.g., Surface Pro X) (#644)
    • FreeBSD aarch64 (#642)
    • Bring back Linux armv6 support (#628)
    • FreeBSD x86 and x86_64 (#639)
    • Dropped DragonFlyBSD support (#641)
  • Other Intenal Fixes
    • Add reflect-config, jni-config and native-image.properties to graalvm native image compilation (#631)
    • Fix multipleClassLoader test when directory is renamed (#647)
    • CI tests for Windows and MacOS (#645)
Sqlite-jdbc version 3.39.2.0 (2021.08.25) available for download HERE
 
Last edited:

Claudio Oliveira

Active Member
Licensed User
Longtime User
Sqlite-jdbc version 3.39.2.1 (2022.08.24) available for download HERE

Features​

  • Add support for Linux musl x86 32bits
  • Support JDBC 4.2 large methods
  • Enable DBSTAT Virtual Table

Fixes​

  • Use directory stream for temp dir cleanup
  • Compile armv5 with soft float and without vfp
  • Empty result set should not be returned as closed
  • Various correctness, memory leak and race condition fixes
  • Minor bug fixes and code cleanup
  • getImportedKeys should not fail if referenced table does not exist
  • Return generated columns in DatabaseMetaData.getColumns
  • getClob() should return null if the data is null

Changes​

  • Use java.nio for file operations
  • Comments as javadoc
  • Apply IntelliJ suggestions
  • Use try-with-resource and assertThrows
 

Claudio Oliveira

Active Member
Licensed User
Longtime User
Sqlite-jdbc version 3.39.3.0 (2022.09.09) available for download HERE

Features​

  • [jdbc] support Statement.execute methods with autoGeneratedKeys parameter
  • [jdbc] ResultSetMetaData.getColumnClassName returns more accurate type

Fixes​

  • [native] JRE crash on connection close with CommitListener and auto commit disabled
  • [jdbc] Statement.setEscapeProcessing should not throw unsupported exception
  • [jdbc] throw SQLFeatureNotSupportedException instead of SQLException for unsupported features
  • [jdbc] DatabaseMetaData.supportsFullOuterJoins returns true for SQLite 3.39+
  • [jdbc] incorrect DatabaseMetaData JDBC version major/minor
  • [jdbc] getDate, getTime, and getTimestamp crash on empty text
  • [jdbc] ResultSetMetaData.getColumnType now returns BIGINT if the value is large
  • [jdbc] detect TIMESTAMP stored in SQLITE_TEXT

Build​

  • [native] update SQLite to 3.39.3
  • fix build-native directory when downloading native libraries
  • [native] update dockcross windows x86/x64 images
  • [native] update dockcross images, fixes issue when running on Mac M1
  • replace junit jupiter assumptions with assertJ
  • test with external amalgamation
  • add graalvm argument following assertj migration
  • migrate to assertJ
  • remove old travis files
  • fix missing condition for build-native workflow

Documentation​

  • mention support of Linux musl 32bits
 

Claudio Oliveira

Active Member
Licensed User
Longtime User
Sqlite-jdbc version 3.39.4.0 (2022.11.07) available for download HERE

Features​

  • jdbc: implement ResultSet#getObject with requested type
  • allow override of detected architecture
  • update SQLite to 3.39.4
  • jdbc: DatabaseMetaData.getTypeInfo() returns more accurate values
  • jdbc: add support for DatabaseMetaData#getSearchStringEscape

Fixes​

  • jdbc: ResultSet#isNullable() now checks for nullability instead of primary key
  • jdbc: simplify ResultSet#getBigDecimal
  • jdbc: ResultSet#getBigDecimal could return 0 instead of null in some conditions
  • jdbc: Statement#getUpdateCount could return incorrect result when used concurrently
  • jdbc: incorrect SQL could be generated in DatabaseMetaData#getImportedKeys
  • jdbc: DatabaseMetaData.getTables() shows all types if no type is provided
  • jdbc: DatabaseMetaData.getTables() returns sqlite_schema as SYSTEM TABLE
  • jdbc: add missing description for DriverPropertyInfo

Changes​

  • use SQLFeatureNotSupportedException when possible

Build​

  • bump nexus-staging-maven-plugin from 1.6.8 to 1.6.13
  • bump jreleaser-maven-plugin from 1.1.0 to 1.3.1
  • bump maven-gpg-plugin from 1.6 to 3.0.1
  • bump maven-javadoc-plugin from 3.2.0 to 3.4.1
  • bump maven-bundle-plugin from 2.4.0 to 5.1.8
  • bump maven-jar-plugin from 3.2.0 to 3.3.0
  • bump maven-compiler-plugin from 3.1 to 3.10.1
  • bump maven-help-plugin from 3.2.0 to 3.3.0
  • bump spotless-maven-plugin from 2.12.3 to 2.27.2
  • bump mockito-core from 4.8.0 to 4.8.1
  • add maven-enforcer-plugin
  • add versions-maven-plugin
  • disable test_graalvm
  • exclude architecture tests from native
  • add test architecture tests
  • add architecture tests
  • deps: bump JUnit Pioneer from 1.4.2 to 1.7.1
  • deps: bump JUnit from 5.7.2 to 5.9.1
  • jdbc: add numeric types tests for ResultSet
  • typo in workflow descriptions [skip ci]

Documentation​

  • document usage for Android applications
 

Claudio Oliveira

Active Member
Licensed User
Longtime User
Sqlite-jdbc version 3.39.4.1 (2022.11.17) available for download HERE

Fixes​

  • jdbc: don't check if ResultSet is open in markCol
  • jdbc: throw SQLException instead of IllegalStateException
  • jdbc: properly handle updateCount for PreparedStatement
  • jdbc: don't close ResultSet when last row is passed
  • jdbc: properly reset Statement between reuse

Build​

  • fix boolean conditions, once more
  • fix boolean conditions
  • print event inputs
  • add failing tests for PreparedStatement getMetaData before execution
  • add failing tests for PreparedStatement getMoreResults and getUpdateCount
  • polish
  • replace deprecated set-output usage
  • add a release flag on CI workflow dispatch
  • add failing tests when getting ResultSet metadata past last row
  • add failing tests when reusing statements
  • deps: bump andymckay/cancel-action from 0.2 to 0.3
  • fix attach-javadoc failing with release profile
  • change jreleaser's changelog format
  • multi-release JAR with module-info.java

Documentation​

  • update release process
 

Claudio Oliveira

Active Member
Licensed User
Longtime User
Sqlite-jdbc version 3.40.1.0 (2023.02.02) available for download HERE

Features​

  • update SQLite to 3.40.1 (4ba7c8c)
  • allow correct recognition of android os if running termux (89ceb0d)

πŸ› Fixes​

  • jdbc: DatabaseMetaData#getPrimaryKeys and getExportedKeys should return an empty ResultSet for sqlite_schema (0dc6ad9), closes #831
  • jdbc: DatabaseMetaData#getColumns should also retrieve columns from SYSTEM TABLE types (473f528)
  • DatabaseMetaData#getTypeInfo's result should be ordered by DATA_TYPE (05bb929), closes #832
  • native: fixes and improvements for backup/restore (b13c908)
  • jdbc: DatabaseMetaData#getImportedKeys reports empty FK_NAME when created using quotes (ba69b2e), closes #506

πŸ”„οΈ Changes​

  • replace mention of sqlite_master with sqlite_schema (e68bc05)

πŸ›  Build​

  • release depends on test_graalvm (9f521a4)
  • refine GraalVM native-image configuration and fix native test execution (e437b3f)
  • hide bot names from release contributors (5d1a280)
  • replace java 18 with java 19 (4c80ee7)
  • try to fix build native for PRs (f7bd3cd)
  • try to fix build native for PRs (b23de9e)
  • try to fix build native for PRs (5aa6a30)
  • add 2023 url for amalgamation download (e3b6f8c)
  • deps: bump JReleaser to 1.4.0 (0db312f)
  • add test for unixepoch (3904e83)

πŸ“ Documentation​

 

Claudio Oliveira

Active Member
Licensed User
Longtime User
Sqlite-jdbc version 3.41.0.0 (2023.02.23) available for download HERE

πŸš€ Features​

πŸ› Fixes​

  • jdbc: DatabaseMetaData#getColumns now returns SCOPE_CATALOG column instead of SCOPE_CATLOG (4429515), closes #837

πŸ›  Build​

  • use junit-jupiter in POM to pull all dependencies transitively (7863376), closes #838

Contributors​

We'd like to thank the following people for their contributions:
Gauthier Roebroeck
 

Claudio Oliveira

Active Member
Licensed User
Longtime User
Sqlite-jdbc version 3.41.0.1 (2023.03.21) available for download HERE

πŸš€ Features​

  • jdbc: remove length/dimension in DatabaseMetaData#getColumns TYPE_NAME (b09e093)
  • sqlite: add support for legacy_alter_table flag (26df15f), closes #481
  • add SQLiteDataSource #setBusyTimeout (12f2113)

πŸ› Fixes​

  • jdbc: return DatabaseMetaData#getColumns DATA_TYPE as int instead of String (b7c40c3), closes #859
  • database from jar resource no longer keeps the jar file-descriptor open (38c25af)
  • keep SQLiteConfig cached busyTimeout more consistent with busy_timeout pragma (8be7243)

πŸ›  Build​

  • deps-dev: bump mockito-core from 4.8.1 to 5.2.0 (1874299)
  • deps: bump native-maven-plugin from 0.9.19 to 0.9.20 (a99ac0c)
  • deps-dev: bump assertj-core from 3.23.1 to 3.24.2 (12d1f2c)
  • deps: bump jreleaser-maven-plugin from 1.4.0 to 1.5.1 (5fba437)
  • deps: bump surefire.version from 3.0.0-M7 to 3.0.0 (15db506)
  • deps-dev: bump junit-pioneer from 1.7.1 to 2.0.0 (db56d15)
  • deps: bump maven-javadoc-plugin from 3.4.1 to 3.5.0 (7085bf4)
  • deps-dev: bump archunit-junit5 from 1.0.0 to 1.0.1 (bfe7c1b)
  • deps-dev: bump logback-classic from 1.3.4 to 1.4.5 (276f682)
  • deps: bump maven-enforcer-plugin from 3.1.0 to 3.2.1 (f67c97a)
  • dependabot: enable updates for all deps (8a2a5b1)
  • jreleaser: add missing perf labeler (c2bfaa4)
 

Claudio Oliveira

Active Member
Licensed User
Longtime User
Sqlite-jdbc version 3.42.0.1 (2023.08.25) available for download HERE

πŸ› Fixes​

jdbc
  • PreparedStatement#executeQuery should not return null (1eacd68), closes #914
  • add fallback to LocalDateTime.parse in ResultSet#getObject (d76c933)
  • ResultSet#getObject could throw a NPE (ea165fa), closes #915
  • check parameters presence in getParameterType (76b560d), closes #911
native-image
  • make sure the parent directory exists before exporting (bfa7510)
unscoped
  • use dylib extension instead of jnilib for MacOS library names (78defd0)
  • correct the exception message when backup fails (3ffef4d)

πŸ”„οΈ Changes​

πŸ›  Build​

deps
  • bump org.graalvm.buildtools:native-maven-plugin (168c998)
  • bump jreleaser-maven-plugin from 1.6.0 to 1.7.0 (0bccb7c)
  • bump native-maven-plugin from 0.9.22 to 0.9.23 (3be5102)
  • bump surefire.version from 3.1.0 to 3.1.2 (b2f968f)
  • bump versions-maven-plugin from 2.15.0 to 2.16.0 (6c3430d)
  • bump maven-source-plugin from 3.2.1 to 3.3.0 (774c104)
  • bump maven-bundle-plugin from 5.1.8 to 5.1.9 (e41c5e6)
deps-dev
  • bump ch.qos.logback:logback-classic (d370eea)
  • bump com.tngtech.archunit:archunit-junit5 (30b71aa)
  • bump org.junit.jupiter:junit-jupiter (14e5eb8)
  • bump ch.qos.logback:logback-classic from 1.4.8 to 1.4.9 (85f8319)
  • bump mockito-core from 5.3.1 to 5.4.0 (3d28792)
  • bump logback-classic from 1.4.7 to 1.4.8 (1738823)
unscoped
  • update to GraalVM 23 (840ce0e)
  • fix version update in README (3054957)

πŸ“ Documentation​

  • add project status in README (cae28b1)
 

Claudio Oliveira

Active Member
Licensed User
Longtime User
Sqlite-jdbc version 3.43.0.0 (2023.08.29) available for download HERE

πŸš€ Features​

  • upgrade to sqlite 3.43.0 (6e02ee7)

πŸ› Fixes​

jdbc
  • 🚨 remove support for Statement#getGeneratedKeys: getGeneratedKeys is not supported anymore (712a8a5), closes #329

πŸ”„οΈ Changes​

  • 🚨 remove the deprecated SQLiteJDBCLoader isPureJavaMode and getPureJavaFlag: methods are removed (e52c44f)
  • 🚨 remove the deprecated TransactionMode.DEFFERED: no more backward compatibility when using the deprecated enum value (8967d75)

πŸ›  Build​

deps
  • bump org.graalvm.buildtools:native-maven-plugin (a89a42a)
  • bump org.apache.maven.plugins:maven-enforcer-plugin (5488061)
deps-dev
  • bump org.mockito:mockito-core from 5.4.0 to 5.5.0 (fffd224)
unscoped
  • remove conditions over native or java mode (c4ddd1e)
 

Claudio Oliveira

Active Member
Licensed User
Longtime User
Sqlite-jdbc version 3.43.2.0 (2023.10.13) available for download HERE

Changelog​

πŸš€ Features​

  • upgrade to sqlite 3.43.2 (a434c78)
  • add slf44-api to replace use of standard streams (21c77a4), closes #802
  • upgrade to sqlite 3.43.1 (7b40a6a)

πŸ› Fixes​

native-image

  • do not initialize logging framework at build-time (d8f762c)
unscoped

  • add missing module requirement for slf4j (32082c0)
  • add SONAME to Android binaries (f6a3aef), closes #960

🏎 Perf​

  • remove use of DriverManager.println (75ce563), closes #984

πŸ”„οΈ Changes​

πŸ›  Build​

deps

  • bump org.codehaus.mojo:versions-maven-plugin (ebdda17)
  • bump org.apache.maven.plugins:maven-javadoc-plugin (5e37532)
  • bump org.apache.maven.plugins:maven-enforcer-plugin (b3188dc)
  • bump actions/checkout from 3 to 4 (3eaabec)
  • bump org.jreleaser:jreleaser-maven-plugin (07d420d)
deps-dev

  • bump org.mockito:mockito-core from 5.5.0 to 5.6.0 (54aa6ab)
  • bump org.junit-pioneer:junit-pioneer (b363636)
makefile

unscoped

  • update native-image testing to GraalVM 21 (1229f00)
  • fix native configuration for slf4j (89dbda1)
  • MultipleClassLoaderTest fails on Windows (d4f4dc2)

Contributors​

We'd like to thank the following people for their contributions:
Gauthier, Gauthier Roebroeck, Kristof
 

Claudio Oliveira

Active Member
Licensed User
Longtime User
Sqlite-jdbc version 3.43.2.1 (2023.10.18) available for download HERE

Changelog​

πŸ› Fixes​

πŸ“ Documentation​

Contributors​

We'd like to thank the following people for their contributions:
Gauthier Roebroeck, Kevin Viet
 

Claudio Oliveira

Active Member
Licensed User
Longtime User
Sqlite-jdbc version 3.43.2.2 (2023.10.30) available for download HERE

πŸ› Fixes​

  • avoid double precision in getBigDecimal (8880c33), closes #1002

πŸ›  Build​

deps

  • bump org.graalvm.sdk:nativeimage from 23.1.0 to 23.1.1 (4dba62c)
  • bump surefire.version from 3.1.2 to 3.2.1 (958b4f6)
  • bump org.graalvm.buildtools:native-maven-plugin (98093e1)
jreleaser

unscoped

  • add build step necessary for jreleaser when not pushing to maven central (36116ca)

Contributors​

We'd like to thank the following people for their contributions:
Gauthier, Gauthier Roebroeck, InitFlo
 

Claudio Oliveira

Active Member
Licensed User
Longtime User
Sqlite-jdbc version 3.44.0.0 (2023.11.12) available for download HERE

πŸš€ Features​

sqlite

  • support serialize/deserialize sqlite APis (6823954)
  • upgrade to sqlite 3.44.0 (fd222f3)

πŸ›  Build​

deps

  • bump surefire.version from 3.2.1 to 3.2.2 (4232352)
  • bump org.apache.maven.plugins:maven-javadoc-plugin (64b8ced)
deps-dev

  • bump com.tngtech.archunit:archunit-junit5 (3094fb0)
  • bump org.junit.jupiter:junit-jupiter (9500426)
  • downgrade logback to 1.2.12 (2d76795)

Contributors​

We'd like to thank the following people for their contributions:
Gauthier, Gauthier Roebroeck, yuvalp-k2view
 

Claudio Oliveira

Active Member
Licensed User
Longtime User
Sqlite-jdbc version 3.44.1.0 (2023.11.27) available for download HERE

πŸš€ Features​

sqlite

  • upgrade to sqlite 3.44.1 (1eef6a5)

🏎 Perf​

sqlite

  • disable pagecache overflow stat (31b7659)

πŸ›  Build​

deps

  • bump org.codehaus.mojo:versions-maven-plugin (baf1295)
  • bump org.jreleaser:jreleaser-maven-plugin (849d6eb)
deps-dev

  • bump org.junit-pioneer:junit-pioneer (f3333e7)
  • bump org.mockito:mockito-core from 5.6.0 to 5.7.0 (8cd1fa1)

Contributors​

We'd like to thank the following people for their contributions:
Gauthier, Gauthier Roebroeck, yuvalp-k2view
 
Top