- Compiler warning checks. (Warnings in the Porter stemmer code are allowed.)
- Linux GCC -Wall -Wextra (the tool/warnings.sh script)
- Mac GCC -Wall -Wextra (the tool/warnings.sh script)
- OpenBSD GCC using options -Wall
- Windows MSVC Win32 /W3
- Windows MSVC Win64 /W3
- sh tool/warnings-clang.sh
- Documentation checks:
- Latest release on the index.html page
- Release announcement in changes.in
- Release accouncement in news.html
- No unresolved hyperlinks in the documentation build
- The compile-time options are all up-to-date (compile.html)
- Database footprint is up-to-date (features.html)
- Test metrics are up-to-date (testing.html)
- Check new/changed documentation for spelling and gramatical mistakes
- Verify that this checklist agrees with planning documents
- Community feedback solicited for this checklist
- Source code change review. "fossil diff --from release --to trunk"
- No stray changes
- All significant changes are mentioned in the "changes" log of the documentation
- New code complies with style guidelines
- New code complies with design rules
- Comments have been updated to reflect code changes
- Variables and functions have been renamed to reflect changes in their use
- OMIT, ENABLE, and DISABLE options:
- tclsh ../tool/omittest.tcl -skip_run
- Tests for platform Linux x86:
- tclsh releasetest.tcl
- tclsh th3make cov.rc (verify 100% branch test coverage)
- tclsh fulltest.tcl fast.rc test.rc
- tclsh th3make fast-ex.rc
- At least one of the above using GCC 4.1.0
- At least one of the above using GCC 4.4.1
- Tests for platform Linux x86_64:
- tclsh th3make cov.rc (verify 100% branch test coverage)
- tclsh releasetest.tcl
- tclsh fulltest.tcl fast.rc test.rc
- tclsh th3make memdebug.rc
- tclsh th3make test-ex.rc
- Tests for platform Mac OS-X x86:
- tclsh releasetest.tcl
- tclsh fulltest.tcl fast.rc test.rc
- Tests for platform Max OS-X PPC:
- tclsh th3make -Os min.rc
- Tests for platform Win32:
- make fulltest
- th3make test.rc
- th3make fast.rc
- At least one of the above using MinGW
- At least one of the above using MSVC
- Tests for platform Win64:
- make fulltest
- th3make test.rc
- th3make fast.rc
- Tests for platform Android:
- th3make -Os min.rc
- Tests for platform OpenBSD x86:
- make test
- th3make -Os min.rc
- Other test performed on any available platform:
- th3make alignment2.rc test.rc
- th3make test.rc -DHAVE_LOCALTIME_R
- th3make test.rc -DSQLITE_THREADSAFE=0
- th3make test.rc -ftrapv
- th3make test.rc -DSQLITE_MAX_ATTACHED=62
- th3make min.rc -Os; valgrind ./th3
- valgrind testfixture veryquick.test
- Sqllogictest:
- Checked in latest SQLite amalgamation
- No compiler warnings
- run-all.sh with no errors
- run-all.bat with no errors
- Build using the configure/make in main source tree.
- Make sure that autoconf has been run to update the configure script.
- Run "make test" to verify that the build works.
- Verify the correct version numbers have been installed.
- Verify that the --disable-amalgamation option to configure works.
- Works on Linux
- Works on Mac
- Works on OpenBSD
- Exported symbol checks: tool/symbols.sh
- No private symbols exported. (This is also checked by releasetest.tcl)
- No undesirable library dependencies
- No private symbols exported in MinGW (check using tool/symbols-mingw.sh)
- No undesirable library dependencies on MinGW
- Fossil updated to use the latest SQLite.
- No compiler warnings
- Fossil test suite passes
- Used on active websites with no issues
- Firefox recompiled using lastest SQLite.
- No SQLite compiler warnings
- Active use with no issues noted
- CEROD tests in the test/ subdirectory.
- SEE tests using TH3:
- see.c
- see-aes128-ofb.c
- see-aes256-ofb.c
- see-rc4.c
- see-aes128-ccm.c
- At least one of the above using test.rc
- At least one of the above using memdebug.rc
- At least one of the above on Linux
- At least one of the above on Mac
- At least one of the above on Windows
- ZIPVFS tests:
- testfixture ../zipvfs/test/zipvfs.test (See test/README.txt in the ZIPVFS source tree for details.)
- th3make zipvfs.rc test.rc
- th3make zipvfs.rc memdebug.rc
- th3make zipvfs.rc min.rc; valgrind ./th3
- At least one of the above on Linux
- At least one of the above on Mac
- At least one of the above on Windows
- Amalgamation autoconf tarball.
- Builds
- Works on Linux
- Works on Mac
- TEA archive builds correctly and runs:
- Linux
- Mac
- Run performance tests comparing the new SQLite release against the previous version. Verify no performance regressions.
- The TCL speed*.test scripts
- The TH3 speed tests
-
sqlite3 sqlite.fossil .dump >speed-c.sql
fossil timeline -R sqlite.fossil -n 300 -sqltrace 2>>speed-c.sql
fossil rebuild sqlite.fossil -sqltrace 2>>speed-c.sql - Verify that the amalgamation builds are byte-for-byte identical on all workstation platforms.
- linux x86
- linux x64
- mac leopard
- mac snow-leopard
- openbsd
- windows native mingw
- windows nmake
- any unix using autoconf
- Verify that databases (including FTS3 and RTREE databases), rollback journals, and WAL files created by the release candidate are readable and writeable by historical versions of SQLite (as long as no unsupported features are used) and vice versa.
- Cross-platform tests. Verify the ability of databases, WAL files, and rollback journals to be copied and used between 32-bit and 64-bit systems and between big-endian and little-endian systems.
- 32-big to 64-little, database
- 32-big to 64-little, WAL
- 32-big to 64-little, rollback
- 64-little to 32-little, database
- 64-little to 32-little, WAL
- 64-little to 32-little, rollback
- 32-little to 32-big, database
- 32-little to 32-big, WAL
- 32-little to 32-big, rollback
- 64-little to 32-big, SEE database
- 64-little to 32-big, ZIPVFS database
- 64-little to 32-big, CEROD database
- Build and verify correct operation of sqlite3_analyzer on:
- Linux
- Mac
- OpenBSD
- Win32 (MinGW)
- Win32 (MSVC)
- Run the CLI tests found under the tool subfolder in the main source tree and verify correct output.
- Tests for branches tracking trunk.
- sessions, TCL
- sessions, TH3
- apple-osx, TCL
- apple-osx, TH3
- Verify that all branches that are no longer active have been closed.
- Verify that the bug response checklist has been completed for all bugs found since the previous release.
- Verify that the new feature checklist has been completed for all enhancements made since the previous release.