diff --git a/CHANGELOG.md b/CHANGELOG.md index 71f78eb..88c1e79 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,56 @@ # Changelog +## 1.1.0 — 2026-09-27 + +Hardening and operational improvements on top of the first release. The report +surface is unchanged; this release tightens how untrusted journals are executed +and gives administrators more control over resource use. + +### Sandbox + +hledger now also runs under a memory cap (`RLIMIT_DATA`) and a file-size limit, +and core dumps are disabled. The child's `PATH` is reduced to the directory of +the resolved executable. When hledger produces more output than the configured +cap, the plugin reports a distinct "report too large" error instead of failing +later while parsing truncated JSON. + +### Rate limiting + +A global rate limit (`hledger global rate limit per minute`, default 120) now +complements the existing per-IP limit, bounding report generation across all +users even when requests are spread over many IPs. Set it to 0 to disable it. + +### Journal validation + +Directive rejection now also covers the `! include` spelling, and journals with +invalid encoding are reported as such instead of reaching hledger. The line +limit is configurable (`hledger max journal lines`, default 5000). + +### Caching and logging + +Cached reports are keyed on the detected hledger version as well as the post +revision, so an in-place hledger upgrade no longer serves stale results. Failed +executions are logged server-side with the report type, topic and user plus a +truncated stderr excerpt, without logging the journal itself. + +### Frontend + +The dashboard no longer issues duplicate requests for the same report and +parameters, and discards responses from superseded requests when reports or +filters change quickly. + +### Equity + +The equity distribution is documented and tested as based on absolute equity +balances, and the in-app note states this explicitly. + +### Documentation + +The README now covers the recommended default Docker deployment (installing the +plugin and `hledger` via the `app.yml` `after_code` hook), the layered security +model, an OS/container sandbox recommendation for public instances, and the +relevant site settings. + ## 1.0.0 — 2026-09-27 The first release of the hledger plugin for Discourse. Put an diff --git a/plugin.rb b/plugin.rb index 87f0600..4b71f06 100644 --- a/plugin.rb +++ b/plugin.rb @@ -3,7 +3,7 @@ # name: hledger # about: Render hledger journals in topics # meta_topic_id: TODO -# version: 1.0.0 +# version: 1.1.0 # authors: Râu Cao # url: https://gitea.kosmos.org/raucao/discourse-hledger # required_version: 2.7.0