lingo.dev@0.138.6
lingodotdev/lingo.devlingo.dev@0.138.6Aug 20, 2026by github-actions[bot]
AI Summary
This release fixes several issues with the `--key` flag in `lingo.dev run`, including path matching logic, lockfile checksum writing, and help text accuracy. It also updates the error message for `--frozen` to point users to the correct command.
Key Highlights
- Fixed `--key` flag to correctly match paths using `/` separators or globs instead of raw glob matching.
- Prevented `--key` from writing checksums for untranslated keys in the `i18n.lock` file.
- Updated help text for `--key` to accurately state that a prefix must end at a `/` and that globs do not cross buckets.
- Improved `--frozen` failure message to point to `lingo.dev run` instead of `lingo.dev lockfile`.
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.