diff --git a/CHANGELOG.md b/CHANGELOG.md index 07df1161..31433ef2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,4 @@ -## Unreleased +## 0.8.23 * Fail Apple builds before native symbol lookup when the resolved llama.cpp companion does not match the core native runtime, with an actionable upgrade @@ -9,13 +9,17 @@ the `llamadart_llama_cpp_flutter` Apple SwiftPM checksum, and aligned current README/website native override docs. Updated multimodal calls for the matching ABI. Saved native sessions from older runtimes must be - regenerated. Prepared Apple companion `0.0.18` for the matching native runtime. + regenerated. Apple companion `0.0.18` supplies the matching native runtime. * Aligned the default WebGPU bridge assets to `v0.1.43` for Web/native llama.cpp `v0.4.0@5266f24da75dc449bd56cbed7addb9c8e4a6a73e` parity. Web `@litert-lm/core@0.15.0` and native LiteRT pins are unchanged. Immutable manifest: `111eefc3588842cebfe665b363378edca34924764610263e1eda5280dfcfaa27`. +* Known upstream limitation: llama.cpp v0.4.0 can reject large grammar + repetitions, such as `root ::= "a"{2000}`. The post-v0.4.0 upstream + correction is tracked in `llamadart-native#76` and is not part of this release. + ## 0.8.22 * Updated `llamadart_llama_cpp_flutter` to `0.0.17` with the diff --git a/README.md b/README.md index 0655bbb1..9ecca471 100644 --- a/README.md +++ b/README.md @@ -55,18 +55,14 @@ For Dart or Flutter apps: ```yaml dependencies: - llamadart: ^0.8.22 + llamadart: ^0.8.23 ``` Flutter iOS/macOS apps that should link Apple XCFrameworks through Swift Package Manager should also add the runtime companion packages they need: -**Unreleased coordinated upgrade:** companion `0.0.18` requires the matching -llama.cpp v0.4.0 core bindings; it is not compatible with published core -`0.8.22`. For published packages, keep core `0.8.22` with companion `0.0.17`. -The development example below requires both path overrides to the same checkout. -Publish companion `0.0.18` only with the matching next core release, and replace -these temporary overrides/version constraints during that coordinated release. +Pair companion `0.0.18` with core `0.8.23` for matching llama.cpp v0.4.0 +bindings. Keep core `0.8.22` paired with companion `0.0.17`. Apple builds verify the resolved companion's SwiftPM runtime pin before native symbol lookup. Incompatible companions or unverified local `Artifacts` @@ -75,15 +71,9 @@ overrides fail the build; resolve the matching companion and rerun ```yaml dependencies: - llamadart: ^0.8.22 + llamadart: ^0.8.23 llamadart_llama_cpp_flutter: ^0.0.18 # GGUF / llama.cpp llamadart_litert_lm_flutter: ^0.0.10 # Apple .litertlm / LiteRT-LM targets - -dependency_overrides: - llamadart: - path: /path/to/llamadart - llamadart_llama_cpp_flutter: - path: /path/to/llamadart/packages/llamadart_llama_cpp_flutter ``` The LiteRT-LM companion manifest includes the complete iOS SwiftPM runtime diff --git a/example/chat_app/pubspec.lock b/example/chat_app/pubspec.lock index f467125b..6a7db30f 100644 --- a/example/chat_app/pubspec.lock +++ b/example/chat_app/pubspec.lock @@ -413,7 +413,7 @@ packages: path: "../.." relative: true source: path - version: "0.8.22" + version: "0.8.23" llamadart_litert_lm_flutter: dependency: "direct main" description: diff --git a/packages/llamadart_litert_lm_flutter/README.md b/packages/llamadart_litert_lm_flutter/README.md index c37b9ec0..1bca44c2 100644 --- a/packages/llamadart_litert_lm_flutter/README.md +++ b/packages/llamadart_litert_lm_flutter/README.md @@ -15,7 +15,7 @@ also request an x86_64 Simulator slice must exclude x86_64 for LiteRT-LM builds. ```yaml dependencies: - llamadart: ^0.8.22 + llamadart: ^0.8.23 llamadart_litert_lm_flutter: ^0.0.10 ``` diff --git a/packages/llamadart_llama_cpp_flutter/README.md b/packages/llamadart_llama_cpp_flutter/README.md index 3124e249..b4ab7f3d 100644 --- a/packages/llamadart_llama_cpp_flutter/README.md +++ b/packages/llamadart_llama_cpp_flutter/README.md @@ -7,23 +7,13 @@ Add this package to a Flutter iOS/macOS app when the app should link the prebuilt llama.cpp Apple XCFramework through SwiftPM instead of relying on the core package's native-assets fallback. -**Unreleased coordinated upgrade:** companion `0.0.18` requires the matching -llama.cpp v0.4.0 core bindings; it is not compatible with published core -`0.8.22`. For published packages, keep core `0.8.22` with companion `0.0.17`. -The development example below requires both path overrides to the same checkout. -Publish companion `0.0.18` only with the matching next core release, and replace -these temporary overrides/version constraints during that coordinated release. +Pair companion `0.0.18` with core `0.8.23` for matching llama.cpp v0.4.0 +bindings. Keep core `0.8.22` paired with companion `0.0.17`. ```yaml dependencies: - llamadart: ^0.8.22 + llamadart: ^0.8.23 llamadart_llama_cpp_flutter: ^0.0.18 - -dependency_overrides: - llamadart: - path: /path/to/llamadart - llamadart_llama_cpp_flutter: - path: /path/to/llamadart/packages/llamadart_llama_cpp_flutter ``` This package has no runtime Dart API of its own. Import `package:llamadart` diff --git a/pubspec.yaml b/pubspec.yaml index 2810493b..77929ce1 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,6 +1,6 @@ name: llamadart description: Dart and Flutter local LLM inference with llama.cpp GGUF and LiteRT-LM across native platforms and web. -version: 0.8.22 +version: 0.8.23 homepage: https://github.com/leehack/llamadart repository: https://github.com/leehack/llamadart issue_tracker: https://github.com/leehack/llamadart/issues diff --git a/website/docs/changelog/recent-releases.md b/website/docs/changelog/recent-releases.md index b6e3c39f..13e3b779 100644 --- a/website/docs/changelog/recent-releases.md +++ b/website/docs/changelog/recent-releases.md @@ -7,21 +7,26 @@ For canonical full release notes, use: - [`CHANGELOG.md`](https://github.com/leehack/llamadart/blob/main/CHANGELOG.md) -## Unreleased +## 0.8.23 - Fail Apple builds before native symbol lookup when the resolved llama.cpp companion does not match the core native runtime, with actionable upgrade guidance. - Adopted native llama.cpp v0.4.0 with matching bindings and multimodal calls. - Saved native sessions from older runtimes must be regenerated. Prepared Apple - companion `0.0.18` for the matching native runtime. + Saved native sessions from older runtimes must be regenerated. Apple companion + `0.0.18` supplies the matching native runtime. - Aligned default WebGPU bridge assets to `v0.1.43` for Web/native llama.cpp `v0.4.0@5266f24da75dc449bd56cbed7addb9c8e4a6a73e` parity. Web `@litert-lm/core@0.15.0` and native LiteRT pins are unchanged. Immutable manifest: `111eefc3588842cebfe665b363378edca34924764610263e1eda5280dfcfaa27`. +- Known upstream limitation: llama.cpp v0.4.0 can reject large grammar + repetitions, such as `root ::= "a"{2000}`. The post-v0.4.0 correction is + tracked in [native #76](https://github.com/leehack/llamadart-native/issues/76) + and is not included in this release. + ## 0.8.22 - Updated `llamadart_llama_cpp_flutter` to `0.0.17` with the diff --git a/website/docs/getting-started/installation.md b/website/docs/getting-started/installation.md index f2802952..7c2a68d0 100644 --- a/website/docs/getting-started/installation.md +++ b/website/docs/getting-started/installation.md @@ -27,18 +27,14 @@ In Xcode, set `IPHONEOS_DEPLOYMENT_TARGET = 16.4` or ```yaml dependencies: - llamadart: ^0.8.22 + llamadart: ^0.8.23 ``` For Flutter iOS/macOS apps that should link Apple XCFrameworks through Swift Package Manager, also add the runtime companion packages you need: -**Unreleased coordinated upgrade:** companion `0.0.18` requires the matching -llama.cpp v0.4.0 core bindings; it is not compatible with published core -`0.8.22`. For published packages, keep core `0.8.22` with companion `0.0.17`. -The development example below requires both path overrides to the same checkout. -Publish companion `0.0.18` only with the matching next core release, and replace -these temporary overrides/version constraints during that coordinated release. +Pair companion `0.0.18` with core `0.8.23` for matching llama.cpp v0.4.0 +bindings. Keep core `0.8.22` paired with companion `0.0.17`. Apple builds verify the resolved companion's SwiftPM runtime pin before native symbol lookup. Incompatible companions or unverified local `Artifacts` @@ -47,15 +43,9 @@ overrides fail the build; resolve the matching companion and rerun ```yaml dependencies: - llamadart: ^0.8.22 + llamadart: ^0.8.23 llamadart_llama_cpp_flutter: ^0.0.18 # GGUF / llama.cpp llamadart_litert_lm_flutter: ^0.0.10 # Apple .litertlm / LiteRT-LM targets - -dependency_overrides: - llamadart: - path: /path/to/llamadart - llamadart_llama_cpp_flutter: - path: /path/to/llamadart/packages/llamadart_llama_cpp_flutter ``` The companion packages are published independently from the `packages/`