Skip to content

Latest commit

History

History
964 lines (771 loc) 路 39.7 KB

CHANGELOG.md

File metadata and controls

964 lines (771 loc) 路 39.7 KB

Changelog

r3bl-cmdr

Next release

  • Changed:

    • Use the latest release of the r3bl_tui crate version 0.5.5.
    • Clean up main_event_loop and get rid of needless 'static in AS trait bound.
    • Fix cargo clippy doc warnings.
  • Updated:

    • Dependencies for syntect, strum, strum-macros, reedline, serial_test bumped to their latest versions.

v0.0.13 (2024-05-20)

  • Changed:
    • Cargo.toml now points to the correct documentation link on docs.rs.
    • README.md now has the correct URL for the hero image (that will load on crates.io and not just github.com).
    • lib.rs has the same URL for the hero image as README.md.
    • Update UPDATE_IF_NOT_THIS_VERSION to 0.0.13. This is kept in sync w/ the deployed backend r3bl-base.

v0.0.12 (2024-05-12)

  • Changed:
    • Use the latest deps of all the r3bl_* crates to fix breaking build when cargo install r3bl-cmdr is run. Not sure how long this has been broken. Moving forwards, this will be checked using a VM on every release. Update release-guide.md instructions with this info.
      • r3bl_ansi_color = { path = "../ansi_color", version = "0.6.9" }
      • r3bl_rs_utils_core = { path = "../core", version = "0.9.13" }
      • r3bl_rs_utils_macro = { path = "../macro", version = "0.9.9" }
      • r3bl_tui = { path = "../tui", version = "0.5.3" }
      • r3bl_tuify = { path = "../tuify", version = "0.1.26" }
    • Update the UPDATE_IF_NOT_THIS_VERSION to 0.0.12. This is kept in sync w/ the deployed backend r3bl-base.

v0.0.11 (2024-01-14)

  • Added:
    • edi, giti: Add checks to see if binary needs to be upgraded.
      • Search for UPDATE_IF_NOT_THIS_VERSION in r3bl-open-core repo (in cmdr folder), and in r3bl-base repo. UPDATE_IF_NOT_THIS_VERSION is set to 0.0.11 for this release.
      • If upgrade is needed, then display a message to the user asking them to run cargo install r3bl-cmdr again.
    • giti add feature: giti branch checkout
    • giti add feature: giti branch new
    • Add reedline version 0.28.0 dependency in Cargo.toml.

v0.0.10 (2024-01-02)

  • Fixed:

    • Refactor & clean up the analytics client code.
  • Updated:

    • Use the latest r3bl_rs_utils_core version 0.9.11.

v0.0.9 (2023-12-31)

  • Added:

    • Anonymized analytics reporting to prioritize feature development for edi and giti.
  • Changed:

    • Replace the run command with examples in the run nu shell script. To run an example you use nu run examples. and provide instructions on the run script at the top level folder of this monorepo. Update lib.rs and README.md to reflect this change. The behavior of the run nu shell script is more uniform across all crates in this repo.

v0.0.8 (2023-12-22)

  • Changed:

    • Rename run.nu to run and update README.md and lib.rs to reflect this change. This is a more ergonomic command to use, when using it directly eg: ./run build (macOS, Linux), or nu run build (Windows).
  • Added:

    • Add binary target giti. This is an interactive git client that is tuified. It is a productivity tool for git workflows, and is meant as a replacement for directly using git. This also serves as a real world example of using the r3bl_tuify crate.
      • View all the giti branch subcommands (e.g. delete, checkout, new, etc.) and select one subcommand using the select_from_list() when giti branch runs.
      • Delete one or more branches using select_from_list() when giti branch delete command runs.
    • Add binary target edi. This is a powerful TUI Markdown editor. You can use it to create new MD files, or edit any type of text file. It supports syntax highlighting for most file formats (though .toml and .todo are missing).
    • Add binary target rc aka r3bl-cmdr.

r3bl_tuify

v0.1.26 (2024-04-15)

  • Updated:
    • Make clip_string_to_width_with_ellipsis pub so that other crates can use it (eg: r3bl_terminal_async).
    • Change the names of enums to be more readable.
      • IsTTYResult::IsTTY -> TTYResult::IsInteractive.
      • IsTTYResult::IsNotTTY -> TTYResult::IsNotInteractive.
    • Using latest deps for r3bl_rs_utils_core version 0.9.13, and r3bl_rs_utils_macro version 0.9.9.

