lingo.dev@0.138.6

firecracker-microvm/firecrackerlingo.dev@0.138.6Aug 20, 2026by github-actions[bot]

AI Summary

Fixes a bug where the `--key` filter matched nothing and could incorrectly overwrite unrelated lockfile entries.

Key Highlights

  • Corrects `--key` glob matching to handle flat bucket prefixes.
  • Suppresses checksum writes for untranslated keys when filtering.
  • Updates help text to clarify separator rules.
  • Fixes `--frozen` error message to point to the correct command.

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.