All notable changes to ngx-gauge will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
13.3.1 - 2026-06-17
NgxGaugeMarker.labelColor?: string— color used for a marker's label text. Defaults to the marker'scolorwhen omitted, so labels stay visible on dark themes andlinemarkers no longer inherit whateverfillStylehappened to be set from a previously drawn marker. (#123, #145)
cap: 'round'now also rounds the outer ends of the background bar whenthresholdsare configured. Previously the segment loop forcedlineCap: 'butt'so only the foreground value bar was rounded; the background ends stayed square. Two extra round-capped arcs are now stroked at the leading edge of the first range and the trailing edge of the last range, leaving inner segment joints untouched. (#127).reading-blockand.reading-labelno longer clip the top/bottom of tall digits. The defaultoverflowchanged fromhiddentovisible(and the now-inerttext-overflow: ellipsiswas removed). Consumers that prefer the old clip-with-ellipsis behaviour for long prepend/append text can restore it via a global style override (see CSS comment ingauge.css). (#100)
13.3.0 - 2026-06-15
- Crisp rendering on high-DPR (Retina) displays. The canvas backing store is
now scaled by
window.devicePixelRatioand the 2D context is pre-scaled so drawing routines continue to work in CSS-pixel coordinates. (#13, #156) ngOnDestroyno longer throws aTypeErrorwhen the gauge is destroyed beforengAfterViewInitruns (e.g. route change during initial render)._clearis now null-guarded and_destroyis idempotent. (#87)foregroundColor,backgroundColor,thresholds, andmarkersnow refresh the canvas when their input bindings change. Color / threshold / marker only changes redraw synchronously and skip the entry animation, so theme switches don't re-run the0 → valueanimation. (#97, #151)value=0withanimate=trueandcap='round'no longer renders a small rounded sliver at the minimum position;_drawFillnow early-returns on a zero-length arc. (#150)- Updating
max(ormin) aftervaluehas changed no longer leaves the previous animation displacement baked into the next render._oldChangeValis reset to the current value whenminormaxchange, and_createclamps the previous value to the active(min, max)bounds defensively. (#150)
- Reactivity for
thresholds/markersis identity-based. Replace the object reference (immutable update) when you want a redraw — in-place mutation is not detected, consistent with Angular'sOnChangeslifecycle. - The retina fix changes the canvas backing-store size to
size × dpr. The CSS dimensions are unchanged, so layout is unaffected; consumers readingcanvas.width/canvas.heightdirectly (e.g. for screenshotting) will see the device-scaled value. - Issue #85 (shrink
type='semi'height to remove the empty band above the arc) is deferred to14.0.0since it changes the host element's height for existing consumers.
13.2.0 - 2026-06-10
- Public type exports for stronger consumer typing — these can now be imported
from
ngx-gaugeand used to type your own variables:NgxGaugeType—'full' | 'arch' | 'semi'NgxGaugeCap—'round' | 'butt'NgxGaugeThreshold— shape of a single threshold entry (color?,backgroundColor?,bgOpacity?)NgxGaugeThresholds—Record<string, NgxGaugeThreshold>NgxGaugeMarker— shape of a single marker entry (color?,type?,size?,label?,font?)NgxGaugeMarkers—Record<string, NgxGaugeMarker>
- Repository housekeeping (invisible to npm consumers — no runtime/API impact):
- Aligned workspace layout with the standard Angular CLI library convention:
demo app moved from
apps/demo/toprojects/demo/, library barrel renamedpublic_api.ts→public-api.ts, polyfills inlined inangular.jsonas["zone.js"],environments/+fileReplacementsremoved, static assets moved toprojects/demo/public/, manualenableProdMode()dropped (the application builder handles this automatically). (#200) - Lint cleanup across the library and demo; lint is now gated in CI. (#199)
- Removed unused dead code and stale configuration. (#198)
- Added GitHub Actions CI workflow with Node 20/22 build & test matrix, plus Dependabot grouping for npm + Actions updates. (#193)
- Aligned workspace layout with the standard Angular CLI library convention:
demo app moved from
- The compiled
dist/ngx-gaugeoutput is byte-identical to13.1.0except for one renamedsourcesentry in the.mjs.mapfile (public_api.ts→public-api.ts). Runtime behaviour is unchanged. @Inputtypes forthresholdsandmarkersremainObjectin this release; the corresponding type-tightening change is bundled with the upcoming14.0.0modernization release alongside other breaking changes.
13.1.0 - earlier
See the GitHub Releases
page for the history of releases prior to 13.2.0.