v0.13.3
28 September 2026 Latest- Per-install audit-IP salt. When
ipSaltis unset, a random salt is generated once at boot and stored inhulo_licence_store(keyvendure-plugin-geo-block:ipsalt, first writer wins so server and worker agree) instead of hashing every install's audit IPs with the same public constant. A boot warning says a generated salt is in use. - Live allow-list preview.
GET /geo-block/presetsnow includes each preset'scountries; the admin page resolves the allow-list, the status sentence and the lockout warning in the browser from the form state (ui/resolve-allowed.ts, unit-tested against the server resolver) instead of the list the server computed at load time. - Postgres corpus test (
src/pg-corpus.test.ts, runs whenHULO_PG_URLis set): every raw SQL statement insrc/is translated by the dialect adapter and executed against PostgreSQL 17 with TypeORM-quoted stand-ins forchannelandgeo_block_event. presetCountries(key)is exported.
- Unlicensed
site-configcontract. The publicsite-confignever applied the free-tier gate that/checkapplied (mode=block, no subdivisions), so a storefront cachingsite-configcould render the soft-block banner while/checkblocked. The gate now lives inbuildConfig, sosite-config,checkand the simulator agree. The README and e2e no longer claim the free tier returnsenabled:false.