All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- DocC support.
- Implemented SwiftLint for the main source code.
- Supported version numbers have been updated to modern versions.
- Package specification has been updated to 6.1.
- Switched to Swift Testing.
- Columns are now properly set to nil when a statement is reused.
- Closing a file-backed database no longer deletes the underlying file.
- In WAL journal mode, closing the database causes a WAL checkpoint.
- Storing a
Statementno longer causes a crash when cleaning up. - The
UPPERfunction properly handles memory management of strings.
sqliteVersionfetches the underlying SQLite version string.- Dynamic member lookup is enabled for
Row, allowing for direct access to values via property notation.
JournalMode.offhas been removed because of defensive configs.
AutoVacuumdictates the automatic vacuuming mode.JournalModedictates the journaling mode used by the database.SecureDeletedictates the data deletion mode.incrementalVacuumcan be used withAutoVacuum.incrementalto affect vacuuming.vacuumcauses a full database vacuum to occur.
- Restructure is now a SwiftPM project. All legacy build tools have been removed.
- The
Restructureconstructor takes a defaulted parameter for a journal mode.
- Created the primary
Restructureobject for maintaining SQLite databases. - Created the
Statementobject for working with prepared SQLite statements. - Created the
Rowobject for working with resultant rows from aStatement. - Created the
RowDecoderandStatementEncoderfor using Swift'sDecodableprotocols.