59 lines
3.9 KiB
Markdown
59 lines
3.9 KiB
Markdown
# Changelog
|
|
|
|
Format: [Keep a Changelog](https://keepachangelog.com/en/1.1.0/). A release's
|
|
`Breaking` section comes first and names each rejected spelling with its
|
|
replacement, and each removed path, column or flag.
|
|
|
|
## [Unreleased]
|
|
|
|
### Added
|
|
|
|
- First release: the CLI, the library and the shipped data set.
|
|
- Table categories: a category JSON naming a `rows` TSV beside it, with the options
|
|
`key`, `name`, `weight` and `parent`; a path selects a row by key or name,
|
|
`misc.country[SE]`, and descends to a linked table by name; linked tables draw
|
|
consistently within one render and draw group. `rows` is an option, so no
|
|
template may carry a field of that name. A `name` without a `key` resolves
|
|
inside the table's `parent`. Refused at `New`: a `name` without a `key` or a
|
|
`parent`, a name repeating inside one parent row, a name spelling another row's key, a table named like a column of any
|
|
table above it, a table whose format or cell references its own family, and,
|
|
within one render and draw group, a path drawing a table another path selects a
|
|
row of, or two paths pinning different rows of one table.
|
|
- `New` refuses a root choice of templates sharing one format and one set of string
|
|
fields, naming the rows TSV to write instead.
|
|
- `misc.country`, `misc.currency`, `misc.language`, `misc.httpstatus` and
|
|
`misc.mimetype` are tables. `misc.country` is every ISO 3166 country that has a
|
|
capital, a currency and a TLD, with the columns `calling-code`, `capital`,
|
|
`currency`, `flag`, `languages`, `numeric` and `tld` added; `misc.currency` the
|
|
current ISO 4217 currencies with a minor unit, with `decimals` and `numeric`
|
|
added, and its symbols from CLDR. `DATA-LICENSES.md` lists each source.
|
|
- `geo.SE` and `geo.US`: five linked tables per country, `region`, `municipality`,
|
|
`locality`, `postal-code` and `street`, weighted by population and address counts
|
|
and built from SCB, GeoNames, Trafikverket NVDB and the US Census Bureau, and an
|
|
`address` record over one consistent draw of them. `sv_SE.address` and
|
|
`en_US.address` read those records, so `en_US.address.street` no longer carries
|
|
`name` and `suffix`, and a locale folder loads only beside `geo`.
|
|
- `{date(from,to,'layout')}` and `{time('layout')}`: a second between two days, or
|
|
within one, in a single-quoted Go layout, drawn in UTC; `from` may equal `to`.
|
|
`sv_SE.date`, `en_US.date`, `sv_SE.time` and `en_US.time` render through them, so
|
|
`date.year`, `date.month`, `date.day`, `time.hour`, `time.minute`, `time.minute.t`,
|
|
`time.sec` and `time.ampm` are no longer paths — a part of a date is now its own
|
|
`{date(…,'2006')}`. `misc.datetime` is an RFC 3339 instant.
|
|
- `sex`, `first-name` and `last-name` tables in `sv_SE` and `en_US`, weighted by
|
|
bearers from SCB, the SSA and the Census Bureau; `first-name` links to `sex`, and a
|
|
name both sexes carry is a row under each. `person` reads them, so its columns are
|
|
`first`, `last`, `prefix` and `sex`; `person.femalefirst` and `person.malefirst` are
|
|
no longer paths — draw `sex[f].first-name` and `sex[m].first-name` instead.
|
|
`en_US.title` links to `sex` as well, so `en_US.person.prefix` draws `Mr` or `Ms`
|
|
without contradicting the record's `sex`; `sv_SE.title` is an unsexed table of the
|
|
same shape.
|
|
- `sv_SE.personnummer` and `sv_SE.samordningsnummer`, Skatteverket's test series
|
|
from a `sv_SE.birth-number` table under `sex`, in place of `sv_SE.ssn`, whose
|
|
`ssn.mmdd`, `ssn.mmdd.m` and `ssn.mmdd.d` go with it. `en_US.ssn` now draws the
|
|
ranges the SSA assigns and carries the columns `area`, `group` and `serial`, so
|
|
`--format csv en_US.ssn` writes a header where it used to fail; `en_US.itin` is new.
|
|
- An error names a spelling that runs: a layout is named single-quoted and free of
|
|
its own quotes, a row of a table with no key is named as the path that selects it,
|
|
`sv_SE.sex[f].first-name[Kim]`, and a category with no columns names the record
|
|
that gives it one.
|