lingo.dev@0.138.6

zumerlab/snapdomlingo.dev@0.138.6Aug 20, 2026by github-actions[bot]

AI Summary

A patch release fixing the `run --key` command which previously matched nothing and could overwrite unrelated lockfile entries.

Key Highlights

  • Fixed `--key` matching logic to support exact keys, prefixes ending in `/`, and globs.
  • Fixed checksum writing for `--key` runs to prevent marking untouched keys as translated.
  • Updated help text to accurately reflect key separator and matching rules.

New Features

  • Corrected key filtering and lockfile handling

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.