all repos — bibel @ d229be0e52779e06632c53ce0a1115b2c2249c25

Unnamed repository; edit this file 'description' to name the repository.

CHANGELOG.md (view raw)

 1# Changelog
 2
 3All notable changes to this project will be documented in this file.
 4
 5The format is based on [Keep a
 6Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to
 7[Semantic Versioning](https://semver.org/spec/v2.0.0.html).
 8
 9## [Unreleased]
10
11## [1.2.0] - 2026-04-16
12
13### Added
14
15- **TUI framework** using `bubbletea` for interactive terminal user interface
16- **Styled output** with `lipgloss` for terminal-adaptive colours and borders
17- **Interactive mode**: Verse displayed in a rounded border box with "Press q
18to quit..." message
19- **Smart TTY detection**: Automatically falls back to formatted output in
20non-interactive environments
21- **Enhanced argument handling**: `-p/--plain` now outputs plain text without
22TUI or formatting
23- **New package structure**: `internal/tui/` containing TUI model and styling
24components
25
26### Changed
27
28- **Program flow**: Default mode now launches interactive TUI when run in a
29terminal
30- **Plain mode behaviour**: `--plain` flag now outputs only verse text (no
31header or TUI)
32- **Terminal detection**: Non-TTY environments show formatted output with ANSI
33colours
34- **Dependencies**: Added `bubbletea` and `lipgloss` for TUI functionality
35
36## [1.1.0] - 2026-04-16
37
38### Added
39
40- Argument parsing using `go-arg` library
41- `-p/--plain` flag to output plain text without chapter name or verse numbers
42- Program description and help text
43
44## [1.0.0] - 2026-04-16
45
46### Added
47
48- Complete Go migration from original OCaml implementation
49- Date-based Bible verse progression system
50  - Calculates position based on day of year (1st January = Matthew 1:1-12)
51  - Shows 12 verses per day, cycling through all four Gospels yearly
52- ANSI color-coded output (green for book/chapter, yellow for verse range)
53- Smart lookahead rule: extends to end of chapter if less than 12 verses remain
54- Support for Polish "Nowa Biblia Gdańska" translation (`books/pol_nbg.json``)
55- Complete test suite with edge case validation
56- `README`` documentation with usage examples and algorithm explanation
57
58### Changed
59
60- **BREAKING**: Changed from bookmark-based progression to date-based progression
61  - Previous versions used `bookmark.toml` to track reading position
62  - New version calculates position from current date
63  - Backward incompatible with bookmark-based usage
64- Restructured codebase with modular Go packages:
65  - `internal/loader.go`: JSON Bible data loading and indexing
66  - `internal/dateprogression.go`: Date-to-verse position calculation
67  - `internal/formatter.go`: ANSI color formatting and text extraction
68  - `internal/verse.go`: Data structures and constants
69  - `internal/bookmark.go`: Legacy bookmark support (unused in date-based mode)
70
71### Fixed
72
73- Proper handling of chapter and book boundaries
74- Correct modulo wrapping for yearly cycle (total 3779 Gospel verses)
75- Leap year support via Go's standard `time.YearDay()` function
76- Validation of verse ranges and error handling
77
78### Removed
79
80- OCaml implementation
81- Dependency on `bookmark.toml` file for progression
82- Regex-based verse parsing (replaced with JSON Bible data)
83
84## [0.1.0] - 2026-04-16
85
86### Added
87
88- Initial Go port of OCaml Bible verse utility
89- Bookmark-based progression system (TOML file)
90- Support for Polish "Nowa Biblia Gdańska" translation
91- Basic ANSI color formatting
92- Lookahead rule implementation
93
94### Changed
95
96- Rewritten from OCaml to Go programming language
97- Changed data format from custom to JSON
98- Improved error handling and validation