-
Support MSVC compiler (Jonah Beckford)
-
Add
extended_errcode_int
function (Petter A. Urkedal) -
Fix memory alloc in
caml_sqlite3_backup_init()
(Mark Elvers, Pierre Boutillier, and Benjamin Canou) -
Add Github CI (Yilin Wei)
-
Detect pkgconf on Windows/mingw (Mark Elvers, reviewed by Shon Feder)
-
Fixed shadowing of
agg_ctx
when usingsizeof
. -
Formatted sources using
ocamlformat
andclang-format
. -
Fixed switch syntax error flagged by cppcheck.
-
Added
.editorconfig
. -
Removed superfluous macro conditions.
-
Improved API documentation formatting.
-
Improved README, license file, copyright notices, and changelog format.
-
Added let&-operator for implicit closing of an opened database.
Thanks to Yawar Amin [email protected] for this contribution!
-
Fixed missing GC registration of init values in aggregate functions.
-
Fixed call to final aggregate function when no step function was called.
-
Fixed incorrect required minimum OCaml version (now 4.12).
-
Added missing
dune-configurator
dependency. -
Removed redundant build dependencies.
-
Use
caml_alloc_initialized_string
wherever possible. -
Fixed documentation typos and wording.
-
Added support for const char strings in stubs due to stricter handling in newer OCaml runtimes. This eliminates C-compiler warnings.
-
Added missing :with-test declaration in Dune project file.
-
Improved portability to older SQLite3 versions.
-
Breaking change:
Data.to_string
is nowData.to_string_coerce
to more clearly reflect that non-string data will be converted to strings.
-
Added support for SQLite3 window functions.
-
Added
Sqlite3.Rc.check
andSqlite3.Rc.is_success
for easier return code checking. -
Added
Sqlite3.prepare_or_reset
for reusing prepared statements in loops. -
Added
Sqlite3.iter
andSqlite3.fold
for more convenient handling of row data. -
Added more data conversion functions, also for direct access to column data.
-
Added more data binding functions.
-
Improved closing behavior of database using new SQLite3 API.
-
Improved testing framework using
ppx_inline_test
. -
Each test case now has its own database for parallel testing.
-
Switched from
caml_alloc_custom
tocaml_alloc_custom_mem
. -
Switched to OPAM file generation via
dune-project
. -
Improved compatibility with older OCaml versions. Thanks to Simon Cruanes for this patch!
Thanks to Shawn [email protected] and Ted Spence [email protected] for their work on many of these contributions!
- Switched to dune, dune-release, and OPAM 2.0
-
Support for new open flags:
- uri - for URI filename interpretation
- memory - for in-memory databases
Thanks to Raman Varabets for this contribution!
-
Fixed warnings and errors in configuration code due to upstream changes.
- Added missing -lpthread linking flag to avoid problems with projects that do not link with the OCaml threads library.
- Improved finalization of databases and statements for better performance
-
Improved compatibility with MSVC
-
Used untagging and unboxing attributes on external functions
-
Switched to jbuilder and topkg
-
Added backup functionality
Thanks to Markus W. Weissmann [email protected] for this contribution!