all repos — bibel @ 9696757c11be9708642553ccb78e5b88e4cb81cf

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.0.0] - 2026-04-16
12
13### Added
14
15- Complete Go migration from original OCaml implementation
16- Date-based Bible verse progression system
17  - Calculates position based on day of year (1st January = Matthew 1:1-12)
18  - Shows 12 verses per day, cycling through all four Gospels yearly
19- ANSI color-coded output (green for book/chapter, yellow for verse range)
20- Smart lookahead rule: extends to end of chapter if less than 12 verses remain
21- Support for Polish "Nowa Biblia Gdańska" translation (`books/pol_nbg.json``)
22- Complete test suite with edge case validation
23- `README`` documentation with usage examples and algorithm explanation
24
25### Changed
26
27- **BREAKING**: Changed from bookmark-based progression to date-based progression
28  - Previous versions used `bookmark.toml` to track reading position
29  - New version calculates position from current date
30  - Backward incompatible with bookmark-based usage
31- Restructured codebase with modular Go packages:
32  - `internal/loader.go`: JSON Bible data loading and indexing
33  - `internal/dateprogression.go`: Date-to-verse position calculation
34  - `internal/formatter.go`: ANSI color formatting and text extraction
35  - `internal/verse.go`: Data structures and constants
36  - `internal/bookmark.go`: Legacy bookmark support (unused in date-based mode)
37
38### Fixed
39
40- Proper handling of chapter and book boundaries
41- Correct modulo wrapping for yearly cycle (total 3779 Gospel verses)
42- Leap year support via Go's standard `time.YearDay()` function
43- Validation of verse ranges and error handling
44
45### Removed
46
47- OCaml implementation (`old_code.ml` kept for reference)
48- Dependency on `bookmark.toml` file for progression
49- Regex-based verse parsing (replaced with direct JSON indexing)
50
51## [0.1.0] - 2026-04-16
52
53### Added
54
55- Initial Go port of OCaml Bible verse utility
56- Bookmark-based progression system (TOML file)
57- Support for Polish "Nowa Biblia Gdańska" translation
58- Basic ANSI color formatting
59- Lookahead rule implementation
60
61### Changed
62
63- Rewritten from OCaml to Go programming language
64- Changed data format from custom to JSON
65- Improved error handling and validation