Skip to content

Releases: jx-grxf/SlamX

SlamX v0.3.4

21 Apr 09:56
v0.3.4
b3188cd

Choose a tag to compare

⚠️⚠️ Note ⚠️⚠️

For some systems there is a chance that you need admin rights to fetch the HID sensor stream, IF your onboarding process doesn't work or SlamX doesn't register slams use this FIX-release (you need to enter your admin-pw at every start): v0.3.4-fix

  • Im working on a fix.

Release Links

Highlights

  • Removed the osascript administrator prompt from normal monitoring startup.
  • Reduced live monitoring overhead by restoring the direct HID dispatch queue and compact sensor report buffer.
  • Fixed Sparkle release notes generation so the update window shows notes again.
  • Brought the v0.3.3 release branch back onto the mainline release path.

Fixed

  • The monitor no longer starts a privileged helper for normal users. This fixes repeated password prompts on every app restart and monitor start/stop cycle.
  • The Sparkle appcast now embeds release notes by generating a matching notes file before generate_appcast runs.

SlamX v0.3.4-fix

21 Apr 09:56
v0.3.4-fix
cfcf0a5

Choose a tag to compare

SlamX v0.3.4-fix Pre-release
Pre-release

SlamX v0.3.4-fix Pre-Release

⚠️⚠️ Note ⚠️⚠️

This is intentionally a pre-release for Macs that still need administrator access for sensor streaming. Use the stable v0.3.4 release first: v0.3.4

Release Links

Highlights

  • Keeps a privileged sensor-helper path for Macs that cannot stream the SPU sensor without admin access.
  • Keeps the lower-overhead sensor pipeline from v0.3.4 where possible.
  • Includes embedded Sparkle release notes.

SlamX v0.3.3

19 Apr 09:29
v0.3.3
d716a2f

Choose a tag to compare

SlamX v0.3.3 Pre-release
Pre-release

⚠️ !!!NOTE!!! ⚠️

On SOME systems
Onboarding process & start monitoring now require admin password (root) every time after restarting the app!
WILL BE FIXED IN THE NEXT RELEASE!

  • The app needs admin privileges so it can access the HID and SPU stream, so far I found no better solution.
    - you can also use v0.3.2 if its more stable for you.

Highlights

  • Restores live Apple SPU accelerometer detection on macOS builds where the device is visible but emits no reports until the driver is explicitly woken.
  • Adds a local privileged sensor helper so SlamX can receive live reports when macOS requires elevated AppleSPU access.
  • Keeps SlamX sensor-only; no microphone fallback was introduced.

Fixed

  • Fixed onboarding getting stuck on "Verify detection" with "Sensor Available" and "Detection Pending".
  • Technical cause: the previous check only proved that AppleSPUHIDDevice could be found/opened. On the affected system the HID report queue stayed empty because recent Apple SPU drivers require SensorPropertyReportingState, SensorPropertyPowerState, and ReportInterval to be set before live reports are emitted.
  • The sensor path now wakes the SPU driver before opening the accelerometer and uses a larger HID report buffer with run-loop scheduled callbacks.
  • For normal app launches, SlamX starts the same executable in --sensor-helper mode through macOS administrator approval and streams JSON samples back over a local FIFO.

Improved

  • Onboarding now tells the user to approve the sensor helper when live samples have not arrived yet.
  • README now documents the local sensor helper requirement on recent macOS builds.
  • Added JSON roundtrip coverage for streamed MotionSample payloads.

Pull Requests

  • #14 fix(sensor): wake apple spu live stream

Verification

  • swift test
  • xcodebuild -project SlamX.xcodeproj -scheme SlamX -configuration Release -destination 'platform=macOS' build
  • Release helper smoke test against .build/xcode-release/Release/SlamX.app streamed live accelerometer JSON samples.

Assets

  • SlamX-0.3.3.dmg
  • SlamX-0.3.3.dmg.sha256
  • appcast.xml
  • Source archives: .zip and .tar.gz

SlamX v0.3.2

18 Apr 16:29
v0.3.2
ef07e4f

Choose a tag to compare

⚠️!!!NOTE!!!⚠️

- use v0.3.3 if you have problems with the SLAM-detection in the onboarding or if the app doesn't detect anything.

