diff --git a/CHANGELOG.md b/CHANGELOG.md index 75e1e80f3..9e086e515 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,12 +2,28 @@ All notable changes to the Native SDK (formerly zero-native) will be documented in this file. -## 0.4.2 +## 0.4.3 ### Improvements +- **Linear-light edge blending**: anti-aliased fringes on opaque rounded rectangles, path fills, and strokes now composite through a linear-light coverage path, removing the dark rims that sRGB blending produced on curved geometry while keeping opaque interiors, glyph coverage, and translucent overlays byte-identical (#89). + +### Bug Fixes + +- **Single-line fields handle overflowing values**: text, selection rects, composition underlines, and the caret now clip to the field's content rect, and a horizontal scroll offset keeps the caret visible — typing past the edge scrolls the value, Home scrolls back, and deleting never leaves trailing emptiness. Covers text fields, inputs, search fields, and comboboxes; values that fit render exactly as before (#90). +- **Cross-drive apps on Windows**: `native dev|build|test` no longer fails with `expected path relative to build root; found absolute path` when the app and the npm-installed SDK live on different drives — the generated build graph now bridges volumes with a `.native/sdk` directory junction (no admin rights needed) and keeps the zon dependency relative; the junction is retargeted automatically when the SDK moves or upgrades. Where the bridge cannot apply (`native eject`, full-shape `native init`, or a filesystem that refuses junctions), the CLI explains the cross-volume constraint and both ways out instead of writing a build Zig would reject (#92). + +### Contributors + +- @ctate + + +## 0.4.2 + +### Improvements + - **Windows rendering is DPI-aware and sharper**: Windows apps now declare Per-Monitor V2 DPI awareness, each window carries its own device scale, and canvases, native child views, hidden-titlebar sizing, and explicit WebView frames re-render/re-round correctly when moved across mixed-DPI monitors (#81). - **Smoother canvas geometry**: rounded-rect fills and strokes now render through continuous coverage while eligible hairline borders snap to crisp device-pixel columns, so arcs stay anti-aliased and 1px borders stay sharp under the default house and Geist packs (#81). - **Canonical package and documentation metadata**: npm package metadata, release automation, docs, templates, and examples now point at the renamed `vercel-labs/native` repository and `native-sdk.dev`; `version:sync` stamps repository/homepage metadata into platform packages and `version:check` rejects drift before publish (#78, #80). @@ -23,7 +39,6 @@ All notable changes to the Native SDK (formerly zero-native) will be documented ### Contributors - @ctate - ## 0.4.1 diff --git a/changelog.d/single-line-field-overflow.md b/changelog.d/single-line-field-overflow.md deleted file mode 100644 index 9ca215582..000000000 --- a/changelog.d/single-line-field-overflow.md +++ /dev/null @@ -1 +0,0 @@ -fix: **Single-line fields handle overflowing values**: text, selection rects, composition underlines, and the caret now clip to the field's content rect, and a horizontal scroll offset keeps the caret visible — typing past the edge scrolls the value, Home scrolls back, and deleting never leaves trailing emptiness. Covers text fields, inputs, search fields, and comboboxes; values that fit render exactly as before. diff --git a/changelog.d/windows-cross-drive-sdk.md b/changelog.d/windows-cross-drive-sdk.md deleted file mode 100644 index f488575b9..000000000 --- a/changelog.d/windows-cross-drive-sdk.md +++ /dev/null @@ -1 +0,0 @@ -fix: **Cross-drive apps on Windows**: `native dev|build|test` no longer fails with `expected path relative to build root; found absolute path` when the app and the npm-installed SDK live on different drives — the generated build graph now bridges volumes with a `.native/sdk` directory junction (no admin rights needed) and keeps the zon dependency relative; the junction is retargeted automatically when the SDK moves or upgrades. Where the bridge cannot apply (`native eject`, full-shape `native init`, or a filesystem that refuses junctions), the CLI explains the cross-volume constraint and both ways out instead of writing a build Zig would reject. diff --git a/packages/native-sdk/npm/darwin-arm64/package.json b/packages/native-sdk/npm/darwin-arm64/package.json index 3cdd642b1..c7daca18b 100644 --- a/packages/native-sdk/npm/darwin-arm64/package.json +++ b/packages/native-sdk/npm/darwin-arm64/package.json @@ -1,6 +1,6 @@ { "name": "@native-sdk/cli-darwin-arm64", - "version": "0.4.2", + "version": "0.4.3", "description": "The native CLI binary for macOS on Apple silicon (arm64)", "os": [ "darwin" diff --git a/packages/native-sdk/npm/darwin-x64/package.json b/packages/native-sdk/npm/darwin-x64/package.json index 2166df1c5..d13ed7615 100644 --- a/packages/native-sdk/npm/darwin-x64/package.json +++ b/packages/native-sdk/npm/darwin-x64/package.json @@ -1,6 +1,6 @@ { "name": "@native-sdk/cli-darwin-x64", - "version": "0.4.2", + "version": "0.4.3", "description": "The native CLI binary for macOS on Intel (x64)", "os": [ "darwin" diff --git a/packages/native-sdk/npm/linux-arm64-gnu/package.json b/packages/native-sdk/npm/linux-arm64-gnu/package.json index e03a74a67..9455fcddf 100644 --- a/packages/native-sdk/npm/linux-arm64-gnu/package.json +++ b/packages/native-sdk/npm/linux-arm64-gnu/package.json @@ -1,6 +1,6 @@ { "name": "@native-sdk/cli-linux-arm64-gnu", - "version": "0.4.2", + "version": "0.4.3", "description": "The native CLI binary for Linux arm64 (glibc)", "os": [ "linux" diff --git a/packages/native-sdk/npm/linux-arm64-musl/package.json b/packages/native-sdk/npm/linux-arm64-musl/package.json index b256a00c4..1671240e7 100644 --- a/packages/native-sdk/npm/linux-arm64-musl/package.json +++ b/packages/native-sdk/npm/linux-arm64-musl/package.json @@ -1,6 +1,6 @@ { "name": "@native-sdk/cli-linux-arm64-musl", - "version": "0.4.2", + "version": "0.4.3", "description": "The native CLI binary for Linux arm64 (musl)", "os": [ "linux" diff --git a/packages/native-sdk/npm/linux-x64-gnu/package.json b/packages/native-sdk/npm/linux-x64-gnu/package.json index bbdc107bc..29476cf73 100644 --- a/packages/native-sdk/npm/linux-x64-gnu/package.json +++ b/packages/native-sdk/npm/linux-x64-gnu/package.json @@ -1,6 +1,6 @@ { "name": "@native-sdk/cli-linux-x64-gnu", - "version": "0.4.2", + "version": "0.4.3", "description": "The native CLI binary for Linux x64 (glibc)", "os": [ "linux" diff --git a/packages/native-sdk/npm/linux-x64-musl/package.json b/packages/native-sdk/npm/linux-x64-musl/package.json index e1b59d448..2ffa69d13 100644 --- a/packages/native-sdk/npm/linux-x64-musl/package.json +++ b/packages/native-sdk/npm/linux-x64-musl/package.json @@ -1,6 +1,6 @@ { "name": "@native-sdk/cli-linux-x64-musl", - "version": "0.4.2", + "version": "0.4.3", "description": "The native CLI binary for Linux x64 (musl)", "os": [ "linux" diff --git a/packages/native-sdk/npm/win32-arm64/package.json b/packages/native-sdk/npm/win32-arm64/package.json index 0de095017..944eb1c3c 100644 --- a/packages/native-sdk/npm/win32-arm64/package.json +++ b/packages/native-sdk/npm/win32-arm64/package.json @@ -1,6 +1,6 @@ { "name": "@native-sdk/cli-win32-arm64", - "version": "0.4.2", + "version": "0.4.3", "description": "The native CLI binary for Windows on ARM (arm64)", "os": [ "win32" diff --git a/packages/native-sdk/npm/win32-x64/package.json b/packages/native-sdk/npm/win32-x64/package.json index 60b5f3968..586a64d23 100644 --- a/packages/native-sdk/npm/win32-x64/package.json +++ b/packages/native-sdk/npm/win32-x64/package.json @@ -1,6 +1,6 @@ { "name": "@native-sdk/cli-win32-x64", - "version": "0.4.2", + "version": "0.4.3", "description": "The native CLI binary for Windows x64", "os": [ "win32" diff --git a/packages/native-sdk/package.json b/packages/native-sdk/package.json index 782ad7b39..9dfe19380 100644 --- a/packages/native-sdk/package.json +++ b/packages/native-sdk/package.json @@ -1,6 +1,6 @@ { "name": "@native-sdk/cli", - "version": "0.4.2", + "version": "0.4.3", "description": "The Native SDK: the complete toolkit for building native desktop applications — declarative markup, native rendering, WebView surfaces, and OS capabilities", "type": "module", "bin": { @@ -23,14 +23,14 @@ "LICENSE" ], "optionalDependencies": { - "@native-sdk/cli-darwin-arm64": "0.4.2", - "@native-sdk/cli-darwin-x64": "0.4.2", - "@native-sdk/cli-linux-arm64-gnu": "0.4.2", - "@native-sdk/cli-linux-arm64-musl": "0.4.2", - "@native-sdk/cli-linux-x64-gnu": "0.4.2", - "@native-sdk/cli-linux-x64-musl": "0.4.2", - "@native-sdk/cli-win32-arm64": "0.4.2", - "@native-sdk/cli-win32-x64": "0.4.2" + "@native-sdk/cli-darwin-arm64": "0.4.3", + "@native-sdk/cli-darwin-x64": "0.4.3", + "@native-sdk/cli-linux-arm64-gnu": "0.4.3", + "@native-sdk/cli-linux-arm64-musl": "0.4.3", + "@native-sdk/cli-linux-x64-gnu": "0.4.3", + "@native-sdk/cli-linux-x64-musl": "0.4.3", + "@native-sdk/cli-win32-arm64": "0.4.3", + "@native-sdk/cli-win32-x64": "0.4.3" }, "repository": { "type": "git", diff --git a/tools/native-sdk/main.zig b/tools/native-sdk/main.zig index 0837110c0..f52211d27 100644 --- a/tools/native-sdk/main.zig +++ b/tools/native-sdk/main.zig @@ -6,7 +6,7 @@ const tooling = @import("tooling"); const automation_protocol = @import("automation_protocol"); const cli_build_info = @import("cli_build_info"); -const version = "0.4.2"; +const version = "0.4.3"; pub fn main(init: std.process.Init) !void { const allocator = init.arena.allocator();