Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions dart/eigen_client/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -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.

Expand Down Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion dart/eigen_client/pubspec.yaml
Original file line number Diff line number Diff line change
@@ -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
Expand Down
4 changes: 2 additions & 2 deletions dart/eigen_codegen/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -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.

Expand All @@ -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
Expand Down
2 changes: 1 addition & 1 deletion dart/eigen_codegen/pubspec.yaml
Original file line number Diff line number Diff line change
@@ -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
Expand Down
4 changes: 2 additions & 2 deletions firebase/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -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.
Expand Down Expand Up @@ -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
Expand Down
4 changes: 2 additions & 2 deletions firebase/pubspec.yaml
Original file line number Diff line number Diff line change
@@ -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
Expand All @@ -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
Expand Down
4 changes: 2 additions & 2 deletions flutter/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.

Expand Down Expand Up @@ -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
Expand Down
8 changes: 4 additions & 4 deletions flutter/example/pubspec.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
6 changes: 3 additions & 3 deletions flutter/pubspec.yaml
Original file line number Diff line number Diff line change
@@ -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
Expand All @@ -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
Expand Down Expand Up @@ -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
Expand Down
10 changes: 10 additions & 0 deletions server/.changeset/scaffold-pins.md
Original file line number Diff line number Diff line change
@@ -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
8 changes: 4 additions & 4 deletions server/packages/create-eigen-game/src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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)) {
Expand Down
6 changes: 3 additions & 3 deletions server/packages/create-eigen-game/test/scaffold.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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$/));
Expand All @@ -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");
Expand Down
4 changes: 2 additions & 2 deletions shell/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -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.

Expand Down Expand Up @@ -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
Expand Down
6 changes: 3 additions & 3 deletions shell/pubspec.yaml
Original file line number Diff line number Diff line change
@@ -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
Expand All @@ -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
Expand Down
Loading