pleroma/changelog.d
Lain Soykaf 24bdd9774a
fix(reverse_proxy): release the HTTP client on every outcome
Three paths obtained a client ref and abandoned it without closing:
the content-length rejection in call/3, the invalid-status clause in
request/4, and the success branch of response/6.

Under Hackney 4 an abandoned ref is a permanent process leak. A conn
that finishes or errors without an explicit stop parks in `closed` or
`connected` and never terminates: closed/3 only arms its stop timer for
pooled conns, `connected` gets no state_timeout when idle_timeout is
infinity, and a non-pooled conn monitors hackney_conn_sup rather than
its caller, so the owner-DOWN cleanup never fires. Each parked process
pins every refc binary it read, which for proxied video is tens of MB.

Releasing on every outcome means the gun client must stop releasing in
stream_body/1, or the ref would be removed twice.

Hackney does reclaim a pooled connection itself for a response that
cannot carry a body (204, 304, HEAD), so those refs are marked and left
alone; stopping one would evict a connection another request may
already hold. The mark is gated on the request actually being pooled,
since a direct or proxy-tunnelled conn is never checked in and leaks
unless we stop it.
2026-07-25 18:46:43 +04:00
..
bandit-1.11.1.security fix(deps): update bandit 2026-07-02 10:26:12 +04:00
captcha-package.fix Use pleroma_captcha Hex package 2026-05-13 23:05:25 +04:00
context-cleanup.skip litepub-0.1.jsonld cleanup 2026-04-10 21:33:20 +02:00
cowboy-2.16.1.security fix(deps): update cowboy 2026-07-02 10:36:53 +04:00
cowlib-2.17.1.security fix(deps): update cowlib 2026-07-02 10:35:41 +04:00
decimal-3.1.1.security fix(deps): update decimal 2026-07-02 10:50:20 +04:00
docker-e2e-image.skip Add custom Docker image for FE E2E tests 2026-05-05 21:34:10 +02:00
earmark-mdex.security fix(deps): replace mdex with earmark parser 2026-07-23 13:02:28 +04:00
featured-collection-page.fix Fix paged featured collection fetches 2026-05-22 22:11:37 +04:00
grouped-notifications-api.add Persist notification group keys 2026-05-23 11:38:33 +04:00
grouped_notifications_flag.skip Grouped Notifications: Add feature flag to instance view and nodeinfo 2026-06-10 22:54:06 +02:00
hackney-4.0.3.security fix(deps): update hackney 2026-07-02 10:57:12 +04:00
host-header-verification.security EnsureHostMatchesPlug: Ensure Host header matches instance URI 2026-05-12 16:50:28 +02:00
http-signatures-0.1.3.fix Add changelog for http_signatures update 2026-05-11 21:12:34 +04:00
iceshrimpnet-reports-fix.fix Handle reports with just actor ap id as the object 2026-05-13 00:56:56 +02:00
jason-1.4.5.change chore(deps): update jason 2026-07-02 10:48:06 +04:00
list-emoji.add Allow attaching emojis to user lists 2026-06-23 16:08:52 +02:00
majic-1.2.0.change Update majic to 1.2.0 2026-05-13 18:39:40 +04:00
mastodon-websocket-protocol.fix Fix WebSocket protocol token handshakes 2026-05-22 16:30:14 +04:00
mfm-backend.add Add changelog for MFM support 2026-05-11 15:05:00 +04:00
mfm-extend.skip "changelog" 2026-05-18 21:07:12 +03:00
mix-audit.add chore(deps): add mix audit 2026-07-02 10:20:59 +04:00
oban-plugins-lazarus-hex.change Use Hex release for oban_plugins_lazarus 2026-05-13 19:10:15 +04:00
phoenix-1.8.8.security fix(deps): update phoenix 2026-07-02 10:31:34 +04:00
phoenix-sec-websocket-headers.change Switch Phoenix back to upstream 2026-01-18 10:40:10 +01:00
pleroma-fe-link.fix Update Pleroma-FE build artifacts URL 2026-05-06 13:55:45 +00:00
plug-1.20.2.security fix(deps): update plug 2026-07-02 10:27:21 +04:00
plug-cowboy-2.9.0.security fix(deps): update plug_cowboy 2026-07-02 10:33:50 +04:00
poll-voters-count-inflation.fix Add changelog for votersCount inflation fix 2026-05-06 11:48:20 +04:00
postgrex-0.22.2.security fix(deps): update postgrex 2026-07-02 10:39:34 +04:00
quic-unused.security fix(deps): remove unused quic lock 2026-07-02 10:40:53 +04:00
reject-third-party-reports.fix Reject third-party remote reports 2026-05-12 23:50:30 +04:00
remote-ip-hex.change Use upstream remote_ip package 2026-05-13 20:04:12 +04:00
reverse-proxy-client-leak.fix fix(reverse_proxy): release the HTTP client on every outcome 2026-07-25 18:46:43 +04:00
user-search-sorting.change Add changelog 2026-01-01 10:04:55 +04:00
weblate-ci.skip Woodpecker CI: Do not trigger on Weblate MRs 2026-05-14 12:34:27 +02:00
wss-necroposts.fix changelog 2026-05-24 23:41:59 +02:00