Skip to content

Releases: evcxr/evcxr

v0.17.0

17 Dec 00:16
Compare
Choose a tag to compare
  • 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

22 Oct 23:48
Compare
Choose a tag to compare
  • 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

13 Jul 01:54
Compare
Choose a tag to compare
  • Fix miscompilation when there's a trailing comment after an expression.
  • Fix out-of-order printing in evcxr_jupyter

v0.15.0

02 Jul 23:53
Compare
Choose a tag to compare
  • :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 via std::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

02 Jan 08:34
Compare
Choose a tag to compare
  • Fixed jupyter kernel running from vscode. Thanks TethysSvensson for bisecting
    the cause.
  • Updated rust-analyzer

v0.14.1

29 Oct 06:35
Compare
Choose a tag to compare
  • 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

22 Sep 05:07
Compare
Choose a tag to compare
  • :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.