lingo.dev@0.138.6
longbridge/gpui-kitlingo.dev@0.138.6Aug 20, 2026by github-actions[bot]
AI Summary
This release fixes the `--key` flag logic to properly match specific keys, prefixes, and globs, and prevents checksums from being written for untranslated keys in the lockfile.
Key Highlights
- Fixes `run --key` to match exact keys, prefix keys ending at `/`, and globs
- Suppresses checksum writes for untranslated keys in `i18n.lock`
- Updates help text to accurately reflect matching rules
New Features
- Improved key matching logic
- Lockfile checksum optimization
Full Release Notes
### Patch Changes - [#2197](https://github.com/lingodotdev/lingo.dev/pull/2197) [`9db8613`](https://github.com/lingodotdev/lingo.dev/commit/9db8613ff86bcb94856b994587ef452aac816125) Thanks [@cherkanovart](https://github.com/cherkanovart)! - Fix `run --key`, which matched nothing and could overwrite unrelated lockfile entries. `--key` filtered with a raw glob match, but flat buckets join nesting with `/`, so a prefix like `auth/login` matched no key at all and the run reported everything as cached. It now matches on exact key, on a prefix that ends at a `/`, or on a glob. `auth/login` selects `auth/login/title` and leaves `auth/login_url` and `sign-in-error` alone. A `--key` run also wrote checksums for every source key, not just the translated subset, which marked untouched keys as translated in `i18n.lock`. `--key` now suppresses the checksum write, as `--target-locale` already did, and no longer computes the discarded checksums at all. The help text for `--key` documented dot-separated paths and an `auth.login` example, neither of which matched real keys. It now states the `/` separator, that a prefix must end at one, and that a glob does not cross one. The `--frozen` failure message told the user to run `lingo.dev lockfile`, which does nothing once the lockfile section is populated. It now points at `lingo.dev run`, which localizes what is pending and updates the lockfile.