Releases: evcxr/evcxr
Releases · evcxr/evcxr
v0.19.0
v0.17.0
- Reverted to static linking by default as we had prior to 0.16.0. You can still get dynamic linking
by setting:allow_static_linking 0
which is recommended if it works for you. Forcing dynamic
linking was breaking in hard-to-debug ways for several people on both Mac and Linux. - Fixes for async-await support.
- Added commands to set runtime environment variables (
:env
) and build environment variables
(:build_env
). - An
evcxr.toml
in your startup directory can now be used to override your target-dir. Thanks
baiguoname. - Added support for selecting rustc's codegen backend. You can now use the cranelift backend by
doing:toolchain nightly
then:codegen_backend cranelift
. - Updated rust-analyzer
- Minimum rust version is now 1.74 due to changes in rust-analyzer
v0.16.0
- Now compiles dependencies as dylibs. This means that mutable static variables in dependencies are
now preserved between executions. If you hit problems with this, please file a bug report. You can
restore the old behaviour with:allow_static_linking 1
. - New built-in caching mechanism. Enable a 500MiB cache by adding
:cache 500
to your
~/.config/evcxr/init.evcxr
. - Use of sccache is now deprecated, since it doesn't work with dylibs. Switching to the new caching
mechanism is recommended. - Update to latest rust-analyzer
- New command to show current dependencies:
:show_deps
. Thanks momori256. - Fixed some issues with the jupyter kernel not shutting down cleanly.
- Fixed Tokio runtime being poisoned after panic. Thanks martinitus.
- Added a
:doc
command to show documentation for something. Thanks baiguoname. - Improvements to an error message. Thanks baiguoname.
- Improved docs for how to determine config path. Thanks anandijain.
- Now requires rust version 1.70 or later
v0.15.1
- Fix miscompilation when there's a trailing comment after an expression.
- Fix out-of-order printing in evcxr_jupyter
v0.15.0
:dep
now prints "Compiling" messages emitted by Cargo to show progress. Thanks d86leader and
adiSuper94.:type
(or:t
) command added to get the type of a single variable. Thanks d86leader.:types
command added to enable the display of evaluated expression types.- Attributes (e.g.
#[derive(Debug)]
) now cause REPL to wait for an additional line. Thanks
Marcono1234. - Fixed
:toolchain
command that was broken in a previous release. - Suggest offline mode when adding a dependency fails. Thanks Marcono1234.
- Added links to some new resources for the Jupyter kernel. Thanks wiseaidev.
- Escape paths - especially important for use on Windows. Thanks Marcono1234.
- Fix for a file locking issue on Windows.
- Documentation fixes. Thanks Marcono1234.
- init.evcxr is now executed all at once rather than a line at a time.
- Try to use cargo/rustc paths from build time if cargo/rustc aren't on the path at runtime.
- Minimum supported rust version is now 1.67.0.
- Arguments after
--
are now available viastd::env::args
in the REPL. - CLA no longer required for contributions.
- Repository moved out of Google org into its own "evcxr" org.
- License changed to dual Apache2/MIT (Previously just Apache2).
v0.14.2
- Fixed jupyter kernel running from vscode. Thanks TethysSvensson for bisecting
the cause. - Updated rust-analyzer
v0.14.1
- Fixed thread starvation in Jupyter integration on systems with few CPUs.
- Support interrupting execution in Jupyter notebook. Process gets terminated,
so variables are lost, but other state is preserved. - Support interrupting execution in REPL by pressing ctrl-c.
- Updated rust-analyzer.
v0.14.0
:dep
lines can now be commented out without breaking subsequent:dep
lines. Thanks JohnScience!- Reduced interleaving of stdout and stderr.
- Errors now render using ariadne, giving a much nicer presentation. Thanks
HKalbasi! - Small speedup in execution time by bypassing rustup.
preserve_vars_on_panic
is now true by default (as it used to be). It now
works much better than before, with all variables being preserved if a panic
occurs.- By using rustyline's new external printer API, stderr output that hasn't been
displayed before we return to the prompt no longer messes up the prompt. In
fact, you can now spawn a thread that writes to stderr in the background and
the output now appears above your prompt. - Jupyter kernel now uses a native Rust library for ZMQ, so no longer requires
cmake to build. - The last bit of code that tried to use rustc error messages to determine
variable types has been deleted. Now if rust-analyzer can't determine the type
of a variable, we ask the user to add an explicit type annotation. - Update rust-analyzer
- Building evcxr now requires rust 1.63 or higher.
- Added a release workflow so that binaries for the latest Linux (built on
Ubuntu), Windows and Mac are available for download on the releases page.