Changelog
Features
- a79ae50: feat(core): a refresh replaces a set's contents, and the core trusts nothing it is sent (@jp1337)
- a1787c1: feat(core): the feeds are sets in the table Apply builds (@jp1337)
- 258845a: feat(shared): the lockout check knows about feeds (@jp1337)
- 49914dc: feat(shared): the refusal a feed that shrank carries, word for word (@jp1337)
- 1767c33: feat(shared): the vocabulary both processes share for feeds (@jp1337)
- 06564d3: feat(web): a refused shrink says by how much, and how to take the list (@jp1337)
- 2511ef3: feat(web): fetch, parse and remember the feeds (@jp1337)
- 2783199: feat(web): the Feeds card, and /blocked names the feed (@jp1337)
- 8b20e53: feat(web): the demo seeds rejected lines and a configured own feed (@jp1337)
- 045ed64: feat: files, URLs and logs from 2.22 read the old list names (@jp1337)
Bug Fixes
- 1a41a4c: fix(core): a limit an upgraded easywall.toml does not name loads as its default (@jp1337)
- cbd2adb: fix(core): a restore waits for a feed refresh; the copy covers both causes (@jp1337)
- 3853096: fix(core): re-check panic once the apply slot is held (@jp1337)
- bb4a181: fix(core): the non-global drop runs before the breadth refusal (D4-4 revision) (@jp1337)
- cfa80f6: fix(i18n): fr names the lists liste de blocage and liste d'autorisation (@jp1337)
- 571d5af: fix(shared): the socket limit is 8 MiB — 100 000 of the longest IPv6 addresses do not fit in 4 (@jp1337)
- a7a9bcc: fix(web): a feed switched off keeps no held update and shows no error (@jp1337)
- 33a0578: fix(web): a refresh refused under panic says so and counts no failure (@jp1337)
- 65c4e1b: fix(web): a second unanswered feed no longer swallows the lockout's naming (@jp1337)
- 408fc40: fix(web): an Options tab left open across the upgrade keeps the blocklist log (@jp1337)
- 52038d5: fix(web): an import starts the first fetch of the feeds it switches on (@jp1337)
- 5f7e235: fix(web): an own feed's password follows only its own host (@jp1337)
- 959bf89: fix(web): an own-feed URL that does not parse still carried its password (@jp1337)
- 3d126a1: fix(web): own feeds — the credential boundary pinned, removal guarded (@jp1337)
- 9d41607: fix(web): the order aside is its three steps; a refused URL loses its credentials (@jp1337)
- 87e6cea: fix(web): three carry-ins from Task 6's fix rounds (@jp1337)
Other
- 0e899bb: chore(release): 2.23.0 (@jp1337)
- c602b01: refactor: blacklist becomes blocklist, whitelist becomes allowlist (@jp1337)
- c5d73dd: test(core): FirewallOptions has 23 booleans — LogFeed is the third table-wide log switch (@jp1337)
- 368c047: test(shared): pin why the socket limit is 4 MiB; a server that is never dialled no longer hangs (@jp1337)
- 47d8c3c: test(shared): the catalogue pinned to spec §1; two comments made true (@jp1337)
- 0edebc5: test(web): every option on the form reaches SAVE_OPTIONS (@jp1337)
- c811d8a: test(web): the gate walk's floor is the count it prints, 53 (@jp1337)