Skip to content

Releases: shizunavn/OpenHero68

OpenHero68 v0.5.3.2

Choose a tag to compare

@github-actions github-actions released this 11 Oct 11:07

OpenHero68 service v0.5.3.2 / UI v0.9.57

Remove audio Beat Pulse (Rhythm mode 430) because its beat detection was
unreliable on real music. Remove the detector, renderer and timing controls;
the proposed Speedcore controls are not included.

Saved Beat Pulse presets and web drafts migrate to Dynamic Spectrum (428),
retaining shared audio/color settings. New API and native requests for mode
430 are rejected. Other Rhythm modes and Custom Tempo Pulse (manual BPM)
retain their existing behavior.

Install the complete Windows setup and deploy UI 0.9.57 to remove this mode
from both the native app and web editor.

Validation: 585 JavaScript tests pass, including legacy preset migration and
rejection of new mode 430 commands. Native Rhythm regressions pass; the Windows
HID helper compiles and actual loopback capture still provides a PCM meter with
no stale state after stop. Web and service TypeScript builds pass, and the
Cloudflare Pages ZIP is verified. Browser fixture shows the seven remaining
Rhythm modes without Beat Pulse and no console errors.

OpenHero68 v0.5.3.1

Choose a tag to compare

@github-actions github-actions released this 06 Oct 11:56

OpenHero68 service v0.5.3.1

  • Fix quiet playback being missed by Beat Pulse. Smooth input normalization
    before spectral analysis keeps the original onset thresholds and noise checks.
  • Fix Beat Pulse never locking tempo on 192 kHz endpoints. Limit analysis to
    48 kHz, preserving the sample timeline and resampling phase across packets.
  • Fix the Audio meter displaying LED brightness rather than captured sound.
    Audio activity now checks both positive and negative sample peaks.

Install the complete Windows setup because the native HID/audio helper changed.
The existing web build can display the corrected Audio meter without redeployment.

Validation includes native Rhythm/Beat/Pulse suites, quiet (-50 dB) drum PCM
at 44.1, 48, 88.2, 96 and 192 kHz, digital silence/noise/pad/vibrato rejection,
and actual Windows loopback capture. A local loopback probe locked near 128 BPM
and rendered pulses; that does not establish ground-truth BPM for arbitrary
music or physical LED timing. Some tracks can still have ambiguous tempo.

Beat Pulse estimates tempo within 60–200 BPM. Synthetic fast-drum probes at
240–600 BPM still rendered pulses, but locked to slower subdivisions; at
1000 BPM the probe did not lock. Full-speed speedcore synchronization is not
supported by this release. These probes are not tests of actual speedcore tracks.

OpenHero68 v0.5.3

Choose a tag to compare

@github-actions github-actions released this 05 Oct 13:05

OpenHero68 service v0.5.3 / UI v0.9.56

  • Add Ember, Starlight, Afterglow and Tempo Pulse (manual 40–200 BPM), with
    Ember, Ocean, Sakura and Synthwave palettes.
  • Correct Ember height, Starlight density limits, Afterglow continuity on quick
    taps and repeated presses, and visible Tempo Pulse tails at high BPM.
  • Include new gradient layers when selecting contrasting automatic colors.
  • Add audio Beat Pulse (Rhythm mode 430), sensitivity and synchronization offset.
    Use sample-clock timestamps, source-specific event corrections and complete
    reset when capture restarts. Cancel pending predictions when beat lock is lost.
  • Hide unused Pulse controls and prevent starting modes unsupported by an older
    installed service. Preserve existing Rhythm modes and saved settings.
  • Include the adjustable Scan endpoint pause added since v0.5.2.1.

Install or update with OpenHero68-Setup-Windows-x64.exe. This release includes
the updated native helper; a legacy core-only update is insufficient. Existing
setup installations can use the signed full application update.