Highlights

  • SlamX now publishes Sparkle update downloads through the concrete GitHub release tag URL.
  • The release flow no longer depends on the mutable latest redirect for the DMG enclosure.

Fixed

  • Fixed Sparkle update failures where GitHub/CDN could return a transient 504 gateway timed out while resolving the latest/download DMG URL.
  • Fixed the release asset scripts so future appcasts use stable tag-specific DMG links by default.
  • Fixed appcast URL-prefix handling by normalizing a missing trailing slash before calling Sparkle.

Improved

  • Improved release repeatability by making the appcast download URL prefix configurable through APPCAST_DOWNLOAD_URL_PREFIX.
  • Improved the Sparkle release documentation to explain why tag-specific update downloads are preferred.

Pull Requests

  • #12 Fix Sparkle tagged download URLs
  • #13 Normalize Sparkle download prefix

SlamX v0.3.1

18 Apr 16:14
v0.3.1
ccdd22e

Choose a tag to compare

Highlights

  • SlamX now preserves onboarding, counter, threshold, and sound preferences across the SlamDih to SlamX rename.
  • Release packaging now produces SlamX-named DMG, checksum, appcast, and source archive assets.
  • CI now separates OSV full scans from PR delta scans so dependency checks remain useful and stable.

Fixed

  • Fixed onboarding state loss after installing a renamed build by migrating existing com.johannesgrof.slamdih defaults into the active com.johannesgrof.slamx preferences domain when the new app starts.
  • Fixed custom audio continuity by copying legacy Application Support/SlamDih/CustomSounds MP3 files into the SlamX custom sound directory.
  • Fixed release asset drift where GitHub assets could still be produced with the old SlamDih name after the app rename.
  • Fixed CI dependency scanning shape by removing the unsupported Dependency Review job and keeping OSV as the supported PR dependency signal.

Improved

  • Improved release repeatability with a dedicated asset script and a guard that fails if legacy SlamDih* asset names are generated.
  • Improved PR security feedback by using OSV's reusable PR workflow for introduced-vulnerability detection and a scheduled/push full scan for repository-wide coverage.
  • Improved update metadata by generating a fresh appcast for build 4.

Pull Requests

  • #11 Fix SlamX persistence and release packaging

SlamX v0.3.0

18 Apr 10:41
v0.3.0
7179679

Choose a tag to compare

Highlights

  • Startup update checks now use Sparkle's standard background flow, so SlamX checks for releases on launch and only presents the update UI when an update is actually available.
  • The About screen now always shows the installed app version and build number, plus a manual "Check for Updates..." action.
  • SlamX is now fully sensor-only: live detection depends on the built-in Apple SPU accelerometer, with unsupported Macs treated as unsupported instead of falling back to microphone detection.
  • Calibration was rebuilt around clearer phase separation, gated impact recognition, softer tap detection, and a more stable layout.
  • Custom audio sounds are supported from the monitor flow, alongside the built-in whip sound and onboarding sound test.
  • Release packaging now uses the official Xcode build path, includes Sparkle correctly, and produces a verified DMG plus appcast-ready metadata.

Fixed

  • Fixed the launch update flow by replacing appcast-info polling with Sparkle's background update check. The previous implementation could learn that a release existed without driving the standard user-facing update window at startup.
  • Fixed release packaging by building the macOS app through xcodebuild instead of manual SwiftPM bundle assembly. The manual bundle path could miss framework/package integration details that Sparkle expects inside a real app product.
  • Fixed remaining microphone-era packaging and onboarding behavior so the product direction stays sensor-only.
  • Fixed the About sidebar route becoming blank after navigation changes by restoring a stable About destination and keeping the hidden onboarding reset gesture intact.
  • Fixed calibration false positives and layout instability by separating calibration phases and only accepting detected impact samples.

Improved

  • Improved update visibility in the menu bar by showing checking, available, and ready-to-restart states.
  • Improved onboarding polish with animated scanner states, a required sound test, and clearer accelerometer readiness.
  • Improved settings around sensor-only operation, launch behavior, sound choice, and monitoring controls.
  • Improved public README and update-test documentation so installing, building, and validating Sparkle updates is less fragile.
  • Improved release reliability with generated SHA-256 checksums, embedded release notes in the appcast, and verified DMG output.

