Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore(deps) Update Tauri CLI (dev) #7630

Merged
merged 4 commits into from
Oct 19, 2023
Merged

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Aug 16, 2023

Mend Renovate

This PR contains the following updates:

Package Type Update Change
axum dependencies minor 0.5.16 -> 0.6.20
base64 dependencies patch 0.21.0 -> 0.21.2
clap dependencies minor 4.0 -> 4.3
ctrlc dependencies minor 3.2 -> 3.4
env_logger dependencies minor 0.9.1 -> 0.10.0
itertools dependencies minor 0.10 -> 0.11
jsonrpsee (source) dependencies minor 0.16 -> 0.20
jsonrpsee-client-transport (source) dependencies minor 0.16 -> 0.20
jsonrpsee-core (source) dependencies minor 0.16 -> 0.20
jsonrpsee-ws-client (source) dependencies minor 0.16 -> 0.20
jsonschema dependencies minor 0.16 -> 0.17
local-ip-address dependencies minor 0.4 -> 0.5
log dependencies patch 0.4.19 -> 0.4.20
log dependencies patch 0.4.17 -> 0.4.20
minisign dependencies patch =0.7.3 -> =0.7.5
regex dependencies minor 1.6.0 -> 1.9.3
serde_json dependencies patch 1.0.97 -> 1.0.105
tauri-mobile dependencies patch 0.5.2 -> 0.5.3
textwrap dependencies minor 0.11.0 -> 0.16.0
toml dependencies minor 0.5 -> 0.7
toml_edit dependencies minor 0.14 -> 0.19
ureq dependencies minor 2.5 -> 2.7
url dependencies minor 2.3 -> 2.4
zeroize dependencies minor 1.5 -> 1.6

Release Notes

tokio-rs/axum (axum)

v0.6.20: axum - v0.6.20