Validation: 584 JavaScript tests, web/service typechecks, MSVC Rhythm/Beat/Pulse
regressions, native helper compilation, and local browser controls. GitHub
Actions additionally builds the production web and complete Windows installer,
runs isolated installation/update/rollback smoke tests, and signs and verifies
the setup release before publishing.

Beat Pulse may detect a tempo different from the track BPM. Real Windows
loopback probes produced variable estimates; stable accuracy across real music
and physical keyboard latency have not been verified. Allow a few seconds for
beat lock. Negative offset advances predicted beats; detected hits cannot be
displayed before detection.

The cloudflare-pages Actions artifact contains open-hero68-pages.zip for
dashboard upload, including the region Worker. Publishing this GitHub release
does not deploy Cloudflare Pages.

OpenHero68 v0.5.2.1

Choose a tag to compare

@github-actions github-actions released this 05 Oct 04:00

OpenHero68 service v0.5.2.1

  • Redesign Multicolor Scan with a continuously flowing spectrum, a soft light
    envelope and eased turns. Remove abrupt random color changes at scan boundaries.
    Color animation stays smooth independently of scan speed and skipped frames.
  • Improve automatic Multicolor contrast over Aurora for Scan, Breath, Ripple,
    Reaction, Trail, Jelly, AOE, Touch and Pressure Wave. Choose from a hue range
    that contrasts with the entire animated background palette, including its
    intermediate colors and lower legacy Aurora/Comet layers.
  • Keep event colors stable through presses, holds and fades. Comet retains its
    selected palette; using the same palette as Aurora can still reduce contrast.
  • Support three- and four-part service versions in setup updates, installation
    records and Windows executable metadata. API version remains 6.

Updating from v0.5.2 or earlier: download and run
OpenHero68-Setup-Windows-x64.exe manually. Older updaters only recognize
three-part versions and cannot automatically install this four-part release.
The installer preserves saved settings.

Validation includes Multicolor Scan continuity at turns and spectrum boundaries,
Aurora contrast across automatic-color effects, render cadence independence,
encoded HID packet limits, version ordering and signed setup update handling.
GitHub Actions builds and tests the web app and Windows installer, runs isolated
installation/update/rollback smoke tests, and signs and verifies the release
assets before publishing. LED appearance has not been checked on a physical
keyboard.

OpenHero68 v0.5.2

Choose a tag to compare

@github-actions github-actions released this 04 Oct 16:55

OpenHero68 service v0.5.2

  • Fix intermittent Custom RGB stalls when combining Aurora, Scan and Pressure
    Wave. Native stdout writes now run on a dedicated writer thread, so a slow
    service reader cannot block the RGB timer. Reply and key event queues are
    bounded; stale telemetry is replaced with its latest value.
  • Send due lighting frames before starting another blocking Hall request, and
    retain the latest sample for every subscribed key when Hall snapshots merge.
  • Reduce Custom RGB rendering work by caching palettes and Scan bounds and
    skipping hidden firmware key animation when Aurora replaces the base.
  • Preserve frame totals and long-gap statistics across merged telemetry, and
    expose native timer and IPC queue statistics through service status.

Validation: the full repository test suite, web build, native queue tests and
MSVC service build passed. The setup signature and SHA-256 were verified. In a
hardware-free probe, blocking stdout for 350 ms
preserved all 73 native timer ticks and 2,000 command replies; the maximum tick
gap was 17.2 ms. Shutdown with blocked stdout also passed.
Isolated setup smoke tests passed installation to a Unicode path, two full
updates, restart, health rollback, interrupted-update recovery, data
preservation and uninstall.

The native bridge repeats the most recent frame while the service is delayed.
This fix prevents stdout backpressure from blocking the native timer; animation
still depends on the service producing fresh frames. API version remains 6.

OpenHero68 v0.5.1

Choose a tag to compare

@github-actions github-actions released this 04 Oct 12:58

