74 lines
4.2 KiB
Markdown
74 lines
4.2 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]
|
|
|
|
## [0.6.0] - 2026-10-11
|
|
|
|
### Hinzugefügt
|
|
- `column -d Spalte ...` (und `project -d`) löscht Spalten: alle anderen bleiben in ihrer Reihenfolge. Fehler bei unbekannter Spalte oder wenn alle gelöscht würden. Dazu Abschnitt in `man/column.man`, Beispiel in `testall.cmds` und Tests.
|
|
- 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
|
|
- `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.) `testall.cmds` und `man/record.man` zeigen es.
|
|
- 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 dashline` (und `headline`, `backup`, `dbase`, `accounting_ter`) zeigte als Überschrift eine Makrozeile (`dashline -- .PP`). Themen-Seiten ohne Beschreibung nehmen jetzt den Titel aus der `.TH`-Zeile.
|
|
- `splittable -0` und mehr als 676 Stücke endeten mit einem Ruby-Abbruch (im zweiten Fall nach 676 geschriebenen Dateien). Jetzt eine Fehlermeldung, und es wird vorher geprüft, damit nichts halb geschrieben wird.
|
|
- `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.
|