v0.1.25 (2024-01-14)

  • Updated:
    • Dependency updated reedline version 0.28.0, r3bl_rs_utils_core version 0.9.12.
  • Added:
    • Add tuify/src/constants.rs with color constants.

v0.1.24 (2023-12-31)

  • Changed:

    • Rename run.nu to run. This simplifies commands to run it, eg: nu run build, or ./run build.
    • Replace the run command with examples in the run nu shell script. To run an example you use nu run examples. and provide instructions on the run script at the top level folder of this monorepo. Update lib.rs and README.md to reflect this change. The behavior of the run nu shell script is more uniform across all crates in this repo.
  • Added:

    • Add a new top level function select_from_list_with_multi_line_header() in public_api.rs to allow for multi-line headers in the list selection menu. This allows ANSI formatted strings to be used in each header line.
  • Fixed:

    • In select_from_list(), the max_width_col_count is now respected to limit the max width of the terminal window that is used.

v0.1.23 (2023-12-22)

  • Updated:
    • Update dependency on r3bl_rs_utils_core to 0.9.10.

v0.1.22 (2023-12-20)

  • Updated:

    • Update dependency on reedline crate to 0.27.1.
    • Update dependency on r3bl_rs_utils_core to 0.9.9.
  • Removed:

    • Remove dependency on r3bl_tui crate.
  • Changed:

    • Change the default theme so that it is better looking and more readable on Mac, Linux, and Windows. Add many different themes to choose from.
  • Added:

    • Ctrl + c now behaves just like the Escape key. In the past, pressing Ctrl + c would do nothing the user could not exit the app by pressing this shortcut.
    • More code quality and ability to test the main event loop, by creating a new TestVecKeyPressReader struct, and abstracting the read() (from stdin) into a KeyPressReader trait. This is similar to what is done for TestStringWriter (to stdout).

v0.1.21 (2023-10-21)

  • Updated:
    • Upgrade all deps to their latest versions.

v0.1.20 (2023-10-21)

  • Updated:

v0.1.19 (2023-10-17)

v0.1.18 (2023-10-17)

v0.1.17 (2023-10-14)

  • Updated:
    • Dependency on simplelog is replaced w/ r3bl_simple_logger (which is in the r3bl_rs_utils repo workspace as simple_logger).

r3bl_tui

Next release

  • Updated:
    • Fix docs (for docs.rs and README.md for github and crates.io).
    • Fix clippy warnings.
    • Make minor refactors and cleanups.

v0.5.5 (2024-05-20)

  • Updated:
    • Fix typos in README.md.

v0.5.4 (2024-05-20)

  • Updated:
    • README.md
      • Fix image loading problems on crates.io. The README.md is shown in crates.io, and lib.rs is shown in docs.rs.
      • Clean up the content in the README.md file, and make it current, and update lib.rs to match.

v0.5.3 (2024-04-15)

  • Updated:
    • Dependency changes inherited from r3bl_rs_utils_core version 0.9.13, and r3bl_rs_utils_macro version 0.9.9.
    • Lots of clippy fixes.

v0.5.2 (2024-01-14)

  • Updated:
    • Dependency updated reedline version 0.28.0, r3bl_rs_utils_core version 0.9.12.

v0.5.1 (2024-01-09)

  • Added:
    • Simple function ColorWheel::lolcat_into_string() that receives a string and colorizes it using some defaults. It is similar to the ColorWheel::colorize_into_string() which it uses under the hood, but it is simpler to use.

v0.5.0 (2023-12-31)

  • Changed:

    • Rename run.nu to run in the tui folder. This simplifies commands to run it, eg: nu run build, or ./run build.
    • Rename run.nu to run in the top level folder as well.
    • Replace the run command with examples in the run nu shell script. To run an example you use nu run examples. and provide instructions on the run script at the top level folder of this monorepo. Update lib.rs and README.md to reflect this change. The behavior of the run nu shell script is more uniform across all crates in this repo.
    • In app.rs, change App trait function app_handle_signal() to receive 2 new arguments: component_registry_map, and has_focus. This makes it similar to app_handle_input_event().
  • Fixed:

    • Editor component now cleans up state correctly after new content loads. This includes the undo/redo stack, and the render ops cache (for the content).
    • Fix tui/examples/demo/ex_pitch example to correctly move back and forward between slides.
  • Added:

    • Escape key now clears the selection.
    • Ctrl+A now selects all text.
    • Tests for EditorComponent for undo / redo history, text selection, and clipboard service.
    • Add tests to editor component for clipboard service.