OpenHero68 service v0.5.1

  • Fix: tray "Check for updates" no longer shows a blocking "Up to date" dialog
    before the Windows toast notification appears. All update results (up to date,
    updating, failed) now use consistent toast notifications; only the "package"
    case that requires user action keeps a dialog.
  • Fix: tray "Check for updates" no longer shows "Updating the app" toast when
    the app is already up to date. The launcher now receives the real result
    only after the version check completes.
  • Fix: Windows atomic file rename retries on EPERM/EBUSY to prevent rare
    crashes during concurrent status reads and writes on NTFS.

OpenHero68 v0.5.0

Choose a tag to compare

@github-actions github-actions released this 04 Oct 12:21

OpenHero68 service v0.5.0

  • Windows setup EXE with optional Desktop shortcut and Auto-start.
  • Optional ViGEmBus driver installation is shown only if the driver is missing.
  • One-click signed full application updates, automatic app restart and rollback.
  • Updates never restart Windows; driver reboot requirements are reported only.
  • Settings, presets and logs stay in their existing LocalAppData directory.
  • Windows builds, installer smoke tests and tag releases run in GitHub Actions.

Portable users run the setup once to migrate. New installations ignore legacy
downloaded cores. Gamepad remains disabled when the app starts. Windows publisher
signing is not configured, so first-run SmartScreen prompts may still appear.

OpenHero68 RGB Service v0.4.6

Choose a tag to compare

@shizunavn shizunavn released this 04 Oct 09:51

OpenHero68 service 0.4.6

Digital gamepad buttons now follow the assigned key's Actuation Point and Rapid
Trigger settings read from the active HERO68 firmware profile. Previously the
service treated the Hall diagnostic pressed flag as AP/RT output without verifying
that correspondence, so changing AP or RT could leave Xbox buttons unchanged.

The native helper evaluates Hall distance using AP, separate press/release RT
thresholds and enabled top/bottom deadzones. RT can reactivate below AP until the
stroke resets at the top. Digital Hall sampling is 200 Hz. Analog controls retain
their existing independent travel mapping.

Start and profile/binding changes read firmware settings. AP/RT/deadzone edits
through the service reload them once per completed transaction while preserving
the Xbox controller and firmware suppression backup. Missing or malformed settings
prevent output; stale samples and pause still neutralize and require resting keys.

Install the complete Windows x64 0.4.6 ZIP. A core-only update cannot replace
the native helper, and the signed update manifest requires launcher 0.4.6.

Validation covers distance sequences with deliberately contradictory diagnostic
pressed flags, split RT and reactivation below AP, deadzones, stale recovery,
complete readback, live settings edits and independent profiles. Physical switch
behavior remains limited by the 200 Hz Hall snapshots; thresholds traversed wholly
between snapshots cannot be reconstructed.

OpenHero68 RGB Service v0.4.5

Choose a tag to compare

@shizunavn shizunavn released this 04 Oct 09:26

Gamepad startup, drag removal and RGB workspace

Mapped controller controls can now be dragged from the keyboard onto the
mapping panel or anywhere outside the keyboard to remove them. The drag preview
shows "Drop to remove binding" in red. Dropping onto another key moves the
binding and preserves its analog travel settings; cancelling the drag keeps
the mapping. Changes continue to save and apply automatically.

RGB's Onboard, Custom and Rhythm editors now share a toolbar and preview panel,
with current lighting output, Start/Back to onboard controls, sync notices and
draft recovery together. Custom base effects use a separate chooser; layer LED
selection and per-key painting controls sit below the keyboard preview. RGB
previews hide Advanced Key badges, retain side-light preview frames and include
the updated Vietnamese effect and status labels.

ViGEmBus 1.22.0's ready request gives Windows one second to initialize the
virtual Xbox device. Slow initial xusb enumeration can exceed that window and
return Windows 483. The native client now retains the same child for up to ten
additional seconds and repeats the driver's readiness wait on the same serial.
It does not declare success for a timeout, failed wait or permanent driver
error. Failure still unplugs the
child and preserves the actual Windows error.

