Releases: jx-grxf/SlamX
Releases · jx-grxf/SlamX
SlamX v0.3.4
⚠️ ⚠️ 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
- Stable no-admin build: v0.3.4
- Admin-helper pre-release: v0.3.4-fix
- Changes since v0.3.3: v0.3.3...v0.3.4
Highlights
- Removed the
osascriptadministrator 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_appcastruns.
SlamX v0.3.4-fix
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
- Stable no-admin build: v0.3.4
- This admin-helper build: v0.3.4-fix
- Changes since v0.3.3: v0.3.3...v0.3.4-fix
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
⚠️ !!!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
AppleSPUHIDDevicecould be found/opened. On the affected system the HID report queue stayed empty because recent Apple SPU drivers requireSensorPropertyReportingState,SensorPropertyPowerState, andReportIntervalto 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-helpermode 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
MotionSamplepayloads.
Pull Requests
- #14 fix(sensor): wake apple spu live stream
Verification
swift testxcodebuild -project SlamX.xcodeproj -scheme SlamX -configuration Release -destination 'platform=macOS' build- Release helper smoke test against
.build/xcode-release/Release/SlamX.appstreamed live accelerometer JSON samples.
Assets
SlamX-0.3.3.dmgSlamX-0.3.3.dmg.sha256appcast.xml- Source archives:
.zipand.tar.gz
SlamX v0.3.2
⚠️ !!!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
latestredirect for the DMG enclosure.
Fixed
- Fixed Sparkle update failures where GitHub/CDN could return a transient
504 gateway timed outwhile resolving thelatest/downloadDMG 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
SlamX v0.3.1
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.slamdihdefaults into the activecom.johannesgrof.slamxpreferences domain when the new app starts. - Fixed custom audio continuity by copying legacy
Application Support/SlamDih/CustomSoundsMP3 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
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
xcodebuildinstead 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:
7179679feat(app): add startup update checks
SlamX v0.2.1
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.shandcreate-dmg.shnow passMARKETING_VERSIONandCURRENT_PROJECT_VERSIONintoxcodebuild, so Sparkle sees the correctsparkle:version.
Improved
- Release DMG generation now reuses the same app packaging script as local
.appbuilds. - 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
SlamX v0.2.0
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
mainrelease.
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/ build2. - Included a verified DMG, SHA-256 checksum, and Sparkle
appcast.xml. - Kept release artifacts compatible with the configured Sparkle feed URL.
Pull Requests
Validation
- GitHub CI
Swift testpassed. - Local
swift buildpassed. - Release DMG was built with Xcode and verified by
hdiutil. - Sparkle appcast was generated for version
0.2.0/ build2.
SlamX v0.1.0
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.