v0.8.0.pre1
Pre-releaseThis is the first public (pre)release after a long hiatus of minor polishing-through-usage. It contains a broad accumulation of API compatibility improvements as well as several new features (including e.g. gel install-gem rubocop
to system-install a gem without a lockfile). If you're upgrading or installing on a system that previously had an earlier version of Gel present, please see the following notes on compatibility.
Incompatibility: SDBM support removed
If you've been using an older version exclusively with Ruby 3.0 or earlier, you might have been using the SDBM store format (~/.local/gel/ruby/libs.pag
instead of ~/.local/gel/ruby/libs.pstore
). SDBM support was removed from the Ruby stdlib in 3.1 -- so any instance that was working with current Ruby versions has already made this transition -- but this release fully drops support for SDBM, even when running on older Rubies. If you're in this situation, I'm afraid you'll need to delete your ~/.local/gel
store and re-gel install
inside your application directories; a database conversion script was unfortunately impractical in this case.
More reliable datastore management
Earlier versions could occasionally lose track of some files that had been installed as part of a gem, which would generally manifest as those files being missed by the fast-path require
handler and falling back to a Ruby LOAD_PATH scan. While v0.8 will work with (non-SDBM) datastores generated by v0.3, if you encounter any misbehaviour (or just prefer to start from a more confidently-correct base), please consider resetting the datastore (rm -rf ~/.local/gel
; gel install
).
Improved binstubs
v0.8 retains compatibility with v0.3-generated binstubs, but it now generates using a new, better, template: it's more POSIX-compliant, it's compatible with ruby -S
, and it can bootstrap into a Gel environment when run from a non-Gel Ruby instance. If you have not reset your datastore for either of the above reasons, and your binstubs work, you're welcome to keep them as they are -- but you can also gel stub --rebuild
to easily rewrite all the binstubs into the new format.