v0.4.0 (2023-12-22)

  • Changed:

    • Drop the use of Redux for state management entirely. Replace this with mutable state. And a new architecture for App and Component, that is more like Elm, rather than React and Redux.
    • Async middleware functions no longer use Redux for propagating state transitions to the app; instead, they now achieve this through async tokio::mpsc channels. Here's a design doc for this change. Here's the issue and PR for this change. Here are some videos that go over this massive change:
    • In the editor component, disable the syntect highlighter for the editor by default and just use the custom MD parser. For files that are not Markdown, we will probably need to enable syntect in the future since it is not covered by the custom MD parser & highlighter combo.
  • Fixed:

    • Fix the custom MD parser so that it correctly parses plain text.
  • Added:

    • Add undo, redo support for the editor component.
    • Add binary target for edi which is going to be a Markdown editor similar to nano or micro. It is meant to showcase what the r3bl_tui crate can do. It is also meant to be a useful productivity tool.
    • Add function colorize_into_string() to make it easy to apply color wheel to a string and then convert it into an ANSI styled string that can be used to print to the terminal emulator. Also added conversion function convert_tui_color_into_r3bl_ansi_color() to convert from TuiColor to r3bl_ansi_term::Color.
    • In editor component, add support for caching rendered output of content. When the content changes, or the viewport size or window size change, the cache is invalidated. This is useful for performance reasons. It also leverages the undo/redo system for cache invalidation (which makes it fast to invalidate the render ops cache w/out having to do a content comparison to detect changes).
    • Add lots of editor component tests for selection, content cache.
  • Updated:

    • Update dependency on reedline crate to 0.27.1.
    • Update dependency on r3bl_rs_utils_core to 0.9.10.
    • Update dependency on r3bl_rs_utils_macro to 0.9.8.

v0.3.10 (2023-10-29)

  • Changed:
    • Replaced arboard crate with copypasta-ext.
      • arboard was not working well on macOS and Windows.
      • The copypasta-ext crate should fix the problem w/ dropping the clipboard contents when an app using the editor component exits.
    • Added deps are upgraded to their latest versions.
    • Changed cargo.deny so that it now accepts ISC license.
  • Added:
    • Support for select, copy, cut, paste, and delete have been added to the editor component.

v0.3.9 (2023-10-29)

v0.3.7 (2023-10-21)

  • Changed:

    • Dropped support for palette crate. Use colorgrad instead. More info here: #162
  • Updated:

    • Upgraded all deps to their latest versions.

v0.3.6 (2023-10-17)

  • Changed:

    • Switched to using r3bl_ansi_color to detect terminal color capabilities and color output and conversions.
    • Apply #[serial] on tests that mutate global variables to make those tests un-flaky. This was already being done in r3bl_ansi_color, just bringing this over to the r3bl_tui crate with this release.
  • Removed:

v0.3.5 (2023-10-14)

  • Added:
    • Support for selecting text using keyboard.
    • Support for copying text to clipboard using keyboard.
  • Fixed:
    • Main event loop was actually doing the wrong thing and blocking on the thread. Even though it accepted an input event asynchronously using AsyncEventStream (EventStream is provided by crossterm and built using tokio async streams), it was blocking this task (running in parallel on a thread) as it was waiting for the input event to be processed by the app. The fix allows the main thread to simply spawn a new task (in parallel, on a thread) to process the input event. An mpsc channel is used in order for the async work done to signal to the main thread that it should break out of its infinite loop.

