Files
rdb/CHANGELOG.md
T

72 lines
3.5 KiB
Markdown

# Changelog
Alle wichtigen Änderungen stehen hier. Das Format folgt
[Keep a Changelog](https://keepachangelog.com/de/1.1.0/), die Versionsnummern
folgen [Semantic Versioning](https://semver.org/lang/de/). Die Version steht in
`lib/rdb/version.rb`; `rdb --version` zeigt sie an.
## [Unveröffentlicht]
### Geändert
- `record`: 0 und 1 sind die erste Zeile, negative Zahlen zählen vom Ende (`-1` letzte, `-2` vorletzte ...). Außerhalb der Tabelle kommt eine leere Tabelle, Text und Dezimalzahlen sind ein Fehler. (Vorher lieferten 0, -1 und Text ungewollt Zeilen vom Ende.)
### Hinzugefügt
- Steuertabellen 2026 für `tax`: `demo/taxDE2026`, `taxAT2026`, `taxCH2026` (nur Bundessteuer), `taxLI2026` (nur Landessteuer), erzeugt mit `tools/gen_tax_tables.rb`, mit Tests.
### Geändert
- README und `man/row.man` erklären, warum `select` in bash/zsh/ksh einen Syntaxfehler gibt und wie man es trotzdem aufruft.
### Behoben
- `rdb man` zeigte `\\select` in den Man-Pages als `\elect`: ein doppelter Backslash wird jetzt zuerst geschützt.
## [0.5.0] - 2026-10-11
### Hinzugefügt
- `pick`: Tabelle auf dem Terminal durchblättern, filtern und eine oder mehrere Zeilen (`-m`) auswählen; die Auswahl geht als Tabelle auf die Standardausgabe. `-k` nimmt die Tasten aus einem String. Dazu `man/pick.man`, Beispiele in `testall.cmds` und Tests (auch mit Pseudo-Terminal).
## [0.4.0] - 2026-10-11
### Hinzugefügt
- `mask`: Eingabemaske mit eigener Oberfläche (Felder mit Breite, Schaltflächen, Rahmen `-b`, `-s` zeigt das Bild ohne Terminal). Schreibt die Eingabe als Tabelle auf die Standardausgabe. Die Vorlage kommt wie bei `screen` von der Standardeingabe (`mask < entry`). Dazu `man/mask.man`, `demo/maskform` und Tests (auch mit Pseudo-Terminal).
- `demo/entry`: beschriftete Eingabemaske für `screen` (README erklärt den Unterschied zu `form`).
## [0.3.0] - 2026-10-11
### Hinzugefügt
- `demo/testall.cmds` enthält zu jedem der 134 Befehle ein ausführbares Beispiel,
gegliedert durch Überschriften (`##`-Zeilen werden mit ausgegeben, `#`-Zeilen
sind stille Kommentare). Ein Test prüft, dass kein Befehl fehlt.
### Geändert
- `testall` läuft in einer temporären Kopie von `demo/`; schreibende Beispiele
(`append`, `delete`, `close` ...) verändern die Demodaten nicht mehr. Die
Befehle lesen von einer leeren Standardeingabe.
- `sale` nimmt das Datum aus `NEXTDATE` (wie `getjournal`, `close`), sonst von heute.
- `lock` führt die Sperrdatei pro Pfad statt pro Dateiname, so stören sich
gleichnamige Tabellen in verschiedenen Ordnern nicht.
## [0.2.0] - 2026-10-11
### Hinzugefügt
- `RDB_ICASE=1` ignoriert Groß-/Kleinschreibung bei Spaltennamen. Ein exakter
Treffer gewinnt, mehrere Treffer sind ein Fehler; awk-Wörter und
Funktionsaufrufe bleiben unberührt.
- Man-Pages von `row`, `compute`, `column`, `sorttable`, `jointable`, `rename`,
`validate` und `rdb` mit dem Abschnitt „Case of Column Names“.
- `rdb man -g`: Man-Page mit groff formatiert, dazu `man/rdb.tmac` mit den
MWC-Makros (`.DM`, `.DE`, `.PC` ...).
- `rdb --version`, `CHANGELOG.md`.
### Geändert
- `column` schreibt den Kopf in der Schreibweise der Tabelle, wenn die Spalte
existiert.
- `demo/ledger` und `demo/chart` verwenden echte Tabs.
## [0.1.0] - 2026-10-11
### Hinzugefügt
- Erster Nachbau von /rdb in Ruby: ein Programm `bin/rdb` mit Symlinks für alle
dokumentierten Befehle (Relational, Text, Konvertierung, Schnellzugriff,
Berichte, Terminal, /act), 137 Man-Pages, Demo-Daten, 76 Tests, mise-Setup.