Skip to content

Releases: proofrock/ws4sqlite

[fork] ws4sql v0.17dev6

27 Apr 19:54
06b2d3d
Compare
Choose a tag to compare
Pre-release

Intermediate release: DuckDB released a new version, and it broke the build scripts: it took me a while to sort it out. This release puts everything back on track.


This is not the latest release of ws4sqlite, which is here.

The work takes place in the fork/ws4sql branch, and you can find the changes so far, and the steps needed to migrate a regular installation in the ROAD_TO_WS4SQL.md document.

Compiled in Github Actions using Go 1.24.2. Docker images for amd64 and aarch64 (arm64) are at ghcr.io/proofrock/ws4sql:latest.

In this release

  • SQLite 3.49.1 and DuckDB 1.2.2
  • [Breaking Change] Replace SHA256 with BCrypt for hashed passwords
  • Startup logo
  • New build system based on sh file, also version is substituted via env var

Next, documentation and fix a few outstanding issues. Then release.

Migration

If you used v0.17dev5:

  • The secrets for the credentials are now specified as a BCrypt hash, not SHA256 anymore. This is a breaking change. Be sure to escape its value properly in the YAML (double quotes for example).

If you used ws4sqlite:

As always, your feedback is deeply appreciated, if you'll be so kind. Cheers! 🍻

Version v0.16.4

21 Apr 12:45
7461a3f
Compare
Choose a tag to compare

A bit of status report. The ws4sql fork (to integrate duckdb alongside sqlite) is unfortunately stuck... well, I am stuck... because I cannot get the new 1.2.0 duckdb version to compile statically as the old version used to. Also unfortunately, in the last year or so my time is severely limited, and I am not able to dedicate personal resources to this project. So any hiccup (as the one I described) becomes a major showstopper. πŸ˜’ I am sorry about the situation, I will continue maintaining this branch and attempting to go on with the other, too.

If you find this project useful, and can help, please let me know. I could use some help right now 😊.

Aligned to SQLite 3.49.1. Compiled with go 1.24.2.

  • SQLite 3.49.1
  • Library updates
  • Fixes for linter warnings

Docker images for amd64, arm and arm64 are here.

This release is backwards compatible up to v0.11.x, and the existing client libraries don't need to be changed.

[fork] ws4sql v0.17dev5

01 Feb 20:00
5c04e37
Compare
Choose a tag to compare
Pre-release

This is the fifth, probably last, pre-release of a new fork of ws4sqlite, that will "transit" the app to a new version that will support more databases than sqlite (hence the new name, if you noticed πŸ˜‰).

This is not the latest release of ws4sqlite, which is still here.

The work takes place in the fork/ws4sql branch, and you can find the changes so far, and the steps needed to migrate a regular installation in the ROAD_TO_WS4SQL.md document.

Compiled in Github Actions using Go 1.23.5. Docker images for amd64 and aarch64 (arm64) are at ghcr.io/proofrock/ws4sql:latest.

Fixed in this release

  • Backup feature for DuckDB databases
  • "Static-ish" binaries for macos and windows
  • Binaries for macos/amd64
  • Updated building docs (BUILDING.md)

Everything should be quite final, if you find issues please tell me! Next, documentation. Then release.

Migration

  • For any --db and --mem-db switch that was used, an explicit YAML config file must be created. The format is the same, but there is a new section at the beginning:
database:
  type: SQLITE          # SQLITE or DUCKDB. If omitted, defaults to SQLITE      
  inMemory: false       # If type = SQLITE|DUCKDB. The db is a memory one? If omitted, defaults to false
  path: ".../test.db"   # If type = SQLITE|DUCKDB. The db file path.
  id: test              # If omitted and !inMemory, calculates it from the file name (if type = SQLITE|DUCKDB)
  disableWALMode: false # If type = SQLITE. Same as before, but moved here.
  readOnly: false       # Same as before, but moved here.

As always, your feedback is deeply appreciated, if you'll be so kind. Cheers! 🍻

[fork] ws4sql v0.17dev4

26 Jan 20:14
ee5f5fb
Compare
Choose a tag to compare
Pre-release

This is a fourth pre-release of a new fork of ws4sqlite, that will "transit" the app to a new version that will support more databases than sqlite (hence the new name, if you noticed πŸ˜‰). It will take some time, through improvements and, alas, breaking changes.

