Skip to content

estrobo 0.1.0-beta.3

Pre-release
Pre-release

Choose a tag to compare

@loomitz loomitz released this 08 Aug 06:55
· 8 commits to main since this release
Immutable release. Only release title and notes can be modified.
212548e

estrobo v0.1.0-beta.3

English | Español

Estrobo's second limited public beta for macOS adds Global Multi and hardens the protected release path introduced for beta.2.

Important

This build is signed with Apple Developer ID and notarized by Apple. Gatekeeper accepts the official DMG and the app inside it; the Open Anyway workaround used by earlier betas is not required. Verify the checksum and download source before opening it.

Caution

Global Multi is experimental. Its software limits, persistence, delivery order, and recovery paths are covered by automated tests, but an optical result is not validated until the exact release asset and transmitter, flash, and firmware combination pass the coordinated physical smoke test.

Hardware compatibility

Estrobo connects over Bluetooth to a compatible Godox flash trigger. It does not connect directly to flashes or receivers: they continue to communicate through the trigger's own Godox radio system and do not need Bluetooth.

The trigger must have built-in Bluetooth turned on and expose the Godox Flash BLE/GATT profile supported by Estrobo. Bluetooth support, a Godox name, or a BLE advertisement alone does not guarantee compatibility; model and firmware differences still require physical validation.

The physical test matrix documented so far uses a Godox X3Pro trigger with Bluetooth enabled and Godox AD400Pro II flash units. The exact camera variant and firmware revisions were not recorded. The app passed the reported coordinated release smokes; the final DMG separately passed signature, notarization, ticket, integrity, and Gatekeeper checks. The physical smoke covered connection and the exercised base functions, not an optical validation of Global Multi, and does not guarantee other features, triggers, flashes, or firmware combinations.

What's new

  • Guided first launch with no preselected groups or flash models; connection remains unavailable until the person saves an explicitly chosen valid workspace.
  • Global Multi for compatible groups A–E, controlled by one MULTI button beside Beep and an inline console.
  • Whole-stop Multi power up to 1/4, 1–100 flashes, 1–100 Hz, and a minimum-exposure estimate rounded upward to 0.001 s.
  • Backward-compatible Multi persistence in workspaces and presets.
  • Atomic A0 → A1 delivery and fail-closed recovery using a journal that preserves global A0 and every affected group A1 until the full batch is confirmed.
  • Explicit model-limit states: verified software rows for AD400Pro II, a conservative unpublished 51–59 Hz interval, unverified limits for other models, and partial verification for mixed sets.
  • A global-only interaction model: per-group mode controls no longer present Multi as an independent local mode, while excluded groups remain visible behind an actionable disabled overlay.
  • A local saved-transmitter library with UUID-based reconnection, individual forgetting, and automatic migration of the single transmitter remembered by beta.2. New transmitters are stored only through explicit opt-in after authentication + Sync.
  • Developer ID signing with Hardened Runtime and a secure timestamp, Apple notarization, a stapled ticket, and a signed drag-to-Applications DMG accepted by Gatekeeper.

Global Multi behavior

Turning MULTI on atomically places every active compatible workspace group in Multi. Groups that were already Off remain outside the sequence and can be added from the console or their overlay. Active incompatible groups are moved to Off because the documented transmitter coverage only includes Multi groups A–E. The last participant cannot be removed locally; Global Multi must be closed with the top-level button.

Multi power, flash count, and frequency are global A0 values. Group A1 records participation and preserves the underlying Manual value required by the protocol. Groups outside the configured workspace do not receive A1.

Turning MULTI off makes every workspace group active in Manual. It does not restore the earlier M/TTL/Off scene. HSS is excluded from this flow.

For AD400Pro II, Estrobo limits and normalizes flash count using the manufacturer's published power × frequency rows. The manual does not publish a separate 51–59 Hz row, so Estrobo conservatively applies the 60–100 Hz ceiling and labels that interval as unpublished. Other flash models never inherit the AD400Pro II table and remain explicitly unverified.

Test confirms at most that the command reached CoreBluetooth. A person must observe the requested sequence in an optically safe environment, starting at the common lowest power, 2 flashes, and 2 Hz. Bluetooth does not report how many flashes actually fired.

Version and update identity

  • Bundle identifier: mx.loo.estrobo
  • Version: 0.1.0
  • Build: 3
  • Minimum macOS: 13.0
  • Architectures: arm64 and x86_64

Beta 3 keeps the same bundle identifier as beta.2, so it is designed to preserve that beta's preferences and container identity. Its single saved-transmitter record is migrated into the new library automatically. Sharing the identifier and passing automated migration tests do not by themselves prove every real beta.2beta.3 upgrade; verify the saved transmitter and workspace after updating. Data from the earlier prototype bundle identifier is still not migrated automatically.

Privacy and security

  • No Estrobo account, backend, network entitlement, analytics, or telemetry.
  • App Sandbox and Bluetooth entitlement enabled.
  • Remembering each transmitter and Radio Code is opt-in and starts off.
  • A remembered name, UUID, and code are stored locally and unencrypted only after PWOK + Sync; Forget removes that library entry without deleting the others.
  • The six-digit Radio Code is a local trigger PIN, not a strong credential or high-value secret. Do not reuse a personal PIN.

Sync behavior and remaining limits

Connecting deliberately overwrites global A0 and every configured group's A1 with Estrobo's local state. There is no complete trigger → app readback. FEC8 does not identify a group, return applied values, or prove an optical result.

Channel changes, non-neutral TTL compensation, Radio Code changes, firmware, and OAD remain unavailable. TTL, Beep, Standby, fixed modeling intensities, group coverage, and every optical result still depend on physical model and firmware validation.

Read Automatic synchronization before connecting hardware.

Download and install

  1. Download estrobo-v0.1.0-beta.3-macos-universal.dmg, SHA256SUMS, and estrobo-v0.1.0-beta.3-manifest.json from this GitHub Release only.
  2. Keep the three files together, open Terminal in their folder, and run shasum -a 256 -c SHA256SUMS. Continue only if both the DMG and manifest report OK.
  3. Open the DMG and drag estrobo.app onto the Applications folder shown beside it.
  4. Eject the disk image, open Estrobo from Applications, confirm the normal downloaded-app prompt if macOS shows it, and grant Bluetooth access when requested.

If macOS says the developer cannot be verified, do not bypass Gatekeeper or remove quarantine. Delete that copy, verify the checksum, and download the official DMG again.

Verify the download

Expected DMG SHA-256: 16394ce932734627f7a928866abb2e781841ba799d2c31a15e64cf0781872ed5.

shasum -a 256 -c SHA256SUMS
spctl --assess --type open --verbose=4 \
  --context context:primary-signature \
  estrobo-v0.1.0-beta.3-macos-universal.dmg
codesign --verify --deep --strict --verbose=2 /Applications/estrobo.app
spctl --assess --type execute --verbose=4 /Applications/estrobo.app

The manifest records the release tag and commit, both architectures, minimum macOS version, Developer ID Team ID, signing-certificate digest, Apple notarization submission IDs, and the DMG digest. Gatekeeper should report Notarized Developer ID for both the disk image and the installed app.

Support and independence

Report non-sensitive usage and compatibility problems through GitHub Issues. Report exploitable vulnerabilities through Private Vulnerability Reporting.

Never include a real Radio Code, authentication payload, full UUID, personal information, token, key, or private certificate in a report.

Estrobo is an independent project. It is not affiliated with, sponsored, endorsed, or officially maintained by Godox. This repository currently has no open-source license.