Skip to content

Releases: jacklv-coder/HeatmapKit

v0.5.1 — fitToWidth internal refactor

02 May 05:03

Choose a tag to compare

What changed

Changed

  • fitToWidth internal implementation replaced: dropped the custom SwiftUI Layout protocol in favour of a GeometryReader + ScrollView composition. 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

01 May 09:44
c6a70b6

Choose a tag to compare

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 on CalendarHeatmap.
  • github.com palette parity — built-in .green now 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