Changelog¶
Changelog¶
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
Unreleased¶
Added¶
Changed¶
Fixed¶
[0.4.4] - 2026-01-19¶
Added¶
Support for QMK hold-tap keys (e.g.,
LT(1, KC_SPC),LSFT_T(KC_A)).Support for complex macro functions via
macro_functionsmapping.Support for modifier union arguments (e.g.,
OSM(MOD_LCTL|MOD_LSFT)).
Changed¶
Updated config generator to create
USER##mappings for custom keycodes found in Keybard files.Improved config generator to prevent duplicate custom key entries if they already exist in internal mappings.
Refactored keycode transformer to use a unified, data-driven pipeline for resolving all function-style keycodes (modifiers, layers, macros).
Modified the release workflow to call the publish workflow directly to guarantee PyPI always receives a new release version when there is one.
Fixed¶
Fixed incorrect nesting of
named_colorsin generated configuration files (now directly underappearance).Fixed issue where layer toggle targets were not identified when using aliased keycodes in
reversed_alias.Fixed bug where
skim generatewould create files even when user aborted the overwrite prompt.Fixed inconsistent behavior in
skim configureby adding an overwrite confirmation prompt (matchinggenerate).Fixed false positive overwrite prompt in
skim configurewhen output is an existing directory (now targetsskim-config.yamlinside it).
0.4.3 - 2026-01-15¶
Added¶
Version validation script (
scripts/validate_version.py)Git hooks for release automation (
scripts/hooks/)Hook setup script (
scripts/setup-hooks.sh)
Changed¶
Release workflow now supports both dev and release versions from
pyproject.tomlRenamed
prerelease.ymltorelease.ymlRelease automation via
reference-transactionhook auto-bumps and pushes dev version after release push
0.4.2 - 2026-01-15¶
Added¶
Overwrite protection with interactive confirmation prompt when output files exist
--forceflag forskim generateto skip overwrite confirmationOpenSpec framework for AI-assisted change management (
openspec/)
0.4.1 - 2026-01-14¶
Added¶
Pre-release GitHub Actions workflow to auto-build versions on commit
Package keywords and classifiers in
pyproject.tomlAutomated coverage badge updates via pre-commit hook
Sphinx documentation theme changed to Furo with GitHub integration
New helper script
scripts/update_coverage.py
Changed¶
Renamed package to
qmk-skimUpdated uv build configuration
Updated README badges for coverage, build status, and PyPI version
0.4.0 - 2025-01-14¶
Added¶
Initial public release of skim (Svalboard Keymap Image Maker)
CLI tool for generating keyboard layout images from keymap files
Support for Keybard (
.kbi), Vial (.vil), and QMK c2json (.json) formatsSVG and PNG output format support
Layer selection options (all, overview, specific layers, ranges)
Configuration file support for customizing appearance
Configuration generator for extracting metadata from Keybard files
QMK color.h import support with lightness/saturation adjustment
Stdin support for piping keymap data
Comprehensive test suite with 96% code coverage
Google-style docstrings for all public APIs
Sphinx documentation with GitHub Pages deployment workflow
Pre-commit hooks for ruff formatting/linting and basedpyright type checking