Skip to content

wxSQLite3 5.0.0 (based on SQLite 3.53.4)

Choose a tag to compare

@utelle utelle released this 12 Aug 14:54
· 2 commits to main since this release
0633e80

Changes since previous release

For further version information please consult the CHANGELOG.

Overview

wxSQLite3 5.x is a major update with a modernized C++ API. It is not fully source-compatible with wxSQLite3 4.x. Therefore, wxSQLite3 4.x will receive maintenance updates, including updates to the bundled SQLite version, for a limited period following the release of 5.0.0. No new API features will be added. The End-of-Life date of version 4.x will be announced separately.

Modern C++ API

The wxSQLite3 API has been extended with several features aimed at modern C++ development:

  • Template-based methods for retrieving values from result sets
  • Template-based methods for binding values to prepared statements
  • Iterator support for wxSQLite3::ResultSet
  • Support for range-based for loops when processing result sets

These features complement the existing wxSQLite3 API and allow result-set and prepared-statement code to be written in a more concise and type-oriented style.

The documentation section Modern C++ Interface presents the new features.

Breaking changes

  • Requires at least a C++11 compiler
  • The added modern API methods require C++17 (omitted, if the compiler does not support C++17)
  • Introduces namespace wxSQLite3 (instead of name prefix wxSQLite3 in class names)
    Example: wxSQLite3Datebase becomes wxSQLite3::Database.
  • Replaces reference-counted reference classes for databases, prepared statements, and blobs by handle classes managed by shared_ptrs
  • Uses enum class instead of just enum
  • Most symbol names shortened by removing prefixes like WXSQLITE_
  • Uses constexpr instead of #define for various symbols
  • Uses using instead of typedef
  • Uses nullptr instead of NULL symbol
  • Derives exception class from std::runtime_error
  • Removes methods for accessing the user authentication extension. The extension was officially deprecated by the SQLite developer team.

See Migrating from 4.x to 5.x for details.