Releases: jacklv-coder/HeatmapKit
Releases · jacklv-coder/HeatmapKit
v0.5.1 — fitToWidth internal refactor
What changed
Changed
fitToWidthinternal implementation replaced: dropped the custom SwiftUILayoutprotocol in favour of aGeometryReader+ScrollViewcomposition. Behaviour and public API are unchanged — existing.fitToWidth(minCellSize:)call sites require no updates.
Install
```swift
.package(url: "https://github.com/jacklv-coder/HeatmapKit", from: "0.5.0")
```
Full changelog: https://github.com/jacklv-coder/HeatmapKit/blob/main/CHANGELOG.md
v0.5.0 — Adaptive layout & demo app
First proper GitHub Release. v0.1–v0.4 shipped via tags only — see CHANGELOG.md for the full history.
✨ Highlights
.fitToWidth(minCellSize:)adaptive layout — cells now size to the container automatically, with horizontal-scroll fallback only when even the floor doesn't fit. Narrow renders snap to whole-week boundaries via.scrollTargetBehavior(.viewAligned).- Runnable iOS demo app under
Demo/HeatmapKitDemo— palette switching, tooltips, accessibility labels, share-as-image, plus a Streaks-style Boards tab built onCalendarHeatmap. - github.com palette parity — built-in
.greennow mirrors github.com's light/dark variants exactly. The other five palettes also pick up adaptive light/dark shades. - Today highlight off by default — matches github.com. Opt back in with
.todayHighlightColor(.primary).
📦 Install
```swift
.package(url: "https://github.com/jacklv-coder/HeatmapKit\", from: "0.5.0")
```
🔍 Pull requests in this release
- #5 — Demo app
- #6 — Adaptive palettes; `.green` matches github.com
- #7 — `todayHighlightColor` defaults to `nil`
- #8 — `.fitToWidth(minCellSize:)` width-aware layout
- #9 — Boards tab in demo
- #10 — Adaptive heatmap height fix
🙏 Thanks
Visual language patterned on GitHub's contribution graph; Boards demo inspired by Streaks.
Full changelog: https://github.com/jacklv-coder/HeatmapKit/blob/main/CHANGELOG.md#050--2026-05-01