Pull Requests

  • #3 feat: add Sparkle updates
  • #4 combine onboarding, Sparkle, and sound updates
  • #5 fix(mac): keep monitoring alive in background
  • #6 Add custom audio sounds
  • #7 fix(config): use xcode packaging for releases
  • #8 chore(release): prepare 0.2.1
  • Direct main commit: 7179679 feat(app): add startup update checks

SlamX v0.2.1

18 Apr 10:34
v0.2.1
e42fcc2

Choose a tag to compare

Highlights

  • Ships the official Xcode-based release packaging path for SlamX.
  • Adds Sparkle-ready release assets for the first real update-flow test.
  • Shows the installed app version and build number in the About view.

Fixed

  • Fixed release app packaging by replacing the manual SwiftPM bundle assembly with an Xcode project build.
    The previous path copied the executable and resources by hand, which produced an invalid bundle layout once Sparkle.framework was embedded. The new path lets Xcode build the app structure, then signs and verifies the resulting bundle.
  • Fixed version propagation for release artifacts.
    package-app.sh and create-dmg.sh now pass MARKETING_VERSION and CURRENT_PROJECT_VERSION into xcodebuild, so Sparkle sees the correct sparkle:version.

Improved

  • Release DMG generation now reuses the same app packaging script as local .app builds.
  • The README now documents the Sparkle-ready release flow with app, DMG, and appcast commands.
  • The About screen now makes update testing easier by displaying the app's installed version and build.

Pull Requests

  • #7 fix(config): use xcode packaging for releases
  • #8 chore(release): prepare 0.2.1

SlamX v0.2.0

17 Apr 07:21
v0.2.0
88ed690

Choose a tag to compare

Highlights

  • Added the onboarding sensor flow with a required damage disclaimer before first use.
  • Added Sparkle update support with signed appcast generation.
  • Added the Sexy and Yowch sound options.
  • Combined all active feature branches into one stable main release.

Fixed

  • Fixed menu bar stats appearing disabled: menu stats are now active rows that show their values and can copy the stat when clicked.
  • Fixed background monitoring: the Apple SPU HID callback no longer depends on the main app window run loop. It now uses a dedicated dispatch queue and keeps a monitoring activity alive while listening.
  • Fixed closing behavior: closing the last window with the red button no longer terminates SlamX, so monitoring can continue from the menu bar.

Improved

  • Prepared version metadata for 0.2.0 / build 2.
  • Included a verified DMG, SHA-256 checksum, and Sparkle appcast.xml.
  • Kept release artifacts compatible with the configured Sparkle feed URL.

Pull Requests

  • #4 combine onboarding, sparkle, and sound updates
  • #5 keep monitoring alive in background

Validation

  • GitHub CI Swift test passed.
  • Local swift build passed.
  • Release DMG was built with Xcode and verified by hdiutil.
  • Sparkle appcast was generated for version 0.2.0 / build 2.

SlamX v0.1.0

16 Apr 19:33
v0.1.0
b552f21

Choose a tag to compare

Highlights

  • First SlamX release as a native macOS app.
  • Detects MacBook impact motion via the built-in Apple SPU HID accelerometer stream.
  • Plays selectable slap or fart sound effects with a live slap counter and sensor readout.
  • Ships as a polished DMG created with sindresorhus/create-dmg.

Fixed

  • Fixed the About screen blank-state regression by replacing the fragile NavigationSplitView/List(selection:) path with a stable custom macOS sidebar. The failure was caused by SwiftUI losing the detail host during selection changes, which left the window visually black while the app process kept running.
  • Trimmed the slap sound startup delay so playback reacts immediately instead of waiting through the original leading silence.

Improved

  • Added the custom SlamX app icon in all required macOS icon sizes.
  • Added reproducible release packaging through scripts/create-dmg.sh, including Xcode Release build, ad-hoc app signing, DMG verification, and SHA256 output.
  • Improved the sidebar spacing and tab switching feel.

Pull Requests

  • #1 feat: bootstrap SlamX mac app
  • #2 release: 0.1.0