Bug fixes, minor performance upgrades, and new features.
This is the final Python release for Doorman. Moving forward I will migrate Doorman to be written in Rust. Maintaining the UI and not breaking any integrations. Expect v2.0.0 in the next month or two for this major update.
New Features
Transparent Host Routing
Doorman can route traffic by the incoming Host header, so foo.mydomain.com/v2/bar/query can be proxied to the upstream service without changing the client-facing URL. Set this in APIs → Add/Edit API → Basic Information → Hostname Routing, and set the upstream service in APIs → Add/Edit API → Servers.
Anonymous Access
Doorman can allow unauthenticated requests and treat them as anonymous callers, useful for public/basic-tier access. Set this in APIs → Add/Edit API → Configuration by turning off Auth Required, then enabling Anonymous Access.
Credits / Rate Limiting By IP
Anonymous callers can be tracked by client IP, while authenticated callers use their own user/API-key identity. Enable credits in APIs → Add/Edit API → Configuration → Credits Enabled / Credit Group; if anonymous access is enabled, you can also set Anonymous Credit Group there.
Forwarded Client IP
Behind a reverse proxy, Doorman needs the real client IP to make anonymous IP buckets work correctly. Set this per API in APIs → Add/Edit API → IP Access Control → Trust X-Forwarded-For, and configure the reverse proxy to send X-Forwarded-For.