Skip to content

Releases: 2shady4u/godot-sqlite

Add functionality to query with named bindings

15 Jan 20:07

Choose a tag to compare

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 StringName type 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

25 Nov 15:14

Choose a tag to compare

v5.0-dev1 Pre-release
Pre-release

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 to SQLiteConnection.open().
    • SQLiteEnums: Common enums used by the Godot SQLite plugin.
  • Remove the open_db()-method; instead the user now needs to use the new static open()-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- and query_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 the open()-method returns null.
  • Instead of returning success booleans; methods now return the ResultCode enum which is defined in the SQLiteEnums-class.
  • The path and read_only-properties of the SQLiteConnection class 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 the SQLiteConnectionParams object.

Update to Godot 4.5

19 Sep 06:06

Choose a tag to compare

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() and export_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

27 Apr 11:35

Choose a tag to compare

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() and enable_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

18 Aug 14:34

Choose a tag to compare

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

03 Feb 21:07

Choose a tag to compare

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 private validate_table_dict()-method. The method now correctly compares the type of the default-field with the supplied string in the data_type-field of the table_dictionary-variable.
  • Added new backup_to()- and import_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

08 Jul 13:53

Choose a tag to compare

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

18 Jun 12:51

Choose a tag to compare

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

12 Mar 14:36

Choose a tag to compare

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 versatile verbosity_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! 🥳

26 Feb 10:23

Choose a tag to compare

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 versatile verbosity_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.