Releases: loomitz/estrobo
Release list
estrobo 0.1.0-beta.3
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–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.
estrobo 0.1.0-beta.2
estrobo v0.1.0-beta.2
English | Español
Estrobo's first limited public beta for macOS. The earlier beta.1 tag remained an unpublished internal candidate; beta.2 is the first prerelease intended for sharing.
Warning
This build is self-signed, not signed with Apple Developer ID, and not notarized. macOS will show a Gatekeeper warning. Verify the checksum and download source before opening it.
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 uses a Godox X3Pro trigger with Bluetooth enabled and Godox AD400Pro II flash units. Estrobo connects to the X3Pro; the AD400Pro II units communicate through the trigger's Godox radio system. The exact camera variant and firmware revisions were not recorded, and this does not guarantee that every feature has been optically validated. Other triggers exposing the supported BLE/GATT profile and other Godox X-system flashes may also be compatible, but Estrobo does not claim support until each trigger, flash, and firmware combination is physically verified. This matrix does not replace the separate prepublication hardware smoke test required for the exact release asset.
Highlights
- Native English and Spanish app for Apple Silicon and Intel Macs running macOS 13.0 or later.
- Local workspaces with trigger profiles, working groups, flash models, visibility, and presets.
- Channels, Inspector, and Matrix views over one shared session and draft state.
- Manual power in 1/3 EV steps, M/Auto TTL/Off, and off/proportional/fixed modeling light controls.
- Relative global adjustment, Beep, Standby, and explicit Test.
- Automatic delivery with a 700 ms debounce or On Apply mode.
- Transactional slider editing that sends only the final value after release.
- Initial A0 → serial A1 synchronization with GATT/
FEC8confirmation and fail-closed recovery. - Explicit
--mock-radiomode that creates no Bluetooth session and sends no physical commands.
Version and local identity
- Bundle identifier:
mx.loo.estrobo - Version:
0.1.0 - Build:
2 - Minimum macOS:
13.0 - Architectures:
arm64andx86_64
The public bundle identifier differs from the earlier prototype identity. Prototype radios, Radio Codes, workspaces, and presets are not migrated automatically.
Privacy and security
- No Estrobo account, backend, network entitlement, analytics, or telemetry.
- App Sandbox and Bluetooth entitlement enabled.
- Remembering a trigger 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 them. - 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 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.
Multi editing is planned for a future release but is not available in this beta. Channel changes, non-neutral TTL compensation, Radio Code changes, firmware, and OAD are also unavailable. TTL, Beep, Standby, fixed modeling intensities, group coverage, and optical results remain dependent on physical model/firmware validation.
Read Automatic synchronization before connecting hardware.
Download and install
- Download
estrobo-v0.1.0-beta.2-macos-universal.zip,SHA256SUMS, andestrobo-v0.1.0-beta.2-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 ZIP and manifest reportOK. - Extract the ZIP, move
estrobo.appto Applications, and try to open it once. - After macOS blocks the first launch, open Apple menu → System Settings → Privacy & Security, scroll to Security, select Open Anyway, authenticate, and confirm Open.
Do not disable Gatekeeper, remove the quarantine attribute, or manually trust the self-signed certificate.
Verify the download
shasum -a 256 -c SHA256SUMS
gh attestation verify estrobo-v0.1.0-beta.2-macos-universal.zip \
--repo loomitz/estrobo \
--predicate-type https://github.com/loomitz/estrobo/attestations/manual-tag-rebuild/v1The attestation uses Estrobo's guarded manual-rebuild predicate: protected main supplied the workflow while the tagged commit supplied every release input. The manifest records the release tag and commit, both architectures, minimum macOS version, signing-certificate digest, and artifact digest.
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.