Skip to content

Commit e4b6174

Browse files
committed
Prepare release of version 2.3.1
Based on SQLite 3.51.3 (after withdrawal of SQLite 3.52.0)
1 parent 44f19db commit e4b6174

12 files changed

Lines changed: 16067 additions & 22807 deletions

CHANGELOG.md

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,17 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
## [Unreleased]
99

10+
## [2.3.1] - 2026-03-13
11+
12+
### Changed
13+
14+
- Based on SQLite version 3.51.3
15+
1016
## [2.3.0] - 2026-03-08
1117

1218
### Changed
1319

14-
- Version bump to version 2.3.0
20+
- Based on SQLite version 3.52.0
1521
- Unified architecture names in build files (use _x64_ instead of _Win64_) (to avoid VS2026 conflicts)
1622

1723
### Added
@@ -714,7 +720,8 @@ The following ciphers are supported:
714720
- AES 256 Bit CBC - SHA1/SHA256/SHA512 HMAC ([SQLCipher](https://www.zetetic.net/sqlcipher/), database versions 1, 2, 3, and 4)
715721
- RC4 - No HMAC ([System.Data.SQLite](http://system.data.sqlite.org))
716722

717-
[Unreleased]: ../../compare/v2.3.0...HEAD
723+
[Unreleased]: ../../compare/v2.3.1...HEAD
724+
[2.3.1]: ../../compare/v2.3.0...v2.3.1
718725
[2.3.0]: ../../compare/v2.2.7...v2.3.0
719726
[2.2.7]: ../../compare/v2.2.6...v2.2.7
720727
[2.2.6]: ../../compare/v2.2.5...v2.2.6

CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
cmake_minimum_required(VERSION 3.24.0.0)
2-
project(sqlite3mc VERSION 2.3.0)
2+
project(sqlite3mc VERSION 2.3.1)
33

44
# Helper macro
55
macro(_Enable_MT _target)

configure.ac

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ dnl Copyright (C) 2019-2026 Ulrich Telle <github@telle-online.de>
44
dnl
55
dnl This file is covered by the same licence as the entire SQLite3 Multiple Ciphers package.
66

7-
AC_INIT([sqlite3mc], [2.3.0], [github@telle-online.de])
7+
AC_INIT([sqlite3mc], [2.3.1], [github@telle-online.de])
88

99
dnl This is the version tested with, might work with earlier ones.
1010
AC_PREREQ([2.69])

readme.md

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,8 @@ The code was mainly developed under Windows, but was tested under Linux as well.
1010

1111
## Version information
1212

13-
* 2.3.0 - *March 2026*
14-
- Based on SQLite version 3.52.0
15-
- Updated Visual Studio solution files to support VS2026
16-
- Unified architecture names in build files (use _x64_ instead of _Win64_) (to avoid VS2026 conflicts)
17-
- Support compiling for ARM64EC (affects AEGIS code only) (issue #222)
18-
- Fixed issue #226: Handle raw key and salt material correctly when using the plaintext header option
13+
* 2.3.1 - *March 2026*
14+
- Based on SQLite version 3.51.3
1915

2016
For further version information please consult the [CHANGELOG](CHANGELOG.md).
2117

src/rekeyvacuum.c

Lines changed: 9 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
** Change 4: Call sqlite3mcBtreeSetPageSize instead of sqlite3BtreeSetPageSize for main database
2828
** (sqlite3mcBtreeSetPageSize allows to reduce the number of reserved bytes)
2929
**
30-
** This code is generated by the script rekeyvacuum.sh from SQLite version 3.52.0 amalgamation.
30+
** This code is generated by the script rekeyvacuum.sh from SQLite version 3.51.3 amalgamation.
3131
*/
3232
SQLITE_PRIVATE SQLITE_NOINLINE int sqlite3mcRunVacuumForRekey(
3333
char **pzErrMsg, /* Write error message here */
@@ -118,19 +118,9 @@ SQLITE_PRIVATE SQLITE_NOINLINE int sqlite3mcRunVacuumForRekey(
118118
pDb = &db->aDb[nDb];
119119
assert( strcmp(pDb->zDbSName,zDbVacuum)==0 );
120120
pTemp = pDb->pBt;
121-
122-
/* A VACUUM cannot change the pagesize of an encrypted database. */
123-
if( db->nextPagesize ){
124-
extern void sqlite3mcCodecGetKey(sqlite3*, int, void**, int*);
125-
int nKey;
126-
char *zKey;
127-
sqlite3mcCodecGetKey(db, iDb, (void**)&zKey, &nKey);
128-
if( nKey ) db->nextPagesize = 0;
129-
}
130121
if( pOut ){
131122
sqlite3_file *id = sqlite3PagerFile(sqlite3BtreePager(pTemp));
132123
i64 sz = 0;
133-
const char *zFilename;
134124
if( id->pMethods!=0 && (sqlite3OsFileSize(id, &sz)!=SQLITE_OK || sz>0) ){
135125
rc = SQLITE_ERROR;
136126
sqlite3SetString(pzErrMsg, db, "output file already exists");
@@ -142,14 +132,15 @@ SQLITE_PRIVATE SQLITE_NOINLINE int sqlite3mcRunVacuumForRekey(
142132
** they are for the database being vacuumed, except that PAGER_CACHESPILL
143133
** is always set. */
144134
pgflags = db->aDb[iDb].safety_level | (db->flags & PAGER_FLAGS_MASK);
135+
}
145136

146-
/* If the VACUUM INTO target file is a URI filename and if the
147-
** "reserve=N" query parameter is present, reset the reserve to the
148-
** amount specified, if the amount is within range */
149-
zFilename = sqlite3BtreeGetFilename(pTemp);
150-
if( ALWAYS(zFilename) ){
151-
int nNew = (int)sqlite3_uri_int64(zFilename, "reserve", nRes);
152-
}
137+
/* A VACUUM cannot change the pagesize of an encrypted database. */
138+
if( db->nextPagesize ){
139+
extern void sqlite3mcCodecGetKey(sqlite3*, int, void**, int*);
140+
int nKey;
141+
char *zKey;
142+
sqlite3mcCodecGetKey(db, iDb, (void**)&zKey, &nKey);
143+
if( nKey ) db->nextPagesize = 0;
153144
}
154145

155146
sqlite3BtreeSetCacheSize(pTemp, db->aDb[iDb].pSchema->cache_size);

0 commit comments

Comments
 (0)