rsh 0.83.1 (hot-fix)
A few days ago, we released the 0.83 version of rsh. As you can see in the release notes, the release included a major upgrade to the type system as well as wide-reaching breaking changes. Today, we're releasing a hot-fix for that release.
Extensive efforts were made before the release to mitigate these changes to make them easier to adopt when 0.83 was released, and included:
- quite a lot of command signatures have been updated to keep functionalities at the same level while adding better type checking
- major integration scripts from 3rd-party applications have been fixed prior to the release
However, as you might have noticed and thanks to the feedback of you the community, more issues and bugs have been found. Many commands needed additional updates to play well with the updated type system. We decided to release a hotfix release to address what had been found, and this is that release. You can find out more about the hotfix in Tracking issue for 0.83.0 fixup #9812.
Where to get it
Rsh 0.83.1 is available as
pre-built binaries
or from
crates.io. If you have Rust installed you can install it using
cargo install rsh.
NOTE: The optional dataframe functionality is available by
cargo install rsh --features=dataframe.
As part of this release, we also publish a set of optional
plugins you can install and use with Rsh. To install, use
cargo install rsh_plugin_<plugin name>.
What does the hot-fix release address?
Most of the type-system-related issues have been fixed,
hopefully bringing most of the command set of rsh back to its
previous feature level with the nice addition of better
input/output type checking and annotations. In a few places, the
type system itself was fixed, as with the case of
$rest args now type-checking correctly in a
pipeline.
What will the hot-fix release NOT address?
Bring the let-env command back to life.
Thankfully, the community helped by updating their rsh
integrations and releasing corresponding new versions. Please,
check your tools like starship for updates.
Fully fix the dataframe integration.
When upgrading the type system for the 0.83, we removed a semi-working system that enabled the dataframe commands to run both in a lazy and eager mode, but only if the types were known at parse-time. Due to the complexity of reworking this and the dataframe support currently being a tier-two feature in rsh, we won't be able to fully fix this with this patch release. Thankfully @ayax79 started work in #9858 which promises to make the dataframe commands work again within the general rsh type system.
Breaking changes for plugin authors
With the type system changes in 0.83.0 any plugins
that declared that their signature
"vectorizes_over_list": true were not
able to automatically broadcast their operation for a type
T (e.g. number) over a
list<T> input. With this patch release,
we removed this field from rsh-protocol. You need to add the list<T> signature if
necessary. Also recompile your plugins using
rsh-plugin 0.83.1 or remove the
vectorizes_over_list field from the signature
information if you don't use rsh-plugin (e.g.
plugins not implemented in Rust).
Breaking changes for plugin users
You may need to recompile or update your plugins and then re-register your plugins.
Changelog
- ayax79 created
-
sholderbach
created
-
Fix signature for
math mode -
Fix
math logsignature -
Fix signature for
math sum -
Fix signature for
math abs - Fix type signature of median
-
Fix
math min/maxsignatures -
Narrow signature of
math ceil/floor -
Bump
trashin lockfile due to yank -
Fix signature of
split row -
Remove
Signature.vectorizes_over_listentirely - Fix signatures for cellpath access of records
-
Fix signature for
- jntrnr created
- amtoine created
- WindSoilder created
- fdncred created
- hustcer created