Releases: 2shady4u/godot-sqlite
Add functionality to query with named bindings
NOTE: This is the latest release for Godot 4.X. The latest 3.X release for this plugin can be found here.
Download the demo-project and/or the necessary binaries below.
Dependencies Versions
Godot v4.5-stable
SQLite v3.51.0
Supported Operating Systems:
- Mac OS X (universal)
- Linux
- Windows
- Android (arm64 & x86_64)
- iOS (arm64)
- HTML5
What's new?
- Add new
query_with_named_bindings()-method which allows users to bind parameters using self-defined alphanumeric identifiers as described here. Many thanks to @AdminCrystal for implementing this feature. - Cache and use
StringNametype for column names to speed up queries. - Fix codesign for macOS by updating the bundle executable name in the
Info.plist-files. Thanks to @YuriSizov for fixing this bug. - Add optional build support for linux arm64.
v5.0-dev1
NOTE: This is a IN-DEVELOPMENT release for Godot-SQLite with EXPERIMENTAL FEATURES. This release should NOT be used for production. The latest version for this plugin, intended for production purposes, can be found here.
!!! This release contains BREAKING CHANGES !!!
Due to its experimental nature, this release will not be published on the Godot Asset Library.
Download the demo-project and/or the necessary binaries below.
Dependencies Versions
Godot v4.5-stable
SQLite v3.51.0
Supported Operating Systems:
- Mac OS X (universal)
- Linux
- Windows
- Android (arm64 & x86_64)
- iOS (arm64)
- HTML5
Breaking Changes
- Remove the
SQLite-class and split the functionality into three separate classes:SQLiteConnection: Represents a connection to an SQLite database.SQLiteConnectionParams: Connection parameters that have to be passed toSQLiteConnection.open().SQLiteEnums: Common enums used by the Godot SQLite plugin.
- Remove the
open_db()-method; instead the user now needs to use the new staticopen()-method to instantiate a SQLiteConnection object. - Remove the
close_db()-method; instead closing the connection is fully managed by the garbage collector (= Connection is closed when the SQLiteConnection object goes out-of-scope). - Remove the
query_result- andquery_result_by_reference-properties; instead the user has to supply an optional array as an input argument that is then populated by the query. - Remove the
default_extension-property; instead the user has to provide the extension as part of the path. - Add the static
get_open_error()-method that can be used to figure out what went wrong when theopen()-method returns null. - Instead of returning success booleans; methods now return the ResultCode enum which is defined in the
SQLiteEnums-class. - The
pathandread_only-properties of theSQLiteConnectionclass are now read-only which better reflects that they cannot be changed after the connection has already been established. Instead they should be set in theSQLiteConnectionParamsobject.
Update to Godot 4.5
NOTE: This is the latest release for Godot 4.X. The latest 3.X release for this plugin can be found here.
Download the demo-project and/or the necessary binaries below.
Dependencies Versions
Godot v4.5-stable
SQLite v3.49.1
Supported Operating Systems:
- Mac OS X (universal)
- Linux
- Windows
- Android (arm64 & x86_64)
- iOS (arm64)
- HTML5
What's new?
- Updated all binaries to be compatible with Godot v4.5-stable.
- Added new
import_from_buffer()andexport_to_buffer()-methods to allow users to import/export databases from JSON-formatted buffers. This allows the user to easily implement database encryption/decryption without having to rely on external tools. - Improve performance of the
query_with_bindings()-method by using.slice()instead of.pop_front(). - Add support for the Built-In Mathematical SQL Functions by adding a new input argument to the build system.
Update to Godot 4.4.1, Fix web build
NOTE: This is the latest release for Godot 4.X. The latest 3.X release for this plugin can be found here.
Download the demo-project and/or the necessary binaries below.
Dependencies Versions
Godot v4.4.1-stable
SQLite v3.49.1
Supported Operating Systems:
- Mac OS X (universal)
- Linux
- Windows
- Android (arm64 & x86_64)
- iOS (arm64)
- HTML5
What's new?
- Fixed HTML5 web build.
- Updated all binaries to be compatible with Godot v4.4.1-stable.
- Added new
load_extension()andenable_load_extension()-methods to allow users to load extensions as discussed here. - Allowed indexes and views to be exported/imported from and to JSON.
- Bound all SQLite result codes as constants to the SQLite class.
- Updated errors to print the stack trace to the Godot debugger for easier debugging.
- Fixed issue where the query tail used the incorrect parsing.
Update to Godot 4.3, Add optional FTS5 Extension support
NOTE: This is the latest release for Godot 4.X. The latest 3.X release for this plugin can be found here.
Download the demo-project and/or the necessary binaries below.
Dependencies Versions
Godot v4.3-stable
SQLite v3.46.1
Supported Operating Systems:
- Mac OS X (universal)
- Linux
- Windows
- Android (arm64 & x86_64)
- iOS (arm64)
- HTML5 (stability depends on browser)
What's new?
- Updated all binaries to be compatible with Godot v4.3-stable.
- Added optional support for the SQLite FTS5 Extension which can be enabled by following the instructions as found here.
- Add new
compileoption_used()-method which can be used to check if the binary is compiled using a specified option or not, see here. - Added editor documentation for the SQLite class and updated the
README.md-file.
Regressions (Compared to godot-sqlite v4.3)
- Web export fails due to following error of unknown origin:
Uncaught (in promise) LinkError: imported function 'env._ZNSt3__29to_stringEx' signature mismatch
Update to Godot 4.2.1
NOTE: This is the latest release for Godot 4.X. The latest 3.X release for this plugin can be found here.
Download the demo-project and/or the necessary binaries below.
Dependencies Versions
Godot v4.2.1-stable
SQLite v3.45.1
Supported Operating Systems:
- Mac OS X (universal)
- Linux
- Windows
- Android (arm64 & x86_64)
- iOS (arm64)
- HTML5 (stability depends on browser)
What's new?
- Updated all binaries to be compatible with Godot v4.2.1-stable.
- Added missing iOS and Web entries to the
gdsqlite.gdextension-file. - Fixed a potential memory leak in the
open_db()-method by returning an error if a database connection is already open. - Added binaries for Web (HTML5). Unfortunately, it seems that the current state of exported Web builds using
extensions_supportin Godot v4.2.1 is still very unstable and largely dependent on the Web browser that is used. For example the build of the exported demo-project crashes on Firefox, while it works most of the times on Vivaldi. - Switched Windows binaries compiled with MSVC in favor of binaries compiled using MinGW. This fixes cases where Windows projects would crash if the required VC++ redistributables weren't installed on the local machine.
- Fixed validation of the type of the
default-field in the privatevalidate_table_dict()-method. The method now correctly compares the type of thedefault-field with the supplied string in thedata_type-field of thetable_dictionary-variable. - Added new
backup_to()- andimport_from()-methods to natively create database backups as discussed here. This can be used, for example, to easily implement a saving/loading mechanism in your project.
Regressions (Compared to v3.5)
- While binaries are included for both Android and iOS, they haven't been fully tested and might need additional modifications of the included files to be functional.
Update to Godot 4.1
NOTE: This is the latest release for Godot 4.X. The latest 3.X release for this plugin can be found here.
Download the demo-project and/or the necessary binaries below.
Dependencies Versions
Godot v4.1-stable
SQLite v3.40.1
Supported Operating Systems:
- Mac OS X (universal)
- Linux
- Windows
- Android (arm64 & x86_64)
What's new?
- Updated binaries to be compatible with Godot v4.1-stable.
Regressions (Compared to v3.5)
- Support for HTML5 isn't supported as it hasn't been implemented yet in GDExtension.
- While binaries are included for both Android and iOS, they haven't been fully tested and will need additional modifications of the included files to be functional.
- Some users have reported problems with the universal binary for Mac OS X. Additional time and resources are required to correctly test this issue using either Github Actions or a native Mac OS X machine.
Maintenance Update & Add better schema validation
NOTE: This is the latest release for Godot 4.X. The latest 3.X release for this plugin can be found here.
Download the demo-project and/or the necessary binaries below.
Dependencies Versions
Godot v4.0.3-stable
SQLite v3.40.1
Supported Operating Systems:
- Mac OS X (universal)
- Linux
- Windows
- Android (arm64 & x86_64)
What's new?
- Added better schema validation for the
create_table()-method which should result in better error reporting. - Added library entries for Android in the
gdsqlite.gdextension-file, but this doesn't seem to be sufficient to make the Android export functional.
Regressions
- Support for HTML5 isn't supported as it hasn't been implemented yet in GDExtension.
- While binaries are included for both Android and iOS, they haven't been fully tested and will need additional modifications of the included files to be functional.
- Some users have reported problems with the universal binary for Mac OS X. Additional time and resources are required to correctly test this issue using either Github Actions or a native Mac OS X machine.
Update to Godot 4.0
NOTE: This is the latest release for Godot 4.X. The latest 3.X release for this plugin can be found here.
Download the demo-project and/or the necessary binaries below.
Dependencies Versions
Godot v4.0.0-stable
SQLite v3.40.1
Supported Operating Systems:
- Mac OS X (universal)
- Linux
- Windows
What's new?
- The plugin has been fully ported to the new GDExtension format introduced for Godot 4.0+.
- Removed deprecated
verbose_mode-property in favor of the much more versatileverbosity_level-property.
Regressions
- Support for HTML5 isn't supported as it hasn't been implemented yet in GDExtension.
- While binaries are included for both Android and iOS, they haven't been fully tested and will need additional modifications of the included files to be functional. Additionally, exporting for Android doesn't seem to be supported yet for Godot 4.0.
- Some users have reported problems with the universal binary for Mac OS X. Additional time and resources are required to correctly test this issue using either Github Actions or a native Mac OS X machine.
First GDExtension (4.0) release candidate! 🥳
Download the demo-project and/or the necessary binaries below.
Dependencies Versions
Godot v4.0.0-rc5
SQLite v3.40.1
Supported Operating Systems:
- Mac OS X (universal)
- Linux
- Windows
What's new?
- The plugin has been fully ported to the new GDExtension format introduced for Godot 4.0+.
- Removed deprecated
verbose_mode-property in favor of the much more versatileverbosity_level-property.
Regressions
- Support for HTML5 isn't supported as it hasn't been implemented yet in GDExtension.
- While binaries are included for both Android and iOS, they haven't been fully tested and will need additional modifications of the included files to be functional.
- Some users have reported problems with the universal binary for Mac OS X. Additional time and resources are required to correctly test this issue using either Github Actions or a native Mac OS X machine.