Skip to content

What's new ​

Announcements and every Remappr release, newest first. The app's start page shows the same feed.

Pinned ​

Community28 Sept 2026
Join the Remappr Discord

Ask questions, share your layouts and hear about new releases first.

Join the Discord →
Announcement28 Sept 2026
The Remappr docs are live

Guides for the builder, the editor and the JSON keymap config, plus a reference for every firmware target.

Open the docs →

0.1.0 Latest​

30 Sept 202611 features · 14 fixesView on GitHub

✨ New features

  • demoTry the unlock UI without a keyboard
  • encodersPick knob directions like mod-tap slots
  • headerCentre the project links in the top bar
  • lockUnlock prompt for action locks, one UnlockPanel
  • newsShow what's new after an update (#205)
  • newsStart-page news with layouts picked in Settings
  • rgbPaint every LED under a key
  • rgbPer-key paint on write-only firmware, optional indicators (#191)
  • sideload"Use board's layout" button (#189)
  • stageDraw encoders as a knob on a key cap
  • stageShow icons on encoder knobs, drop the arrow glyphs

🧩 Fixes

  • connectLet Redux DevTools serialize a Vial connection
  • connectLoad firmware clients independently
  • connectShow a new connection with its lock state
  • connectShow the client's connect notices (#187)
  • depsMirror the firmware client's XZ decoder
  • newsImport semver relatively so the docs build resolves it
  • profileSurvive bindings the firmware cannot set on restore
  • rgbAsk the firmware client which effects use the colour picker
  • rgbDrop per-key selection when leaving the Per-key tab
  • searchDrop the dead tag strip from key label matching
  • sideloadRe-read the device config after a layout upload
  • stageDraw knobs where the layout puts them, at cap size
  • stageStart every session with live view off
  • start-pageDevice previews show the board, not its bindings

0.0.16 ​

26 Aug 20264 features · 2 fixesView on GitHub

✨ New features

  • firmwareAutocorrect dictionary editor
  • firmwareLink-profile editor consuming GET_LINK_LIMITS (N6)
  • firmwareNode & cluster editor modal (§N4b role / §N4c mode-A)
  • firmwareUnicode input-method picker

🧩 Fixes

  • connectionOnly follow real hardware default-layer changes
  • keymapMatch key legends after the label-slot split

0.0.15 ​

28 Jul 20263 features · 1 fixView on GitHub

✨ New features

  • profileGeneralized backup/restore (ZMK) + per-device auto-connect
  • Support dialog, Discord release workflow, profile restore, auto-connect
  • supportAdd "Support this project" dialog with sponsor links

🧩 Fixes

  • auto-connectShow toggle on first pair, stop reconnect after manual disconnect

0.0.14 ​

20 Jul 20267 fixesView on GitHub

🧩 Fixes

  • buildAdd -linux suffix to the linux tarball artifact
  • buildDon't package other-OS native prebuilds; fix universal check
  • buildExclude .remappr clone cache from packaged app (#171)
  • buildMove platform prebuild excludes to top-level files list
  • buildRepair broken desktop packages (missing asar deps) + mac download UX
  • buildRestore missing transitive deps in app.asar (Cannot find module 'ms')
  • macShip Gatekeeper unblock instructions in the DMG and docs

0.0.13 ​

20 Jul 202619 features · 23 fixes · 4 performance improvementsView on GitHub

✨ New features

  • actionsBehavior icons in the action and command dropdowns
  • actionsDropdown tables, tooltips, picker icons
  • actionsHide non-settable mouse actions from the picker
  • actionsShow numeric param slots one-based when flagged; unify slot dropdowns
  • behaviorsConfig-blob conditional (tri-)layers editor
  • behaviorsConfig-blob hold-tap + mod-morph editor
  • builderBinding-picker target for mod-morph def bindings
  • builderSurface Remappr firmware in Communication + export
  • clusterCluster-diagnostics panel + live role feed (N4b-3)
  • dongleNKRO routing toggle on the dongle landing
  • firmwareShow the config-blob editors in demo mode
  • headerWarn when firmware ignores configured features (§7.4.1)
  • keymapFull key details in the cap hover tooltip
  • keymapRender composite icon legends on keycaps
  • keymapRender composite icon parts as the cap glyph
  • keymapRender param legends on advanced keycode caps
  • mouseUnify mouse behaviors in the action picker
  • saveAuto-save setting driven by a save-mode controller
  • timingConfig-blob timing/defaults editor (§7.4.1)

🧩 Fixes

  • actionsDon't show the keycode grid for zero-slot behaviors
  • actionsMake zero-slot behaviors assignable from the picker (#149)
  • actionsRender selected value in param dropdown trigger
  • Add &bt BT_SEL profile selection (#148) (#150)
  • buildAd-hoc sign the macOS app to stop the Bluetooth TCC crash
  • builderLabel the remappr meta.target family
  • buildShip universal macOS DMG for Intel + Apple Silicon
  • buildSource the macOS icon from resources/icon.png
  • Clear mac traffic lights in the editor sidebar, drop broken KDE Wayland color protocol
  • configRe-seed config store after every commit / discard
  • connectionClear the stuck "Connecting" state on a failed or hung connect
  • connectionDedup serial ports by vid:pid + timeout hung opens
  • depsAdd @noble/{ciphers,curves,hashes} for firmware auth.ts
  • depsBump js-yaml to 4.3.0 (GHSA-h67p-54hq-rp68)
  • keymapEllipsis-truncate long param/macro cap legends
  • keymapShow full key name in tooltip for abbreviated cap glyphs
  • macNarrow the BLE chooser to OS-connected devices
  • macWindow controls, pairing dialogs, universal-build guard
  • pickerShow unsettable macro tiles as display-only with explanatory toast
  • remapprImport identity seam from auth module, not the barrel
  • Revert "fix(mac): narrow the BLE chooser to OS-connected devices"
  • Self-heal the electron binary, inset headers past macOS traffic lights
  • start-pagePin the top bar instead of scrolling it away

🚀 Performance

  • canvasDebounce board refits during continuous resizes
  • configMark config stale on save, re-seed on demand
  • editOptimistic key edits + queued undo/redo
  • rendererCode-split heavy chunks, scope store selectors, fix hot paths

0.0.12 ​

5 Jul 20261 fixView on GitHub

🧩 Fixes

  • depsAdd @noble/{ciphers,curves,hashes} for firmware auth.ts (#151)

0.0.11 ​

10 Jun 20261 fixView on GitHub

🧩 Fixes

  • buildPackage full Electron runtime deps (fix "Cannot find module 'ms'") (#143)

0.0.10 ​

10 Jun 20261 fixView on GitHub

🧩 Fixes

  • buildStrip usocket on Windows + bsdtar for Linux pacman (#141)

0.0.9 ​

10 Jun 20261 fixView on GitHub

🧩 Fixes

  • buildUnblock Electron build-release install (usocket + zmk-client) (#139)

0.0.8 ​

10 Jun 20261 fixView on GitHub

🧩 Fixes

  • buildWindows usocket patch + pnpm electron-binary install (#137)

0.0.7 ​

10 Jun 20261 fixView on GitHub

🧩 Fixes

  • buildLinux/Windows builds, node 24, package size 534MB→291MB (#135)

0.0.6 ​

9 Jun 2026110 features · 29 fixes · 1 performance improvementView on GitHub

✨ New features

  • Adding more security to the project and updated readme and notice
  • buildCloud-build hardening — head_sha polling + encrypted token (phase 9)
  • builderCanvas editing — drag/resize/rotate/marquee + undo/redo (phase 3)
  • builderComplete default board + preset controller-seed + split-aware matrix
  • builderController board + pin mapping in the meta form
  • builderDesign a board from scratch (grid geometry)
  • builderEdit encoder cw/ccw/press bindings in the inspector
  • builderEditable matrix GPIO pins + add row/column
  • builderExport modal + board library + editor handoff (phase 6)
  • builderFirmware-aware deviceless binding picker
  • builderFree alpha/beta stage gate + blue primary theme
  • builderFree-form per-key geometry editor
  • builderFull-screen shell + start-page restyle (phase 1)
  • builderGuided first-run coachmark tour
  • builderHardware definition panel (board + kscan wiring)
  • builderImport-config + saved-builds start options with previews
  • builderInspector parity, cap rendering, per-key GPIO pin + element
  • builderLayout-options editor + visual Vial unlock-key picker
  • builderLeft panel — layers, identity/firmware/matrix/lighting, presets (phase 4)
  • builderLive Monaco JSON config panel (phase 8)
  • builderMatch JSON config panel design to the prototype
  • builderPhase 1 — download full project bundle (.zip)
  • builderPhase 1 cloud build — push to GitHub & fetch firmware
  • builderPixel-drag handles + encoder placement
  • builderPremium entitlement gate + locked build-from-scratch entry
  • builderPresets seed a real base-layer keymap, not pass-throughs
  • builderRight inspector + matrix overlay + variants (phase 5)
  • builderSlider value-mapping (ADC analog input)
  • builderSnapping toggle, in-builder settings, start chooser
  • builderStart tour on the start chooser, drive the modal
  • builderUnify export modal + text-authoritative JSON panel
  • builderVisible JSON validation status + searchable All-options
  • builderWire matrix editor to keys[].matrix + keyboard.matrix (P1 UI)
  • canvasPannable/zoomable stage, press-count heatmap, key tooltips
  • catalogAdd 7 QMK swap-hands variants as Misc tiles
  • catalogAdd Combos tab; drop vial:macro from action picker
  • catalogAdd dynamicCatalogStore + behavior capability flags
  • catalogClarify Locking/Keypad labels and split Language tab
  • catalogCombine ZMK + QMK keycode names into one canonical catalog
  • catalogGate behavior-family tiles by Capabilities.behaviors flags
  • catalogMerge RGB + Backlight into single Lighting tab
  • catalogMerge ZMK + QMK keycode names into one canonical catalog
  • catalogPlumb macro overlay description into picker tooltip
  • catalogSideload ZMK .keymap combos as display-only Combos tiles
  • catalogSurface ZMK runtime macros/combos as catalog tiles
  • configBoard hardware → real ZMK kscan + electrical transform
  • configBuilder metadata schema fields (phase 2)
  • configConditional layers in keymap schema
  • configConfig store, live edit-sync, and target-aware Download modal
  • configCustom hold-tap behaviors (flavor + definition nodes)
  • configExtend ZMK behavior coverage (enum tails, 2-param macros, mod-morph)
  • configGeneralized remappr keymap schema + keycode/diagnostics layer
  • configJSON keymap source-of-truth, lower/raise bridge, ZMK overlay + parity
  • configKeyboard.controller identity (board/MCU/bootloader) — P2
  • configMinimize config — strip defaults, transparents + round-trip
  • configPer-firmware keymap compiler (ZMK / QMK / Keychron)
  • configPer-key encoder bindings + pin/element metadata
  • configPer-key matrix [row,col] as first-class config (P1 foundation)
  • configRaise connected ZMK keymap into remappr config
  • configValue-carrying lighting (RGB_COLOR_HSB + BL_SET)
  • dialogs,zoomRedesign dialogs and fixed zoom
  • editorInline tap-dance editor modal from BindingEditor
  • editorMulti-select, layer peek, toolbar grouping, shortcuts
  • entitlementsDev-build bypass for premium (builder access)
  • exportPer-firmware readiness checklist + simplified ExportPanel — P8
  • Feat(): added discord server and docs icon
  • firmware/mockWire encoders/dynamic/macros sub-bundle stubs
  • firmware/qmk-viaAdd VIA HID adapter
  • firmware/qmk-vialAdd Vial adapter v2
  • firmware/qmk-vialAdd Vial adapter with on-device def + lock + encoders + dynamic entries
  • firmware/qmk-vialMacro V2 codec + MacroEditor UI
  • firmware/qmk-vialWire dynamic entries through facade + UI editor
  • firmware/qmk-viaScaffold QMK/VIA adapter stub
  • firmware/uiAdd FeatureGate wrapper, replace Header capability checks
  • firmware/uiCollapse lock state to App shell with LockedOverlay
  • firmware/uiGate UnlockModal on capabilities + render/edit encoders
  • firmware/uiScope keyDisplayMode per firmware id
  • firmware/uiStrip ZMK branding from public-facing UI
  • firmwareAdd mock adapter and adapter contract test suite
  • firmwareAdd ZmkKeyboardService + ZmkAdapter and register
  • firmwareAdded multiple frameworks support
  • firmwareConnectDevice constructs ZmkKeyboardService and stores it
  • firmwareResolve friendly pin labels to flashable kscan/config.h
  • keycapChanged the keycap design and added styles
  • keycapsColour-coded keycap system + cap-style/colour settings
  • keycapUnified RKey keycap anatomy with chord chips
  • keymapRight-click copy/paste on bound keys
  • keytest+macrosKey Test mode + unified Advanced bottom sheet
  • lightingRGB underglow simulation across builder, editor & demo
  • modalsTyping-load stats, onboarding coachmarks, start-page preview
  • pickerSeed modifier/enum slot defaults from first listed value
  • qmkEmit complete keyboard.json — P3 (QMK buildable project)
  • qmkGenerate encoder_map + firmware-aware builder binding codes
  • rgbKeychron launcher parity — per-key paint, indicator light, RGB sheet
  • settingsMatch the General pane to the prototype
  • start-pageReal cached keyboard preview on device cards
  • Unified behavior picker
  • Unified versioning system + release pipeline + custom titlebar …
  • Unified versioning system + release pipeline + custom titlebar + build slimming
  • viaEmit VIA definition (KLE keymap + cap colours) in VIA bundle — P4
  • viaLayout options (labels + per-key option) — P7
  • vialKeyboard.vial config + vial.json/config.h emitter + builder security UI — P5
  • workspacesInspector + command-palette assign surfaces, tap-hold builder
  • zmk-exportCover all behaviors from ZMK docs index page
  • zmkEmit sensor-bindings from per-key encoderBindings
  • zmkFull buildable config + firmware-config editor
  • zmkFull shield scaffold in bundle — P6
  • zmkGenerate real split shields (per-half kscan + offset transform)
  • zmkMatrix-transform overlay, hardware checklist, conditional layers, encoders
  • zmkScaffold peripheral pinctrl on non-nRF boards instead of dropping it

🧩 Fixes

  • builderCenter the start chooser so the alpha toast doesn't cover it
  • builderExpose firmware export for from-scratch boards
  • builderFirmware-aware controller, presets, collapsible panel, readiness
  • builderRefresh library list when the modal opens
  • builderRender transparent caps + honor Key Header binding-code mode
  • builderSplit+stagger-aware matrix wiring, scrollbar, split divider
  • buildProxy GH artifact download through main; harden cloud-build path
  • catalogClassify any non-system ZMK behavior as user macro
  • catalogKeep slot-bearing ZMK behaviors out of Macros tab
  • ciCorrect step indentation in build-release.yml
  • ciPass release PR JSON via env to avoid shell quote breakage
  • Commented import combos side loading
  • electronIncrease of electron app size
  • firmware/catalogDedup duplicate keycodes via canonical alias map
  • firmware/zmkRelease transport stream locks on disconnect + reuse probe RpcConnection
  • firmwareSync ZmkKeyboardService cachedKeymap on layer mutations
  • Fix keyboard design
  • Fix modifier selection
  • Fix(): removed plans from docs
  • mockSize demo per-key LEDs to key count
  • Persist keyboard name on click-connect and unblock release workflow
  • pickerInclude actionTypes in dispatch useCallback deps
  • pickerValidate slot values + smarter auto-advance for hold-tap
  • releaseRepair release pipeline + reset to 0.0.x versioning (#133)
  • Removed ai folder
  • Removed changelog.md
  • reviewCorrectness fixes from PR review
  • transportDetect all ZMK serial boards + correct baud + connected-state
  • zoom, themeFixed zoom system and theme system

🚀 Performance

  • canvasStop per-frame re-renders on the keyboard canvas

Released under the Apache-2.0 License.