Skip to content

Releases: edwardsanchez/Tinkerble

Tinkerble 1.3.0

19 Jun 01:14

Choose a tag to compare

What's Changed

  • Adds positional display-name APIs for @TinkerbleState, @TinkerbleObservableState, @TinkerbleAction, TinkerLog.value, and Tinkerble.shared.log.
  • Keeps screen and category labeled in the canonical API.
  • Deprecates old name: and category-first spellings with migration messages.
  • Preserves the old @TinkerbleObservableState("Category", name: "Name") behavior so existing category/name call sites do not silently swap meanings.
  • Updates the Tinkerble Demo and README examples to use the latest API.

Migration

Prefer the new required positional display name:

@TinkerbleState("Opacity", category: "Layout")
@TinkerbleObservableState("Badge Count", screen: "Basic", category: "Observable")
@TinkerbleAction("Increment Action Count", screen: "Basic", category: "Observable")
TinkerLog.value("Visible Cards", value: cards.count, screen: "Cards", category: "Deck")

Older name: and category-first forms still compile for now, but they are deprecated and will warn with the suggested replacement.

Validation

  • swift test
  • ./Scripts/verify-macos-companion-package.sh
  • xcodebuild -project "Tinkerble Demo/Tinkerble Demo.xcodeproj" -scheme "Tinkerble Demo" -destination "generic/platform=iOS Simulator" -clonedSourcePackagesDirPath .build-demo-validation build

Tinkerble 1.2.1

18 Jun 23:38

Choose a tag to compare

What's Changed

  • Moves the Tinkerble companion launch out of app target build phases and into a dedicated MyApp + Tinkerble shared run scheme.
  • Keeps normal app schemes clean for SwiftUI previews and ordinary builds.
  • Updates tinkerble install to remove the old generated companion build phase and create/update the dedicated Tinkerble scheme.
  • Adds --scheme for projects with multiple shared run schemes.
  • Updates the Tinkerble Demo project to use Tinkerble Demo + Tinkerble.

Existing Installations

Existing users should update the CLI installer, then rerun tinkerble install in their app project. Updating only the Swift package dependency will not rewrite an existing .xcodeproj.

curl -fsSL https://raw.githubusercontent.com/edwardsanchez/Tinkerble/main/install.sh | sh
tinkerble install --project MyApp.xcodeproj --target MyApp

If multiple shared schemes reference the same target, pass the source scheme:

tinkerble install --project MyApp.xcodeproj --target MyApp --scheme "MyApp Dev"

Tinkerble 1.2

17 Jun 23:05

Choose a tag to compare

Adds fuller logging support.\n\n- Adds structured log entries with screen, category, name, value, timestamp, and decimal-place formatting.\n- Adds richer companion log cards with grouped categories, current-value rows, copy/export actions, and HUD-style presentation.\n- Supports compound values and resolved colors, including color chips and formatted RGBA display.\n- Adds the interactive logs demo for motion and color logging.

Tinkerble 1.1.1

17 Jun 07:53

Choose a tag to compare

This patch release disables Tinkerble runtime hooks in release builds so production builds avoid debug companion behavior.

Highlights:

  • Makes registration, action, logging, and socket runtime hooks compile away or no-op for release builds.
  • Adds test coverage for release-disabled behavior across state registration, observable state, actions, logging, and socket transport paths.
  • Adds a demo release scheme for validating release-build behavior.

Tinkerble 1.1.0

17 Jun 07:53

Choose a tag to compare

This release replaces the RSocket-based transport with Tinkerble's own length-prefixed JSON socket transport.

Highlights:

  • Removes the RSocket package dependency and its transitive dependency chain.
  • Adds socket client and companion server transport implementations.
  • Updates installer, packaging, demo, and tests around the new transport path.
  • Keeps the companion communication model focused on the same registration, snapshot, update, action, and log messages over a simpler wire layer.

Tinkerble 1.0.0

17 Jun 07:53

Choose a tag to compare

Initial 1.0 release of Tinkerble.

This release establishes the SwiftUI debug companion workflow: register tweakable state in an app, run the macOS companion, inspect live values, edit supported controls, and forward logs during development.

Highlights:

  • Swift Package for integrating Tinkerble into iOS apps.
  • macOS companion app for inspecting and editing registered values.
  • Demo project and README flow for trying the companion end to end.