v0.3.3 (2023-04-20)

  • Added:
    • Add ColorSupport as a way to detect terminal emulator capabilities at runtime. This uses the concolor_query crate to detect terminal emulator capabilities at runtime.
    • At the RenderOps level, update to_crossterm_color() so that it uses ColorSupport to determine the best color to use based on terminal emulator capabilities at runtime. It can automatically convert from truecolor to ANSI 256 to grayscale. Note that if a color is specified as truecolor, then it will automatically be downgraded. If it is specified as ANSI or grayscale then it will not be downgraded.
    • Add ColorWheel as a way to consolidate all gradient related coloring. Gradients can be specified in truecolor, ANSI 256, or grayscale. The ColorWheel will automatically use the correct colors based on the terminal emulator capabilities at runtime using ColorSupport.
    • Add new Markdown parser written using nom crate called parse_markdown().
      • This parser not only parses regular Markdown but it also supports R3BL extensions for notes (metadata: tags, title, authors, date).
      • And it also supports smart lists (ordered and unordered). Smart lists also have support for todos (in the form of checked and unchecked items).
    • Add a new syntax highlighting engine for the new Markdown parser, in the EditorComponent called try_parse_and_highlight().
      • It formats headings using different gradients for each heading levels 1-6. It also has elegant fallbacks for ANSI256 and grayscale.
      • It formats metadata (tags, title, authors, date) using different fg and bg colors.
      • Smart lists are formatted using different fg and bg colors. Ordered and unordered lists are formatted differently. Checked and unchecked items are formatted differently.
      • For code blocks, the syntect crate is used to do syntax highlighting based on the correct language of the code block. Since the R3BL theme r3bl.tmTheme specifies colors in truecolor, they will automatically be downgraded to ANSI256 or grayscale based on terminal emulator capabilities at runtime thanks to to_crossterm_color().
    • To make console log debugging nicer, some new traits have been added ConsoleLogInColor, PrettyPrintDebug. These traits work together. If a struct implements PrettyPrintDebug then it gets the implementation of ConsoleLogInColor for free (which gives it the ability to print using fg and bg colors to the console).

v0.3.2 (2023-03-06)

  • Fixed:
    • Bug when trying to render an app that's taller than the offscreen buffer / terminal height

v0.3.1 (2023-03-06)

  • Added:
    • First changelog entry.
    • Remove dependency on ansi-parser crate: issue.
    • Make lolcat code better: issue.
      • Add ColorSupport as a way to detect terminal emulator capabilities at runtime.
      • Add ColorWheel as a way to consolidate all gradient related coloring. Use ColorSupport as a way to fallback from truecolor, to ANSI 256, to grayscale gracefully based on terminal emulator capabilities at runtime.
    • Provide for ANSI 256 color fallback for MacOS terminal app: issue
  • Removed:
    • Removed lolcat example from demo.
  • Changed:
    • The first demo example (ex_app_no_layout) now has support for animation. It automatically increments the state every second and the gradient color wheel is updated accordingly.

r3bl_rs_utils_core

v0.9.13 (2024-04-15)

  • Changed:
    • Removed syntect dep.
    • Rename Style to TuiStyle.
    • Lots of cargo clippy fixes.

v0.9.12 (2024-01-07)

  • Added:
    • Add generate_friendly_random_id() to generate human readable and friendly IDs.

v0.9.11 (2024-01-02)

  • Added:
    • Add more variants to the CommonErrorType enum: ConfigFolderCountNotBeCreated, ConfigFolderPathCouldNotBeGenerated.

v0.9.10 (2023-12-22)

  • Updated:
    • Upgrade all the deps to their latest versions: serde version 1.0.190. Propagate this to all the other crates in the r3bl-open-core repo, and bump their version numbers: e.g. tuify, macro, tui, cmdr.

v0.9.9 (2023-10-21)

  • Updated:
    • Upgrade all deps to their latest versions.

v0.9.8 (2023-10-21)

  • Updated:
    • Upgrade all deps to their latest versions.

v0.9.7 (2023-10-17)

v0.9.6 (2023-10-17)

  • Removed:

  • Updated:

    • Documentation for r3bl_simple_logger crate. And how to think about it vs. using log facilities from the r3bl_rs_utils_core crate. Update docs there too.

v0.9.5 (2023-10-14)

  • Updated:
    • Dependency on simplelog is replaced w/ r3bl_simple_logger (which is in the r3bl_rs_utils repo workspace as simple_logger).
    • TuiColor has a few new variants. They can be RgbValue, AnsiValue, or ANSIBasicColor. It is safe to use just RgbValue since the library will degrade gracefully to ANSI 256 or grayscale based on terminal emulator capabilities at runtime (provided by to_crossterm_color() and ColorSupport). If a color is specified as AnsiValue or ANSIBasicColor then it will not be downgraded.