Compare Source

  • added: WebSocketUpgrade::write_buffer_size and WebSocketUpgrade::max_write_buffer_size
  • changed: Deprecate WebSocketUpgrade::max_send_queue
  • change: Update tokio-tungstenite to 0.20
  • added: Implement Handler for T: IntoResponse (#​2140)

v0.6.19: axum - v0.6.19

Compare Source

  • added: Add axum::extract::Query::try_from_uri (#​2058)
  • added: Implement IntoResponse for Box<str> and Box<[u8]> (#​2035)
  • fixed: Fix bugs around merging routers with nested fallbacks (#​2096)
  • fixed: Fix .source() of composite rejections (#​2030)
  • fixed: Allow unreachable code in #[debug_handler] (#​2014)
  • change: Update tokio-tungstenite to 0.19 (#​2021)
  • change: axum's MSRV is now 1.63 (#​2021)

v0.6.18: axum - v0.6.18

Compare Source

  • fixed: Don't remove the Sec-WebSocket-Key header in WebSocketUpgrade (#​1972)

v0.6.17: axum - v0.6.17

Compare Source

  • fixed: Fix fallbacks causing a panic on CONNECT requests (#​1958)

v0.6.16: axum - v0.6.16

Compare Source

  • fixed: Don't allow extracting MatchedPath in fallbacks (#​1934)
  • fixed: Fix panic if Router with something nested at / was used as a fallback (#​1934)
  • added: Document that Router::new().fallback(...) isn't optimal (#​1940)

v0.6.15: axum - v0.6.15

Compare Source

  • fixed: Removed additional leftover debug messages (#​1927)

v0.6.14: axum - v0.6.14

Compare Source

  • fixed: Removed leftover "path_router hit" debug message (#​1925)

v0.6.13: axum - v0.6.13

Compare Source

  • added: Log rejections from built-in extractors with the
    axum::rejection=trace target (#​1890)
  • fixed: Fixed performance regression with Router::nest introduced in
    0.6.0. nest now flattens the routes which performs better (#​1711)
  • fixed: Extracting MatchedPath in nested handlers now gives the full
    matched path, including the nested path (#​1711)
  • added: Implement Deref and DerefMut for built-in extractors (#​1922)

v0.6.12: axum - v0.6.12

Compare Source

  • added: Implement IntoResponse for MultipartError (#​1861)
  • fixed: More clearly document what wildcards matches (#​1873)

v0.6.11: axum - v0.6.11

Compare Source

  • fixed: Don't require S: Debug for impl Debug for Router<S> (#​1836)
  • fixed: Clone state a bit less when handling requests (#​1837)
  • fixed: Unpin itoa dependency (#​1815)

v0.6.10: axum - v0.6.10

Compare Source

  • fixed: Add #[must_use] attributes to types that do nothing unless used (#​1809)
  • fixed: Gracefully handle missing headers in the TypedHeader extractor (#​1810)
  • fixed: Fix routing issues when loading a Router via a dynamic library (#​1806)

v0.6.9: axum - v0.6.9

Compare Source

  • changed: Update to tower-http 0.4. axum is still compatible with tower-http 0.3 (#​1783)

v0.6.8: axum - v0.6.8

Compare Source

  • fixed: Fix Allow missing from routers with middleware (#​1773)
  • added: Add KeepAlive::event for customizing the event sent for SSE keep alive (#​1729)

v0.6.7: axum - v0.6.7

Compare Source

  • added: Add FormRejection::FailedToDeserializeFormBody which is returned
    if the request body couldn't be deserialized into the target type, as opposed
    to FailedToDeserializeForm which is only for query parameters (#​1683)
  • added: Add MockConnectInfo for setting ConnectInfo during tests (#​1767)

v0.6.6: axum - v0.6.6

Compare Source

  • fixed: Enable passing MethodRouter to Router::fallback (#​1730)

v0.6.5: axum - v0.6.5

Compare Source

  • fixed: Fix #[debug_handler] sometimes giving wrong borrow related suggestions (#​1710)
  • Document gotchas related to using impl IntoResponse as the return type from handler functions (#​1736)

v0.6.4: axum - v0.6.4

Compare Source

  • Depend on axum-macros 0.3.2

v0.6.3: axum - v0.6.3

Compare Source

  • added: Implement IntoResponse for &'static [u8; N] and [u8; N] (#​1690)
  • fixed: Make Path support types using serde::Deserializer::deserialize_any (#​1693)
  • added: Add RawPathParams (#​1713)
  • added: Implement Clone and Service for axum::middleware::Next (#​1712)
  • fixed: Document required tokio features to run "Hello, World!" example (#​1715)

v0.6.2: axum - v0.6.2

Compare Source

  • added: Add body_text and status methods to built-in rejections (#​1612)
  • added: Enable the runtime feature of hyper when using tokio (#​1671)

v0.6.1: axum - v0.6.1

Compare Source

  • added: Expand the docs for Router::with_state (#​1580)

v0.6.0: axum - v0.6.0

Compare Source

Routing

  • fixed: Nested routers are now allowed to have fallbacks (#​1521):

    let api_router = Router::new()
        .route("/users", get(|| { ... }))
        .fallback(api_fallback);
    
    let app = Router::new()
        // this would panic in 0.5 but in 0.6 it just works
        //
        // requests starting with `/api` but not handled by `api_router`
        // will go to `/api_fallback`
        .nest("/api", api_router);

    The outer router's fallback will still apply if a nested router doesn't have
    its own fallback:

    // this time without a fallback
    let api_router = Router::new().route("/users", get(|| { ... }));
    
    let app = Router::new()
        .nest("/api", api_router)
        // `api_fallback` will inherit this fallback
        .fallback(app_fallback);
  • breaking: The request /foo/ no longer matches /foo/*rest. If you want
    to match /foo/ you have to add a route specifically for that (#​1086)

    For example:

    use axum::{Router, routing::get, extract::Path};
    
    let app = Router::new()
        // this will match `/foo/bar/baz`
        .route("/foo/*rest", get(handler))
        // this will match `/foo/`
        .route("/foo/", get(handler))
        // if you want `/foo` to match you must also add an explicit route for it
        .route("/foo", get(handler));
    
    async fn handler(
        // use an `Option` because `/foo/` and `/foo` don't have any path params
        params: Option<Path<String>>,
    ) {}
  • breaking: Path params for wildcard routes no longer include the prefix
    /. e.g. /foo.js will match /*filepath with a value of foo.js, not
    /foo.js (#​1086)

    For example:

    use axum::{Router, routing::get, extract::Path};
    
    let app = Router::new().route("/foo/*rest", get(handler));
    
    async fn handler(
        Path(params): Path<String>,
    ) {
        // for the request `/foo/bar/baz` the value of `params` will be `bar/baz`
        //
        // on 0.5 it would be `/bar/baz`
    }
  • fixed: Routes like /foo and /*rest are no longer considered
    overlapping. /foo will take priority (#​1086)

    For example:

    use axum::{Router, routing::get};
    
    let app = Router::new()
        // this used to not be allowed but now just works
        .route("/foo/*rest", get(foo))
        .route("/foo/bar", get(bar));
    
    async fn foo() {}
    
    async fn bar() {}
  • breaking: Automatic trailing slash redirects have been removed.
    Previously if you added a route for /foo, axum would redirect calls to
    /foo/ to /foo (or vice versa for /foo/):

    use axum::{Router, routing::get};
    
    let app = Router::new()
        // a request to `GET /foo/` will now get `404 Not Found`
        // whereas in 0.5 axum would redirect to `/foo`
        //
        // same goes the other way if you had the route `/foo/`
        // axum will no longer redirect from `/foo` to `/foo/`
        .route("/foo", get(handler));
    
    async fn handler() {}

    Either explicitly add routes for /foo and /foo/ or use
    axum_extra::routing::RouterExt::route_with_tsr if you want the old behavior
    (#​1119)

  • breaking: Router::fallback now only accepts Handlers (similarly to
    what get, post, etc. accept). Use the new Router::fallback_service for
    setting any Service as the fallback (#​1155)

    This fallback on 0.5:

    use axum::{Router, handler::Handler};
    
    let app = Router::new().fallback(fallback.into_service());
    
    async fn fallback() {}

    Becomes this in 0.6

    use axum::Router;
    
    let app = Router::new().fallback(fallback);
    
    async fn fallback() {}
  • changed: Router::nest now only accepts Routers, the general-purpose
    Service nesting method has been renamed to nest_service (#​1368)

  • breaking: Allow Error: Into<Infallible> for Route::{layer, route_layer} (#​924)

  • breaking: MethodRouter now panics on overlapping routes (#​1102)

  • breaking: Router::route now only accepts MethodRouters created with
    get, post, etc. Use the new Router::route_service for routing to
    any Services (#​1155)

  • breaking: Adding a .route_layer onto a Router or MethodRouter
    without any routes will now result in a panic. Previously, this just did
    nothing. #​1327

  • breaking: RouterService has been removed since Router now implements
    Service when the state is (). Use Router::with_state to provide the
    state and get a Router<()>. Note that RouterService only existed in the
    pre-releases, not 0.5 (#​1552)

Extractors

  • added: Added new type safe State extractor. This can be used with
    Router::with_state and gives compile errors for missing states, whereas
    Extension would result in runtime errors (#​1155)

    We recommend migrating from Extension to State for sharing application state since that is more type
    safe and faster. That is done by using Router::with_state and State.

    This setup in 0.5

    use axum::{routing::get, Extension, Router};
    
    let app = Router::new()
        .route("/", get(handler))
        .layer(Extension(AppState {}));
    
    async fn handler(Extension(app_state): Extension<AppState>) {}
    
    #[derive(Clone)]
    struct AppState {}

    Becomes this in 0.6 using State:

    use axum::{routing::get, extract::State, Router};
    
    let app = Router::new()
        .route("/", get(handler))
        .with_state(AppState {});
    
    async fn handler(State(app_state): State<AppState>) {}
    
    #[derive(Clone)]
    struct AppState {}

    If you have multiple extensions, you can use fields on AppState and implement
    FromRef:

    use axum::{extract::{State, FromRef}, routing::get, Router};
    
    let state = AppState {
        client: HttpClient {},
        database: Database {},
    };
    
    let app = Router::new().route("/", get(handler)).with_state(state);
    
    async fn handler(
        State(client): State<HttpClient>,
        State(database): State<Database>,
    ) {}
    
    // the derive requires enabling the "macros" feature
    #[derive(Clone, FromRef)]
    struct AppState {
        client: HttpClient,
        database: Database,
    }
    
    #[derive(Clone)]
    struct HttpClient {}
    
    #[derive(Clone)]
    struct Database {}
  • breaking: It is now only possible for one extractor per handler to consume
    the request body. In 0.5 doing so would result in runtime errors but in 0.6 it
    is a compile error (#​1272)

    axum enforces this by only allowing the last extractor to consume the
    request.

    For example:

    use axum::{Json, http::HeaderMap};
    
    // This wont compile on 0.6 because both `Json` and `String` need to consume
    // the request body. You can use either `Json` or `String`, but not both.
    async fn handler_1(
        json: Json<serde_json::Value>,
        string: String,
    ) {}
    
    // This won't work either since `Json` is not the last extractor.
    async fn handler_2(
        json: Json<serde_json::Value>,
        headers: HeaderMap,
    ) {}
    
    // This works!
    async fn handler_3(
        headers: HeaderMap,
        json: Json<serde_json::Value>,
    ) {}

    This is done by reworking the FromRequest trait and introducing a new
    FromRequestParts trait.

    If your extractor needs to consume the request body then you should implement
    FromRequest, otherwise implement FromRequestParts.

    This extractor in 0.5:

    struct MyExtractor { /* ... */ }
    
    #[async_trait]
    impl<B> FromRequest<B> for MyExtractor
    where
        B: Send,
    {
        type Rejection = StatusCode;
    
        async fn from_request(req: &mut RequestParts<B>) -> Result<Self, Self::Rejection> {
            // ...
        }
    }

    Becomes this in 0.6:

    use axum::{
        extract::{FromRequest, FromRequestParts},
        http::{StatusCode, Request, request::Parts},
        async_trait,
    };
    
    struct MyExtractor { /* ... */ }
    
    // implement `FromRequestParts` if you don't need to consume the request body
    #[async_trait]
    impl<S> FromRequestParts<S> for MyExtractor
    where
        S: Send + Sync,
    {
        type Rejection = StatusCode;
    
        async fn from_request_parts(parts: &mut Parts, state: &S) -> Result<Self, Self::Rejection> {
            // ...
        }
    }
    
    // implement `FromRequest` if you do need to consume the request body
    #[async_trait]
    impl<S, B> FromRequest<S, B> for MyExtractor
    where
        S: Send + Sync,
        B: Send + 'static,
    {
        type Rejection = StatusCode;
    
        async fn from_request(req: Request<B>, state: &S) -> Result<Self, Self::Rejection> {
            // ...
        }
    }

    For an example of how to write an extractor that accepts different
    Content-Types see the [parse-body-based-on-content-type][parse-body-based-on-content-type] example.

  • added: FromRequest and FromRequestParts derive macro re-exports from
    [axum-macros][axum-macros] behind the macros feature (#​1352)

  • added: Add RequestExt and RequestPartsExt which adds convenience
    methods for running extractors to http::Request and http::request::Parts (#​1301)

  • added: JsonRejection now displays the path at which a deserialization
    error occurred (#​1371)

  • added: Add extract::RawForm for accessing raw urlencoded query bytes or request body (#​1487)

  • fixed: Used 400 Bad Request for FailedToDeserializeQueryString
    rejections, instead of 422 Unprocessable Entity (#​1387)

  • changed: The inner error of a JsonRejection is now
    serde_path_to_error::Error<serde_json::Error>. Previously it was
    serde_json::Error (#​1371)

  • changed: The default body limit now applies to the Multipart extractor (#​1420)

  • breaking: ContentLengthLimit has been removed. Use DefaultBodyLimit instead (#​1400)

  • breaking: RequestParts has been removed as part of the FromRequest
    rework (#​1272)

  • breaking: BodyAlreadyExtracted has been removed (#​1272)

  • breaking: The following types or traits have a new S type param
    which represents the state (#​1155):

    • Router, defaults to ()
    • MethodRouter, defaults to ()
    • FromRequest, no default
    • Handler, no default
  • breaking: MatchedPath can now no longer be extracted in middleware for
    nested routes. In previous versions it returned invalid data when extracted
    from a middleware applied to a nested router. MatchedPath can still be
    extracted from handlers and middleware that aren't on nested routers (#​1462)

  • breaking: Rename FormRejection::FailedToDeserializeQueryString to
    FormRejection::FailedToDeserializeForm (#​1496)

Middleware

  • added: Support running extractors on middleware::from_fn functions (#​1088)
  • added: Add middleware::from_fn_with_state to enable running extractors that require
    state (#​1342)
  • added: Add middleware::from_extractor_with_state (#​1396)
  • added: Add map_request, map_request_with_state for transforming the
    request with an async function (#​1408)
  • added: Add map_response, map_response_with_state for transforming the
    response with an async function (#​1414)
  • added: Support any middleware response that implements IntoResponse (#​1152)
  • breaking: Remove extractor_middleware which was previously deprecated.
    Use axum::middleware::from_extractor instead (#​1077)
  • breaking: Require middleware added with Handler::layer to have
    Infallible as the error type (#​1152)

Misc

  • added: Support compiling to WASM. See the simple-router-wasm example
    for more details (#​1382)
  • added: Add ServiceExt with methods for turning any Service into a
    MakeService similarly to Router::into_make_service (#​1302)
  • added: String and binary From impls have been added to extract::ws::Message
    to be more inline with tungstenite (#​1421)
  • added: Add #[derive(axum::extract::FromRef)] (#​1430)
  • added: Add accept_unmasked_frames setting in WebSocketUpgrade (#​1529)
  • added: Add WebSocketUpgrade::on_failed_upgrade to customize what to do
    when upgrading a connection fails (#​1539)
  • fixed: Annotate panicking functions with #[track_caller] so the error
    message points to where the user added the invalid route, rather than
    somewhere internally in axum (#​1248)
  • changed: axum's MSRV is now 1.60 (#​1239)
  • changed: For methods that accept some S: Service, the bounds have been
    relaxed so the response type must implement IntoResponse rather than being a
    literal Response
  • breaking: New tokio default feature needed for WASM support. If you
    don't need WASM support but have default_features = false for other reasons
    you likely need to re-enable the tokio feature (#​1382)
  • breaking: handler::{WithState, IntoService} are merged into one type,
    named HandlerService (#​1418)

v0.5.17: axum - v0.5.17

Compare Source

  • fixed: Annotate panicking functions with #[track_caller] so the error
    message points to where the user added the invalid router, rather than
    somewhere internally in axum (#​1248)
  • fixed: Make Multipart extractor work with RequestBodyLimit middleware (#​1379)
  • added: Add DefaultBodyLimit::max for changing the default body limit (#​1397)
  • added: Various documentation improvements
marshallpierce/rust-base64 (base64)

v0.21.2

Compare Source

  • Rollback MSRV to 1.57.0 -- only dev dependencies need 1.60, not the main code

v0.21.1

Compare Source

  • Remove the possibility of panicking during decoded length calculations
  • DecoderReader no longer sometimes erroneously ignores padding #​226

Breaking changes

  • Engine.internal_decode return type changed
  • Update MSRV to 1.60.0
clap-rs/clap (clap)

v4.3.21

Compare Source

Features
  • Expose TryMapValueParser so the type can be named

v4.3.20

Compare Source

Features
  • Command::mut_args for modifying all arguments en masse

v4.3.19

Compare Source

Fixes
  • (parse) Respect value_terminator even in the presence of later multiple-value positional arguments

v4.3.18

Compare Source

Fixes
  • (parse) Suggest -- in fewer places where it won't work

v4.3.17

Compare Source

Fixes
  • (help) Address a regression in wrapping PossibleValue descriptions in --help

v4.3.16

Compare Source

Fixes
  • Don't assert when stateful value parsers fail on defaults (e.g. checking if a path exists)

v4.3.15

Compare Source

Features
  • (unstable-styles) Re-export anstyle
Documentation
  • (unstable-styles) Provide more examples

v4.3.14

Compare Source

Features
  • ArgAction::HelpShort and ArgAction::HelpLong for explicitly specifying which style of help to display
Fixes
  • Skip [OPTIONS] in usage if a help or version ArgAction is used

v4.3.13

Compare Source

v4.3.12

Compare Source

Fixes
  • (derive) Don't error on enum variant field attributes

v4.3.11

Compare Source

Features
  • (derive) Support fields wrapped in num::Wrapping, Box, or Arc
  • (derive) Support Box<str>, Box<OsStr>, and Box<Path>

v4.3.10

Compare Source

Performance
  • Drop a dependency, reducing binary size by 1.3 KiB

v4.3.9

Compare Source

Fixes
  • Command::ignore_errors no longer masks help/version

v4.3.8

Compare Source

Fixes
  • Error on ambiguity with infer_long_arg, rather than arbitrarily picking one, matching the documentation and subcommand's behavior

v4.3.7

Compare Source

Documentation
  • Further clarify magic behavior in derive tutorial
  • Further clarify derive API's relationship to builder within the tutorial

v4.3.6

Compare Source

Documentation
  • Suggest clio

v4.3.5

Compare Source

  • ColorChoice::possible_values is added to simplify things for builder users
Fixes
  • ColorChoice::to_possible_value no longer includes descriptions, encouraging shorter help where possible

v4.3.4

Compare Source

Features
  • Add Error::exit_code

v4.3.3

Compare Source

Features
  • Command::defer for delayed initialization of subcommands to reduce startup times of large applications like deno

v4.3.2

Compare Source

Features
  • Expose TryMapValueParser so the type can be named

v4.3.1

Compare Source

Fixes
  • (parse) Respect value_terminator even in the presence of later multiple-value positional arguments

v4.3.0

Compare Source

Fixes
  • (assert) Allow multiple, value-terminated, positional arguments
  • (assert) Clear up language on last assertion
  • (parser) Correctly assign values to arguments when using multiple, value-termianted, positional arguments
  • (parser) Ensure value_terminator has higher precedence than allow_hyphen_values
  • (help) Only use next-line-help on subcommand list when explicitly specified, not just with --help
  • (help) Correctly align possible values list
  • (help) Don't waste code, vertical space in moving possible value descriptions to next line

v4.2.7

Compare Source

Fixes
  • Correctly track remaining length for iterators provided by ArgMatches

v4.2.6

Compare Source

Features
  • impl Eq<std::any::TypeId> for clap_builder::util::AnyValueId

v4.2.5

Compare Source

Fixes
  • Improve panic when a group requires a non-existent ID

v4.2.4

Compare Source

Documentation
  • Corrected docs for Command::style

v4.2.3

Compare Source

Features
  • Command::styles for theming help/errors (behind unstable-styles)

v4.2.2

Compare Source

Internal
  • Update dependencies

v4.2.1

Compare Source

Fixes
  • Don't highlight uninteresting parts of the error message

v4.2.0

Compare Source

Compatibility
  • Removed the languishing unstable-replace feature (open to discussion at #​2836)
  • Removed the stablized unstable-grouped feature
Features
  • Allow any StyledStr to accept text styled with ANSI escape codes
  • Respect CLICOLOR, CLICOLOR_FORCE
Fixes
  • Lighten the tone for "unexpected argument" errors (open to discussion at #​4638)

v4.1.14

Compare Source

Features
  • (derive) #[group] raw attribute support
Performance
  • (derive) clap_builder was pulled out of clap so it could build in parallel to clap_derive
  • os_str_bytes dependency was removed for faster builds and smaller binaries

v4.1.13

Compare Source

Performance
  • Reduce repeated alloc calls when building a Command
  • Reduce duplicate dependencies for faster builds

v4.1.12

Compare Source

Internal
  • (derive) Update to syn v2
Performance
  • (derive) Faster build times by dropping proc-macro-error dependency

v4.1.11

Compare Source

Internal
  • Update bitflags

v4.1.10

Compare Source

Fixes
  • (help) On Windows, avoid underlined text artifacts

v4.1.9

Compare Source

Fixes
  • (assert) Improve the assert when using the wrong action with get_count / get_flag

v4.1.8

Compare Source

Fixes
  • (derive) Don't deny lints on the users behalf

v4.1.7

Compare Source

Fixes
  • (derive) Hide some nightly clippy warnings

v4.1.6

Compare Source

Fixes
  • (help) Don't show long help for --help just because hidden possible values include a description

v4.1.5

Compare Source

Fixes
  • (help) Don't show long help for --help just because a hidden arg has a possible value with a description

v4.1.4

Compare Source

Fixes
  • (help) Respect disable_colored_help when using arg_required_else_help
Performance
  • Speed up compiling arg! macro

v4.1.3

Compare Source

Fixes
  • (error) Improve suggested flag/value/subcommand when two share a long preifx
  • (error) When suggesting one of several subcommands, use the plural subcommands, rather than subcommand

v4.1.2

Compare Source

Fixes
  • In documentation, refer to get_flag, rather than get_one::<bool>

v4.1.1

Compare Source

Features
  • (derive) #[group] raw attribute support
Performance
  • (derive) clap_builder was pulled out of clap so it could build in parallel to clap_derive
  • os_str_bytes dependency was removed for faster builds and smaller binaries

v4.1.0

Compare Source

Compatibility

MSRV changed to 1.64.0

For apps with custom --help and --version flags:

  • Descriptions for --help and --version changed

When apps have errors imitating clap's error style:

  • Error message style was changed, including
    • Moving away from "did you mean" to tips
    • Leading letter is lower case
    • "For more" added some punctuation
Features
  • ArgMatches::get_occurrences support for argument values to be grouped by their occurrence
Fixes
  • (derive) Allow upgrade_from when arguments / subcommands are explicitly marked as required
  • (help) Try be more clearer and succinct with --help and --version (also helps with overflow)
  • (error) Try to be more clearer and succinct with error messages
  • (error) Officially adopt an error style guide

v4.0.32

Compare Source

Fixes
  • (parser) When overriding required(true), consider args that conflict with its group

v4.0.31

Compare Source

Performance
  • Speed up parsing when a lot of different flags are present (100 unique flags)

v4.0.30

Compare Source

Fixes
  • (error) Improve error for args_conflicts_with_subcommand

v4.0.29

Compare Source

v4.0.28

Compare Source

Fixes
  • Fix wasm support which was broken in 4.0.27

v4.0.27

Compare Source

Features
  • Have Arg::value_parser accept Vec<impl Into<PossibleValue>>
  • Implement Display and FromStr for ColorChoice
Fixes
  • Remove soundness issue by switching from atty to is-terminal

v4.0.26

Compare Source

Fixes
  • (error) Fix typos in ContextKind::as_str

v4.0.25

Compare Source

Features
  • (error) Report available subcommands when required subcommand is missing

v4.0.24

Compare Source

Fixes
  • Avoid panic when printing an argument that isn't built

v4.0.23

Compare Source

Fixes
  • Don't panic on reporting invalid-long errors when followed by invalid UTF8
  • (help) Clarified argument to help subcommand

v4.0.22

Compare Source

Fixes
  • (help) Don't overflow into next-line-help early due to stale (pre-v4) padding calculations

v4.0.21

Compare Source

Features
  • (derive) long_about and long_help attributes, without a value, force using doc comment (before it wouldn't be set if there wasn't anything different than the short help)

v4.0.20

Compare Source

Fixes
  • (derive) Allow defaulted value parser for '()' fields

v4.0.19

Compare Source

Features
  • ColorChoice now implements ValueEnum

v4.0.18

Compare Source

Fixes
  • (derive) Allow #[command(skip)] to also work with enum variants with a value

v4.0.17

Compare Source

Fixes
  • Allow using Arg::last(true) with Arg::value_hint(ValueHint::CommandWithArguments)

v4.0.16

Compare Source

Fixes
  • Arg::exclusive(true) should not be exclusive with the argument's own ArgGroup

v4.0.15

Compare Source

Fixes
  • (error) Don't suggest -- when it doesn't help
  • (error) Be more consistent in quoting, punctuation, and indentation in errors

v4.0.14

Compare Source

Fixes
  • Only put ArgGroup in ArgMatches when explicitly specified, fixing derives handling of option-flattened fields (#​4375)

v4.0.13

Compare Source

Features
  • (derive) Allow () for fields to mean "don't read" (#​4371)

v4.0.12

Compare Source

Features
  • Added TypedValueParser::try_map for when adapting an existing TypedValueParser can fail
  • (error) Create errors like clap with Error::new, Error::with_cmd, and Error::insert

v4.0.11

Compare Source

Fixes
  • (help) Fix wrapping calculations with ANSI escape codes

v4.0.10

Compare Source

Features

v4.0.9

Compare Source

Fixes
  • (derive) Process doc comments for #[command(subcommand)] like in clap v3

v4.0.8

Compare Source

Fixes
  • (derive) Remove a low-value assert preventing defaulting Help and Version actions

v4.0.7

Compare Source

Features
  • (derive) Populate implicit ArgGroup (#​3165)
Fixes
  • (derive) Support #[group(skip)] on Parser derive
  • (derive) Tell users about implicit arg groups when running into group name conflicts
  • (error) Don't report unrelated groups in conflict or requires errors

v4.0.6

Compare Source

Features

v4.0.5

Compare Source

v4.0.4

Compare Source

Fixes
  • (error) Specialize the self-conflict error to look like clap v3

v4.0.3

Compare Source

Fixes
  • (parser) When overriding required(true), consider args that conflict with its group

v4.0.2

Compare Source

v4.0.1

Compare Source

Features
  • ColorChoice now implements ValueEnum
Detegr/rust-ctrlc (ctrlc)

v3.4.0

Compare Source

  • Use double checked locking to prevent race condition in set_handler
  • Move the implementation for #​98 to ctrlc::try_set_handler and keep overwriting existing handlers in ctrlc::set_handler

v3.3.1

Compare Source

  • Registering a handler over an existing handler on unix systems is now an error

v3.3.0

Compare Source

v3.2.5

  • Haiku support
  • Migration from winapi to windows-sys.

v3.2.3

Compare Source

v3.2.2

Compare Source

v3.2.1

Compare Source

rust-cli/env_logger (env_logger)

v0.10.0

Compare Source

MSRV changed to 1.60 to hide optional dependencies

Fixes
  • Resolved soundness issue by switching from atty to is-terminal
Breaking Changes

To open room for changing dependencies:

  • Renamed termcolor feature to color
  • Renamed atty feature to auto-color

v0.9.3

Compare Source

  • Fix a regression from v0.9.2 where env_logger would fail to compile with the termcolor feature turned off.

v0.9.2

Compare Source

  • Fix and un-deprecate Target::Pipe, which was basically not working at all before and deprecated in 0.9.1.
rust-itertools/itertools (itertools)

v0.11.0

Compare Source

Breaking
  • Make Itertools::merge_join_by also accept functions returning bool (#​704)
  • Implement PeekingNext transitively over mutable references (#​643)
  • Change with_position to yield (Position, Item) instead of Position<Item> (#​699)
Added
  • Add Itertools::take_while_inclusive (#​616)
  • Implement PeekingNext for PeekingTakeWhile (#​644)
  • Add EitherOrBoth::{just_left, just_right, into_left, into_right, as_deref, as_deref_mut, left_or_insert, right_or_insert, left_or_insert_with, right_or_insert_with, insert_left, insert_right, insert_both} (#​629)
  • Implement Clone for CircularTupleWindows (#​686)
  • Implement Clone for Chunks ([#​683](https://togithub.com/rust-itertools/itertools/issues/683

Configuration

📅 Schedule: Branch creation - "after 3am on Wednesday" (UTC), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Never, or you tick the rebase/retry checkbox.

👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Mend Renovate. View repository job log here.

@renovate renovate bot requested a review from a team as a code owner August 16, 2023 04:53
@renovate renovate bot added the type: chore label Aug 16, 2023
@renovate
Copy link
Contributor Author

renovate bot commented Aug 16, 2023

⚠ Artifact update problem

Renovate failed to update artifacts related to this branch. You probably do not want to merge this PR as-is.

♻ Renovate will retry this branch, including artifacts, only when one of the following happens:

  • any of the package files in this branch needs updating, or
  • the branch becomes conflicted, or
  • you click the rebase/retry checkbox if found above, or
  • you rename this PR's title to start with "rebase!" to trigger it manually

The artifact failure details are included below:

File name: tooling/cli/Cargo.lock
Command failed: docker run --rm --name=renovate_a_sidecar --label=renovate_a_child --memory=3584m -v "/tmp/worker/44d5ec/c586ee/repos/github/tauri-apps/tauri":"/tmp/worker/44d5ec/c586ee/repos/github/tauri-apps/tauri" -v "/tmp/worker/44d5ec/c586ee/cache":"/tmp/worker/44d5ec/c586ee/cache" -e CONTAINERBASE_CACHE_DIR -w "/tmp/worker/44d5ec/c586ee/repos/github/tauri-apps/tauri" ghcr.io/containerbase/sidecar:9.10.4 bash -l -c "install-tool rust 1.71.1 && cargo update --manifest-path tooling/cli/Cargo.toml --workspace"
/usr/local/bin/docker: line 4: .: filename argument required
.: usage: . filename [arguments]
install: WARNING: failed to run ldconfig. this may happen when not installing as root. run with --verbose to see the error
    Updating crates.io index
error: failed to select a version for `textwrap`.
    ... required by package `tauri-cli v2.0.0-alpha.11 (/tmp/worker/44d5ec/c586ee/repos/github/tauri-apps/tauri/tooling/cli)`
    ... which satisfies path dependency `tauri-cli` (locked to 2.0.0-alpha.11) of package `tauri-cli-node v0.0.0 (/tmp/worker/44d5ec/c586ee/repos/github/tauri-apps/tauri/tooling/cli/node)`
versions that meet the requirements `^0.16.0` are: 0.16.0

the package `tauri-cli` depends on `textwrap`, with features: `term_size` but `textwrap` does not have these features.


failed to select a version for `textwrap` which could resolve this conflict

File name: tooling/cli/Cargo.lock
Command failed: docker run --rm --name=renovate_a_sidecar --label=renovate_a_child --memory=3584m -v "/tmp/worker/44d5ec/c586ee/repos/github/tauri-apps/tauri":"/tmp/worker/44d5ec/c586ee/repos/github/tauri-apps/tauri" -v "/tmp/worker/44d5ec/c586ee/cache":"/tmp/worker/44d5ec/c586ee/cache" -e CONTAINERBASE_CACHE_DIR -w "/tmp/worker/44d5ec/c586ee/repos/github/tauri-apps/tauri" ghcr.io/containerbase/sidecar:9.10.4 bash -l -c "install-tool rust 1.71.1 && cargo update --manifest-path tooling/cli/node/Cargo.toml --workspace"
/usr/local/bin/docker: line 4: .: filename argument required
.: usage: . filename [arguments]
install: WARNING: failed to run ldconfig. this may happen when not installing as root. run with --verbose to see the error
    Updating crates.io index
error: failed to select a version for `textwrap`.
    ... required by package `tauri-cli v2.0.0-alpha.11 (/tmp/worker/44d5ec/c586ee/repos/github/tauri-apps/tauri/tooling/cli)`
    ... which satisfies path dependency `tauri-cli` (locked to 2.0.0-alpha.11) of package `tauri-cli-node v0.0.0 (/tmp/worker/44d5ec/c586ee/repos/github/tauri-apps/tauri/tooling/cli/node)`
versions that meet the requirements `^0.16.0` are: 0.16.0

the package `tauri-cli` depends on `textwrap`, with features: `term_size` but `textwrap` does not have these features.


failed to select a version for `textwrap` which could resolve this conflict

File name: tooling/cli/Cargo.lock
Command failed: docker run --rm --name=renovate_a_sidecar --label=renovate_a_child --memory=3584m -v "/tmp/worker/44d5ec/c586ee/repos/github/tauri-apps/tauri":"/tmp/worker/44d5ec/c586ee/repos/github/tauri-apps/tauri" -v "/tmp/worker/44d5ec/c586ee/cache":"/tmp/worker/44d5ec/c586ee/cache" -e CONTAINERBASE_CACHE_DIR -w "/tmp/worker/44d5ec/c586ee/repos/github/tauri-apps/tauri" ghcr.io/containerbase/sidecar:9.10.4 bash -l -c "install-tool rust 1.71.1 && cargo update --manifest-path tooling/cli/node/test/jest/fixtures/app/src-tauri/Cargo.toml --workspace"
/usr/local/bin/docker: line 4: .: filename argument required
.: usage: . filename [arguments]
install: WARNING: failed to run ldconfig. this may happen when not installing as root. run with --verbose to see the error
    Updating crates.io index
error: failed to select a version for `tauri`.
    ... required by package `app v0.1.0 (/tmp/worker/44d5ec/c586ee/repos/github/tauri-apps/tauri/tooling/cli/node/test/jest/fixtures/app/src-tauri)`
versions that meet the requirements `*` are: 2.0.0-alpha.11

the package `app` depends on `tauri`, with features: `api-all` but `tauri` does not have these features.


failed to select a version for `tauri` which could resolve this conflict

@renovate
Copy link
Contributor Author

renovate bot commented Oct 18, 2023

Edited/Blocked Notification

Renovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR.

You can manually request rebase by checking the rebase/retry box above.

Warning: custom changes will be lost.

@lucasfernog lucasfernog merged commit c90ee65 into dev Oct 19, 2023
13 of 16 checks passed
@lucasfernog lucasfernog deleted the renovate/dev-alltauricli branch October 19, 2023 14:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: 🔎 In audit
Development

Successfully merging this pull request may close these issues.

1 participant