You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
distant/CHANGELOG.md

5.5 KiB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

Unreleased

Added

Changed

Fixed

Removed

[0.16.4] - 2022-06-01

Added

  • Dockerfile using Alpine linux with a basic install of distant, tagged as chipsenkbeil/distant:0.16.3 and chipsenkbeil/distant:0.16.4

Fixed

[0.16.3] - 2022-05-29

Added

  • New --ssh-backend option for CLI that accepts libssh or ssh2 for native backend ssh support
  • distant_ssh2::SshBackend now supports parsing from a &str and producing a &'static str from an instance

[0.16.2] - 2022-05-27

Changed

  • The following fields now default to false when missing in JSON request body
    • For DirRead: absolute, canonicalize, include_root
    • For DirCreate: all
    • For Remove: force
    • For Watch: recursive
    • For Metadata: canonicalize and resolve_file_type
    • For ProcSpawn: args (empty list), persist, and pty (nothing)

[0.16.1] - 2022-05-13

Changed

  • Lock in to Rust openssl 0.10.38 as it is the last version that supports using openssl 3.x.x before reverting

[0.16.0] - 2022-05-12

Added

  • New environment session type that prints out environment variable definitions for use in an interactive session or to evaluate
  • Shell support introduced for ssh & distant servers, including a new shell command for distant cli
  • Support for JSON communication of ssh auth during launch (cli)
  • Add windows and unix metadata files to overall metadata response data
  • Watch and unwatch cli commands powered by underlying Watcher core implementation that uses new RequestData::Watch, RequestData::Unwatch, and ResponseData::Changed data types to communicate filesystem changes

Changed

  • Default session type for CLI (launch, action, etc) is environment
  • Replace cbor library with alternative as old cbor lib has been abandoned
  • Refactor some request & response types to work with new cbor lib
  • Updated cli to always include serde dependency
  • Expose origin_id of remote process as method
  • Rename ProcRun -> ProcSpawn, ProcStarted -> ProcSpawned
  • Update ProcStdin, ProcStdout, and ProcStderr to use list of bytes instead of a string as a parameter; RemoteProcess and RemoteLspProcess now support reading and writing using either String or Vec<u8>
  • Rename --detached and associated to --persist

Removed

  • Github actions no longer use paths-filter so every PR & commit will test everything
  • distant-lua and distant-lua-test no longer exist as we are focusing solely on the JSON API for integration into distant

0.15.1 - 2021-11-15

Added

  • --key-from-stdin option to listen cli command to read key from stdin instead of generating
  • More logging to distant and ssh handler proc run methods
  • Disclaimer to distant session about dns resolution

Changed

  • Improve the distant-core readme

Removed

  • DNS resolution for ssh session

0.15.0 - 2021-10-16

Added

  • distant-ssh2 subcrate to provide an alternate session as an ssh client
  • distant-lua subcrate for lua lib
  • rpassword & wezterm-ssh dependencies for distant-ssh2 and XChaCha20Poly1305 dependency in place of orion for encryption
  • Codec trait to support encode & decode
  • XChaCha20Poly1305Codec that encrypts/signs using XChaCha20Poly1305
  • PlainCodec that does no encrypting/signing
  • SessionChannelExt trait for friendlier methods
  • Mailbox and internal PostOffice to manage responses to requests
  • Method parameter to support distant & ssh methods for action and lsp subcommands
  • Support compiling distant cli on windows (#59)
  • status method to RemoteProcess

Changed

  • Refactor Transport to take generic Codec
  • Rewrite to no longer use blake256
  • Refactor Session to use a new SessionChannel underneath
  • Refactor Response to always include an origin_id field instead of being optional
  • Update ProcStdout, ProcStderr, and ProcDone to include origin id
  • Replace verbose option with log-level
  • Replace DISTANT_AUTH_KEY with DISTANT_KEY for environment variable parsing
  • Refactor to support Minimum Supported Rust Version (MSRV) of 1.51.0
  • Rename core -> distant-core in project directory structure
  • Upgrade tokio to 1.12
  • Update Metadata to be
    • cloneable
    • debuggable
    • serializable
    • deserializable
  • Refactor Metadata and SystemInfo response data types to support subtypes as singular parameters
  • Replace --daemon in favor of opposite parameter --foreground

Removed

  • DistantCodec
  • k256 dependency
  • Transport::from_handshake as no longer doing EDCH key exchange

Fixed

  • Stdout/stderr being sent before proc_start by adding post_hook support to handler such that proc_run tasks are not spawned until proc_start is sent as response
  • InmemoryStreamWriteHalf implementation of AsyncWrite now properly yields pending upon full channel and no longer locks up
  • stdout, stderr, and stdin of RemoteProcess no longer cause deadlock