This is not the latest release of ws4sqlite, which is still here.

The work will take place in the fork/ws4sql branch, and you can find the changes so far, and the steps needed to migrate a regular installation in the ROAD_TO_WS4SQL.md document.

Compiled in Github Actions using Go 1.23.5. Docker images for amd64 and aarch64 (arm64) are at ghcr.io/proofrock/ws4sql:latest.

Fixed in this release

  • #49: Potential issue with container from ghcr.io: "exec /ws4sql: no such file or directory"
  • #50: Issue with certain type mapping when translating results from duckdb, "Json: error calling MarshalJSON for type orderedmap.OrderedMap: json: unsupported type: duckdb.Map"
  • #51: ARM64 static compilation fails with linking errors

Now linux binaries are built using musl, for more consistent static compilation, and the docker images use the same binaries.

Next up, proper static building for macos & windows.

Credits

Thanks @mskyttner, @blaix and @eberfreitas for all the testing and advices!

Migration

  • For any --db and --mem-db switch that was used, an explicit YAML config file must be created. The format is the same, but there is a new section at the beginning:
database:
  type: SQLITE          # SQLITE or DUCKDB. If omitted, defaults to SQLITE      
  inMemory: false       # If type = SQLITE|DUCKDB. The db is a memory one? If omitted, defaults to false
  path: ".../test.db"   # If type = SQLITE|DUCKDB. The db file path.
  id: test              # If omitted and !inMemory, calculates it from the file name (if type = SQLITE|DUCKDB)
  disableWALMode: false # If type = SQLITE. Same as before, but moved here.
  readOnly: false       # Same as before, but moved here.

As always, your feedback is deeply appreciated, if you'll be so kind. Cheers! 🍻

[fork] ws4sql v0.17dev3

17 Jan 09:12
e53576b
Compare
Choose a tag to compare
Pre-release

This is a third pre-release of a new fork of ws4sqlite, that will "transit" the app to a new version that will support more databases than sqlite (hence the new name, if you noticed πŸ˜‰). It will take some time, through improvements and, alas, breaking changes.

This is not the latest release of ws4sqlite, which is still here.

The work will take place in the fork/ws4sql branch, and you can find the changes so far, and the steps needed to migrate a regular installation in the ROAD_TO_WS4SQL.md document.

Compiled in Github Actions using Go 1.23.4. Docker images for amd64 and aarch64 (arm64) are at docker pull ghcr.io/proofrock/ws4sql:latest.

