aboutsummaryrefslogtreecommitdiff
path: root/dune-project
Commit message (Collapse)AuthorAgeFilesLines
* chore: 1.1.0v1.1.0Lukasz Kasprzak2026-08-271-1/+1
| | | | | | A second rite is new functionality that breaks nothing: EF output is byte-identical to v1.0.0, no flag was removed, and emit --format csv's seventeenth column appears only under --rite of. Minor bump, not major.
* release: v1.0.0v1.0.0Lukasz Kasprzak2026-08-241-1/+1
|
* release: v0.10.1v0.10.1Lukasz Kasprzak2026-08-211-1/+1
|
* release: v0.10.0v0.10.0Lukasz Kasprzak2026-08-211-1/+1
|
* chore: v0.9.0v0.9.0Lukasz Kasprzak2026-08-201-1/+1
| | | | | | | | | | | | Robustness and hackability pass over the shipped program. The citation parser is strict about numbers, four pairs of books no longer share a full title, shipped styles re-parse their own output, and overlay errors are written for the person editing the file rather than for a compiler author. colitur-templates(5) already refers to "before colitur 0.9" for the month-key change, so the version moves with it.
* chore: v0.8.0v0.8.0Lukasz Kasprzak2026-08-201-1/+1
| | | | | | | | | | Citations become configurable: parsed into structure and re-rendered, so book names, abbreviations, punctuation style and numbering tradition are files a user edits rather than strings frozen in the data. New lib/citation (Book, Parse, Render, Sigla); [bible] and [sigla] sections in language files; lang/traditions.ini; three config keys and CLI flags. --raw emits every citation byte-for-byte as stored.
* release: v0.7.0v0.7.0Lukasz Kasprzak2026-08-181-1/+1
|
* release: v0.6.0v0.6.0Lukasz Kasprzak2026-08-181-1/+1
|
* release: v0.5.0v0.5.0Lukasz Kasprzak2026-08-181-1/+1
|
* release: v0.4.0v0.4.0Lukasz Kasprzak2026-08-181-1/+1
|
* release: v0.3.1v0.3.1Lukasz Kasprzak2026-08-181-1/+1
|
* test(cli): the 3 January pin is a BVM Saturday, not a feriav0.3.0Lukasz Kasprzak2026-08-171-1/+1
| | | | | | | | | 3 January 2026 is an unoccupied IV-class Saturday, so its office is Our Lady's and now its Mass is too -- the second of the Missal's five, assigned to Christmas through the Purification. The pin held the Christmastide feria's readings, which is what colitur said before RG 309(a) was implemented. Caught by make check on the 0.3.0 release, which is what that gate is for.
* test(cli): pin the version's shape, not its literalv0.2.0Lukasz Kasprzak2026-08-171-1/+1
| | | | | | | | | | | The release target bumps bin/main.ml and dune-project, but cli.t pinned the literal too, so cutting 0.2.0 failed `make check` on a cram diff that was purely the bump working correctly. Every release would have had to edit a test for no gain. The shape is asserted here instead. The value is already checked where it can actually drift: the release target requires the freshly built binary to report the version it just wrote.
* feat(cli): --version, a CHANGELOG, and a release targetLukasz Kasprzak2026-08-171-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | Groundwork for tagging. The project had no version anywhere: not in dune-project, not in the binary, no CHANGELOG, no tags. The version lives in two places -- dune-project, which generates colitur.opam, and a constant in bin/main.ml, which is what --version prints. Two rather than one because dune's watermarking only substitutes in a release tarball, so a binary built the ordinary way from a checkout would report a placeholder. The release target rewrites both and then re-checks both, and finally requires the freshly built binary to report the version it just wrote: a release that bumped one and not the other would ship a binary disagreeing with its own package metadata. --version is deliberately not embedded in the help text. cli.t pins help's first line, and a version there would mean editing a test expectation every release for no gain. The release target mirrors lectio's, refusals included: no release from a dirty tree, none without a CHANGELOG entry for that version, none whose version bump silently failed to apply, and `make check` -- the full 1583-9999 sweep, not the sampling suite -- must pass before the tag is created.
* kernel(date): ISO-8601 rendering, validating parse, sexp convertersLukasz Kasprzak2026-08-111-1/+1
| | | | | | | Adds sexplib and ppx_sexp_conv to the project and wires the ppx into the kernel library. Date's sexp form is an ISO-8601 atom rather than the opaque rata die, so data files stay human-editable and parsing revalidates the 1583..9999 domain.
* cli: colitur easter <year> prints Easter and its anchorsLukasz Kasprzak2026-07-311-0/+1
| | | | | Argv-parsed subcommand; validates the 1583..9999 domain (exit 2 otherwise); prints 'name YYYY-MM-DD' lines. Cram test covers the output and the exit codes.
* chore: scaffold dune project (kernel lib + cli + tests)Lukasz Kasprzak2026-07-311-0/+8
OCaml 5.2.0 local switch; colitur_kernel library, a colitur executable stub, and an alcotest+qcheck test runner. AGPL LICENSE, README, generated colitur.opam.