diff --git a/dart/eigen_client/CHANGELOG.md b/dart/eigen_client/CHANGELOG.md index aaf33854..cab7bfd2 100644 --- a/dart/eigen_client/CHANGELOG.md +++ b/dart/eigen_client/CHANGELOG.md @@ -1,5 +1,5 @@ # Changelog -## [Unreleased] +## [0.9.0] - 2026-10-29 ### Changed - GameRepository.sessions no longer accepts an inject stream: repository HTTP responses enter the session coordinator automatically. GameSocket.connect surfaces GameConnectionException and stops on permanent failures. @@ -59,7 +59,7 @@ by a later active snapshot. ## [0.1.0] - 2026-08-21 - Initial pure Dart client and domain package. -[Unreleased]: https://github.com/eigeninteractive/eigen-platform/compare/eigen_client-v0.8.0...HEAD +[0.9.0]: https://github.com/eigeninteractive/eigen-platform/compare/eigen_client-v0.8.0...eigen_client-v0.9.0 [0.8.0]: https://github.com/eigeninteractive/eigen-platform/compare/eigen_client-v0.7.0...eigen_client-v0.8.0 [0.7.0]: https://github.com/eigeninteractive/eigen-platform/compare/eigen_client-v0.6.0...eigen_client-v0.7.0 [0.6.0]: https://github.com/eigeninteractive/eigen-platform/compare/eigen_client-v0.5.0...eigen_client-v0.6.0 diff --git a/dart/eigen_client/pubspec.yaml b/dart/eigen_client/pubspec.yaml index d64b6807..d9304079 100644 --- a/dart/eigen_client/pubspec.yaml +++ b/dart/eigen_client/pubspec.yaml @@ -1,6 +1,6 @@ name: eigen_client description: Pure Dart client, domain, and live-session coordination for EigenInteractive games. -version: 0.8.0 +version: 0.9.0 homepage: https://eigeninteractive.com repository: https://github.com/eigeninteractive/eigen-platform/tree/main/dart/eigen_client documentation: https://eigeninteractive.com/docs/reference/dart diff --git a/dart/eigen_codegen/CHANGELOG.md b/dart/eigen_codegen/CHANGELOG.md index 5051a32e..626f428b 100644 --- a/dart/eigen_codegen/CHANGELOG.md +++ b/dart/eigen_codegen/CHANGELOG.md @@ -1,5 +1,5 @@ # Changelog -## [Unreleased] +## [0.2.0] - 2026-10-29 ### Changed - The fixtures-output directory is exclusively generated output. Regeneration replaces every file; keep authored fixtures in the server contract. @@ -23,7 +23,7 @@ deterministic across newer SDK releases. - Initial package: extract the contract payload generator and CLI from `eigen_flutter`. -[Unreleased]: https://github.com/eigeninteractive/eigen-platform/compare/eigen_codegen-v0.1.3...HEAD +[0.2.0]: https://github.com/eigeninteractive/eigen-platform/compare/eigen_codegen-v0.1.3...eigen_codegen-v0.2.0 [0.1.3]: https://github.com/eigeninteractive/eigen-platform/compare/eigen_codegen-v0.1.2...eigen_codegen-v0.1.3 [0.1.2]: https://github.com/eigeninteractive/eigen-platform/compare/eigen_codegen-v0.1.1...eigen_codegen-v0.1.2 [0.1.1]: https://github.com/eigeninteractive/eigen-platform/compare/eigen_codegen-v0.1.0...eigen_codegen-v0.1.1 diff --git a/dart/eigen_codegen/pubspec.yaml b/dart/eigen_codegen/pubspec.yaml index 090c3f7e..44da188a 100644 --- a/dart/eigen_codegen/pubspec.yaml +++ b/dart/eigen_codegen/pubspec.yaml @@ -1,6 +1,6 @@ name: eigen_codegen description: Development-only Dart payload generator for EigenInteractive game contracts. -version: 0.1.3 +version: 0.2.0 homepage: https://eigeninteractive.com repository: https://github.com/eigeninteractive/eigen-platform/tree/main/dart/eigen_codegen documentation: https://eigeninteractive.com/docs/build-a-game/schemas diff --git a/firebase/CHANGELOG.md b/firebase/CHANGELOG.md index 4292679f..5717128d 100644 --- a/firebase/CHANGELOG.md +++ b/firebase/CHANGELOG.md @@ -1,5 +1,5 @@ # Changelog -## [Unreleased] +## [0.7.0] - 2026-10-29 ### Changed - Use released FlutterFire FID registration and acknowledgement streams across platforms; remove custom native and web compatibility adapters. - Requires Firebase Core 5, Auth 7, Analytics 13, Crashlytics 6, Installations 0.5 and Messaging 17; registration uses the current FlutterFire APIs without a legacy fallback. @@ -53,7 +53,7 @@ permanent Android notification-permission denials. - Firebase Auth, bearer tokens, Analytics, Crashlytics, Cloud Messaging, and Android notification resources compose above `eigen_flutter` ports. -[Unreleased]: https://github.com/eigeninteractive/eigen-platform/compare/eigen_firebase-v0.6.0...HEAD +[0.7.0]: https://github.com/eigeninteractive/eigen-platform/compare/eigen_firebase-v0.6.0...eigen_firebase-v0.7.0 [0.6.0]: https://github.com/eigeninteractive/eigen-platform/compare/eigen_firebase-v0.5.2...eigen_firebase-v0.6.0 [0.5.2]: https://github.com/eigeninteractive/eigen-platform/compare/eigen_firebase-v0.5.1...eigen_firebase-v0.5.2 [0.5.1]: https://github.com/eigeninteractive/eigen-platform/compare/eigen_firebase-v0.5.0...eigen_firebase-v0.5.1 diff --git a/firebase/pubspec.yaml b/firebase/pubspec.yaml index 55299277..e3289db1 100644 --- a/firebase/pubspec.yaml +++ b/firebase/pubspec.yaml @@ -1,6 +1,6 @@ name: eigen_firebase description: Optional Firebase authentication, telemetry, crash reporting, and push adapters for EigenInteractive Flutter apps. -version: 0.6.0 +version: 0.7.0 homepage: https://eigeninteractive.com repository: https://github.com/eigeninteractive/eigen-platform/tree/main/firebase documentation: https://eigeninteractive.com/docs/reference/dart @@ -22,7 +22,7 @@ environment: dependencies: flutter: sdk: flutter - eigen_flutter: ^0.16.0 + eigen_flutter: ^0.17.0 firebase_analytics: ^13.0.1 firebase_app_installations: ^0.5.1 firebase_auth: ^7.0.1 diff --git a/flutter/CHANGELOG.md b/flutter/CHANGELOG.md index a5b7f0be..ef580b0a 100644 --- a/flutter/CHANGELOG.md +++ b/flutter/CHANGELOG.md @@ -14,7 +14,7 @@ Pre-1.0, breaking changes land in a **MINOR** bump: `^0.1.0` resolves to [Versions and compatibility](https://eigeninteractive.com/docs/reference/compatibility) for how this package, the engine and the generated `eigen_api` client pair up. -## [Unreleased] +## [0.17.0] - 2026-10-29 ### Fixed - Expose game connection errors without a second provider retry loop; update Drift runtime assets and dependencies. @@ -370,7 +370,7 @@ server-side concern now live in the engine. - `google_fonts`, which fetched Inter at runtime, replaced by the bundled package font above. -[Unreleased]: https://github.com/eigeninteractive/eigen-platform/compare/eigen_flutter-v0.16.0...HEAD +[0.17.0]: https://github.com/eigeninteractive/eigen-platform/compare/eigen_flutter-v0.16.0...eigen_flutter-v0.17.0 [0.16.0]: https://github.com/eigeninteractive/eigen-platform/compare/eigen_flutter-v0.15.1...eigen_flutter-v0.16.0 [0.15.1]: https://github.com/eigeninteractive/eigen-platform/compare/eigen_flutter-v0.15.0...eigen_flutter-v0.15.1 [0.15.0]: https://github.com/eigeninteractive/eigen-platform/compare/eigen_flutter-v0.14.0...eigen_flutter-v0.15.0 diff --git a/flutter/example/pubspec.yaml b/flutter/example/pubspec.yaml index dec39db2..10aefa5c 100644 --- a/flutter/example/pubspec.yaml +++ b/flutter/example/pubspec.yaml @@ -13,15 +13,15 @@ environment: dependencies: flutter: sdk: flutter - eigen_flutter: ^0.16.0 - eigen_shell: ^0.7.3 - eigen_firebase: ^0.6.0 + eigen_flutter: ^0.17.0 + eigen_shell: ^0.8.0 + eigen_firebase: ^0.7.0 # Generated Firebase options and the background isolate use Firebase Core # directly, so the app declares it in addition to the adapter package. firebase_core: ^5.1.0 dev_dependencies: - eigen_codegen: ^0.1.0 + eigen_codegen: ^0.2.0 flutter_test: sdk: flutter flutter_lints: ^6.0.0 diff --git a/flutter/pubspec.yaml b/flutter/pubspec.yaml index c657fefa..6b779c32 100644 --- a/flutter/pubspec.yaml +++ b/flutter/pubspec.yaml @@ -1,6 +1,6 @@ name: eigen_flutter description: "EigenInteractive Flutter client: the whitelabel app half for turn-based multiplayer games on the EigenInteractive server." -version: 0.16.0 +version: 0.17.0 homepage: https://eigeninteractive.com repository: https://github.com/eigeninteractive/eigen-platform/tree/main/flutter documentation: https://eigeninteractive.com/docs/reference/dart @@ -26,7 +26,7 @@ environment: dependencies: flutter: sdk: flutter - eigen_client: ^0.8.0 + eigen_client: ^0.9.0 flutter_riverpod: ^3.3.2 riverpod_annotation: ^4.0.3 json_annotation: ^4.12.0 @@ -74,7 +74,7 @@ dev_dependencies: # on older versions across the whole workspace. freezed: 4.0.1 checks: ^0.3.1 - eigen_codegen: ^0.1.0 + eigen_codegen: ^0.2.0 # A fake connectivity platform, so a test can start the app with no network. connectivity_plus_platform_interface: ^2.1.0 plugin_platform_interface: ^2.1.8 diff --git a/server/.changeset/scaffold-pins.md b/server/.changeset/scaffold-pins.md new file mode 100644 index 00000000..195a595c --- /dev/null +++ b/server/.changeset/scaffold-pins.md @@ -0,0 +1,10 @@ +--- +"create-eigen-game": patch +--- + +Install the newly released Dart packages in a scaffolded app. + +- `eigen_codegen` ^0.2.0 +- `eigen_flutter` ^0.17.0 +- `eigen_shell` ^0.8.0 +- `eigen_firebase` ^0.7.0 diff --git a/server/packages/create-eigen-game/src/index.ts b/server/packages/create-eigen-game/src/index.ts index 595d88ac..672bc78f 100644 --- a/server/packages/create-eigen-game/src/index.ts +++ b/server/packages/create-eigen-game/src/index.ts @@ -262,19 +262,19 @@ const engineVersion = engineRange((JSON.parse(readFileSync(resolve(packageRoot, * the same minute. That is the design -- the scaffold's pins are only ever * knowably behind once something has overtaken them. */ -const flutterClientVersion = "^0.16.0"; +const flutterClientVersion = "^0.17.0"; /** Complete first-party app shell installed by the standard scaffold. * * Moves with `eigen_flutter`, and pre-1.0 it has to: `eigen_shell 0.3.0` * constrains `eigen_flutter ^0.11.0`, and `^0.2.0` cannot reach it. */ -const flutterShellVersion = "^0.7.3"; +const flutterShellVersion = "^0.8.0"; /** Optional Firebase adapter installed by the standard app scaffold. */ -const firebaseAdapterVersion = "^0.6.0"; +const firebaseAdapterVersion = "^0.7.0"; /** Development-only contract compiler installed into the generated app. */ -const dartCodegenVersion = "^0.1.0"; +const dartCodegenVersion = "^0.2.0"; const gameSlug = (value: string): string => { if (!/^[a-z0-9]+(?:-[a-z0-9]+)*$/.test(value)) { diff --git a/server/packages/create-eigen-game/test/scaffold.spec.ts b/server/packages/create-eigen-game/test/scaffold.spec.ts index 90d24adf..483b0945 100644 --- a/server/packages/create-eigen-game/test/scaffold.spec.ts +++ b/server/packages/create-eigen-game/test/scaffold.spec.ts @@ -213,12 +213,12 @@ describe("scaffoldGame", () => { // release on that line, which is the part a scaffold-time pub.dev lookup // was duplicating. Crossing to the next line is the move that needs the // `scaffold` CI job to confirm the templates still compile. - expect(run).toHaveBeenCalledWith("flutter", ["pub", "add", "eigen_flutter@^0.16.0", "eigen_shell@^0.7.3", "eigen_firebase@^0.6.0", "firebase_core"], expect.stringMatching(/\/app$/)); + expect(run).toHaveBeenCalledWith("flutter", ["pub", "add", "eigen_flutter@^0.17.0", "eigen_shell@^0.8.0", "eigen_firebase@^0.7.0", "firebase_core"], expect.stringMatching(/\/app$/)); // A separate `pub add` (rather than folded into the call above) so a // failure here is legible on its own, and because these are dev // dependencies (`dev:` prefix) while the engine/Firebase packages above // are not. - expect(run).toHaveBeenCalledWith("flutter", ["pub", "add", "dev:eigen_codegen@^0.1.0", "dev:flutter_launcher_icons", "dev:flutter_native_splash"], expect.stringMatching(/\/app$/)); + expect(run).toHaveBeenCalledWith("flutter", ["pub", "add", "dev:eigen_codegen@^0.2.0", "dev:flutter_launcher_icons", "dev:flutter_native_splash"], expect.stringMatching(/\/app$/)); // Configuring the icon tools is not enough: both write committed files, // so they have to actually run or the app ships Flutter's own blue logo. expect(run).toHaveBeenCalledWith("dart", ["run", "flutter_launcher_icons"], expect.stringMatching(/\/app$/)); @@ -236,7 +236,7 @@ describe("scaffoldGame", () => { const serverCalls = run.mock.calls.filter(([, , cwd]) => /\/server$/.test(cwd)); expect(serverCalls.findIndex(([, args]) => args[1] === "cf-typegen")).toBeGreaterThan(serverCalls.findIndex(([, args]) => args[0] === "install")); expect(run).toHaveBeenCalledWith("pnpm", ["run", "contract"], expect.stringMatching(/\/server$/)); - expect(run).toHaveBeenCalledWith("flutter", expect.arrayContaining(["pub", "add", "dev:eigen_codegen@^0.1.0"]), expect.stringMatching(/\/app$/)); + expect(run).toHaveBeenCalledWith("flutter", expect.arrayContaining(["pub", "add", "dev:eigen_codegen@^0.2.0"]), expect.stringMatching(/\/app$/)); expect(run).toHaveBeenCalledWith("dart", expect.arrayContaining(["run", "eigen_codegen:generate_payloads", "--contract", "../server/game-contract.json"]), expect.stringMatching(/\/app$/)); const androidGradle = readFileSync(resolve(root, "app/android/app/build.gradle.kts"), "utf8"); expect(androidGradle).toContain("isCoreLibraryDesugaringEnabled = true"); diff --git a/shell/CHANGELOG.md b/shell/CHANGELOG.md index 73ec0a7b..7202d235 100644 --- a/shell/CHANGELOG.md +++ b/shell/CHANGELOG.md @@ -1,7 +1,7 @@ # Changelog All notable changes to this project will be documented in this file. -## [Unreleased] +## [0.8.0] - 2026-10-29 ### Fixed - Show actionable game connection failures; update navigation, image cropper and Play Billing dependencies. @@ -90,7 +90,7 @@ the lower package reusable beneath an application-owned root. - Own account orchestration, profiles, friends, ratings, product persistence, app startup, navigation, and all first-party screens and platform plugins. -[Unreleased]: https://github.com/eigeninteractive/eigen-platform/compare/eigen_shell-v0.7.3...HEAD +[0.8.0]: https://github.com/eigeninteractive/eigen-platform/compare/eigen_shell-v0.7.3...eigen_shell-v0.8.0 [0.7.3]: https://github.com/eigeninteractive/eigen-platform/compare/eigen_shell-v0.7.2...eigen_shell-v0.7.3 [0.7.2]: https://github.com/eigeninteractive/eigen-platform/compare/eigen_shell-v0.7.1...eigen_shell-v0.7.2 [0.7.1]: https://github.com/eigeninteractive/eigen-platform/compare/eigen_shell-v0.7.0...eigen_shell-v0.7.1 diff --git a/shell/pubspec.yaml b/shell/pubspec.yaml index c4656651..74550e82 100644 --- a/shell/pubspec.yaml +++ b/shell/pubspec.yaml @@ -1,6 +1,6 @@ name: eigen_shell description: The complete first-party Flutter application shell for EigenInteractive turn-based games. -version: 0.7.3 +version: 0.8.0 homepage: https://eigeninteractive.com repository: https://github.com/eigeninteractive/eigen-platform/tree/main/shell documentation: https://eigeninteractive.com/docs/reference/dart @@ -24,8 +24,8 @@ dependencies: sdk: flutter flutter_web_plugins: sdk: flutter - eigen_flutter: ^0.16.0 - eigen_client: ^0.8.0 + eigen_flutter: ^0.17.0 + eigen_client: ^0.9.0 flutter_riverpod: ^3.3.2 riverpod_annotation: ^4.0.3 go_router: ^18.1.1