In this release

  • DuckDB initial support added. It should work, as all the tests pass; it's not tested extensively in real life, of course. Limitations are listed in ROAD_TO_WS4SQL.md, under the section Specific to DuckDB.
  • Docker images are now based on debian/12-slim (see #49).
  • Docker images are now hosted on Github's Container Registry.
  • Libraries updates.

NB: binaries for linux/arm64 are compiled under Raspbian, not static. Please let me know of any issue; I have a problem with CI that doesn't allow static compilation.

Migration

  • For any --db and --mem-db switch that was used, an explicit YAML config file must be created. The format is the same, but there is a new section at the beginning:
database:
  type: SQLITE          # SQLITE or DUCKDB. If omitted, defaults to SQLITE      
  inMemory: false       # If type = SQLITE|DUCKDB. The db is a memory one? If omitted, defaults to false
  path: ".../test.db"   # If type = SQLITE|DUCKDB. The db file path.
  id: test              # If omitted and !inMemory, calculates it from the file name (if type = SQLITE|DUCKDB)
  disableWALMode: false # If type = SQLITE. Same as before, but moved here.
  readOnly: false       # Same as before, but moved here.

As always, your feedback is deeply appreciated, if you'll be so kind. Cheers! 🍻

Version v0.16.3

13 Nov 11:35
6403638
Compare
Choose a tag to compare

πŸ“’ This project was forked to ws4sql, the "next" version that will support more databases than sqlite (hence the new name, if you noticed πŸ˜‰). It will take some time, through improvements and, alas, breaking changes. The development will happen in the fork/ws4sql branch, and you can find the changes and the steps needed to migrate a regular installation in the ROAD_TO_WS4SQL.md document.

πŸ“’ I started a discussion over the future direction for this project. Take a look, and chip in if you want!

Aligned to SQLite 3.46.0. Compiled with go 1.23.3.

  • Library updates

Docker images for amd64, arm and arm64 are here.

This release is backwards compatible up to v0.11.x, and the existing client libraries don't need to be changed.

Version v0.16.2

19 Jun 13:39
9e1cf2a
Compare
Choose a tag to compare

πŸ“’ This project was forked to ws4sql, the "next" version that will support more databases than sqlite (hence the new name, if you noticed πŸ˜‰). It will take some time, through improvements and, alas, breaking changes. The development will happen in the fork/ws4sql branch, and you can find the changes and the steps needed to migrate a regular installation in the ROAD_TO_WS4SQL.md document.

πŸ“’ I started a discussion over the future direction for this project. Take a look, and chip in if you want!

Aligned to SQLite 3.46.0. Compiled with go 1.22.4.

  • SQLite 3.46.0
  • Library updates

Docker images for amd64, arm and arm64 are here.

This release is backwards compatible with v0.11.x, and the existing client libraries don't need to be changed.

[fork] ws4sql v0.17dev2

05 May 13:16
Compare
Choose a tag to compare
Pre-release

This is a second pre-release of a new fork of ws4sqlite, that will "transit" the app to a new version that will support more databases than sqlite (hence the new name, if you noticed πŸ˜‰). It will take some time, through improvements and, alas, breaking changes.

This is not the latest release of ws4sqlite, which is still here.

The work will take place in the fork/ws4sql branch, and you can find the changes so far, and the steps needed to migrate a regular installation in the ROAD_TO_WS4SQL.md document.

Docker images for amd64 and aarch (arm64) are at docker pull germanorizzo/ws4sql:latest

In this release

  • [BREAKING] When running the app, the config files must be specified on the command line, the file paths cannot be used anymore (there). This is described in the "Migration" section below. The file path is in the config file.
  • The only exception is a "simple case" to serve a file path without any config. This can be done with the new --quick-db parameter.

Migration

  • For any --db and --mem-db switch that was used, an explicit YAML config file must be created. The format is the same, but there is a new section at the beginning:
database:
  type: SQLITE          # Only SQLITE for now. If omitted, defaults to SQLITE      
  inMemory: false       # If type = SQLITE. The db is a memory one? If omitted, defaults to false
  path: ".../test.db"   # If type = SQLITE. The db file path.
  id: test              # If omitted and !inMemory, calculates it from the file name (if type = SQLITE)
  disableWALMode: false # If type = SQLITE. Same as before, but moved here.
  readOnly: false       # Same as before, but moved here.

As always, your feedback is deeply appreciated, if you'll be so kind. Cheers! 🍻

[fork] ws4sql v0.17.0beta1

28 Apr 15:55
Compare
Choose a tag to compare
Pre-release

This is a first pre-release of a new fork of ws4sqlite, that will "transit" the app to a new version that will support more databases than sqlite (hence the new name, if you noticed πŸ˜‰). It will take some time, through improvements and, alas, breaking changes.

This is not the latest release of ws4sqlite, which is still here.

The work will take place in the fork/ws4sql branch, and you can find the changes so far, and the steps needed to migrate a regular installation in the ROAD_TO_WS4SQL.md document.

In this release:

  • Renamings
  • SQLite is now provided by mattn/go-sqlite3 and CGO. Should be quite faster.
    • CGO will be needed by other, future features, so it's a good point to reintroduce it
  • Target platforms (because of CGO) are now 6 (win/amd64, macos/amd64, macos/arm64, linux/amd64, linux/arm64, linux/arm6)

As always, your feedback is deeply appreciated, if you'll be so kind. Cheers! 🍻

Version v0.16.1

18 Apr 06:27
Compare
Choose a tag to compare

πŸ“’ I started a discussion over the future direction for this project. Take a look, and chip in if you want!

Aligned to SQLite 3.45.2. Compiled with go 1.22.0.

  • SQLite 3.45.1
  • Library updates (incl. security fixes upstream)

Docker images for amd64, arm and arm64 are here.

This release is backwards compatible with v0.11.x, and the existing client libraries don't need to be changed.