Changelog
All notable changes to Synapse, following Keep a Changelog.
v0.4.0 Latest
2026-09-12
Changed
- **Renamed local/parameter/field `orch` to `orchestrator` for naming
Deprecated
- `SafeOpMode.orch` retained as a deprecated alias. Subclasses that still
v0.3.1
2026-09-07
Changed
- Published metadata refresh. POM
namecorrected toSynapse(was - Prose cleanup. Brand-name mentions removed from the Javadoc on
- Author credit. Added a "Credits" section to the README and a
v0.3.0
2026-09-07
Changed
- Project renamed to Synapse. The repository, Maven artifact, Java
- Maven coordinates:
com.aaravlabs:pubsub→com.aaravlabs:synapse - Java base package:
com.aaravlabs.pubsub→com.aaravlabs.synapse - ProGuard rules file renamed:
META-INF/proguard/pubsub.pro→ - Hardware thread name prefix:
pubsub-→synapse- - README rewritten with a "Why Synapse?" overview, a hardware-threading
v0.2.1
2026-09-06
Changed
- Repackaged with the FTC SDK reference classes moved to
compileOnlystubs at
v0.2.0
2026-09-06
Added
-
@SubscribedTo,@RunPeriodically,@RunnableAction, and@OnHardwareThread -
SafeOpModebase class extendingcom.qualcomm.robotcore.eventloop.opmode.OpMode, -
HardwareActionsfacade withrun,call,callAsync, andbulkRead -
SafeDevice<T>generic wrapper around any hardware object. -
SafeHardwareMapthin wrapper around the FTC SDK'sHardwareMap. -
GamepadAdaptorreflection-based gamepad-to-topic publisher. - Two-pool executor model: separate scheduled and callback thread pools with
- Dedicated single-threaded hardware executor for all hardware-touching code.
- Cross-thread type normalization (
double↔Double) so annotation-bound -
isAssignableFrom-based publish type checks (so anObject-typed topic - Auto-creation of topics on first publish (a-la Heron's behavior).
- JUnit 5 test suite of ~53 tests covering topics, subscriptions, periodic