# Changelog All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [Unreleased] ## [4.0.0](https://git.kemitix.net/kemitix/kxio/compare/v3.2.0...v4.0.0) - 2024-12-15 ### Added - *(fs)* [**breaking**] Reader now supports non-utf8 files ## [3.2.0](https://git.kemitix.net/kemitix/kxio/compare/v3.1.0...v3.2.0) - 2024-12-12 ### Added - *(net)* trace log the body of a request - *(net)* don't use panic to signal test should fail - *(print)* add print module - *(net)* add tracing - *(fs)* add tracing - *(net)* add bearer_auth helper to MockNet - *(net)* add basic_auth helper to MockNet - *(net)* add user_agent helper to MockNet - *(net)* mock requests based on query parameters ### Fixed - *(net)* typo in test data - *(example)* don't use relative path - not allowed ### Other - *(deps)* update kemitix/rust action to v2.5.0 - *(net)* elide lifetime - ignore any occasional use of rover - *(push-next)* add ability for manual workflow dispatch ## [3.1.0](https://git.kemitix.net/kemitix/kxio/compare/v3.0.0...v3.1.0) - 2024-11-21 ### Added - *(net)* mock request builder adds .with and .with_{option,result} ### Fixed - impl Display for path, file and dir ### Other - *(example)* clean up get example ## [3.0.0](https://git.kemitix.net/kemitix/kxio/compare/v2.1.1...v3.0.0) - 2024-11-20 ### Added - *(net)* [**breaking**] net api: net.{get,post,etc..}(url) alternative to net.send(request) - *(fs)* add TempFileSystem::as_real() - *(net)* [**breaking**] new api: .on().respond().{status,header{s},body}(_)?, replacing respond(response) - *(net)* [**breaking**] new api: .on().{get,post, etc}(url), replacing .on(method).get(url) - re-export http::HeaderMap - Add Debug, Clone, Default, PartialEq, Eq, Send, Sync to as many or our types as possible. ### Fixed - *(net)* [**breaking**] Remove MatchOn ## [2.1.1](https://git.kemitix.net/kemitix/kxio/compare/v2.1.0...v2.1.1) - 2024-11-15 ### Fixed - impl Clone for Net ## [2.1.0](https://git.kemitix.net/kemitix/kxio/compare/v2.0.0...v2.1.0) - 2024-11-15 ### Added - re-export Method, Url, Request, Response and RequestBuilder from http, url and reqwest crates ### Other - remove duplicated section ## [2.0.0](https://git.kemitix.net/kemitix/kxio/compare/v1.2.0...v2.0.0) - 2024-11-14 ### Added - *(net)* mock matcher no longer uses a prebuilt request - *(net)* cleaner mock.on syntax - *(net)* be more permisive in what parameters are accepted - *(fs)* `kxio::fs::new(...)` now accepts `impl Into` - Net and MockNet wrappers for InnerNet and InnerNet - Net uses internal mutability - add kxio::Result; - *(network)* [**breaking**] remove legacy network interface - *(net)* [**breaking**] fluent api - *(fs)* add .path(path).read_link() - *(fs)* add .path(path).set_permissions(perms) - *(fs)* add .path(path).symlink_metadata() - *(fs)* add .path(path).canonicalize() - *(fs)* add .path(path).soft_link(other), .path(path).is_link() - *(fs)* add .path(path).metadata() - *(fs)* add .file(path).hard_link(path) - *(fs)* add .path(path).rename() - *(fs)* add .file(path).remove() - *(fs)* add .dir(path).remove_all() - *(fs)* add .dir(path).remove() - *(fs)* add .reader().bytes() - *(fs)* add .copy(dest) - remove need for mutability - *(fs)* add lines to reader - *(fs)* add as_dir/as_file to convert from path - *(fs)* [**breaking**] remove legacy filesystem module - *(fs)* [**breaking**] new fluent API - network: add from impl to help discard unit NetResponses ### Fixed - *(fs)* make TempFileSystem public - use Default to create reqwest client - *(deps)* update rust crate thiserror to v2 - *(deps)* update rust crate secrecy to 0.10 - *(deps)* update rust crate secrecy to 0.10 - *(deps)* update rust crate derive_more to 1.0.0-beta ### Other - *(deps)* update kemitix/rust action to v2.4.1 - add cargo-mutants step - bump rust image to 2.4.1 - *(net)* fix gramar - *(net)* remove inner from Net - *(net)* added - *(fs)* minor tidy up broken links - *(examples)* add annotations to the `get` example - *(readme)* write a proper readme - add cargo mutants to local dev test build step - *(example)* get and save - ignore cargo-mutants output - *(fs)* add more test - *(fs)* PathReal owns its own data - *(fs)* make it clearer what the std::fs functions map to - *(fs)* move checklist/std::fs mapping to rustdoc - regroup integration tests into modules - *(fs)* use type aliases - *(fs)* use type aliases - *(readme)* apply formatting to std::fs::* todo list - *(readme)* reformat todo list for std::fs::* - cleanup - use generics for path type - update readme - remove unit tests - split real module into sub-modules - move new fns to their struct - *(fs)* integration tests - extract result module - verify path_of normal behaviour - switch to forgejo actions - *(deps)* update docker.io/rust docker tag to v1.81 - *(deps)* update docker.io/rust docker tag to v1.80 - *(deps)* update docker.io/woodpeckerci/plugin-docker-buildx docker tag to v4.2 - *(deps)* update docker.io/woodpeckerci/plugin-docker-buildx docker tag to v4.1 - *(deps)* update docker.io/rust docker tag to v1.79