Skip to content

Commit 7ea9fc2

Browse files
Version Packages
1 parent 8a15e06 commit 7ea9fc2

File tree

34 files changed

+214
-82
lines changed

34 files changed

+214
-82
lines changed

.changeset/byok-machine-translate.md

Lines changed: 0 additions & 22 deletions
This file was deleted.

.changeset/fix-cli-create-require.md

Lines changed: 0 additions & 5 deletions
This file was deleted.

.changeset/incremental-lix-sync.md

Lines changed: 0 additions & 26 deletions
This file was deleted.

.changeset/parse5-portability.md

Lines changed: 0 additions & 5 deletions
This file was deleted.

.changeset/sherlock-logging-output.md

Lines changed: 0 additions & 5 deletions
This file was deleted.

.changeset/sherlock-observe-message-view.md

Lines changed: 0 additions & 5 deletions
This file was deleted.

inlang/packages/cli/CHANGELOG.md

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,54 @@
11
# @inlang/cli
22

3+
## 3.1.0
4+
5+
### Minor Changes
6+
7+
- ff07482: Require the `INLANG_GOOGLE_TRANSLATE_API_KEY` environment variable for machine translations.
8+
9+
We previously subsidized machine translation costs. As projects become larger, our bill is no longer sustainable.
10+
11+
To ensure that machine translations remain available, we are switching to a Bring Your Own Key (BYOK) model.
12+
13+
**Before**
14+
15+
```sh
16+
npx @inlang/cli machine translate --project ./project.inlang
17+
```
18+
19+
**After**
20+
21+
```sh
22+
export INLANG_GOOGLE_TRANSLATE_API_KEY="your-google-api-key"
23+
npx @inlang/cli machine translate --project ./project.inlang
24+
```
25+
26+
- 7791be7: Upgraded the [inlang SDK](https://github.com/opral/inlang-sdk) to [Lix](https://lix.dev/) v0.5 🎉
27+
28+
## Highlights
29+
30+
### Writing directly to Lix state
31+
32+
State is now written straight into Lix instead of the SDK’s private in-memory SQLite snapshot. Every bundle, message, and variant change becomes a first-class Lix commit, unlocking:
33+
34+
- history and branching,
35+
- writer-key aware workflows,
36+
- change proposals and subscriptions, and
37+
- a single source of truth for downstream tools.
38+
39+
### Per-file filesystem sync
40+
41+
Any inlang-based tooling that opens a project from disk (IDE extensions, CLIs, custom apps) used to patch the entire locale tree whenever a single message changed. That behaviour is at the heart of [opral/inlang-sherlock#173](https://github.com/opral/inlang-sherlock/issues/173) where editing one key in `en.json` would re-export every other locale file, destroying manual formatting or reintroducing stale content.
42+
43+
Thanks to Lix v0.5’s observable state and writer-key APIs we can now react to per-commit metadata and suppress our own writes. When `happy_elephant` in `en.json` is updated, the SDK marks only `en.json` as dirty, leaving `de.json` and friends untouched. Drift is still possible if another tool rewrites `en.json`, yet the blast radius falls from “the whole project just changed” to “only the file you touched,” making reviews and merges manageable across all inlang integrations.
44+
45+
### Patch Changes
46+
47+
- 930df2d: Fix CLI build banner to avoid duplicate `createRequire` declarations when bundling SQLite from [lix](https://lix.dev).
48+
- Updated dependencies [7791be7]
49+
- @inlang/sdk@3.0.0
50+
- @inlang/rpc@0.3.52
51+
352
## 3.0.12
453

554
### Patch Changes

inlang/packages/cli/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@inlang/cli",
3-
"version": "3.0.12",
3+
"version": "3.1.0",
44
"private": false,
55
"publishConfig": {
66
"access": "public"

inlang/packages/paraglide/paraglide-js/CHANGELOG.md

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,33 @@
11
# @inlang/paraglide-js
22

3+
## 2.6.0
4+
5+
### Minor Changes
6+
7+
- 7791be7: Upgraded the [inlang SDK](https://github.com/opral/inlang-sdk) to [Lix](https://lix.dev/) v0.5 🎉
8+
9+
## Highlights
10+
11+
### Writing directly to Lix state
12+
13+
State is now written straight into Lix instead of the SDK’s private in-memory SQLite snapshot. Every bundle, message, and variant change becomes a first-class Lix commit, unlocking:
14+
15+
- history and branching,
16+
- writer-key aware workflows,
17+
- change proposals and subscriptions, and
18+
- a single source of truth for downstream tools.
19+
20+
### Per-file filesystem sync
21+
22+
Any inlang-based tooling that opens a project from disk (IDE extensions, CLIs, custom apps) used to patch the entire locale tree whenever a single message changed. That behaviour is at the heart of [opral/inlang-sherlock#173](https://github.com/opral/inlang-sherlock/issues/173) where editing one key in `en.json` would re-export every other locale file, destroying manual formatting or reintroducing stale content.
23+
24+
Thanks to Lix v0.5’s observable state and writer-key APIs we can now react to per-commit metadata and suppress our own writes. When `happy_elephant` in `en.json` is updated, the SDK marks only `en.json` as dirty, leaving `de.json` and friends untouched. Drift is still possible if another tool rewrites `en.json`, yet the blast radius falls from “the whole project just changed” to “only the file you touched,” making reviews and merges manageable across all inlang integrations.
25+
26+
### Patch Changes
27+
28+
- Updated dependencies [7791be7]
29+
- @inlang/sdk@3.0.0
30+
331
## 2.5.0
432

533
- 72d1c53: Ensure the CLI honours allowJs flags defined in extended or referenced tsconfig files instead of prompting unnecessarily.
@@ -15,6 +43,7 @@
1543
The issue occurred because these functions converted locales to lowercase, while the comparison logic inside `assertIsLocale` and `isLocale` wasn't case-sensitive.
1644

1745
List of changes:
46+
1847
- Ensured locale comparisons in `assertIsLocale()` and `isLocale()` are fully case-insensitive.
1948
- Made `assertIsLocale()` return the canonical-cased locale from `locales` instead of the raw input.
2049
- Added new test coverage for case-insensitive behavior in `assertIsLocale()` and `isLocale()`.
@@ -73,6 +102,7 @@
73102
This change introduces a new `extractLocaleFromRequestAsync` function that supports asynchronous custom server strategies, enabling use cases like fetching user locale preferences from databases.
74103

75104
## What's Changed
105+
76106
- **New Function**: Added `extractLocaleFromRequestAsync` that supports async custom server strategies
77107
- **Middleware Update**: Server middleware now uses the async version to support async custom strategies
78108
- **Breaking Change**: The synchronous `extractLocaleFromRequest` no longer supports custom server strategies
@@ -141,6 +171,7 @@
141171
```
142172

143173
**Migration**:
174+
144175
- If you want the previous behavior (subdomain sharing), explicitly set `cookieDomain` in your configuration:
145176

146177
```diff
@@ -158,6 +189,7 @@
158189
- 4255bd5: Provide functions for getting the preferred language on server and client.
159190

160191
This defines two new functions for getting the preferred language:
192+
161193
- `extractLocaleFromHeader`: Extracts the locale from the accept-language header on the server.
162194
- `extractLocaleFromNavigator`: Extracts the locale from the navigator.languages array on the client.
163195

@@ -169,10 +201,12 @@
169201
This introduces a new way to define custom locale resolution strategies alongside built-in strategies. Custom strategies provide a cleaner, more composable approach compared to overwriting `getLocale()` and `setLocale()` functions directly.
170202

171203
**New APIs:**
204+
172205
- `defineCustomClientStrategy()`: Define custom strategies for client-side locale resolution
173206
- `defineCustomServerStrategy()`: Define custom strategies for server-side locale resolution
174207

175208
**Key features:**
209+
176210
- Custom strategies must follow the pattern `custom-<name>` where `<name>` contains only alphanumeric characters
177211
- Can be combined with built-in strategies in the strategy array
178212
- Respect strategy order for fallback handling
@@ -295,6 +329,7 @@
295329
- 698b9a9: add `cookieMaxAge` option to compiler and runtime
296330
297331
Closes https://github.com/opral/inlang-paraglide-js/issues/483
332+
298333
- Introduced `cookieMaxAge` option to `CompilerOptions`, allowing configuration of cookie expiration time.
299334
- Adjusted tests to verify `max-age` in cookies.
300335
@@ -1013,6 +1048,7 @@ await compile({
10131048
- 14d80b3: Removed the "Which tech-stack are you using?" prompt from the `init` command as it was not providing any real value. All it did was link you to the appropriate documentation.
10141049
10151050
From now on we rely on the docuemntation site to guide people to the correct documenation for their framework.
1051+
10161052
- SvelteKit: https://inlang.com/m/dxnzrydw/paraglide-sveltekit-i18n
10171053
- NextJs: https://inlang.com/m/osslbuzt/paraglide-next-i18n
10181054
- Astro: https://inlang.com/m/iljlwzfs/paraglide-astro-i18n

inlang/packages/paraglide/paraglide-js/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "@inlang/paraglide-js",
33
"type": "module",
4-
"version": "2.5.0",
4+
"version": "2.6.0",
55
"license": "MIT",
66
"publishConfig": {
77
"access": "public",

0 commit comments

Comments
 (0)