Skip to content

Releases: daniel-kindl/dk-timer

EMOM Timer v2.3.0

Choose a tag to compare

@github-actions github-actions released this 30 Jul 18:07
8ce9988

What's Changed

45aa2d3 docs(changelog): credit tech-debt/quality pass in v2.3.0
135255e chore: release v2.3.0
881459a feat(ui): adopt DK Timer brand design
a3c4c61 refactor(ui): extract shared SessionLifecycleScaffold
da11f26 refactor(ui): extract shared preset save/delete dialogs
cde759f refactor(ui): extract shared ExitConfirmDialog and SessionProgressBar
5d8e2b9 refactor(ui): extract session formatting/progress into core.format
ed51a6d test(update): cover the update-flow state machine and parsing/percent logic
8136f2c test(data): add preset repository coverage and extract JsonListDataStore
154659f test(setup): add SetupUiState/TabataSetupUiState coverage
3aca504 test(engine): add pause/resume and degenerate-config coverage


Full Changelog: v2.3.0...HEAD

EMOM Timer v2.2.0

Choose a tag to compare

@github-actions github-actions released this 30 Jul 15:33
6f8ad90

What's Changed

cf67f6a chore: release v2.2.0
669d7cc feat(ui): polish EMOM/Tabata session screens
5c5fcfb docs: sync CLAUDE.md with current codebase state


Full Changelog: v2.2.0...HEAD

EMOM Timer v2.1.0

Choose a tag to compare

@github-actions github-actions released this 30 Jul 14:55
a5e93e6

What's Changed

e64f7a0 chore: release v2.1.0
db70762 feat(ui): surface update flow in Settings screen
7b0d9c6 feat(ui): add update-checker view model
0119562 feat(ui): auto-check for updates on app start
626c855 feat: declare update permissions, FileProvider, and install receiver
79dcbe8 feat(data): add DownloadManager wrapper and dual-mode APK installer
eacc6f9 feat(data): implement GitHub-backed update repository
cb657d2 feat(domain): add SemVer comparator and update models
603f108 chore: release v2.0.1
70be6ec fix(tabata): resolve detekt violations in engine loop and setup viewmodel
e32a917 chore: ignore module build output
e320ace docs: add CLAUDE.md and PR/issue templates
fb04ddc docs: document enforced commit, branch, and release rules
93e4eeb ci(release): enforce SemVer and build a signed release APK
d077082 ci: enforce Conventional Commits via hook and PR check
f547eb0 refactor(feedback): extract shared FeedbackTrigger from ViewModels
91ac836 fix(audio): synchronize ToneAudioPlayer generator lifecycle
1e7b83b fix(session): scope keep-screen-on flag to active session screens


Full Changelog: v2.1.0...HEAD

EMOM Timer v2.0.0

Choose a tag to compare

@github-actions github-actions released this 06 May 10:09

What's Changed

17e2d10 chore: release v2.0.0
06f6a87 style: complete typography scale for visual consistency
d316e4f feat(tabata): add Tabata UI, HomeScreen, shared PresetsSection; rename app to DK Timer
c896590 feat(ui): replace +/- duration steppers with drum-roll wheel picker
5307eff feat(tabata): add Tabata preset domain model and DataStore repository
7d95a05 feat(tabata): add TabataEngine with drift-free timing and unit tests
0c27d48 refactor(engine): extract AbstractPausableEngine; move SessionStatus to domain
8913d83 ci: simplify release workflow to build debug APK (no signing required)
2321f4f chore: prepare CHANGELOG for v1.0.0 release
5fa7188 docs: update README with presets, pause/resume, and improved layout
4c3e91f feat: add pause/resume to workout session
54afd8b feat: add presets to Setup screen
50d6967 feat: bind PresetRepository in Hilt DI module
73cb57d feat: implement PresetRepositoryImpl with DataStore JSON persistence
66f7122 feat: add Preset domain model and PresetRepository interface
23e8156 fix: correct detekt.yml config and extract vibration pattern constants
bdeb7b0 fix: use fun interface for Clock and testScheduler.currentTime in tests
415b0c9 fix: replace gradlew with official Gradle 8 script, add .gitattributes
c5d61fd test: add unit tests for timer engine
363fc9e feat: implement Jetpack Compose UI with navigation
c312cac feat: wire Hilt dependency injection
ee24274 feat: add data layer for audio, vibration, and settings
e94b28f feat: implement drift-free timer engine with injectable clock
d709e55 docs: add README, CONTRIBUTING, and CHANGELOG
bee0dfb ci: add GitHub Actions workflows for dev and release
f725d90 chore: scaffold project with Gradle, version catalog, and detekt
54ce090 Initial commit


Full Changelog: v2.0.0...HEAD

EMOM Timer v1.0.0

Choose a tag to compare

@github-actions github-actions released this 05 May 15:55

What's Changed

8913d83 ci: simplify release workflow to build debug APK (no signing required)
2321f4f chore: prepare CHANGELOG for v1.0.0 release
5fa7188 docs: update README with presets, pause/resume, and improved layout
4c3e91f feat: add pause/resume to workout session
54afd8b feat: add presets to Setup screen
50d6967 feat: bind PresetRepository in Hilt DI module
73cb57d feat: implement PresetRepositoryImpl with DataStore JSON persistence
66f7122 feat: add Preset domain model and PresetRepository interface
23e8156 fix: correct detekt.yml config and extract vibration pattern constants
bdeb7b0 fix: use fun interface for Clock and testScheduler.currentTime in tests
415b0c9 fix: replace gradlew with official Gradle 8 script, add .gitattributes
c5d61fd test: add unit tests for timer engine
363fc9e feat: implement Jetpack Compose UI with navigation
c312cac feat: wire Hilt dependency injection
ee24274 feat: add data layer for audio, vibration, and settings
e94b28f feat: implement drift-free timer engine with injectable clock
d709e55 docs: add README, CONTRIBUTING, and CHANGELOG
bee0dfb ci: add GitHub Actions workflows for dev and release
f725d90 chore: scaffold project with Gradle, version catalog, and detekt
54ce090 Initial commit


Full Changelog: v1.0.0...HEAD