estrobo 0.1.0-beta.3
Pre-releaseestrobo 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–100flashes,1–100 Hz, and a minimum-exposure estimate rounded upward to0.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 Hzinterval, 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:
arm64andx86_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.2 → beta.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
- Download
estrobo-v0.1.0-beta.3-macos-universal.dmg,SHA256SUMS, andestrobo-v0.1.0-beta.3-manifest.jsonfrom this GitHub Release only. - 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 reportOK. - Open the DMG and drag
estrobo.apponto the Applications folder shown beside it. - 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.appThe 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.