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
 
Top