v0.9.1 (2023-03-06)

  • Added:
    • First changelog entry.
    • Move lolcat into tui_core crate.
  • Removed:
    • ANSI escape sequences are no longer used internally in any intermediate format used by the TUI engine. It is reserved exclusively for output to stdout using (for now) crossterm. This opens the door for future support for GUI app (not just terminal emulators).

r3bl_analytics_schema

v0.0.1 (2023-12-31)

  • Added:
    • Initial support structs for use by r3bl-base and r3bl-cmdr.

r3bl_rs_utils_macro

v0.9.9 (2024-04-16)

  • Updated:
    • Use the latest r3bl_rs_utils_core version 0.9.13.

v0.9.8 (2023-12-22)

  • Updated:
    • Use latest r3bl_rs_utils_core version 0.9.10. Remove unused dependencies, and update to the latest ones.

v0.9.7 (2023-10-21)

  • Updated:
    • Upgrade all deps to their latest versions.

v0.9.6 (2023-10-17)

v0.9.5 (2023-10-14)

  • Updated:
    • Dependency on simplelog is replaced w/ r3bl_simple_logger (which is in the r3bl_rs_utils repo workspace as simple_logger).

r3bl_terminal_async

v0.5.3 (2024-05-22)

This release adds a new module for checking port availability on a host, and adds a new function to clean up the prompt when the CLI exits. It also adds a new module to allow for OpenTelemetry (OTel) tracing to be added to the tracing setup. This uses the latest version of Jaeger and OpenTelemetry.

  • Added:

    • New module to check for port availability on a host called port_availability. This is useful for checking if a port is available before starting a server (which is a common use case for interactive CLI programs).
    • Add TerminalAsync::print_exit_message() - This cleans the prompt so it doesn't linger in the display output. This is intended to be used as the final display message when the CLI exits.
    • For greater flexibility tracing_setup.rs try_create_layers(..) now returns a Vec<Layer>. This allows for more flexibility in the future to add more layers to the tracing setup, such as adding an OTel (OpenTelemetry) layer, or a Jaeger layer, etc.
    • Add jaeger_setup module, to allow OTel layer to be added to the tracing setup. It uses the latest version of Jaeger and OpenTelemetry. The docs in tokio.rs website (at the time of this writing) are out of date and use version 0.16.0 of opentelemetry-jaeger crate who's exporter component has already been deprecated and will be removed soon. Details are in PR 326. More info in this blog post.
  • Changed:

    • try_create_layers(..) also adds a level filter layer to the layers it returns. This is to ensure that the log level is set correctly for the log output, even if other layers (like the OTel / Jaeger) layer are sandwiched later. This is a minor change that should not affect the public API. Details are in PR 326.

v0.5.2 (2020-05-06)

  • Changed:
    • Rewrite the tracing_setup.rs file so that it is easier to understand and maintain. The creation of multiple layers in tracing is now streamlined with no code redundancy. The r3bl_terminal_async::tracing_writer_config::Writer is renamed to r3bl_terminal_async::WriterArg. This is minor change that should only affect clap configuration in CLI programs that use this. Use the best practices from the tokio tracing docs here as inspiration for this change.

v0.5.1 (2024-04-28)

  • Changed:

    • Simplify SpinnerRenderer so that it is no longer a trait. Replace with plain functions receive a mutable ref to a SpinnerStyle. This trait just added more noise, making it more difficult to grok what this code does.
    • SharedWriter now silently ignores errors on write() for all cloned instances. Only the very first instance will return an error. This is to prevent needless error messages being displayed when using tokio tracing. This default behavior can easily be overridden by setting the silent_error field to false in the SharedWriter struct. Added tests for this as well.
  • Added:

    • ReadlineEvent::Resized is a new variant that reports when the terminal has been resized. This is a feature request from here.
    • SharedWriter now has a constructor new(...) so that it is easier to create a new instance of it.

