Bug fixin'
This is a maintenance release which fixes a couple small bugs.
Hyper OAuth fix
We fixed a bug where the Hyper OAuth dialog could appear mid-session, in case you had multiple Crush sessions that attempted to refresh the access token at the very same time.
Fixed rare startup bug
This is a rare edge-case, but we fixed a bug that could prevent Crush from starting in case it can't find a default large or small model for a provider, due to it being removed.
That's all for today. Stay tuned! 📺
Changelog
New!
- f6b8592a5acaffa144dd35c2cd78f24fa270b77e: feat: prepare alibaba migration to
/messages(#3067) (@andreynering)
Fixed
- 3cd88ac8902c1ce421d9a2b32ae0ef7b9578d35e: fix(agent): add 401 retry and reauth notification to sub-agent runs (@taciturnaxolotl)
- 90197756b670d743ad3c84528e4d69d2884a057a: fix(agent): centralize 401 retry logic and fix notify-on-success bug (@taciturnaxolotl)
- 23157b6a1dbbca77b4ce482f12ff98ea5e19d9e4: fix(agent): move reauth notification from agent to coordinator (@taciturnaxolotl)
- 5b5f7b687d324b8835e90d064e6e16970ebc92ea: fix(config): sort SetConfigFields keys, remove redundant MkdirAll, rename test (@taciturnaxolotl)
- d87a632af1cd528b8ed76adbc3f45041acd2b128: fix(oauth): harden IsExpired with minimum buffer and ExpiresIn guard (@taciturnaxolotl)
- c83418d10ba6c166419d1ff781380c3a0b0b0ca1: fix(oauth): stop fabricating token lifetime when expires_in is missing (@taciturnaxolotl)
- ffaeec192ff121408b9a115b14e3be9965ca138e: fix: avoid startup crash if unable to find default models (#3066) (@andreynering)
Other stuff
- 3570ea632225c2a6ad92d2457119904896960802: chore: auto-update files (@charmcli)
- 81170ce5d33280947e889ba8afb93a057d26b801: refactor(config): replace reload booleans with reloadMu mutex (@taciturnaxolotl)
- 7ce093611c8304aaa8099bdecc9b4e36ce2ff477: refactor(lock): add canonical internal/lock package, migrate db and cmd callers (@taciturnaxolotl)
Verifying the artifacts
First, download the [`checksums.txt` file](https://github.com/charmbracelet/crush/releases/download/v0.75.0/checksums.txt) and the [`checksums.txt.sigstore.json` file](https://github.com/charmbracelet/crush/releases/download/v0.75.0/checksums.txt.sigstore.json) files, for example, with `wget`: :::bash wget 'https://github.com/charmbracelet/crush/releases/download/v0.75.0/checksums.txt' wget 'https://github.com/charmbracelet/crush/releases/download/v0.75.0/checksums.txt.sigstore.json' Then, verify it using [`cosign`](https://github.com/sigstore/cosign): :::bash cosign verify-blob \ --certificate-identity 'https://github.com/charmbracelet/meta/.github/workflows/goreleaser.yml@refs/heads/main' \ --certificate-oidc-issuer 'https://token.actions.githubusercontent.com' \ --bundle 'checksums.txt.sigstore.json' \ ./checksums.txt If the output is `Verified OK`, you can safely use it to verify the checksums of other artifacts you downloaded from the release using `sha256sum`: :::bash sha256sum --ignore-missing -c checksums.txt Done! You artifacts are now verified!Thoughts? Questions? We love hearing from you. Feel free to reach out on X, Discord, Slack, The Fediverse, Bluesky.
