From 558b0275a4f77bed70cdda71d47374832f708dc1 Mon Sep 17 00:00:00 2001 From: daikaginza Date: Sun, 18 Oct 2026 13:36:06 +0700 Subject: [PATCH] docs(changelog): move the entry into a changelog.d fragment Main now takes pending entries as changelog.d/-.md files (#787), so the entry leaves CHANGELOG.md for changelog.d/686-terrain-heights-bounds.md. --- changelog.d/686-terrain-heights-bounds.md | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 changelog.d/686-terrain-heights-bounds.md diff --git a/changelog.d/686-terrain-heights-bounds.md b/changelog.d/686-terrain-heights-bounds.md new file mode 100644 index 000000000..7e0004069 --- /dev/null +++ b/changelog.d/686-terrain-heights-bounds.md @@ -0,0 +1,9 @@ +- Bound what a caller can grow through `/api/terrain/heights`. Every distinct + 5-decimal point was a permanent in-memory entry, a permanent line in an + uncapped `.gev-cache/terrain-heights.json`, and a live upstream call, with + nothing limiting the rate. The point cache now holds at most 50,000 entries + and evicts oldest-first, a cache file above + 24 MB is not read back, and the route is limited to 90 requests/minute per + client (270 global). Evicting a point costs one refetch, never a wrong + answer, since terrain does not move. Ordinary use is unaffected: a full + `test:track` run drives 10 requests, peaking at 8/min (daikaginza, #686).