v0.5.0 (2024-04-22)

  • Changed:
    • Refactor `TracingConfig`` with better expression of display preference:
      • Require a SharedWriter for TracingConfig (no longer optional).
      • Fix log filename bug (now file extensions are used when supplied).
      • Redo TracingConfig with better expression of display preference (stdin, stdout, SharedWriter).
    • Update example examples/terminal_async.rs to use the tracing_setup::init and provide a real TracingConfig struct, which outputs logs to display (SharedWriter) and file.

v0.4.0 (2024-04-21)

  • Changed:
    • Remove use of TokioMutex. There are some dangers to being "cancel safe" when using async Rust. This is outlined in the following: docs, and video. It is better to avoid using a TokioMutex to check for cancellation and instead to use broadcast channel for shutdown signals, just like the code already does. The changes made in this release are related to removing the use of TokioMutex all together in favor of the StdMutex since there is really no need to use it at all. And thus avoid any potential of "cancel safe" errors cropping up!

v0.3.1 (2024-04-17)

  • Updated:
    • Minor refactoring to remove the use of JoinHandle::abort() and replace it with a tokio broadcast channel to signal tasks to stop. This is a more graceful, flexible, and powerful way to stop tasks that are running in parallel. This change is applied to spinner.rs and readline.rs. The public API remains exactly the same.

v0.3.0 (2024-04-15)

This is the first release of this crate.

  • Added:
    • A new crate in this repo that allows for async terminal input and output. This is useful for building TUIs that are async and can handle input and output in parallel. To build apps that are not full TUI, this is a great option to create interactive CLIs and REPLs that are fully async and multithreaded (with input and output) with a really powerful (multi) line editor and prompt.

r3bl_ansi_color

v0.6.9 (2023-10-21)

  • Updated:
    • Upgrade all deps to their latest versions.

v0.6.8 (2023-10-16)

  • Added:

    • Support for Grayscale color output. This is in preparation of making the color support work across all platforms (MacOS, Linux, Windows). And use this in the r3bl_tui crate. Update tests to reflect this.
  • Removed:

    • Dependency on once-cell removed by replacing Arc<Mutex<_>> with unsafe and AtomicI8.

v0.6.7 (2023-09-12)

  • Added:

    • Tests.
  • Replaced:

    • justfile is now replaced with nu script run.nu.

r3bl_simple_logger

v0.1.3 (2023-10-21)

  • Updated:
    • Upgrade all deps to their latest versions.

v0.1.2 (2023-10-21)

  • Updated:
    • Upgrade all deps to their latest versions.

v0.1.1 (2023-10-17)

  • Replaced:

  • Added:

    • Documentation for r3bl_simple_logger crate. And how to think about it vs. using log facilities from the r3bl_rs_utils_core crate. Update docs there too.

v0.1.0 (2023-10-14)

  • Added:
    • First changelog entry. This crate is a fork of the simplelog repo w/ conditional compilation (feature flags) removed. This crate was causing transitive dependency issues in upstream repos that added r3bl_tuify as a dependency. Here's a link to the related issue.

r3bl_rs_utils_redux

v0.2.6 (2023-10-21)

  • Updated:
    • Upgrade all deps to their latest versions.

v0.2.5 (2023-10-17)

v0.2.4 (2023-10-14)

  • Updated:

    • Dependency on simplelog is replaced w/ r3bl_simple_logger (which is in the r3bl_rs_utils repo workspace as simple_logger).
  • Removed:

r3bl_rs_utils

v0.9.15 (2023-12-22)

  • Updated:

    • Add single dependency on r3bl_rs_utils_core version 0.9.10.
  • Removed:

    • Remove all the unnecessary dependencies from Cargo.toml.
    • Remove all unnecessary dev-dependencies from Cargo.toml.
  • Moved:

    • All the source code from the top level folder of the r3bl-open-core repo into the utils sub folder. The crate r3bl_rs_utils used to reside at the top level folder of this repo. It has been moved into the utils sub folder. At the top level, only a workspace remains to link all the contained crates together for efficient builds.

v0.9.14 (2023-10-29)

  • Updated:
    • Upgrade all deps to their latest versions (including r3bl_tui w/ latest copy, paste, cut, delete support).

v0.9.13 (2023-10-29)

  • Updated:
    • Upgraded r3bl_tui to latest version.

v0.9.12 (2023-10-29)

  • Forgot to update the r3bl_tui dependency in Cargo.toml.

v0.9.11 (2023-10-28)

  • Updated:
    • Upgrade all deps to their latest versions.

v0.9.10 (2023-10-21)

  • Updated:
    • Upgrade all deps to their latest versions.

v0.9.9

More info on changelogs