Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: jdx/communique
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v0.1.8
Choose a base ref
...
head repository: jdx/communique
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v0.1.9
Choose a head ref
  • 11 commits
  • 15 files changed
  • 4 contributors

Commits on Feb 18, 2026

  1. chore: run render and lint-fix when creating release PR (#53)

    ## Summary
    
    - Adds `jdx/mise-action@v2` to the `release-plz-pr` job (was missing)
    - Replaces manual `cargo build` + `communique usage >
    communique.usage.kdl` with `mise run render ::: lint-fix`, which builds,
    regenerates usage spec + docs, and auto-fixes linting in parallel β€”
    matching what `autofix.ci` does on every PR
    - Switches `git add CHANGELOG.md communique.usage.kdl` to `git add -u`
    to capture all files modified by `lint-fix`
    
    ## Test plan
    
    - [ ] Merge a fix to main and verify the release PR gets rendered docs
    and lint-fixed files committed
    
    πŸ€– Generated with [Claude Code](https://claude.com/claude-code)
    
    ---------
    
    Co-authored-by: Claude Sonnet 4.6 <[email protected]>
    jdx and claude authored Feb 18, 2026
    Configuration menu
    Copy the full SHA
    7dd2278 View commit details
    Browse the repository at this point in the history
  2. fix: normalize release title to "vX.Y.Z: description" format (#55)

    ## Summary
    
    - The previous check only prepended the tag when the title didn't start
    with it at all
    - If the LLM returned e.g. `v2.18.0 (Internal CI improvements)`, the
    check passed and the title kept its parentheses β€” seen in [jdx/usage
    v2.18.0](https://github.com/jdx/usage/releases/tag/v2.18.0)
    - Now strips any existing tag prefix with a non-standard separator and
    rewrites as `vX.Y.Z: description`
    - Also updates the system prompt and tool description to guide the LLM
    toward the correct format from the start
    
    ## Normalization behavior
    
    | LLM output | Result |
    |---|---|
    | `v2.18.0 (Internal CI improvements)` | `v2.18.0: Internal CI
    improvements` |
    | `v2.18.0 - Internal CI improvements` | `v2.18.0: Internal CI
    improvements` |
    | `v2.18.0: Internal CI improvements` | `v2.18.0: Internal CI
    improvements` (unchanged) |
    | `Internal CI improvements` | `v2.18.0: Internal CI improvements` |
    
    πŸ€– Generated with [Claude Code](https://claude.com/claude-code)
    
    Co-authored-by: Claude Sonnet 4.6 <[email protected]>
    jdx and claude authored Feb 18, 2026
    Configuration menu
    Copy the full SHA
    e5f2b77 View commit details
    Browse the repository at this point in the history
  3. chore(deps): update rust crate futures-util to v0.3.32 (#56)

    This PR contains the following updates:
    
    | Package | Type | Update | Change |
    |---|---|---|---|
    | [futures-util](https://rust-lang.github.io/futures-rs)
    ([source](https://redirect.github.com/rust-lang/futures-rs)) |
    dependencies | patch | `0.3.31` β†’ `0.3.32` |
    
    ---
    
    ### Release Notes
    
    <details>
    <summary>rust-lang/futures-rs (futures-util)</summary>
    
    ###
    [`v0.3.32`](https://redirect.github.com/rust-lang/futures-rs/releases/tag/0.3.32)
    
    [Compare
    Source](https://redirect.github.com/rust-lang/futures-rs/compare/0.3.31...0.3.32)
    
    - Bump MSRV of utility crates to 1.71.
    ([#&#8203;2989](https://redirect.github.com/rust-lang/futures-rs/issues/2989))
    - Soft-deprecate `ready!` macro in favor of `std::task::ready!` added in
    Rust 1.64
    ([#&#8203;2925](https://redirect.github.com/rust-lang/futures-rs/issues/2925))
    - Soft-deprecate `pin_mut!` macro in favor of `std::pin::pin!` added in
    Rust 1.68
    ([#&#8203;2929](https://redirect.github.com/rust-lang/futures-rs/issues/2929))
    - Add `FuturesOrdered::clear`
    ([#&#8203;2927](https://redirect.github.com/rust-lang/futures-rs/issues/2927))
    - Add `mpsc::*Receiver::recv`
    ([#&#8203;2947](https://redirect.github.com/rust-lang/futures-rs/issues/2947))
    - Add `mpsc::*Receiver::try_recv` and deprecate
    `mpsc::*Receiver::::try_next`
    ([#&#8203;2944](https://redirect.github.com/rust-lang/futures-rs/issues/2944))
    - Implement `FusedStream` for `sink::With`
    ([#&#8203;2948](https://redirect.github.com/rust-lang/futures-rs/issues/2948))
    - Add `no_std` support for `shared`
    ([#&#8203;2868](https://redirect.github.com/rust-lang/futures-rs/issues/2868))
    - Make `Mutex::new()` const
    ([#&#8203;2956](https://redirect.github.com/rust-lang/futures-rs/issues/2956))
    - Add `#[clippy::has_significant_drop]` to guards
    ([#&#8203;2967](https://redirect.github.com/rust-lang/futures-rs/issues/2967))
    - Remove dependency to `pin-utils`
    ([#&#8203;2929](https://redirect.github.com/rust-lang/futures-rs/issues/2929))
    - Remove dependency on `num_cpus`
    ([#&#8203;2946](https://redirect.github.com/rust-lang/futures-rs/issues/2946))
    - Performance improvements
    ([#&#8203;2983](https://redirect.github.com/rust-lang/futures-rs/issues/2983))
    - Documentation improvements
    ([#&#8203;2925](https://redirect.github.com/rust-lang/futures-rs/issues/2925),
    [#&#8203;2926](https://redirect.github.com/rust-lang/futures-rs/issues/2926),
    [#&#8203;2940](https://redirect.github.com/rust-lang/futures-rs/issues/2940),
    [#&#8203;2971](https://redirect.github.com/rust-lang/futures-rs/issues/2971))
    
    </details>
    
    ---
    
    ### Configuration
    
    πŸ“… **Schedule**: Branch creation - At any time (no schedule defined),
    Automerge - At any time (no schedule defined).
    
    🚦 **Automerge**: Disabled by config. Please merge this manually once you
    are satisfied.
    
    β™» **Rebasing**: Whenever PR becomes conflicted, or you tick the
    rebase/retry checkbox.
    
    πŸ”• **Ignore**: Close this PR and you won't be reminded about this update
    again.
    
    ---
    
    - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
    this box
    
    ---
    
    This PR was generated by [Mend Renovate](https://mend.io/renovate/).
    View the [repository job
    log](https://developer.mend.io/github/jdx/communique).
    
    <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yMi4wIiwidXBkYXRlZEluVmVyIjoiNDMuMjIuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->
    
    Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
    renovate[bot] authored Feb 18, 2026
    Configuration menu
    Copy the full SHA
    d9587fe View commit details
    Browse the repository at this point in the history
  4. fix(deps): update rust crate reqwest to 0.13 (#57)

    This PR contains the following updates:
    
    | Package | Type | Update | Change |
    |---|---|---|---|
    | [reqwest](https://redirect.github.com/seanmonstar/reqwest) |
    dependencies | minor | `0.12` β†’ `0.13` |
    
    ---
    
    ### Release Notes
    
    <details>
    <summary>seanmonstar/reqwest (reqwest)</summary>
    
    ###
    [`v0.13.2`](https://redirect.github.com/seanmonstar/reqwest/blob/HEAD/CHANGELOG.md#v0132)
    
    [Compare
    Source](https://redirect.github.com/seanmonstar/reqwest/compare/v0.13.1...v0.13.2)
    
    - Fix HTTP/2 and native-tls ALPN feature combinations.
    - Fix HTTP/3 to send h3 ALPN.
    - (wasm) fix `RequestBuilder::json()` from override previously set
    content-type.
    
    ###
    [`v0.13.1`](https://redirect.github.com/seanmonstar/reqwest/blob/HEAD/CHANGELOG.md#v0131)
    
    [Compare
    Source](https://redirect.github.com/seanmonstar/reqwest/compare/v0.13.0...v0.13.1)
    
    - Fixes compiling with rustls on Android targets.
    
    ###
    [`v0.13.0`](https://redirect.github.com/seanmonstar/reqwest/blob/HEAD/CHANGELOG.md#v0130)
    
    [Compare
    Source](https://redirect.github.com/seanmonstar/reqwest/compare/v0.12.28...v0.13.0)
    
    - **Breaking changes**:
      - `rustls` is now the default TLS backend, instead of `native-tls`.
    - `rustls` crypto provider defaults to aws-lc instead of *ring*.
    (`rustls-no-provider` exists if you want a different crypto provider)
      - `rustls-tls` has been renamed to `rustls`.
    - rustls roots features removed, `rustls-platform-verifier` is used by
    default.
        - To use different roots, call `tls_certs_only(your_roots)`.
    - `native-tls` now includes ALPN. To disable, use `native-tls-no-alpn`.
      - `query` and `form` are now crate features, disabled by default.
    - Long-deprecated methods and crate features have been removed (such as
    `trust-dns`, which was renamed `hickory-dns` a while ago).
    - Many TLS-related methods renamed to improve autocompletion and
    discovery, but previous name left in place with a "soft" deprecation.
    (just documented, no warnings)
      - For example, prefer `tls_backend_rustls()` over `use_rustls_tls()`.
    
    #### v0.12.28
    
    - Fix compiling on Windows if TLS and SOCKS features are not enabled.
    
    #### v0.12.27
    
    - Add `ClientBuilder::windows_named_pipe(name)` option that will force
    all requests over that Windows Named Piper.
    
    #### v0.12.26
    
    - Fix sending `Accept-Encoding` header only with values configured with
    reqwest, regardless of underlying tower-http config.
    
    #### v0.12.25
    
    - Add `Error::is_upgrade()` to determine if the error was from an HTTP
    upgrade.
    - Fix sending `Proxy-Authorization` if only username is configured.
    - Fix sending `Proxy-Authorization` to HTTPS proxies when the target is
    HTTP.
    - Refactor internal decompression handling to use tower-http.
    
    #### v0.12.24
    
    - Refactor cookie handling to an internal middleware.
    - Refactor internal random generator.
    - Refactor base64 encoding to reduce a copy.
    - Documentation updates.
    
    #### v0.12.23
    
    - Add `ClientBuilder::unix_socket(path)` option that will force all
    requests over that Unix Domain Socket.
    - Add `ClientBuilder::retry(policy)` and `reqwest::retry::Builder` to
    configure automatic retries.
    - Add `ClientBuilder::dns_resolver2()` with more ergonomic argument
    bounds, allowing more resolver implementations.
    - Add `http3_*` options to `blocking::ClientBuilder`.
    - Fix default TCP timeout values to enabled and faster.
    - Fix SOCKS proxies to default to port 1080
    - (wasm) Add cache methods to `RequestBuilder`.
    
    #### v0.12.22
    
    - Fix socks proxies when resolving IPv6 destinations.
    
    #### v0.12.21
    
    - Fix socks proxy to use `socks4a://` instead of `socks4h://`.
    - Fix `Error::is_timeout()` to check for hyper and IO timeouts too.
    - Fix request `Error` to again include URLs when possible.
    - Fix socks connect error to include more context.
    - (wasm) implement `Default` for `Body`.
    
    #### v0.12.20
    
    - Add `ClientBuilder::tcp_user_timeout(Duration)` option to set
    `TCP_USER_TIMEOUT`.
    - Fix proxy headers only using the first matched proxy.
    - (wasm) Fix re-adding `Error::is_status()`.
    
    #### v0.12.19
    
    - Fix redirect that changes the method to GET should remove payload
    headers.
    - Fix redirect to only check the next scheme if the policy action is to
    follow.
    - (wasm) Fix compilation error if `cookies` feature is enabled (by the
    way, it's a noop feature in wasm).
    
    #### v0.12.18
    
    - Fix compilation when `socks` enabled without TLS.
    
    #### v0.12.17
    
    - Fix compilation on macOS.
    
    #### v0.12.16
    
    - Add `ClientBuilder::http3_congestion_bbr()` to enable BBR congestion
    control.
    - Add `ClientBuilder::http3_send_grease()` to configure whether to send
    use QUIC grease.
    - Add `ClientBuilder::http3_max_field_section_size()` to configure the
    maximum response headers.
    - Add `ClientBuilder::tcp_keepalive_interval()` to configure TCP probe
    interval.
    - Add `ClientBuilder::tcp_keepalive_retries()` to configure TCP probe
    count.
    - Add `Proxy::headers()` to add extra headers that should be sent to a
    proxy.
    - Fix `redirect::Policy::limit()` which had an off-by-1 error, allowing
    1 more redirect than specified.
    - Fix HTTP/3 to support streaming request bodies.
    - (wasm) Fix null bodies when calling `Response::bytes_stream()`.
    
    #### v0.12.15
    
    - Fix Windows to support both `ProxyOverride` and `NO_PROXY`.
    - Fix http3 to support streaming response bodies.
    - Fix http3 dependency from public API misuse.
    
    #### v0.12.14
    
    - Fix missing `fetch_mode_no_cors()`, marking as deprecated when not on
    WASM.
    
    #### v0.12.13
    
    - Add `Form::into_reader()` for blocking `multipart` forms.
    - Add `Form::into_stream()` for async `multipart` forms.
    - Add support for SOCKS4a proxies.
    - Fix decoding responses with multiple zstd frames.
    - Fix `RequestBuilder::form()` from overwriting a previously set
    `Content-Type` header, like the other builder methods.
    - Fix cloning of request timeout in `blocking::Request`.
    - Fix http3 synchronization of connection creation, reducing unneccesary
    extra connections.
    - Fix Windows system proxy to use `ProxyOverride` as a `NO_PROXY` value.
    - Fix blocking read to correctly reserve and zero read buffer.
    - (wasm) Add support for request timeouts.
    - (wasm) Fix `Error::is_timeout()` to return true when from a request
    timeout.
    
    #### v0.12.12
    
    - (wasm) Fix compilation by not compiler `tokio/time` on WASM.
    
    #### v0.12.11
    
    - Fix decompression returning an error when HTTP/2 ends with an empty
    data frame.
    
    #### v0.12.10
    
    - Add `ClientBuilder::connector_layer()` to allow customizing the
    connector stack.
    - Add `ClientBuilder::http2_max_header_list_size()` option.
    - Fix propagating body size hint (`content-length`) information when
    wrapping bodies.
    - Fix decompression of chunked bodies so the connections can be reused
    more often.
    
    #### v0.12.9
    
    - Add `tls::CertificateRevocationLists` support.
    - Add crate features to enable webpki roots without selecting a rustls
    provider.
    - Fix `connection_verbose()` to output read logs.
    - Fix `multipart::Part::file()` to automatically include content-length.
    - Fix proxy to internally no longer cache system proxy settings.
    
    #### v0.12.8
    
    - Add support for SOCKS4 proxies.
    - Add `multipart::Form::file()` method for adding files easily.
    - Add `Body::wrap()` to wrap any `http_body::Body` type.
    - Fix the pool configuration to use a timer to remove expired
    connections.
    
    #### v0.12.7
    
    - Revert adding `impl Service<http::Request<_>>` for `Client`.
    
    #### v0.12.6
    
    - Add support for `danger_accept_invalid_hostnames` for `rustls`.
    - Add `impl Service<http::Request<Body>>` for `Client` and `&'_ Client`.
    - Add support for `!Sync` bodies in `Body::wrap_stream()`.
    - Enable happy eyeballs when `hickory-dns` is used.
    - Fix `Proxy` so that `HTTP(S)_PROXY` values take precedence over
    `ALL_PROXY`.
    - Fix `blocking::RequestBuilder::header()` from unsetting `sensitive` on
    passed header values.
    
    #### v0.12.5
    
    - Add `blocking::ClientBuilder::dns_resolver()` method to change DNS
    resolver in blocking client.
    - Add `http3` feature back, still requiring `reqwest_unstable`.
    - Add `rustls-tls-no-provider` Cargo feature to use rustls without a
    crypto provider.
    - Fix `Accept-Encoding` header combinations.
    - Fix http3 resolving IPv6 addresses.
    - Internal: upgrade to rustls 0.23.
    
    #### v0.12.4
    
    - Add `zstd` support, enabled with `zstd` Cargo feature.
    - Add `ClientBuilder::read_timeout(Duration)`, which applies the
    duration for each read operation. The timeout resets after a successful
    read.
    
    #### v0.12.3
    
    - Add `FromStr` for `dns::Name`.
    - Add `ClientBuilder::built_in_webpki_certs(bool)` to enable them
    separately.
    - Add `ClientBuilder::built_in_native_certs(bool)` to enable them
    separately.
    - Fix sending `content-length: 0` for GET requests.
    - Fix response body `content_length()` to return value when timeout is
    configured.
    - Fix `ClientBuilder::resolve()` to use lowercase domain names.
    
    #### v0.12.2
    
    - Fix missing ALPN when connecting to socks5 proxy with rustls.
    - Fix TLS version limits with rustls.
    - Fix not detected ALPN h2 from server with native-tls.
    
    #### v0.12.1
    
    - Fix `ClientBuilder::interface()` when no TLS is enabled.
    - Fix `TlsInfo::peer_certificate()` being truncated with rustls.
    - Fix panic if `http2` feature disabled but TLS negotiated h2 in ALPN.
    - Fix `Display` for `Error` to not include its source error.
    
    </details>
    
    ---
    
    ### Configuration
    
    πŸ“… **Schedule**: Branch creation - "before 4am on friday" in timezone
    America/Chicago, Automerge - At any time (no schedule defined).
    
    🚦 **Automerge**: Enabled.
    
    β™» **Rebasing**: Whenever PR is behind base branch, or you tick the
    rebase/retry checkbox.
    
    πŸ”• **Ignore**: Close this PR and you won't be reminded about this update
    again.
    
    ---
    
    - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
    this box
    
    ---
    
    This PR was generated by [Mend Renovate](https://mend.io/renovate/).
    View the [repository job
    log](https://developer.mend.io/github/jdx/communique).
    
    <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yMi4wIiwidXBkYXRlZEluVmVyIjoiNDMuMjIuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->
    
    ---------
    
    Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
    Co-authored-by: jdx <[email protected]>
    Co-authored-by: Claude Opus 4.6 <[email protected]>
    3 people authored Feb 18, 2026
    Configuration menu
    Copy the full SHA
    c4c6c68 View commit details
    Browse the repository at this point in the history

Commits on Feb 20, 2026

  1. chore(deps): pin dependencies (#58)

    This PR contains the following updates:
    
    | Package | Type | Update | Change |
    |---|---|---|---|
    | [Swatinem/rust-cache](https://redirect.github.com/Swatinem/rust-cache)
    | action | pinDigest | β†’ `779680d` |
    | [actions/checkout](https://redirect.github.com/actions/checkout) |
    action | pinDigest | β†’ `de0fac2` |
    | [actions/checkout](https://redirect.github.com/actions/checkout) |
    action | pinDigest | β†’ `34e1148` |
    |
    [actions/configure-pages](https://redirect.github.com/actions/configure-pages)
    | action | pinDigest | β†’ `983d773` |
    |
    [actions/deploy-pages](https://redirect.github.com/actions/deploy-pages)
    | action | pinDigest | β†’ `d6db901` |
    | [actions/setup-node](https://redirect.github.com/actions/setup-node) |
    action | pinDigest | β†’ `49933ea` |
    |
    [actions/upload-pages-artifact](https://redirect.github.com/actions/upload-pages-artifact)
    | action | pinDigest | β†’ `7b1f4a7` |
    |
    [apple-actions/import-codesign-certs](https://redirect.github.com/apple-actions/import-codesign-certs)
    | action | pinDigest | β†’ `63fff01` |
    | [autofix-ci/action](https://redirect.github.com/autofix-ci/action) |
    action | pinDigest | β†’ `7a166d7` |
    |
    [codecov/codecov-action](https://redirect.github.com/codecov/codecov-action)
    | action | pinDigest | β†’ `671740a` |
    | [jdx/mise-action](https://redirect.github.com/jdx/mise-action) |
    action | pinDigest | β†’ `c37c932` |
    |
    [taiki-e/setup-cross-toolchain-action](https://redirect.github.com/taiki-e/setup-cross-toolchain-action)
    | action | pinDigest | β†’ `b8d1a32` |
    |
    [taiki-e/upload-rust-binary-action](https://redirect.github.com/taiki-e/upload-rust-binary-action)
    | action | pinDigest | β†’ `f391289` |
    
    ---
    
    ### Configuration
    
    πŸ“… **Schedule**: Branch creation - "before 4am on friday" in timezone
    America/Chicago, Automerge - At any time (no schedule defined).
    
    🚦 **Automerge**: Enabled.
    
    β™» **Rebasing**: Whenever PR is behind base branch, or you tick the
    rebase/retry checkbox.
    
    πŸ‘» **Immortal**: This PR will be recreated if closed unmerged. Get
    [config
    help](https://redirect.github.com/renovatebot/renovate/discussions) if
    that's undesired.
    
    ---
    
    - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
    this box
    
    ---
    
    This PR was generated by [Mend Renovate](https://mend.io/renovate/).
    View the [repository job
    log](https://developer.mend.io/github/jdx/communique).
    
    <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yNS4xMSIsInVwZGF0ZWRJblZlciI6IjQzLjI1LjExIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->
    
    Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
    renovate[bot] authored Feb 20, 2026
    Configuration menu
    Copy the full SHA
    4c5f320 View commit details
    Browse the repository at this point in the history
  2. chore(deps): update rust crate clap to v4.5.60 (#59)

    This PR contains the following updates:
    
    | Package | Type | Update | Change |
    |---|---|---|---|
    | [clap](https://redirect.github.com/clap-rs/clap) | dependencies |
    patch | `4.5.58` β†’ `4.5.60` |
    
    ---
    
    ### Release Notes
    
    <details>
    <summary>clap-rs/clap (clap)</summary>
    
    ###
    [`v4.5.60`](https://redirect.github.com/clap-rs/clap/compare/clap_complete-v4.5.59...clap_complete-v4.5.60)
    
    [Compare
    Source](https://redirect.github.com/clap-rs/clap/compare/v4.5.59...v4.5.60)
    
    ###
    [`v4.5.59`](https://redirect.github.com/clap-rs/clap/compare/clap_complete-v4.5.58...clap_complete-v4.5.59)
    
    [Compare
    Source](https://redirect.github.com/clap-rs/clap/compare/v4.5.58...v4.5.59)
    
    </details>
    
    ---
    
    ### Configuration
    
    πŸ“… **Schedule**: Branch creation - "before 4am on friday" in timezone
    America/Chicago, Automerge - At any time (no schedule defined).
    
    🚦 **Automerge**: Enabled.
    
    β™» **Rebasing**: Whenever PR is behind base branch, or you tick the
    rebase/retry checkbox.
    
    πŸ”• **Ignore**: Close this PR and you won't be reminded about this update
    again.
    
    ---
    
    - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
    this box
    
    ---
    
    This PR was generated by [Mend Renovate](https://mend.io/renovate/).
    View the [repository job
    log](https://developer.mend.io/github/jdx/communique).
    
    <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yNS4xMSIsInVwZGF0ZWRJblZlciI6IjQzLjI1LjExIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->
    
    Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
    renovate[bot] authored Feb 20, 2026
    Configuration menu
    Copy the full SHA
    f8e2a0c View commit details
    Browse the repository at this point in the history

Commits on Feb 23, 2026

  1. chore(deps): lock file maintenance (#60)

    This PR contains the following updates:
    
    | Update | Change |
    |---|---|
    | lockFileMaintenance | All locks refreshed |
    
    πŸ”§ This Pull Request updates lock files to use the latest dependency
    versions.
    
    ---
    
    ### Configuration
    
    πŸ“… **Schedule**: Branch creation - "before 4am on monday" in timezone
    America/Chicago, Automerge - At any time (no schedule defined).
    
    🚦 **Automerge**: Enabled.
    
    β™» **Rebasing**: Whenever PR is behind base branch, or you tick the
    rebase/retry checkbox.
    
    πŸ‘» **Immortal**: This PR will be recreated if closed unmerged. Get
    [config
    help](https://redirect.github.com/renovatebot/renovate/discussions) if
    that's undesired.
    
    ---
    
    - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
    this box
    
    ---
    
    This PR was generated by [Mend Renovate](https://mend.io/renovate/).
    View the [repository job
    log](https://developer.mend.io/github/jdx/communique).
    
    <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yNi41IiwidXBkYXRlZEluVmVyIjoiNDMuMjYuNSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->
    
    Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
    renovate[bot] authored Feb 23, 2026
    Configuration menu
    Copy the full SHA
    26369a5 View commit details
    Browse the repository at this point in the history

Commits on Feb 27, 2026

  1. chore(deps): update dependency vue to v3.5.29 (#61)

    This PR contains the following updates:
    
    | Package | Change |
    [Age](https://docs.renovatebot.com/merge-confidence/) |
    [Confidence](https://docs.renovatebot.com/merge-confidence/) |
    |---|---|---|---|
    |
    [vue](https://redirect.github.com/vuejs/core/tree/main/packages/vue#readme)
    ([source](https://redirect.github.com/vuejs/core)) | [`3.5.28` β†’
    `3.5.29`](https://renovatebot.com/diffs/npm/vue/3.5.28/3.5.29) |
    ![age](https://developer.mend.io/api/mc/badges/age/npm/vue/3.5.29?slim=true)
    |
    ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vue/3.5.28/3.5.29?slim=true)
    |
    
    ---
    
    ### Release Notes
    
    <details>
    <summary>vuejs/core (vue)</summary>
    
    ###
    [`v3.5.29`](https://redirect.github.com/vuejs/core/blob/HEAD/CHANGELOG.md#3529-2026-02-24)
    
    [Compare
    Source](https://redirect.github.com/vuejs/core/compare/v3.5.28...v3.5.29)
    
    ##### Bug Fixes
    
    - **runtime-core:** prevent instance leak in withAsyncContext
    ([#&#8203;14445](https://redirect.github.com/vuejs/core/issues/14445))
    ([702284f](https://redirect.github.com/vuejs/core/commit/702284f6a7d0dd6d4e648142e7977a3eb02d77f5)),
    closes
    [nuxt/nuxt#33644](https://redirect.github.com/nuxt/nuxt/issues/33644)
    - **server-renderer:** render className as escaped string
    ([#&#8203;14469](https://redirect.github.com/vuejs/core/issues/14469))
    ([da6690c](https://redirect.github.com/vuejs/core/commit/da6690cae359ec3576403c18040a1a5f017a63b1))
    - **transition:** prevent enter if leave is in progress
    ([#&#8203;14443](https://redirect.github.com/vuejs/core/issues/14443))
    ([df059f8](https://redirect.github.com/vuejs/core/commit/df059f890460e4c703b62a54f410627ff29c489b)),
    closes
    [#&#8203;12091](https://redirect.github.com/vuejs/core/issues/12091)
    [#&#8203;12133](https://redirect.github.com/vuejs/core/issues/12133)
    
    </details>
    
    ---
    
    ### Configuration
    
    πŸ“… **Schedule**: Branch creation - "before 4am on friday" in timezone
    America/Chicago, Automerge - At any time (no schedule defined).
    
    🚦 **Automerge**: Enabled.
    
    β™» **Rebasing**: Whenever PR is behind base branch, or you tick the
    rebase/retry checkbox.
    
    πŸ”• **Ignore**: Close this PR and you won't be reminded about this update
    again.
    
    ---
    
    - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
    this box
    
    ---
    
    This PR was generated by [Mend Renovate](https://mend.io/renovate/).
    View the [repository job
    log](https://developer.mend.io/github/jdx/communique).
    
    <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4zNi4yIiwidXBkYXRlZEluVmVyIjoiNDMuMzYuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->
    
    Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
    renovate[bot] authored Feb 27, 2026
    Configuration menu
    Copy the full SHA
    3cc532a View commit details
    Browse the repository at this point in the history
  2. fix(deps): update rust crate strum to 0.28.0 (#62)

    This PR contains the following updates:
    
    | Package | Type | Update | Change |
    |---|---|---|---|
    | [strum](https://redirect.github.com/Peternator7/strum) | dependencies
    | minor | `0.27.2` β†’ `0.28.0` |
    
    ---
    
    ### Release Notes
    
    <details>
    <summary>Peternator7/strum (strum)</summary>
    
    ###
    [`v0.28.0`](https://redirect.github.com/Peternator7/strum/blob/HEAD/CHANGELOG.md#0280)
    
    [Compare
    Source](https://redirect.github.com/Peternator7/strum/compare/v0.27.2...v0.28.0)
    
    - [#&#8203;461](https://redirect.github.com/Peternator7/strum/pull/461):
    Allow any kind of passthrough attributes on `EnumDiscriminants`.
    - Previously only list-style attributes (e.g.
    `#[strum_discriminants(derive(...))]`) were supported. Now path-only
    (e.g. `#[strum_discriminants(non_exhaustive)]`) and name/value (e.g.
    `#[strum_discriminants(doc = "foo")]`)
        attributes are also supported.
    
    - [#&#8203;462](https://redirect.github.com/Peternator7/strum/pull/462):
    Add missing `#[automatically_derived]` to generated impls not
    covered by
    [#&#8203;444](https://redirect.github.com/Peternator7/strum/pull/444).
    
    - [#&#8203;466](https://redirect.github.com/Peternator7/strum/pull/466):
    Bump MSRV to 1.71, required to keep up with updated `syn` and
    `windows-sys` dependencies. This is a breaking change if you're on an
    old version of rust.
    
    - [#&#8203;469](https://redirect.github.com/Peternator7/strum/pull/469):
    Use absolute paths in generated proc macro code to avoid
      potential name conflicts.
    
    - [#&#8203;465](https://redirect.github.com/Peternator7/strum/pull/465):
    Upgrade `phf` dependency to v0.13.
    
    - [#&#8203;473](https://redirect.github.com/Peternator7/strum/pull/473):
    Fix `cargo fmt` / `clippy` issues and add GitHub Actions CI.
    
    - [#&#8203;477](https://redirect.github.com/Peternator7/strum/pull/477):
    `strum::ParseError` now implements `core::fmt::Display` instead
    `std::fmt::Display` to make it `#[no_std]` compatible. Note the `Error`
    trait wasn't available in core until `1.81`
      so `strum::ParseError` still only implements that in std.
    
    - [#&#8203;476](https://redirect.github.com/Peternator7/strum/pull/476):
    **Breaking Change** - `EnumString` now implements `From<&str>`
    (infallible) instead of `TryFrom<&str>` when the enum has a
    `#[strum(default)]` variant. This more accurately
    reflects that parsing cannot fail in that case. If you need the old
    `TryFrom` behavior, you can opt back in using
      `parse_error_ty` and `parse_error_fn`:
    
      ```rust
      #[derive(EnumString)]
    #[strum(parse_error_ty = strum::ParseError, parse_error_fn =
    make_error)]
      pub enum Color {
          Red,
          #[strum(default)]
          Other(String),
      }
    
      fn make_error(x: &str) -> strum::ParseError {
          strum::ParseError::VariantNotFound
      }
      ```
    
    - [#&#8203;431](https://redirect.github.com/Peternator7/strum/pull/431):
    Fix bug where `EnumString` ignored the `parse_err_ty`
      attribute when the enum had a `#[strum(default)]` variant.
    
    - [#&#8203;474](https://redirect.github.com/Peternator7/strum/pull/474):
    EnumDiscriminants will now copy `default` over from the
      original enum to the Discriminant enum.
    
      ```rust
      #[derive(Debug, Default, EnumDiscriminants)]
      #[strum_discriminants(derive(Default))] // <- Remove this in 0.28.
      enum MyEnum {
          #[default] // <- Will be the #[default] on the MyEnumDiscriminant
          #[strum_discriminants(default)] // <- Remove this in 0.28
          Variant0,
          Variant1 { a: NonDefault },
      }
      ```
    
    </details>
    
    ---
    
    ### Configuration
    
    πŸ“… **Schedule**: Branch creation - "before 4am on friday" in timezone
    America/Chicago, Automerge - At any time (no schedule defined).
    
    🚦 **Automerge**: Enabled.
    
    β™» **Rebasing**: Whenever PR is behind base branch, or you tick the
    rebase/retry checkbox.
    
    πŸ”• **Ignore**: Close this PR and you won't be reminded about this update
    again.
    
    ---
    
    - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
    this box
    
    ---
    
    This PR was generated by [Mend Renovate](https://mend.io/renovate/).
    View the [repository job
    log](https://developer.mend.io/github/jdx/communique).
    
    <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4zNi4yIiwidXBkYXRlZEluVmVyIjoiNDMuMzYuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->
    
    Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
    renovate[bot] authored Feb 27, 2026
    Configuration menu
    Copy the full SHA
    ddd9c78 View commit details
    Browse the repository at this point in the history

Commits on Mar 2, 2026

  1. chore(deps): lock file maintenance (#63)

    This PR contains the following updates:
    
    | Update | Change |
    |---|---|
    | lockFileMaintenance | All locks refreshed |
    
    πŸ”§ This Pull Request updates lock files to use the latest dependency
    versions.
    
    ---
    
    ### Configuration
    
    πŸ“… **Schedule**: Branch creation - "before 4am on monday" in timezone
    America/Chicago, Automerge - At any time (no schedule defined).
    
    🚦 **Automerge**: Enabled.
    
    β™» **Rebasing**: Whenever PR is behind base branch, or you tick the
    rebase/retry checkbox.
    
    πŸ‘» **Immortal**: This PR will be recreated if closed unmerged. Get
    [config
    help](https://redirect.github.com/renovatebot/renovate/discussions) if
    that's undesired.
    
    ---
    
    - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
    this box
    
    ---
    
    This PR was generated by [Mend Renovate](https://mend.io/renovate/).
    View the [repository job
    log](https://developer.mend.io/github/jdx/communique).
    
    <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My40My4yIiwidXBkYXRlZEluVmVyIjoiNDMuNDMuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->
    
    Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
    renovate[bot] authored Mar 2, 2026
    Configuration menu
    Copy the full SHA
    fec2939 View commit details
    Browse the repository at this point in the history
  2. v0.1.9: Consistent Release Title Formatting (#54)

    A small patch release that fixes inconsistent release title formatting.
    Previously, if the LLM returned a title like `v2.18.0 (Internal CI
    improvements)` or `v2.18.0 - Internal CI improvements`, it would pass
    validation and be left as-is. Now all titles are normalized to the
    canonical `vX.Y.Z: description` format.
    
    ## Fixed
    
    - **Normalize release titles to `vX.Y.Z: description` format** β€” The
    previous check only prepended the tag when the title didn't start with
    it at all. If the LLM returned a title with a non-standard separator
    (e.g. parentheses or dashes), it passed the check unchanged. The
    normalization now strips any existing tag prefix with a non-standard
    separator and rewrites it consistently. The system prompt and tool
    description were also updated to guide the LLM toward the correct format
    from the start. ([#55](#55))
    (@jdx)
    
      | LLM output | Result |
      |---|---|
    | `v2.18.0 (Internal CI improvements)` | `v2.18.0: Internal CI
    improvements` |
    | `v2.18.0 - Internal CI improvements` | `v2.18.0: Internal CI
    improvements` |
    | `v2.18.0: Internal CI improvements` | `v2.18.0: Internal CI
    improvements` (unchanged) |
      | `Internal CI improvements` | `v2.18.0: Internal CI improvements` |
    
    **Full Changelog**:
    v0.1.8...010f229
    
    ---------
    
    Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
    jdx and autofix-ci[bot] authored Mar 2, 2026
    Configuration menu
    Copy the full SHA
    bad004b View commit details
    Browse the repository at this point in the history
Loading