Xbox Start now has a 15-second native watchdog and a 30-second browser request
window. Ordinary HID commands keep their 2-second watchdog and status/config
requests keep their 5-second deadline. This prevents the service from killing
an otherwise healthy helper while Windows finishes cold initialization.

Startup also identifies its own XInput slot using a tiny four-axis bootstrap
report before immediately neutralizing it. ViGEm's user-index query can return
no output and incorrectly label another connected controller as player one;
the adapter now verifies its own device instead. No buttons or triggers are
sent by this bootstrap, and the axis values are below standard deadzones.

The complete Windows ZIP is required: launcher/native helper 0.4.5.
The signed core requires launcher 0.4.5 so older installations are offered the
full package instead of a JS-only update that would leave the old native code.
ViGEmBus remains a separate driver installation.

Validation: production web and Windows builds, 533 JavaScript regressions, signed
core and ZIP checksum/entry verification. Native simulated-bus tests cover
delayed boot on one target, bounded timeout, immediate
and asynchronous fatal errors, cleanup failure and pre-1.17 compatibility.
Service integration delays native Start for 5.2 seconds and verifies firmware
blocking/restoration afterward. Component drag tests cover removal, cancel,
moving analog settings, same-key/background drops and palette assignment.
Live ViGEmBus checks passed for forced timeout recovery on one target and two
warm Start/Stop cycles. With another controller occupying slot 0, the new
target was correctly verified at slot 1 with all actual controls neutral.

The machine's first post-reboot initialization has not been reproduced by these
simulations. Persistent Windows driver faults cannot be guaranteed away by a
user-mode change; a failed initialization still returns an error.

OpenHero68 RGB Service v0.4.4

Choose a tag to compare

@shizunavn shizunavn released this 04 Oct 07:48

OpenHero68 v0.4.4

Custom Effects now uses Start Custom and Return to onboard. Running changes
sync automatically; reopening the editor joins the existing configuration and
live preview without restarting playback. Different local drafts remain
available through Restore draft.

  • Preset updates keep one request in flight and one latest edit pending. Disk
    saves coalesce after 300 ms and complete when playback stops or the app exits.
    Revision checks protect against conflicting editors; old acknowledgements
    do not replace newer edits. API 6 and the preset schema remain unchanged.
  • The Onboard tab only opens its editor. Use onboard lighting returns to the
    existing firmware effect immediately, including unchanged Rainbow. Saving
    onboard RGB returns before writing; saving AP/RT elsewhere keeps RGB running.
  • Onboard and Custom Per-key Color share a painting toolbar directly below the
    keyboard preview: selected count, All/WASD/arrows, clear, color picker, editable
    HEX and Paint keys. Brush changes do not paint; black turns key LEDs off.
  • Actuation controls use yellow for a uniform value and gray for mixed values.
    Empty selection still disables editing. RT split retains both sensitivities
    and hides the Advanced Key icon; single-value RT retains it and its tooltip.
  • The sidebar animates width over 220 ms and text over 140 ms, preserving the
    current page and focus. Reduced motion disables these transitions.

Validation: 533 automated tests passed, web/service TypeScript and Windows builds
passed, signed core and all eight Windows package files verified. Browser checks
used an isolated simulated service for joining, Start/Stop, live painting, HEX,
onboard switching, RT overlays, AP and sidebar. The painting toolbar was checked
at 390 px width. No physical keyboard writes, driver install, new hardware
benchmark or extended stress test was performed for this release.

The signed core requires launcher 0.4.2 or newer. The complete Windows ZIP
bundles launcher 0.4.4. ViGEmBus remains a separate driver installation. Upgrade
the background app to use automatic Custom session recovery.

Web and service source are included in GitHub. This release contains only the
Windows ZIP, its checksum and the signed core pair; no Cloudflare Pages ZIP or
Cloudflare deployment.