2shady4u Godot Sqlite Versions Save

GDNative wrapper for SQLite (Godot 4.x+)

v4.3

3 months ago

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.

v4.2

10 months ago

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.

v4.1

11 months ago

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.

v4.0

1 year ago

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.

v4.0-rc1

1 year ago

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.

v3.5

1 year ago

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 (https://github.com/2shady4u/godot-sqlite/pull/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 https://github.com/2shady4u/godot-sqlite/issues/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 https://github.com/2shady4u/godot-sqlite/issues/105).

v3.4

1 year ago

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 to file::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 the api->godot_free()-method.

v3.3

1 year ago

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 the create_table()-method.
  • Cleaned up some leftover print statements that didn't properly get removed after testing.

v3.2

2 years ago

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() and query_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.

v3.1

2 years ago

Download the demo-project and/or the necessary binaries below.

Godot version

Godot v3.4.2

Supported Operating systems:

  • Mac OS X
  • Linux
  • Windows
  • Android (arm64-v8a, armeabi-v7a & x86)
  • iOS (arm64 & armv7)
  • HTML5

What's new?

  • Added an additional property default_extension which enables the user to define his/her own database extension; see the relevant sections in the documentation.
  • Switched out the MacOSX build to the universal build target which should work on both arm64 and x86_64 devices.
  • Switched out the Windows build with one cross-compiled on Linux with MinGW. While this results in larger binary size, this should avoid the issue with missing VC++ redistributables that most beginning users run into (see https://github.com/2shady4u/godot-sqlite/issues/33, https://github.com/2shady4u/godot-sqlite/issues/57). The binary compiled using MSVC is still available in Github Actions, as found here.
  • Added compiled godot-cpp static binaries to the addons/godot-sqlite/bin/ios/-folder and added them as dependencies for the iOS binaries.
  • Fixed a crash in the HTML exported build due to the EMScripten version being out-of-date (2.0.17 -> 2.0.25, see #65).