Releases: 2shady4u/godot-sqlite
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_support
in 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.
The SQLite Wrapper Wrapper
Download the demo-project and/or the necessary binaries below.
Godot version
Godot v3.5.1
Supported Operating systems:
- Mac OS X (universal)
- Linux
- Windows
- Android (arm64-v8a, armeabi-v7a, x86_64 & x86)
- iOS (arm64 & armv7)
- HTML5
What's new?
- Added a wrapper around the SQLite wrapper such that beginning users have documentation directly available in the Godot Editor. this is made possible be wrapping all methods and properties of this plugin in its own custom GDScript class. The old way, by using the
gdsqlite.gdns
file directly, is still available for anyone that doesn't require easy access to any documentation. A huge thanks goes out to both @engineer-pearl and @leprasmurf for implementing this feature (#97). - Added a x86_64 build to the Android binaries as per popular demand. The x86_64 architecture was not added previously due it having a negligible market share, but there seemed to be legitimate use cases that warranted this architecture to be included.
- Fixed a saving issue in HTML by always using the custom VFS in the case of JavaScript binaries, see #112. In short, the webpage's file system (DBINDEXED) only ever gets forcibly synced whenever a Godot File reference gets closed. Previously, the file system would never get synced as the default SQLite VFS doesn't use Godot's File class. Switching to the custom VFS (which uses Godot's File class internally) now assures that any databases are synced automatically whenever they are closed.
- Fixed a crash in the HTML exported build due to the EMScripten version being out-of-date (2.0.25 -> 3.1.14, see #105).
The Memory Slowfix
Download the demo-project and/or the necessary binaries below.
Godot version
Godot v3.5.1
Supported Operating systems:
- Mac OS X
- Linux
- Windows
- Android (arm64-v8a, armeabi-v7a & x86)
- iOS (arm64 & armv7)
- HTML5
What's new?
- Enable the used of in-memory shared databases (see here) which are now available by setting the
path
-property tofile::memory:?cache=shared
. A huge thanks goes out to @cridenour for implementing this feature (#91). - Fix a whole bunch of memory leaks that were introduced a long time ago (shame on me!) due to not properly freeing memory allocated by Godot. All heap memory allocated by the
alloc_c_string()
-method now gets properly freed by calling theapi->godot_free()
-method.
Add `query_result_by_reference` property and do some cleanup
Download the demo-project and/or the necessary binaries below.
Godot version
Godot v3.4.4
Supported Operating systems:
- Mac OS X
- Linux
- Windows
- Android (arm64-v8a, armeabi-v7a & x86)
- iOS (arm64 & armv7)
- HTML5
What's new?
- Added the
query_result_by_reference
-property which allows the user to get the query's result by reference. This variable is especially handy for experienced users who are handling queries that return large quantities of data that are both unnecessary and too time-consuming to duplicate. - Added missing check for the
UNIQUE
keyword in thecreate_table()
-method. - Cleaned up some leftover print statements that didn't properly get removed after testing.
The QUIET release
Download the demo-project and/or the necessary binaries below.
Godot version
Godot v3.4.4
Supported Operating systems:
- Mac OS X
- Linux
- Windows
- Android (arm64-v8a, armeabi-v7a & x86)
- iOS (arm64 & armv7)
- HTML5
What's new?
- The database's
last_insert_rowid
can now be manually set by the user. - Both
query()
andquery_with_bindings()
can now successfully execute multiple statements at once, see #58. - Added a new
verbosity_level
-variable which replaces the, now deprecated,verbose_mode
-variable. This variable can be used to control the plugin's degree of console logging to a much finer extent than was previously possible. (As requested in #73) - The
query_result
-variable is now duplicated by default. This avoids a common situation where beginning users get into issues where they are overwriting their previous query's result by executing further queries that depend on the previous result. - Added the brand-new
get_autocommit()
-method used to get the database's autocommit mode. The database's autocommit mode is non-zero whenever there's a transaction in progress and can thus be used to determine if there's any dangling active transactions in the database.