Skip to content

Commit 35db391

Browse files
committed
docs: rewrite README for v0.8.0 stable and add upgrade guide reference
- Fully rewritten README reflecting the finalized 0.8.0 timeline-based model - Documented working gaps, surplus calculation and export system - Added complete command overview (add, list, del, db, config, backup, export, log) - Clarified --details usage constraints - Added reference to UPGRADE-0.7-to-0.8.md for legacy users
1 parent b9b8cea commit 35db391

File tree

3 files changed

+555
-635
lines changed

3 files changed

+555
-635
lines changed

CHANGELOG.md

Lines changed: 101 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,106 @@
11
# Changelog
22

3+
## [v0.8.0] - 2025-12-18
4+
5+
### 🚀 Stable release — Timeline & Work Gap engine
6+
7+
This release marks the **first stable 0.8.x version** and concludes the alpha/beta cycle with a fully consolidated
8+
timeline engine, correct multi-pair handling, and a refined CLI experience.
9+
10+
---
11+
12+
### ✨ Highlights
13+
14+
- **Stable multi-pair daily model**
15+
- Unlimited IN/OUT pairs per day
16+
- Persistent pair numbering
17+
- Fully deterministic timeline reconstruction
18+
19+
- **Working gap support (final)**
20+
- Explicit `--work-gap` / `--no-work-gap` flags on `OUT` events
21+
- Gaps can be added, removed, or edited retroactively
22+
- Correct impact on worked time, expected exit, and surplus
23+
- Clear visual indicators (🔗 / ✂️)
24+
25+
- **Accurate time calculations**
26+
- Worked time now correctly:
27+
- sums all pairs
28+
- subtracts non-working gaps
29+
- includes working gaps only when explicitly marked
30+
- Expected exit is consistently based on:
31+
- first IN of the day
32+
- configured minimum working time
33+
- lunch rules and windows
34+
- Surplus calculation is now fully reliable in all scenarios
35+
36+
---
37+
38+
### 🧠 Changed
39+
40+
- `OUT` events without `--pos` now **inherit the position of the corresponding IN**
41+
- Day details view shows **pair-level positions**, not aggregated day position
42+
- Timeline, pairing, and gap logic fully unified across:
43+
- `list`
44+
- `list --events`
45+
- `list --details`
46+
- exports
47+
48+
---
49+
50+
### 🗄️ Database & Migration
51+
52+
- New stable column `events.work_gap`
53+
- Safe, idempotent migrations with:
54+
- automatic schema alignment
55+
- backup before destructive changes
56+
- Automatic recalculation of pairs and daily summaries after edits
57+
58+
---
59+
60+
### 🖥️ CLI & UX
61+
62+
- Unified message system across all commands:
63+
- ℹ️ info · ⚠️ warning · ❌ error · ✅ success
64+
- Clear, explicit confirmation messages for gap edits
65+
- Cleaner event listings:
66+
- no duplicated dates for multiple pairs
67+
- improved visual alignment
68+
69+
---
70+
71+
### 📦 Export system (stable)
72+
73+
- Fully refactored export architecture
74+
- Supported formats:
75+
- CSV
76+
- JSON
77+
- XLSX
78+
- PDF (multipage, styled, dynamic titles)
79+
- Shared helpers and consistent overwrite handling
80+
81+
---
82+
83+
### ⚠️ Breaking changes
84+
85+
- Legacy `work_sessions` table is no longer used
86+
- Timeline-based model is now the single source of truth
87+
- CLI behavior fully aligned with the new flag-based syntax introduced in 0.8.x
88+
89+
---
90+
91+
### ✅ Final notes
92+
93+
`v0.8.0` represents a **major architectural milestone**.
94+
The internal engine is now considered **stable, correct, and extensible**.
95+
96+
Future releases will focus on:
97+
98+
- automated tests
99+
- performance refinements
100+
- advanced reporting and statistics
101+
102+
---
103+
3104
## [v0.8.0-beta3] - 2025-12-15
4105

5106
### ✨ Added

0 commit comments

Comments
 (0)