v0.3.3
Added
ipAllowlist({ trustedProxyDepth })— how many trusted proxies append toX-Forwarded-For(default1). Client IP is taken that many hops from the right, matching how reverse proxies append rather than overwrite.
Changed
- Site logo assets live under
site/public/logo/(wordmarks + letter variants); README and favicon paths follow. The docs site cycles the O / K / E favicon letters.
Fixed
cors({ origin: "*", credentials: true })now throws at construction (and again if runtime config introduces the pair) instead of reflecting the request origin — that rewrite would have granted any site credentialed access.ipAllowlistno longer trusts the leftmost XFF hop (spoofable when proxies append). Wrong or non-positivetrustedProxyDepthfails loud.