[{"url":"https://api.github.com/repos/erlang/otp/releases/364813057","assets_url":"https://api.github.com/repos/erlang/otp/releases/364813057/assets","upload_url":"https://uploads.github.com/repos/erlang/otp/releases/364813057/assets{?name,label}","html_url":"https://github.com/erlang/otp/releases/tag/OTP-29.0.5","id":364813057,"author":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"node_id":"RE_kwDOAAW4j84VvpsB","tag_name":"OTP-29.0.5","target_commitish":"master","name":"OTP 29.0.5","draft":false,"immutable":false,"prerelease":false,"created_at":"2026-08-03T09:34:26Z","updated_at":"2026-08-04T12:35:51Z","published_at":"2026-08-04T11:18:10Z","assets":[{"url":"https://api.github.com/repos/erlang/otp/releases/assets/501327277","id":501327277,"node_id":"RA_kwDOAAW4j84d4aWt","name":"bom.spdx.json","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/json","state":"uploaded","size":5834094,"digest":"sha256:d2cc7d7f1b1fd6ca3773fe386ea8035a7c7ccf6e1a616aef2d0e5b99fd75f3f9","download_count":41,"created_at":"2026-08-04T12:35:48Z","updated_at":"2026-08-04T12:35:49Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-29.0.5/bom.spdx.json"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/501327254","id":501327254,"node_id":"RA_kwDOAAW4j84d4aWW","name":"bom.spdx.json.sigstore","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":5657830,"digest":"sha256:6f7a05e5be8fb01385ee77f1afea811fcb4907558a0b25a20a0072a303cb2207","download_count":42,"created_at":"2026-08-04T12:35:48Z","updated_at":"2026-08-04T12:35:48Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-29.0.5/bom.spdx.json.sigstore"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/501327250","id":501327250,"node_id":"RA_kwDOAAW4j84d4aWS","name":"MD5.txt","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"text/plain; charset=utf-8","state":"uploaded","size":177,"digest":"sha256:ccfc2df4b35a0a3fe8939c2d36a1dd8e370d64a911600d1e28c5ce51bc0924da","download_count":41,"created_at":"2026-08-04T12:35:47Z","updated_at":"2026-08-04T12:35:47Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-29.0.5/MD5.txt"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/501252567","id":501252567,"node_id":"RA_kwDOAAW4j84d4IHX","name":"OTP-29.0.5.README","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"text","state":"uploaded","size":1748,"digest":"sha256:f28e326cd2e45edadfa6b1ac73c6a0e9042896bfb624ebdad720396c17a854c9","download_count":621,"created_at":"2026-08-04T11:18:33Z","updated_at":"2026-08-04T11:18:33Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-29.0.5/OTP-29.0.5.README"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/501252572","id":501252572,"node_id":"RA_kwDOAAW4j84d4IHc","name":"OTP-29.0.5.README.md","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"text","state":"uploaded","size":1913,"digest":"sha256:a837da8e1a6a7368fc613fe07506f3b8ffb8d4ec489daa8c060aa01586036596","download_count":43,"created_at":"2026-08-04T11:18:34Z","updated_at":"2026-08-04T11:18:34Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-29.0.5/OTP-29.0.5.README.md"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/501327251","id":501327251,"node_id":"RA_kwDOAAW4j84d4aWT","name":"otp_doc_html_29.0.5.tar.gz","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/x-gtar","state":"uploaded","size":32503833,"digest":"sha256:483175c1da626a5e45520f1c2789f627e40ebf85a7a8f13741c0ff27549042d9","download_count":682,"created_at":"2026-08-04T12:35:47Z","updated_at":"2026-08-04T12:35:49Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-29.0.5/otp_doc_html_29.0.5.tar.gz"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/501327255","id":501327255,"node_id":"RA_kwDOAAW4j84d4aWX","name":"otp_doc_html_29.0.5.tar.gz.sigstore","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":5657830,"digest":"sha256:6f7a05e5be8fb01385ee77f1afea811fcb4907558a0b25a20a0072a303cb2207","download_count":40,"created_at":"2026-08-04T12:35:48Z","updated_at":"2026-08-04T12:35:48Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-29.0.5/otp_doc_html_29.0.5.tar.gz.sigstore"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/501327247","id":501327247,"node_id":"RA_kwDOAAW4j84d4aWP","name":"otp_doc_man_29.0.5.tar.gz","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/x-gtar","state":"uploaded","size":1935237,"digest":"sha256:e8972b63d78e951789fad78cd65c5f9def2066d120228a9ebe48b27fd71f1ea8","download_count":581,"created_at":"2026-08-04T12:35:47Z","updated_at":"2026-08-04T12:35:47Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-29.0.5/otp_doc_man_29.0.5.tar.gz"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/501327256","id":501327256,"node_id":"RA_kwDOAAW4j84d4aWY","name":"otp_doc_man_29.0.5.tar.gz.sigstore","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":5657830,"digest":"sha256:6f7a05e5be8fb01385ee77f1afea811fcb4907558a0b25a20a0072a303cb2207","download_count":35,"created_at":"2026-08-04T12:35:48Z","updated_at":"2026-08-04T12:35:48Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-29.0.5/otp_doc_man_29.0.5.tar.gz.sigstore"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/501327246","id":501327246,"node_id":"RA_kwDOAAW4j84d4aWO","name":"otp_src_29.0.5.tar.gz","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/x-gtar","state":"uploaded","size":106645320,"digest":"sha256:86f6f40d4638852b0383235b02a70d8450184e441e83a06a108bf8e5bf1b2e04","download_count":2985,"created_at":"2026-08-04T12:35:47Z","updated_at":"2026-08-04T12:35:51Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-29.0.5/otp_src_29.0.5.tar.gz"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/501327276","id":501327276,"node_id":"RA_kwDOAAW4j84d4aWs","name":"otp_src_29.0.5.tar.gz.sigstore","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":5657830,"digest":"sha256:6f7a05e5be8fb01385ee77f1afea811fcb4907558a0b25a20a0072a303cb2207","download_count":33,"created_at":"2026-08-04T12:35:48Z","updated_at":"2026-08-04T12:35:49Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-29.0.5/otp_src_29.0.5.tar.gz.sigstore"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/501252581","id":501252581,"node_id":"RA_kwDOAAW4j84d4IHl","name":"otp_win64_29.0.5.exe","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/x-msdownload","state":"uploaded","size":155570896,"digest":"sha256:24958095a89f0ec76dc9f6e381fa671b940afce2b9187c5c6859b193fe8922fe","download_count":8164,"created_at":"2026-08-04T11:18:34Z","updated_at":"2026-08-04T11:18:39Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-29.0.5/otp_win64_29.0.5.exe"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/501281670","id":501281670,"node_id":"RA_kwDOAAW4j84d4POG","name":"otp_win64_29.0.5.zip","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/zip","state":"uploaded","size":187063064,"digest":"sha256:8bd0be5f6a1bd866bf8b8955c35d0cb4de7c7c935da29f351b599e0b5ed92409","download_count":607,"created_at":"2026-08-04T11:49:11Z","updated_at":"2026-08-04T11:49:16Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-29.0.5/otp_win64_29.0.5.zip"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/501327249","id":501327249,"node_id":"RA_kwDOAAW4j84d4aWR","name":"SHA256.txt","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"text/plain; charset=utf-8","state":"uploaded","size":273,"digest":"sha256:7bd744888e85d4a2739ce046495b02e1768115d0736a639c5cbeee7f15bbb53b","download_count":102,"created_at":"2026-08-04T12:35:47Z","updated_at":"2026-08-04T12:35:47Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-29.0.5/SHA256.txt"}],"tarball_url":"https://api.github.com/repos/erlang/otp/tarball/OTP-29.0.5","zipball_url":"https://api.github.com/repos/erlang/otp/zipball/OTP-29.0.5","body":"```\nPatch Package:           OTP 29.0.5\nGit Tag:                 OTP-29.0.5\nDate:                    2026-08-04\nTrouble Report Id:       OTP-20137, OTP-20275\nSeq num:                 GH-11402, PR-11110, PR-11409\nSystem:                  OTP\nRelease:                 29\nApplication:             erts-17.0.5, ssh-6.0.4\nPredecessor:             OTP 29.0.4\n```\n\nCheck out the git tag OTP-29.0.5, and build a full OTP system including documentation. Apply one or more applications from this build as patches to your installation using the 'otp_patch_apply' tool. For information on install requirements, see descriptions for each application version below.\n\n# erts-17.0.5\n\nThe erts-17.0.5 application can be applied independently of other applications on a full OTP 29 installation.\n\n## Fixed Bugs and Malfunctions\n\n- Fixed a regression in the previous patch release that prevented epmd from binding to localhost.\n\n  Own Id: OTP-20275\\\n  Related Id(s): [GH-11402], [PR-11409]\n\n> #### Full runtime dependencies of erts-17.0.5\n>\n> kernel-9.0, sasl-3.3, stdlib-4.1\n\n# ssh-6.0.4\n\nThe ssh-6.0.4 application can be applied independently of other applications on a full OTP 29 installation.\n\n## Fixed Bugs and Malfunctions\n\n- The SSH client and server now reject incoming packets not aligned to the cipher block size as required by RFC 4253 §6. For CBC ciphers, a timing-safe \"packet discard\" mechanism (CVE-2008-5161 mitigation) ensures structural errors are indistinguishable from MAC failures before disconnecting. AEAD and encrypt-then-MAC modes disconnect immediately.\n\n  Own Id: OTP-20137\\\n  Related Id(s): [PR-11110]\n\n> #### Full runtime dependencies of ssh-6.0.4\n>\n> crypto-5.7, erts-14.0, kernel-10.3, public_key-1.6.1, runtime_tools-1.15.1, stdlib-8.0\n\n[gh-11402]: https://github.com/erlang/otp/issues/11402\n[pr-11110]: https://github.com/erlang/otp/pull/11110\n[pr-11409]: https://github.com/erlang/otp/pull/11409\n","reactions":{"url":"https://api.github.com/repos/erlang/otp/releases/364813057/reactions","total_count":8,"+1":0,"-1":0,"laugh":0,"hooray":6,"confused":0,"heart":0,"rocket":2,"eyes":0}},{"url":"https://api.github.com/repos/erlang/otp/releases/364813063","assets_url":"https://api.github.com/repos/erlang/otp/releases/364813063/assets","upload_url":"https://uploads.github.com/repos/erlang/otp/releases/364813063/assets{?name,label}","html_url":"https://github.com/erlang/otp/releases/tag/OTP-28.5.0.5","id":364813063,"author":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"node_id":"RE_kwDOAAW4j84VvpsH","tag_name":"OTP-28.5.0.5","target_commitish":"master","name":"OTP 28.5.0.5","draft":false,"immutable":false,"prerelease":false,"created_at":"2026-08-03T09:35:01Z","updated_at":"2026-08-04T12:14:17Z","published_at":"2026-08-04T11:18:11Z","assets":[{"url":"https://api.github.com/repos/erlang/otp/releases/assets/501286856","id":501286856,"node_id":"RA_kwDOAAW4j84d4QfI","name":"bom.spdx.json","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/json","state":"uploaded","size":5776359,"digest":"sha256:d9140a3a99f29642af9fd736fb1436890f13519c8cb677e3d7aadba823aa05c2","download_count":4,"created_at":"2026-08-04T11:53:58Z","updated_at":"2026-08-04T11:53:59Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.5.0.5/bom.spdx.json"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/501286852","id":501286852,"node_id":"RA_kwDOAAW4j84d4QfE","name":"bom.spdx.json.sigstore","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":5597025,"digest":"sha256:7017a3e4596f483065ac3ee74292d247de342a1a70813c225b7f979257e5987a","download_count":4,"created_at":"2026-08-04T11:53:58Z","updated_at":"2026-08-04T11:53:59Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.5.0.5/bom.spdx.json.sigstore"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/501286848","id":501286848,"node_id":"RA_kwDOAAW4j84d4QfA","name":"MD5.txt","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"text/plain","state":"uploaded","size":183,"digest":"sha256:9f59b5ceda5c07e7415260ad7ef8748cb876d5e0a12700a797d1ccaf90d62fb8","download_count":2,"created_at":"2026-08-04T11:53:58Z","updated_at":"2026-08-04T11:53:58Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.5.0.5/MD5.txt"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/501252413","id":501252413,"node_id":"RA_kwDOAAW4j84d4IE9","name":"OTP-28.5.0.5.README","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"text","state":"uploaded","size":1957,"digest":"sha256:7fc113c25a28752be0b6dbfb82dd74f781477b4266b677667b0662001d8bf1f5","download_count":10,"created_at":"2026-08-04T11:18:22Z","updated_at":"2026-08-04T11:18:22Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.5.0.5/OTP-28.5.0.5.README"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/501252416","id":501252416,"node_id":"RA_kwDOAAW4j84d4IFA","name":"OTP-28.5.0.5.README.md","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"text","state":"uploaded","size":2118,"digest":"sha256:eab7d59f8bd466dacf0c3e4867ffd82be649be6225225733180a308652906777","download_count":5,"created_at":"2026-08-04T11:18:23Z","updated_at":"2026-08-04T11:18:23Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.5.0.5/OTP-28.5.0.5.README.md"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/501286849","id":501286849,"node_id":"RA_kwDOAAW4j84d4QfB","name":"otp_doc_html_28.5.0.5.tar.gz","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":31824965,"digest":"sha256:e7a368ce7fc64e3be2929e31d5881d4afef8969b7f511e2263fbd3b93c476bc6","download_count":82,"created_at":"2026-08-04T11:53:58Z","updated_at":"2026-08-04T11:53:59Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.5.0.5/otp_doc_html_28.5.0.5.tar.gz"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/501286855","id":501286855,"node_id":"RA_kwDOAAW4j84d4QfH","name":"otp_doc_html_28.5.0.5.tar.gz.sigstore","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":5597025,"digest":"sha256:7017a3e4596f483065ac3ee74292d247de342a1a70813c225b7f979257e5987a","download_count":5,"created_at":"2026-08-04T11:53:58Z","updated_at":"2026-08-04T11:53:59Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.5.0.5/otp_doc_html_28.5.0.5.tar.gz.sigstore"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/501286847","id":501286847,"node_id":"RA_kwDOAAW4j84d4Qe_","name":"otp_doc_man_28.5.0.5.tar.gz","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":1891063,"digest":"sha256:3d2aafd6d39bdf312356b5e5823b9d1429c3e4613baf3316d34421e55a0c7079","download_count":158,"created_at":"2026-08-04T11:53:58Z","updated_at":"2026-08-04T11:53:58Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.5.0.5/otp_doc_man_28.5.0.5.tar.gz"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/501286851","id":501286851,"node_id":"RA_kwDOAAW4j84d4QfD","name":"otp_doc_man_28.5.0.5.tar.gz.sigstore","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":5597025,"digest":"sha256:7017a3e4596f483065ac3ee74292d247de342a1a70813c225b7f979257e5987a","download_count":2,"created_at":"2026-08-04T11:53:58Z","updated_at":"2026-08-04T11:53:59Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.5.0.5/otp_doc_man_28.5.0.5.tar.gz.sigstore"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/501286845","id":501286845,"node_id":"RA_kwDOAAW4j84d4Qe9","name":"otp_src_28.5.0.5.tar.gz","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":105348705,"digest":"sha256:5231ba18f31f8041c2d6514cc8842e46954d3b39a53f1617f03f2abe6fea59c7","download_count":435,"created_at":"2026-08-04T11:53:58Z","updated_at":"2026-08-04T11:54:01Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.5.0.5/otp_src_28.5.0.5.tar.gz"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/501286850","id":501286850,"node_id":"RA_kwDOAAW4j84d4QfC","name":"otp_src_28.5.0.5.tar.gz.sigstore","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":5597025,"digest":"sha256:7017a3e4596f483065ac3ee74292d247de342a1a70813c225b7f979257e5987a","download_count":3,"created_at":"2026-08-04T11:53:58Z","updated_at":"2026-08-04T11:53:59Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.5.0.5/otp_src_28.5.0.5.tar.gz.sigstore"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/501252426","id":501252426,"node_id":"RA_kwDOAAW4j84d4IFK","name":"otp_win32_28.5.0.5.exe","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/x-msdownload","state":"uploaded","size":135087240,"digest":"sha256:80b860a8bb7801b524e98b664c44abe0f1ebbd2f2e00b8ce1ea264c02878ea9f","download_count":102,"created_at":"2026-08-04T11:18:23Z","updated_at":"2026-08-04T11:18:27Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.5.0.5/otp_win32_28.5.0.5.exe"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/501305545","id":501305545,"node_id":"RA_kwDOAAW4j84d4VDJ","name":"otp_win32_28.5.0.5.zip","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/zip","state":"uploaded","size":174209629,"digest":"sha256:c6b70fd52b89150ddd90850a013cefe272070e709b955fb01db6d58dcff451f9","download_count":19,"created_at":"2026-08-04T12:14:13Z","updated_at":"2026-08-04T12:14:17Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.5.0.5/otp_win32_28.5.0.5.zip"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/501252476","id":501252476,"node_id":"RA_kwDOAAW4j84d4IF8","name":"otp_win64_28.5.0.5.exe","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/x-msdownload","state":"uploaded","size":153803184,"digest":"sha256:7958fc0ecc1d89a8ab6ed375e01d773ba987435e37f6495a2fe0d0772eef5965","download_count":1752,"created_at":"2026-08-04T11:18:27Z","updated_at":"2026-08-04T11:18:31Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.5.0.5/otp_win64_28.5.0.5.exe"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/501305524","id":501305524,"node_id":"RA_kwDOAAW4j84d4VC0","name":"otp_win64_28.5.0.5.zip","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/zip","state":"uploaded","size":184902883,"digest":"sha256:ea3a6f78a981183384baedefd337b0542d7935335f6f865b8b6aab2542d205d6","download_count":74,"created_at":"2026-08-04T12:14:10Z","updated_at":"2026-08-04T12:14:15Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.5.0.5/otp_win64_28.5.0.5.zip"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/501286846","id":501286846,"node_id":"RA_kwDOAAW4j84d4Qe-","name":"SHA256.txt","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"text/plain","state":"uploaded","size":279,"digest":"sha256:0bd280f5e33f7c97898da2df77b6914402c360543588a2c51838925885f38edf","download_count":34,"created_at":"2026-08-04T11:53:58Z","updated_at":"2026-08-04T11:53:58Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.5.0.5/SHA256.txt"}],"tarball_url":"https://api.github.com/repos/erlang/otp/tarball/OTP-28.5.0.5","zipball_url":"https://api.github.com/repos/erlang/otp/zipball/OTP-28.5.0.5","body":"```\nPatch Package:           OTP 28.5.0.5\nGit Tag:                 OTP-28.5.0.5\nDate:                    2026-08-04\nTrouble Report Id:       OTP-20137, OTP-20275\nSeq num:                 GH-11402, PR-11110, PR-11409\nSystem:                  OTP\nRelease:                 28\nApplication:             erts-16.4.0.5, ssh-5.5.2.4\nPredecessor:             OTP 28.5.0.4\n```\n\nCheck out the git tag OTP-28.5.0.5, and build a full OTP system including documentation. Apply one or more applications from this build as patches to your installation using the 'otp_patch_apply' tool. For information on install requirements, see descriptions for each application version below.\n\n# erts-16.4.0.5\n\nThe erts-16.4.0.5 application can be applied independently of other applications on a full OTP 28 installation.\n\n## Fixed Bugs and Malfunctions\n\n- Fixed a regression in the previous patch release that prevented epmd from binding to localhost.\n\n  Own Id: OTP-20275\\\n  Related Id(s): [GH-11402], [PR-11409]\n\n> #### Full runtime dependencies of erts-16.4.0.5\n>\n> kernel-9.0, sasl-3.3, stdlib-4.1\n\n# ssh-5.5.2.4\n\nNote! The ssh-5.5.2.4 application _cannot_ be applied independently of other applications on an arbitrary OTP 28 installation.\n\n```\n   On a full OTP 28 installation, also the following runtime\n   dependency has to be satisfied:\n   -- crypto-5.7 (first satisfied in OTP 28.1)\n```\n\n## Fixed Bugs and Malfunctions\n\n- The SSH client and server now reject incoming packets not aligned to the cipher block size as required by RFC 4253 §6. For CBC ciphers, a timing-safe \"packet discard\" mechanism (CVE-2008-5161 mitigation) ensures structural errors are indistinguishable from MAC failures before disconnecting. AEAD and encrypt-then-MAC modes disconnect immediately.\n\n  Own Id: OTP-20137\\\n  Related Id(s): [PR-11110]\n\n> #### Full runtime dependencies of ssh-5.5.2.4\n>\n> crypto-5.7, erts-14.0, kernel-10.3, public_key-1.6.1, runtime_tools-1.15.1, stdlib-5.0, stdlib-6.0\n\n[gh-11402]: https://github.com/erlang/otp/issues/11402\n[pr-11110]: https://github.com/erlang/otp/pull/11110\n[pr-11409]: https://github.com/erlang/otp/pull/11409\n","reactions":{"url":"https://api.github.com/repos/erlang/otp/releases/364813063/reactions","total_count":3,"+1":2,"-1":0,"laugh":0,"hooray":1,"confused":0,"heart":0,"rocket":0,"eyes":0}},{"url":"https://api.github.com/repos/erlang/otp/releases/364772469","assets_url":"https://api.github.com/repos/erlang/otp/releases/364772469/assets","upload_url":"https://uploads.github.com/repos/erlang/otp/releases/364772469/assets{?name,label}","html_url":"https://github.com/erlang/otp/releases/tag/OTP-27.3.4.16","id":364772469,"author":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"node_id":"RE_kwDOAAW4j84Vvfx1","tag_name":"OTP-27.3.4.16","target_commitish":"master","name":"OTP 27.3.4.16","draft":false,"immutable":false,"prerelease":false,"created_at":"2026-08-03T09:41:40Z","updated_at":"2026-08-04T11:49:02Z","published_at":"2026-08-04T10:06:35Z","assets":[{"url":"https://api.github.com/repos/erlang/otp/releases/assets/501184618","id":501184618,"node_id":"RA_kwDOAAW4j84d33hq","name":"MD5.txt","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"text/plain","state":"uploaded","size":186,"digest":"sha256:04d685543b03bfb3fa0713c17ea8429b9a2f74c5656f35e9381851211b556043","download_count":12,"created_at":"2026-08-04T10:06:30Z","updated_at":"2026-08-04T10:06:31Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-27.3.4.16/MD5.txt"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/501252316","id":501252316,"node_id":"RA_kwDOAAW4j84d4IDc","name":"OTP-27.3.4.16.README","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"text","state":"uploaded","size":1799,"digest":"sha256:d033f7ae7b53a46e2bd56baa972b7a29a32bc589b95427b3db08013d117a8c67","download_count":50,"created_at":"2026-08-04T11:18:13Z","updated_at":"2026-08-04T11:18:13Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-27.3.4.16/OTP-27.3.4.16.README"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/501252321","id":501252321,"node_id":"RA_kwDOAAW4j84d4IDh","name":"OTP-27.3.4.16.README.md","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"text","state":"uploaded","size":1978,"digest":"sha256:16605110afe562d8e20f4aed47b3c7cff061850505b75ce43f60f8cfefdc541f","download_count":11,"created_at":"2026-08-04T11:18:14Z","updated_at":"2026-08-04T11:18:14Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-27.3.4.16/OTP-27.3.4.16.README.md"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/501184622","id":501184622,"node_id":"RA_kwDOAAW4j84d33hu","name":"otp_doc_html_27.3.4.16.tar.gz","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":26211807,"digest":"sha256:93a94ced4b193bbd5885627c2730747cbf314f32b248d1f24705f9d4319d306f","download_count":64,"created_at":"2026-08-04T10:06:30Z","updated_at":"2026-08-04T10:06:32Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-27.3.4.16/otp_doc_html_27.3.4.16.tar.gz"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/501184623","id":501184623,"node_id":"RA_kwDOAAW4j84d33hv","name":"otp_doc_man_27.3.4.16.tar.gz","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":45355,"digest":"sha256:3222b1e8e7a36a3e0a0cf6d165911e12d8891e9188c050b8b28c821927ec1d07","download_count":49,"created_at":"2026-08-04T10:06:30Z","updated_at":"2026-08-04T10:06:31Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-27.3.4.16/otp_doc_man_27.3.4.16.tar.gz"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/501184620","id":501184620,"node_id":"RA_kwDOAAW4j84d33hs","name":"otp_src_27.3.4.16.tar.gz","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":101593111,"digest":"sha256:b945362f125ecdba4281723595f08716808bafd9137ad153f12e1db917ce8517","download_count":1068,"created_at":"2026-08-04T10:06:30Z","updated_at":"2026-08-04T10:06:34Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-27.3.4.16/otp_src_27.3.4.16.tar.gz"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/501252325","id":501252325,"node_id":"RA_kwDOAAW4j84d4IDl","name":"otp_win32_27.3.4.16.exe","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/x-msdownload","state":"uploaded","size":122338824,"digest":"sha256:941674d0fb7acdd6885a974d6a5d6c8a93baa748cbf584b961ba847bbdef89c4","download_count":117,"created_at":"2026-08-04T11:18:14Z","updated_at":"2026-08-04T11:18:17Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-27.3.4.16/otp_win32_27.3.4.16.exe"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/501281396","id":501281396,"node_id":"RA_kwDOAAW4j84d4PJ0","name":"otp_win32_27.3.4.16.zip","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/zip","state":"uploaded","size":138816940,"digest":"sha256:7f2184362644727f0b149c69446a73b60ec7a1914e2a77b25bd19828c820e315","download_count":21,"created_at":"2026-08-04T11:48:50Z","updated_at":"2026-08-04T11:48:55Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-27.3.4.16/otp_win32_27.3.4.16.zip"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/501252354","id":501252354,"node_id":"RA_kwDOAAW4j84d4IEC","name":"otp_win64_27.3.4.16.exe","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/x-msdownload","state":"uploaded","size":140060280,"digest":"sha256:560343fcd1def3eefe43477c9093d150c21c9c188316c0af6f50518c6e6892cc","download_count":4495,"created_at":"2026-08-04T11:18:18Z","updated_at":"2026-08-04T11:18:22Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-27.3.4.16/otp_win64_27.3.4.16.exe"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/501281530","id":501281530,"node_id":"RA_kwDOAAW4j84d4PL6","name":"otp_win64_27.3.4.16.zip","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/zip","state":"uploaded","size":157855196,"digest":"sha256:a329f89ccad6921136e86f24ce2a6c99597c306d66ccec3d99d22c5ae007300c","download_count":135,"created_at":"2026-08-04T11:48:58Z","updated_at":"2026-08-04T11:49:02Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-27.3.4.16/otp_win64_27.3.4.16.zip"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/501184619","id":501184619,"node_id":"RA_kwDOAAW4j84d33hr","name":"SHA256.txt","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"text/plain","state":"uploaded","size":282,"digest":"sha256:6adf43aa6027ff57286fb325dcd93b6c4705e55b597e9b98300e0b8dc7454e9d","download_count":126,"created_at":"2026-08-04T10:06:30Z","updated_at":"2026-08-04T10:06:31Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-27.3.4.16/SHA256.txt"}],"tarball_url":"https://api.github.com/repos/erlang/otp/tarball/OTP-27.3.4.16","zipball_url":"https://api.github.com/repos/erlang/otp/zipball/OTP-27.3.4.16","body":null,"reactions":{"url":"https://api.github.com/repos/erlang/otp/releases/364772469/reactions","total_count":1,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":1,"eyes":0}},{"url":"https://api.github.com/repos/erlang/otp/releases/360435791","assets_url":"https://api.github.com/repos/erlang/otp/releases/360435791/assets","upload_url":"https://uploads.github.com/repos/erlang/otp/releases/360435791/assets{?name,label}","html_url":"https://github.com/erlang/otp/releases/tag/OTP-29.0.4","id":360435791,"author":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"node_id":"RE_kwDOAAW4j84Ve9BP","tag_name":"OTP-29.0.4","target_commitish":"master","name":"OTP 29.0.4","draft":false,"immutable":false,"prerelease":false,"created_at":"2026-07-24T15:08:29Z","updated_at":"2026-07-27T15:23:14Z","published_at":"2026-07-27T13:11:46Z","assets":[{"url":"https://api.github.com/repos/erlang/otp/releases/assets/491582537","id":491582537,"node_id":"RA_kwDOAAW4j84dTPRJ","name":"bom.spdx.json","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/json","state":"uploaded","size":5834094,"digest":"sha256:1c3961ac32244d013c0b06b56b578da795d97b27948293bb63fe05d5b87f9228","download_count":43,"created_at":"2026-07-27T15:02:36Z","updated_at":"2026-07-27T15:02:37Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-29.0.4/bom.spdx.json"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/491582526","id":491582526,"node_id":"RA_kwDOAAW4j84dTPQ-","name":"bom.spdx.json.sigstore","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":5658065,"digest":"sha256:62aa3a2a42b90956b44dbb2237463a85438e7f1a7c14699586424f58aebb3f19","download_count":39,"created_at":"2026-07-27T15:02:36Z","updated_at":"2026-07-27T15:02:36Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-29.0.4/bom.spdx.json.sigstore"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/491582518","id":491582518,"node_id":"RA_kwDOAAW4j84dTPQ2","name":"MD5.txt","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"text/plain; charset=utf-8","state":"uploaded","size":177,"digest":"sha256:02087c03205ccbfb42c137534acbffc857f73d4c3f46d4a86822a826ef7a9757","download_count":38,"created_at":"2026-07-27T15:02:35Z","updated_at":"2026-07-27T15:02:35Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-29.0.4/MD5.txt"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/491474449","id":491474449,"node_id":"RA_kwDOAAW4j84dS04R","name":"OTP-29.0.4.README","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"text","state":"uploaded","size":9590,"digest":"sha256:215f5e16f49e1b9663bce755268e0fe9942ca20e1c5a9039a7641f0bab2dcf03","download_count":617,"created_at":"2026-07-27T13:11:51Z","updated_at":"2026-07-27T13:11:52Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-29.0.4/OTP-29.0.4.README"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/491474456","id":491474456,"node_id":"RA_kwDOAAW4j84dS04Y","name":"OTP-29.0.4.README.md","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"text","state":"uploaded","size":11239,"digest":"sha256:ef51ba74294e6695123c724b6e0d0dc209c2169e4cb452f55f6f63825508a375","download_count":45,"created_at":"2026-07-27T13:11:52Z","updated_at":"2026-07-27T13:11:52Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-29.0.4/OTP-29.0.4.README.md"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/491582515","id":491582515,"node_id":"RA_kwDOAAW4j84dTPQz","name":"otp_doc_html_29.0.4.tar.gz","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/x-gtar","state":"uploaded","size":32494027,"digest":"sha256:9f1ce698792f2130c676a45dcddaebf582ea3c4600a8402a3eef457d98ef1034","download_count":702,"created_at":"2026-07-27T15:02:35Z","updated_at":"2026-07-27T15:02:37Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-29.0.4/otp_doc_html_29.0.4.tar.gz"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/491582528","id":491582528,"node_id":"RA_kwDOAAW4j84dTPRA","name":"otp_doc_html_29.0.4.tar.gz.sigstore","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":5658065,"digest":"sha256:62aa3a2a42b90956b44dbb2237463a85438e7f1a7c14699586424f58aebb3f19","download_count":40,"created_at":"2026-07-27T15:02:36Z","updated_at":"2026-07-27T15:02:36Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-29.0.4/otp_doc_html_29.0.4.tar.gz.sigstore"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/491582516","id":491582516,"node_id":"RA_kwDOAAW4j84dTPQ0","name":"otp_doc_man_29.0.4.tar.gz","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/x-gtar","state":"uploaded","size":1935304,"digest":"sha256:5a58c18368ddf7ac25e6d60703286e6d54e443ff1dfa815ed2e861149d0f1ca1","download_count":556,"created_at":"2026-07-27T15:02:35Z","updated_at":"2026-07-27T15:02:36Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-29.0.4/otp_doc_man_29.0.4.tar.gz"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/491582529","id":491582529,"node_id":"RA_kwDOAAW4j84dTPRB","name":"otp_doc_man_29.0.4.tar.gz.sigstore","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":5658065,"digest":"sha256:62aa3a2a42b90956b44dbb2237463a85438e7f1a7c14699586424f58aebb3f19","download_count":35,"created_at":"2026-07-27T15:02:36Z","updated_at":"2026-07-27T15:02:36Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-29.0.4/otp_doc_man_29.0.4.tar.gz.sigstore"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/491582514","id":491582514,"node_id":"RA_kwDOAAW4j84dTPQy","name":"otp_src_29.0.4.tar.gz","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/x-gtar","state":"uploaded","size":106649044,"digest":"sha256:67426425f0eed0dbd6c8cd3d500de4c47bbf1bbe337be0e2c13fc8f8f3e4997a","download_count":3813,"created_at":"2026-07-27T15:02:35Z","updated_at":"2026-07-27T15:02:38Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-29.0.4/otp_src_29.0.4.tar.gz"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/491582536","id":491582536,"node_id":"RA_kwDOAAW4j84dTPRI","name":"otp_src_29.0.4.tar.gz.sigstore","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":5658065,"digest":"sha256:62aa3a2a42b90956b44dbb2237463a85438e7f1a7c14699586424f58aebb3f19","download_count":35,"created_at":"2026-07-27T15:02:36Z","updated_at":"2026-07-27T15:02:37Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-29.0.4/otp_src_29.0.4.tar.gz.sigstore"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/491474471","id":491474471,"node_id":"RA_kwDOAAW4j84dS04n","name":"otp_win64_29.0.4.exe","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/x-msdownload","state":"uploaded","size":155778384,"digest":"sha256:c119a52ac90363ea4526840fc0d421be13b6e1afe6703a81ec546cbe6160899a","download_count":8027,"created_at":"2026-07-27T13:11:53Z","updated_at":"2026-07-27T13:11:56Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-29.0.4/otp_win64_29.0.4.exe"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/491604670","id":491604670,"node_id":"RA_kwDOAAW4j84dTUq-","name":"otp_win64_29.0.4.zip","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/zip","state":"uploaded","size":187292692,"digest":"sha256:a6702b70c6d8101e1e65729a7a5283f6eb3fd3cceded3dfaf760aa1da887f196","download_count":755,"created_at":"2026-07-27T15:23:06Z","updated_at":"2026-07-27T15:23:14Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-29.0.4/otp_win64_29.0.4.zip"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/491582517","id":491582517,"node_id":"RA_kwDOAAW4j84dTPQ1","name":"SHA256.txt","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"text/plain; charset=utf-8","state":"uploaded","size":273,"digest":"sha256:c5fc661e5eb7f45c6a66b9d1d70e80c63db13e00b5c7f6067839379d0521a040","download_count":91,"created_at":"2026-07-27T15:02:35Z","updated_at":"2026-07-27T15:02:35Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-29.0.4/SHA256.txt"}],"tarball_url":"https://api.github.com/repos/erlang/otp/tarball/OTP-29.0.4","zipball_url":"https://api.github.com/repos/erlang/otp/zipball/OTP-29.0.4","body":"```\nPatch Package:           OTP 29.0.4\nGit Tag:                 OTP-29.0.4\nDate:                    2026-07-27\nTrouble Report Id:       OTP-20136, OTP-20143, OTP-20214, OTP-20229,\n                         OTP-20237, OTP-20239, OTP-20240, OTP-20241,\n                         OTP-20242, OTP-20243, OTP-20244, OTP-20245,\n                         OTP-20248, OTP-20250, OTP-20251, OTP-20257,\n                         OTP-20258, OTP-20259, OTP-20260, OTP-20261\nSeq num:                 CVE-2026-42792, CVE-2026-47078,\n                         CVE-2026-54890, CVE-2026-55737,\n                         CVE-2026-55953, CVE-2026-58227, ERIERL-1341,\n                         GH-11319, GH-11332, GH-11368,\n                         GH-SA-622p-qfh6-c352, GH-SA-7xgh-gmgf-q2g7,\n                         PR-11239, PR-11297, PR-11303, PR-11323,\n                         PR-11330, PR-11331, PR-11333, PR-11334,\n                         PR-11336, PR-11337, PR-11341, PR-11343,\n                         PR-11369, PR-11372, PR-11374, PR-11386,\n                         PR-27944\nSystem:                  OTP\nRelease:                 29\nApplication:             compiler-10.0.3, crypto-5.9.2,\n                         diameter-2.7.2, erts-17.0.4, megaco-4.9.1,\n                         public_key-1.21.4, ssh-6.0.3, ssl-11.7.4,\n                         stdlib-8.0.3\nPredecessor:             OTP 29.0.3\n```\n\nCheck out the git tag OTP-29.0.4, and build a full OTP system including documentation. Apply one or more applications from this build as patches to your installation using the 'otp_patch_apply' tool. For information on install requirements, see descriptions for each application version below.\n\n# POTENTIAL INCOMPATIBILITIES\n\n- Mitigated a denial of service attack in epmd.\n\n  Thanks to Ryan Moore for finding and responsibly disclosing this vulnerability to the Erlang/OTP project.\n\n  Own Id: OTP-20136\\\n  Application(s): erts\\\n  Related Id(s): [PR-11386], [CVE-2026-42792]\n\n# compiler-10.0.3\n\nThe compiler-10.0.3 application can be applied independently of other applications on a full OTP 29 installation.\n\n## Fixed Bugs and Malfunctions\n\n- compiler: Fix an internal consistency check failure with `setelement`\n\n  Own Id: OTP-20261\\\n  Related Id(s): [GH-11368], [PR-11374]\n\n> #### Full runtime dependencies of compiler-10.0.3\n>\n> crypto-5.1, erts-13.0, kernel-8.4, stdlib-8.0\n\n# crypto-5.9.2\n\nThe crypto-5.9.2 application can be applied independently of other applications on a full OTP 29 installation.\n\n## Fixed Bugs and Malfunctions\n\n- Fixed crash in `crypto:macN/5` when supplied `MacLength` was greater than length of what the underlying hash returned.\n\n  Own Id: OTP-20239\\\n  Related Id(s): [PR-11239]\n\n- Fixed segfault in `crypto:aead_cipher_init_nif` when argument validation fails.\n\n  Own Id: OTP-20241\\\n  Related Id(s): [PR-11330]\n\n- Fix cipher key buffer overread for `chacha20_poly1305`.\n\n  Own Id: OTP-20244\\\n  Related Id(s): [PR-11337]\n\n> #### Full runtime dependencies of crypto-5.9.2\n>\n> erts-9.0, kernel-6.0, stdlib-3.9\n\n# diameter-2.7.2\n\nThe diameter-2.7.2 application can be applied independently of other applications on a full OTP 29 installation.\n\n## Fixed Bugs and Malfunctions\n\n- Fix infinite loop in `diameter_dist:route_session/2` when avp other than `Session-Id` has zero length.\n\n  Own Id: OTP-20242\\\n  Related Id(s): [PR-11331]\n\n- Fix crash in `diameter_dist:route_session/2` when `Session-Id` (code: 263) avp has zero length.\n\n  Own Id: OTP-20243\\\n  Related Id(s): [PR-11333]\n\n> #### Full runtime dependencies of diameter-2.7.2\n>\n> erts-10.0, kernel-3.2, ssl-9.0, stdlib-5.0\n\n# erts-17.0.4\n\nThe erts-17.0.4 application can be applied independently of other applications on a full OTP 29 installation.\n\n## Fixed Bugs and Malfunctions\n\n- Mitigated a denial of service attack in epmd.\n\n  Thanks to Ryan Moore for finding and responsibly disclosing this vulnerability to the Erlang/OTP project.\n\n  Own Id: OTP-20136\\\n  Related Id(s): [PR-11386], [CVE-2026-42792]\n\n  \\*\\*\\* POTENTIAL INCOMPATIBILITY \\*\\*\\*\n\n- Fixed heap corruption when an invalidly encoded tuple with an arity of 2^31 or larger is decoded from Erlang's External Term Format (binary_to_term).\n\n  Own Id: OTP-20214\\\n  Related Id(s): [PR-11297], [CVE-2026-55737]\n\n- When send_timeout is set and send_timeout_close is set to true, a 'tcp_closed' message is expected when the timeout occurs, but that (message) was not delivered. This has now been fixed.\n\n  Own Id: OTP-20257\\\n  Related Id(s): [GH-11319]\n\n- A crafted External Term Format (ETF) payload could crash the runtime system.\n\n  Thanks to Paul Guyot for finding and responsibly disclosing this vulnerability to the Erlang/OTP project.\n\n  Own Id: OTP-20259\\\n  Related Id(s): [PR-11386], [CVE-2026-54890]\n\n- Fixed a rounding error in 16-bit float conversion.\n\n  Own Id: OTP-20260\\\n  Related Id(s): [GH-11332], [PR-11334]\n\n> #### Full runtime dependencies of erts-17.0.4\n>\n> kernel-9.0, sasl-3.3, stdlib-4.1\n\n# megaco-4.9.1\n\nThe megaco-4.9.1 application can be applied independently of other applications on a full OTP 29 installation.\n\n## Fixed Bugs and Malfunctions\n\n- Fixed a buffer overflow in the megaco flex scanner C driver. A property parm name exceeding 452 bytes in a text-encoded H.248 message could overflow a fixed-size error buffer, crashing the VM. The sprintf calls have been replaced with bounded snprintf.\n\n  Own Id: OTP-20237\\\n  Related Id(s): [GH-SA-7xgh-gmgf-q2g7], [PR-11323]\n\n> #### Full runtime dependencies of megaco-4.9.1\n>\n> asn1-3.0, debugger-4.0, erts-12.0, et-1.5, kernel-8.0, runtime_tools-1.8.14, stdlib-2.5\n\n# public_key-1.21.4\n\nThe public_key-1.21.4 application can be applied independently of other applications on a full OTP 29 installation.\n\n## Fixed Bugs and Malfunctions\n\n- A certificate chain with crafted policyMappings extensions could cause exponential memory consumption during path validation, exploitable via TLS handshake. Chains exceeding a node-count cap are now rejected with {bad_cert, policy_tree_exceeded}.\n\n  Own Id: OTP-20251\\\n  Related Id(s): [GH-SA-622p-qfh6-c352], [PR-11372]\n\n> #### Full runtime dependencies of public_key-1.21.4\n>\n> asn1-5.0, crypto-5.8, erts-13.0, kernel-8.0, stdlib-4.0\n\n# ssh-6.0.3\n\nThe ssh-6.0.3 application can be applied independently of other applications on a full OTP 29 installation.\n\n## Fixed Bugs and Malfunctions\n\n- DH key exchange now enforces strict bounds (1 < e/f < p-1, 1 < K < p-1) on all paths, matching OpenSSH and Go. No interop impact.\n\n  Own Id: OTP-20229\\\n  Related Id(s): [PR-11303]\n\n- Validate DH group parameters (P, G) received from the server during DH-GEX key exchange. The client now rejects groups where P is smaller than 2048 bits or G is not in the range (1, P-1). The default minimum in dh_gex_limits has been raised to 2048 on both client and server.\n\n  Own Id: OTP-20258\\\n  Related Id(s): ERIERL-1341, [PR-11369]\n\n> #### Full runtime dependencies of ssh-6.0.3\n>\n> crypto-5.7, erts-14.0, kernel-10.3, public_key-1.6.1, runtime_tools-1.15.1, stdlib-8.0\n\n# ssl-11.7.4\n\nNote! The ssl-11.7.4 application _cannot_ be applied independently of other applications on an arbitrary OTP 29 installation.\n\n```\n   On a full OTP 29 installation, also the following runtime\n   dependency has to be satisfied:\n   -- public_key-1.21.1 (first satisfied in OTP 29.0.1)\n```\n\n## Fixed Bugs and Malfunctions\n\n- Add pre TLS-1.3 client side validation of servers algorithm selection being part of clients offered algorithms, preventing in worst case MITM circumventing validation of server certificate tricking the client to trust the malicious MITM as it was a valid server. Note this check is already performed for TLS-1.3 clients.\n\n  Own Id: OTP-20240\\\n  Related Id(s): [PR-11336], [CVE-2026-55953]\n\n- Prevent invalid cert chains to create cycles in chain building code used to handle chains that could be unordered or contain extraneous certs. This avoids a DoS attack possibility.\n\n  Own Id: OTP-20245\\\n  Related Id(s): [PR-11343], [CVE-2026-58227]\n\n- Clarify that rsa_psk and anonymous key exchange algorithms are considered legacy. Also harden rsa_psk in same way as normal rsa key exchange.\n\n  Own Id: OTP-20248\\\n  Related Id(s): [PR-11341]\n\n- Harden SSL application to conform with best practice and RFC's. This will mostly improve error messages and conserve memory usage.\n\n  Own Id: OTP-20250\\\n  Related Id(s): [PR-27944]\n\n- A certificate chain with crafted policyMappings extensions could cause exponential memory consumption during path validation, exploitable via TLS handshake. Chains exceeding a node-count cap are now rejected with {bad_cert, policy_tree_exceeded}.\n\n  Own Id: OTP-20251\\\n  Related Id(s): [GH-SA-622p-qfh6-c352], [PR-11372]\n\n> #### Full runtime dependencies of ssl-11.7.4\n>\n> crypto-5.8, erts-16.0, inets-5.10.7, kernel-10.3, public_key-1.21.1, runtime_tools-1.15.1, stdlib-7.0\n\n# stdlib-8.0.3\n\nThe stdlib-8.0.3 application can be applied independently of other applications on a full OTP 29 installation.\n\n## Fixed Bugs and Malfunctions\n\n- Fixed a bug where zip:unzip/1,2 and zip:extract/1,2 were vulnerable to a relative path traversal attack. A crafted zip archive containing entry names such as ../x/y could have caused files to be written outside the intended extraction directory.\n\n  Thanks to Jonatan Männchen and Zhang Delong for finding and responsibly disclosing this vulnerability to the Erlang/OTP project.\n\n  Own Id: OTP-20143\\\n  Related Id(s): [PR-11386], [CVE-2026-47078]\n\n> #### Full runtime dependencies of stdlib-8.0.3\n>\n> compiler-5.0, crypto-4.5, erts-16.0.3, kernel-11.0, sasl-3.0, syntax_tools-3.2.1\n\n# Thanks to\n\na1x-an, Jonatan Männchen\n\n[cve-2026-42792]: https://nvd.nist.gov/vuln/detail/CVE-2026-42792\n[cve-2026-47078]: https://nvd.nist.gov/vuln/detail/CVE-2026-47078\n[cve-2026-54890]: https://nvd.nist.gov/vuln/detail/CVE-2026-54890\n[cve-2026-55737]: https://nvd.nist.gov/vuln/detail/CVE-2026-55737\n[cve-2026-55953]: https://nvd.nist.gov/vuln/detail/CVE-2026-55953\n[cve-2026-58227]: https://nvd.nist.gov/vuln/detail/CVE-2026-58227\n[gh-11319]: https://github.com/erlang/otp/issues/11319\n[gh-11332]: https://github.com/erlang/otp/issues/11332\n[gh-11368]: https://github.com/erlang/otp/issues/11368\n[gh-sa-622p-qfh6-c352]: https://github.com/erlang/otp/issues/SA-622p-qfh6-c352\n[gh-sa-7xgh-gmgf-q2g7]: https://github.com/erlang/otp/issues/SA-7xgh-gmgf-q2g7\n[pr-11239]: https://github.com/erlang/otp/pull/11239\n[pr-11297]: https://github.com/erlang/otp/pull/11297\n[pr-11303]: https://github.com/erlang/otp/pull/11303\n[pr-11323]: https://github.com/erlang/otp/pull/11323\n[pr-11330]: https://github.com/erlang/otp/pull/11330\n[pr-11331]: https://github.com/erlang/otp/pull/11331\n[pr-11333]: https://github.com/erlang/otp/pull/11333\n[pr-11334]: https://github.com/erlang/otp/pull/11334\n[pr-11336]: https://github.com/erlang/otp/pull/11336\n[pr-11337]: https://github.com/erlang/otp/pull/11337\n[pr-11341]: https://github.com/erlang/otp/pull/11341\n[pr-11343]: https://github.com/erlang/otp/pull/11343\n[pr-11369]: https://github.com/erlang/otp/pull/11369\n[pr-11372]: https://github.com/erlang/otp/pull/11372\n[pr-11374]: https://github.com/erlang/otp/pull/11374\n[pr-11386]: https://github.com/erlang/otp/pull/11386\n[pr-27944]: https://github.com/erlang/otp/pull/27944\n","reactions":{"url":"https://api.github.com/repos/erlang/otp/releases/360435791/reactions","total_count":3,"+1":0,"-1":0,"laugh":0,"hooray":3,"confused":0,"heart":0,"rocket":0,"eyes":0}},{"url":"https://api.github.com/repos/erlang/otp/releases/360490651","assets_url":"https://api.github.com/repos/erlang/otp/releases/360490651/assets","upload_url":"https://uploads.github.com/repos/erlang/otp/releases/360490651/assets{?name,label}","html_url":"https://github.com/erlang/otp/releases/tag/OTP-28.5.0.4","id":360490651,"author":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"node_id":"RE_kwDOAAW4j84VfKab","tag_name":"OTP-28.5.0.4","target_commitish":"master","name":"OTP 28.5.0.4","draft":false,"immutable":false,"prerelease":false,"created_at":"2026-07-24T15:06:47Z","updated_at":"2026-07-27T16:01:34Z","published_at":"2026-07-27T14:35:15Z","assets":[{"url":"https://api.github.com/repos/erlang/otp/releases/assets/491552677","id":491552677,"node_id":"RA_kwDOAAW4j84dTH-l","name":"bom.spdx.json","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/json","state":"uploaded","size":5776359,"digest":"sha256:eca4b6039bda82adbd3df4ed85033c0d24801f386852b880a5b1674836370f93","download_count":6,"created_at":"2026-07-27T14:35:11Z","updated_at":"2026-07-27T14:35:11Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.5.0.4/bom.spdx.json"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/491552683","id":491552683,"node_id":"RA_kwDOAAW4j84dTH-r","name":"bom.spdx.json.sigstore","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":5597389,"digest":"sha256:c922c6f4c22c65ba0c18b3fe1fefe1cb554605539fc5db7eeb2d439d1c8023ab","download_count":6,"created_at":"2026-07-27T14:35:11Z","updated_at":"2026-07-27T14:35:11Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.5.0.4/bom.spdx.json.sigstore"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/491552674","id":491552674,"node_id":"RA_kwDOAAW4j84dTH-i","name":"MD5.txt","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"text/plain","state":"uploaded","size":183,"digest":"sha256:b6ad1e707cb03c5b37d1a8694ab4e9fd6efab240b8bfad32788ed3c8527fd164","download_count":5,"created_at":"2026-07-27T14:35:11Z","updated_at":"2026-07-27T14:35:11Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.5.0.4/MD5.txt"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/491602825","id":491602825,"node_id":"RA_kwDOAAW4j84dTUOJ","name":"OTP-28.5.0.4.README","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"text","state":"uploaded","size":9784,"digest":"sha256:04010049d114deae95674f91f8b66b8641e776677813d73dd7f73220aef572db","download_count":22,"created_at":"2026-07-27T15:21:34Z","updated_at":"2026-07-27T15:21:34Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.5.0.4/OTP-28.5.0.4.README"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/491602833","id":491602833,"node_id":"RA_kwDOAAW4j84dTUOR","name":"OTP-28.5.0.4.README.md","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"text","state":"uploaded","size":11424,"digest":"sha256:35c02744f86a4e7b7f1bf0a9f328493c4a857fb00f6addaca6b94f438760d215","download_count":11,"created_at":"2026-07-27T15:21:35Z","updated_at":"2026-07-27T15:21:35Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.5.0.4/OTP-28.5.0.4.README.md"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/491552678","id":491552678,"node_id":"RA_kwDOAAW4j84dTH-m","name":"otp_doc_html_28.5.0.4.tar.gz","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":31818843,"digest":"sha256:aa5070f93366de5de6e29f8ddfe26236ee7670f9cde1c61f11eb0d642c950434","download_count":95,"created_at":"2026-07-27T14:35:11Z","updated_at":"2026-07-27T14:35:12Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.5.0.4/otp_doc_html_28.5.0.4.tar.gz"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/491552681","id":491552681,"node_id":"RA_kwDOAAW4j84dTH-p","name":"otp_doc_html_28.5.0.4.tar.gz.sigstore","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":5597389,"digest":"sha256:c922c6f4c22c65ba0c18b3fe1fefe1cb554605539fc5db7eeb2d439d1c8023ab","download_count":7,"created_at":"2026-07-27T14:35:11Z","updated_at":"2026-07-27T14:35:11Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.5.0.4/otp_doc_html_28.5.0.4.tar.gz.sigstore"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/491552672","id":491552672,"node_id":"RA_kwDOAAW4j84dTH-g","name":"otp_doc_man_28.5.0.4.tar.gz","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":1890920,"digest":"sha256:44282abf654c388fe197d91a54a04f7204be3703fd4fc0a572e433e13e4ca38c","download_count":175,"created_at":"2026-07-27T14:35:11Z","updated_at":"2026-07-27T14:35:11Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.5.0.4/otp_doc_man_28.5.0.4.tar.gz"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/491552680","id":491552680,"node_id":"RA_kwDOAAW4j84dTH-o","name":"otp_doc_man_28.5.0.4.tar.gz.sigstore","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":5597389,"digest":"sha256:c922c6f4c22c65ba0c18b3fe1fefe1cb554605539fc5db7eeb2d439d1c8023ab","download_count":5,"created_at":"2026-07-27T14:35:11Z","updated_at":"2026-07-27T14:35:11Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.5.0.4/otp_doc_man_28.5.0.4.tar.gz.sigstore"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/491552679","id":491552679,"node_id":"RA_kwDOAAW4j84dTH-n","name":"otp_src_28.5.0.4.tar.gz","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":105345834,"digest":"sha256:efb045f96ee56d274f6c1fe3a9612b45caa01d2f82e35fe4e0ac9b0c501f6e53","download_count":550,"created_at":"2026-07-27T14:35:11Z","updated_at":"2026-07-27T14:35:15Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.5.0.4/otp_src_28.5.0.4.tar.gz"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/491552673","id":491552673,"node_id":"RA_kwDOAAW4j84dTH-h","name":"otp_src_28.5.0.4.tar.gz.sigstore","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":5597389,"digest":"sha256:c922c6f4c22c65ba0c18b3fe1fefe1cb554605539fc5db7eeb2d439d1c8023ab","download_count":5,"created_at":"2026-07-27T14:35:11Z","updated_at":"2026-07-27T14:35:11Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.5.0.4/otp_src_28.5.0.4.tar.gz.sigstore"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/491602841","id":491602841,"node_id":"RA_kwDOAAW4j84dTUOZ","name":"otp_win32_28.5.0.4.exe","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/x-msdownload","state":"uploaded","size":135098824,"digest":"sha256:c362f78ace302e9ac92f44bfcf05cf7f4b2099e5c018fc7f0ace78846145bc95","download_count":87,"created_at":"2026-07-27T15:21:35Z","updated_at":"2026-07-27T15:21:40Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.5.0.4/otp_win32_28.5.0.4.exe"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/491644484","id":491644484,"node_id":"RA_kwDOAAW4j84dTeZE","name":"otp_win32_28.5.0.4.zip","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/zip","state":"uploaded","size":174255804,"digest":"sha256:f9e0e5ab8dfdcee4a7533591ca058bc136dd3c93cca271f11a1b5bf1519fa2c5","download_count":18,"created_at":"2026-07-27T16:01:29Z","updated_at":"2026-07-27T16:01:34Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.5.0.4/otp_win32_28.5.0.4.zip"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/491602900","id":491602900,"node_id":"RA_kwDOAAW4j84dTUPU","name":"otp_win64_28.5.0.4.exe","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/x-msdownload","state":"uploaded","size":154072864,"digest":"sha256:9b2609f77edb7655021ffc040228fe0f977bdfcaa931cc929457f5abcc0a6c58","download_count":1497,"created_at":"2026-07-27T15:21:40Z","updated_at":"2026-07-27T15:21:45Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.5.0.4/otp_win64_28.5.0.4.exe"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/491644305","id":491644305,"node_id":"RA_kwDOAAW4j84dTeWR","name":"otp_win64_28.5.0.4.zip","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/zip","state":"uploaded","size":185240982,"digest":"sha256:b01b0830076539b15e63e0bcecd71b38be7bd3784c4bcd0bf46339d579549b55","download_count":111,"created_at":"2026-07-27T16:01:18Z","updated_at":"2026-07-27T16:01:23Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.5.0.4/otp_win64_28.5.0.4.zip"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/491552675","id":491552675,"node_id":"RA_kwDOAAW4j84dTH-j","name":"SHA256.txt","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"text/plain","state":"uploaded","size":279,"digest":"sha256:b451c7b654a247254f069bd4bd0736bf1198231d3adca429c5247b6e9e7ae4f6","download_count":32,"created_at":"2026-07-27T14:35:11Z","updated_at":"2026-07-27T14:35:11Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.5.0.4/SHA256.txt"}],"tarball_url":"https://api.github.com/repos/erlang/otp/tarball/OTP-28.5.0.4","zipball_url":"https://api.github.com/repos/erlang/otp/zipball/OTP-28.5.0.4","body":null,"reactions":{"url":"https://api.github.com/repos/erlang/otp/releases/360490651/reactions","total_count":1,"+1":1,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0}},{"url":"https://api.github.com/repos/erlang/otp/releases/360457855","assets_url":"https://api.github.com/repos/erlang/otp/releases/360457855/assets","upload_url":"https://uploads.github.com/repos/erlang/otp/releases/360457855/assets{?name,label}","html_url":"https://github.com/erlang/otp/releases/tag/OTP-27.3.4.15","id":360457855,"author":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"node_id":"RE_kwDOAAW4j84VfCZ_","tag_name":"OTP-27.3.4.15","target_commitish":"master","name":"OTP 27.3.4.15","draft":false,"immutable":false,"prerelease":false,"created_at":"2026-07-24T15:04:33Z","updated_at":"2026-07-27T16:01:05Z","published_at":"2026-07-27T13:46:08Z","assets":[{"url":"https://api.github.com/repos/erlang/otp/releases/assets/491506144","id":491506144,"node_id":"RA_kwDOAAW4j84dS8ng","name":"MD5.txt","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"text/plain","state":"uploaded","size":186,"digest":"sha256:f1d6e5e2f801e03ea0549ec14626e7e4dbe570520610bb03cbac2a3d8977c570","download_count":13,"created_at":"2026-07-27T13:46:04Z","updated_at":"2026-07-27T13:46:04Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-27.3.4.15/MD5.txt"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/491602612","id":491602612,"node_id":"RA_kwDOAAW4j84dTUK0","name":"OTP-27.3.4.15.README","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"text","state":"uploaded","size":8879,"digest":"sha256:1b528f06858a817d483fa0fd876f097d0ba4b7dc2692ff2bde15be35b76788c1","download_count":60,"created_at":"2026-07-27T15:21:25Z","updated_at":"2026-07-27T15:21:25Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-27.3.4.15/OTP-27.3.4.15.README"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/491602624","id":491602624,"node_id":"RA_kwDOAAW4j84dTULA","name":"OTP-27.3.4.15.README.md","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"text","state":"uploaded","size":10348,"digest":"sha256:3c39e6802034822ea319ffacc3bcc24bfbfd09788a09f864f3d254ef314bd659","download_count":11,"created_at":"2026-07-27T15:21:25Z","updated_at":"2026-07-27T15:21:25Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-27.3.4.15/OTP-27.3.4.15.README.md"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/491506143","id":491506143,"node_id":"RA_kwDOAAW4j84dS8nf","name":"otp_doc_html_27.3.4.15.tar.gz","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":26199392,"digest":"sha256:32f69e709c63825b8f9fb9d61b696f440ff2b3426b8fd3bf6a890564a09e93c0","download_count":61,"created_at":"2026-07-27T13:46:04Z","updated_at":"2026-07-27T13:46:05Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-27.3.4.15/otp_doc_html_27.3.4.15.tar.gz"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/491506147","id":491506147,"node_id":"RA_kwDOAAW4j84dS8nj","name":"otp_doc_man_27.3.4.15.tar.gz","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":45358,"digest":"sha256:5c79c1ea5f47c693e230fb6edfd88487e7d402dbd1e7a6ca17c8d72a44ceec3a","download_count":47,"created_at":"2026-07-27T13:46:04Z","updated_at":"2026-07-27T13:46:04Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-27.3.4.15/otp_doc_man_27.3.4.15.tar.gz"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/491506145","id":491506145,"node_id":"RA_kwDOAAW4j84dS8nh","name":"otp_src_27.3.4.15.tar.gz","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":101597423,"digest":"sha256:7643aa61a305ac95fd2dec082ec28a102c61258fc8971458af1e476519c56d31","download_count":1096,"created_at":"2026-07-27T13:46:04Z","updated_at":"2026-07-27T13:46:08Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-27.3.4.15/otp_src_27.3.4.15.tar.gz"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/491602636","id":491602636,"node_id":"RA_kwDOAAW4j84dTULM","name":"otp_win32_27.3.4.15.exe","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/x-msdownload","state":"uploaded","size":122315504,"digest":"sha256:262611dafae70f5acb1e7da2bf7761e50afc6349bdc83cc911fb403ed8dbc035","download_count":137,"created_at":"2026-07-27T15:21:26Z","updated_at":"2026-07-27T15:21:29Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-27.3.4.15/otp_win32_27.3.4.15.exe"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/491643796","id":491643796,"node_id":"RA_kwDOAAW4j84dTeOU","name":"otp_win32_27.3.4.15.zip","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/zip","state":"uploaded","size":138775775,"digest":"sha256:753c380ae76d7ebe07a67f9c83b3fa5604df36e5d4c8a3bb6bce9c2ae8a6d24f","download_count":19,"created_at":"2026-07-27T16:00:54Z","updated_at":"2026-07-27T16:01:00Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-27.3.4.15/otp_win32_27.3.4.15.zip"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/491602719","id":491602719,"node_id":"RA_kwDOAAW4j84dTUMf","name":"otp_win64_27.3.4.15.exe","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/x-msdownload","state":"uploaded","size":139850064,"digest":"sha256:aebd2f05cb2f3b18ea7712f3339756f22723e86c4d0a1ed91188f36f5ca45fa7","download_count":4146,"created_at":"2026-07-27T15:21:29Z","updated_at":"2026-07-27T15:21:33Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-27.3.4.15/otp_win64_27.3.4.15.exe"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/491643897","id":491643897,"node_id":"RA_kwDOAAW4j84dTeP5","name":"otp_win64_27.3.4.15.zip","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/zip","state":"uploaded","size":157665204,"digest":"sha256:5376463fc814df10df54b53c9d8924782ef02749052ba9069cbcdff5c6491b64","download_count":200,"created_at":"2026-07-27T16:00:58Z","updated_at":"2026-07-27T16:01:05Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-27.3.4.15/otp_win64_27.3.4.15.zip"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/491506140","id":491506140,"node_id":"RA_kwDOAAW4j84dS8nc","name":"SHA256.txt","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"text/plain","state":"uploaded","size":282,"digest":"sha256:8d2b23ee34f4037fa36cb0efaa358e3e0dd1a8640cd69fb11658d9006e025a13","download_count":181,"created_at":"2026-07-27T13:46:04Z","updated_at":"2026-07-27T13:46:04Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-27.3.4.15/SHA256.txt"}],"tarball_url":"https://api.github.com/repos/erlang/otp/tarball/OTP-27.3.4.15","zipball_url":"https://api.github.com/repos/erlang/otp/zipball/OTP-27.3.4.15","body":null,"reactions":{"url":"https://api.github.com/repos/erlang/otp/releases/360457855/reactions","total_count":1,"+1":1,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0}},{"url":"https://api.github.com/repos/erlang/otp/releases/348120682","assets_url":"https://api.github.com/repos/erlang/otp/releases/348120682/assets","upload_url":"https://uploads.github.com/repos/erlang/otp/releases/348120682/assets{?name,label}","html_url":"https://github.com/erlang/otp/releases/tag/OTP-29.0.3","id":348120682,"author":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"node_id":"RE_kwDOAAW4j84Uv-Zq","tag_name":"OTP-29.0.3","target_commitish":"master","name":"OTP 29.0.3","draft":false,"immutable":false,"prerelease":false,"created_at":"2026-07-02T08:00:08Z","updated_at":"2026-07-02T15:56:18Z","published_at":"2026-07-02T15:06:45Z","assets":[{"url":"https://api.github.com/repos/erlang/otp/releases/assets/464470038","id":464470038,"node_id":"RA_kwDOAAW4j84br0AW","name":"bom.spdx.json","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/json","state":"uploaded","size":5834443,"digest":"sha256:ccb1069ddd020ab45ddb3fddb13d7ad80d9776e938c150913cd2c82ce4566702","download_count":104,"created_at":"2026-07-02T15:52:09Z","updated_at":"2026-07-02T15:52:10Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-29.0.3/bom.spdx.json"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/464470021","id":464470021,"node_id":"RA_kwDOAAW4j84br0AF","name":"bom.spdx.json.sigstore","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":5658259,"digest":"sha256:b774c019aca5f645155834bc119517695406ce5179a695871e0c6ff69a9f332c","download_count":105,"created_at":"2026-07-02T15:52:09Z","updated_at":"2026-07-02T15:52:09Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-29.0.3/bom.spdx.json.sigstore"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/464470014","id":464470014,"node_id":"RA_kwDOAAW4j84brz_-","name":"MD5.txt","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"text/plain; charset=utf-8","state":"uploaded","size":177,"digest":"sha256:64e5cbace60a0bda5177a02ba68f349751053b2e48b50f04239f3a3466e3dbfd","download_count":118,"created_at":"2026-07-02T15:52:08Z","updated_at":"2026-07-02T15:52:08Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-29.0.3/MD5.txt"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/464434156","id":464434156,"node_id":"RA_kwDOAAW4j84brrPs","name":"OTP-29.0.3.README","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"text","state":"uploaded","size":11258,"digest":"sha256:2b021284d6d21a4c340a6e136f0a4e784acae51b2dcdf50513a1377a6011e812","download_count":1864,"created_at":"2026-07-02T15:07:13Z","updated_at":"2026-07-02T15:07:13Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-29.0.3/OTP-29.0.3.README"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/464434166","id":464434166,"node_id":"RA_kwDOAAW4j84brrP2","name":"OTP-29.0.3.README.md","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"text","state":"uploaded","size":13143,"digest":"sha256:581d4ba3c930151b562ab7cb1cce042d9036eaef18edceb711fd9000349a7bfc","download_count":113,"created_at":"2026-07-02T15:07:14Z","updated_at":"2026-07-02T15:07:14Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-29.0.3/OTP-29.0.3.README.md"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/464470017","id":464470017,"node_id":"RA_kwDOAAW4j84br0AB","name":"otp_doc_html_29.0.3.tar.gz","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/x-gtar","state":"uploaded","size":32509524,"digest":"sha256:663c02f4fb09e3d737e176798a45b73cfc496984c5b72791d2dcb32cc431d348","download_count":2025,"created_at":"2026-07-02T15:52:08Z","updated_at":"2026-07-02T15:52:09Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-29.0.3/otp_doc_html_29.0.3.tar.gz"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/464470022","id":464470022,"node_id":"RA_kwDOAAW4j84br0AG","name":"otp_doc_html_29.0.3.tar.gz.sigstore","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":5658259,"digest":"sha256:b774c019aca5f645155834bc119517695406ce5179a695871e0c6ff69a9f332c","download_count":113,"created_at":"2026-07-02T15:52:09Z","updated_at":"2026-07-02T15:52:09Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-29.0.3/otp_doc_html_29.0.3.tar.gz.sigstore"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/464470015","id":464470015,"node_id":"RA_kwDOAAW4j84brz__","name":"otp_doc_man_29.0.3.tar.gz","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/x-gtar","state":"uploaded","size":1932977,"digest":"sha256:a61c99df81a676da7aecc32e210b47ff407ac4f942230992bd81fa05366f5a0d","download_count":1817,"created_at":"2026-07-02T15:52:08Z","updated_at":"2026-07-02T15:52:09Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-29.0.3/otp_doc_man_29.0.3.tar.gz"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/464470026","id":464470026,"node_id":"RA_kwDOAAW4j84br0AK","name":"otp_doc_man_29.0.3.tar.gz.sigstore","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":5658259,"digest":"sha256:b774c019aca5f645155834bc119517695406ce5179a695871e0c6ff69a9f332c","download_count":108,"created_at":"2026-07-02T15:52:09Z","updated_at":"2026-07-02T15:52:09Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-29.0.3/otp_doc_man_29.0.3.tar.gz.sigstore"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/464470013","id":464470013,"node_id":"RA_kwDOAAW4j84brz_9","name":"otp_src_29.0.3.tar.gz","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/x-gtar","state":"uploaded","size":106612967,"digest":"sha256:f920c660b16794bcb7270d1cbf680f7747c719650bcd6ac449508a32c2a8972a","download_count":15135,"created_at":"2026-07-02T15:52:08Z","updated_at":"2026-07-02T15:52:12Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-29.0.3/otp_src_29.0.3.tar.gz"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/464470037","id":464470037,"node_id":"RA_kwDOAAW4j84br0AV","name":"otp_src_29.0.3.tar.gz.sigstore","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":5658259,"digest":"sha256:b774c019aca5f645155834bc119517695406ce5179a695871e0c6ff69a9f332c","download_count":112,"created_at":"2026-07-02T15:52:09Z","updated_at":"2026-07-02T15:52:10Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-29.0.3/otp_src_29.0.3.tar.gz.sigstore"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/464434179","id":464434179,"node_id":"RA_kwDOAAW4j84brrQD","name":"otp_win64_29.0.3.exe","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/x-msdownload","state":"uploaded","size":155523440,"digest":"sha256:f4c331112c4a4b58e7a7edda55a145bfdbe6ffa318e774f67b415f9666006baa","download_count":23114,"created_at":"2026-07-02T15:07:15Z","updated_at":"2026-07-02T15:07:21Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-29.0.3/otp_win64_29.0.3.exe"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/464473205","id":464473205,"node_id":"RA_kwDOAAW4j84br0x1","name":"otp_win64_29.0.3.zip","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/zip","state":"uploaded","size":187019267,"digest":"sha256:11a7bda6cb602641cb13d319967c72add457e0ea0bc467d3dc2159a937d8ab6a","download_count":2052,"created_at":"2026-07-02T15:56:11Z","updated_at":"2026-07-02T15:56:17Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-29.0.3/otp_win64_29.0.3.zip"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/464470016","id":464470016,"node_id":"RA_kwDOAAW4j84br0AA","name":"SHA256.txt","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"text/plain; charset=utf-8","state":"uploaded","size":273,"digest":"sha256:1e75d4ba8419d6096d41a6d5ccf3f46472182fa6baf999611d7aa0240be22fc2","download_count":304,"created_at":"2026-07-02T15:52:08Z","updated_at":"2026-07-02T15:52:08Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-29.0.3/SHA256.txt"}],"tarball_url":"https://api.github.com/repos/erlang/otp/tarball/OTP-29.0.3","zipball_url":"https://api.github.com/repos/erlang/otp/zipball/OTP-29.0.3","body":"```\nPatch Package:           OTP 29.0.3\nGit Tag:                 OTP-29.0.3\nDate:                    2026-07-02\nTrouble Report Id:       OTP-20173, OTP-20183, OTP-20185, OTP-20186,\n                         OTP-20190, OTP-20191, OTP-20194, OTP-20196,\n                         OTP-20197, OTP-20198, OTP-20199, OTP-20200,\n                         OTP-20201, OTP-20206, OTP-20207, OTP-20208,\n                         OTP-20215, OTP-20216, OTP-20217, OTP-20220,\n                         OTP-20222, OTP-20226, OTP-20227, OTP-20230,\n                         OTP-20231, OTP-20232, OTP-20233\nSeq num:                 CVE-2026-53422, CVE-2026-54886,\n                         CVE-2026-54887, CVE-2026-54891,\n                         CVE-2026-55950, CVE-2026-55952, ERIERL-1333,\n                         GH-SA-7wp4-pc27-2vj9, GH-SA-h9pw-h5w4-h976,\n                         PR-11209, PR-11215, PR-11219, PR-11230,\n                         PR-11239, PR-11244, PR-11247, PR-11250,\n                         PR-11259, PR-11268, PR-11269, PR-11270,\n                         PR-11271, PR-11281, PR-11282, PR-11283,\n                         PR-11289, PR-11294, PR-11295, PR-11299,\n                         PR-11302, PR-11306, PR-11307, PR-11309,\n                         PR-11311\nSystem:                  OTP\nRelease:                 29\nApplication:             common_test-1.31.1, compiler-10.0.2,\n                         crypto-5.9.1, dialyzer-6.0.2, erts-17.0.3,\n                         kernel-11.0.3, public_key-1.21.3, ssh-6.0.2,\n                         ssl-11.7.3, stdlib-8.0.2\nPredecessor:             OTP 29.0.2\n```\n\nCheck out the git tag OTP-29.0.3, and build a full OTP system including documentation. Apply one or more applications from this build as patches to your installation using the 'otp_patch_apply' tool. For information on install requirements, see descriptions for each application version below.\n\n# common_test-1.31.1\n\nThe common_test-1.31.1 application can be applied independently of other applications on a full OTP 29 installation.\n\n## Fixed Bugs and Malfunctions\n\n- Fixed a crash in ct_netconfc that occurred when the remote server closed the SSH connection during NETCONF subsystem negotiation.\n\n  Own Id: OTP-20191\\\n  Related Id(s): ERIERL-1333, [PR-11230]\n\n> #### Full runtime dependencies of common_test-1.31.1\n>\n> compiler-10.0, crypto-4.5, debugger-4.1, erts-7.0, ftp-1.0, inets-6.0, kernel-11.0, observer-2.1, runtime_tools-1.8.16, sasl-2.5, snmp-5.1.2, ssh-4.0, stdlib-8.0, syntax_tools-1.7, tools-3.2, xmerl-1.3.8\n\n# compiler-10.0.2\n\nThe compiler-10.0.2 application can be applied independently of other applications on a full OTP 29 installation.\n\n## Fixed Bugs and Malfunctions\n\n- Several compiler bugs that could crash the compiler or generate incorrect code in rare circumstances have been fixed.\n\n  Own Id: OTP-20222\\\n  Related Id(s): [PR-11219]\n\n> #### Full runtime dependencies of compiler-10.0.2\n>\n> crypto-5.1, erts-13.0, kernel-8.4, stdlib-8.0\n\n# crypto-5.9.1\n\nThe crypto-5.9.1 application can be applied independently of other applications on a full OTP 29 installation.\n\n## Fixed Bugs and Malfunctions\n\n- `crypto:compute_key/4` for `eddh` and `crypto:generate_key/2,3` for `eddh`/`eddsa` now raise an `error:{notsup, Info, Description}` exception instead of returning the atom `notsup` when the underlying cryptolib lacks support.\n\n  Own Id: OTP-20215\\\n  Related Id(s): [PR-11302]\n\n> #### Full runtime dependencies of crypto-5.9.1\n>\n> erts-9.0, kernel-6.0, stdlib-3.9\n\n# dialyzer-6.0.2\n\nThe dialyzer-6.0.2 application can be applied independently of other applications on a full OTP 29 installation.\n\n## Fixed Bugs and Malfunctions\n\n- Fix a bug with native record sets in `erl_types.erl`\n\n  Own Id: OTP-20201\n\n> #### Full runtime dependencies of dialyzer-6.0.2\n>\n> compiler-10.0, erts-12.0, kernel-8.0, stdlib-5.0, syntax_tools-2.0\n\n# erts-17.0.3\n\nThe erts-17.0.3 application can be applied independently of other applications on a full OTP 29 installation.\n\n## Fixed Bugs and Malfunctions\n\n- Fixed an undefined behavior in the internal `erts_qsort()` function, which could have been the cause of a beam crash seen when updating large maps.\n\n  Own Id: OTP-20185\\\n  Related Id(s): [PR-11215]\n\n- Calculating `bxor` of the largest supported positive integer (`erlang:system_info(max_integer)`) and `-1` would return `[]` instead of a raising a `system_limit` exception.\n\n  Own Id: OTP-20208\\\n  Related Id(s): [PR-11269]\n\n- Fix possible race between `ets:delete/1` and terminating process with a fixation on the same table.\n\n  Own Id: OTP-20217\\\n  Related Id(s): [PR-11283]\n\n- A few code generation issues for the JIT on AArch64 (ARM64) have been fixed.\n\n  For all platforms, the loader will reject some invalid BEAM files earlier.\n\n  Own Id: OTP-20226\\\n  Related Id(s): [PR-11299]\n\n- On 32-bit computers, the `md5` BIFs would return an incorrect MD5 checksum for data of size 4GiB or more.\n\n  Own Id: OTP-20227\\\n  Related Id(s): [PR-11289]\n\n> #### Full runtime dependencies of erts-17.0.3\n>\n> kernel-9.0, sasl-3.3, stdlib-4.1\n\n# kernel-11.0.3\n\nThe kernel-11.0.3 application can be applied independently of other applications on a full OTP 29 installation.\n\n## Fixed Bugs and Malfunctions\n\n- inet:info/1 could crash when calling for a closing (port) socket.\n\n  Own Id: OTP-20173\n\n- Handling of the truncation bit in `inet_res` has been fixed so it properly falls back to querying over TCP after a truncated UDP reply.\n\n  This fixes a bug introduced in OTP-28.4.2 - kernel-10.6.2 making a truncated UDP answer fail to parse and never execute the fallback, instead the name resolve operation fails.\n\n  Own Id: OTP-20199\\\n  Related Id(s): [PR-11247]\n\n> #### Full runtime dependencies of kernel-11.0.3\n>\n> crypto-5.8, erts-17.0, sasl-3.0, stdlib-8.0\n\n# public_key-1.21.3\n\nThe public_key-1.21.3 application can be applied independently of other applications on a full OTP 29 installation.\n\n## Fixed Bugs and Malfunctions\n\n- Hardened OCSP response verification by using constant-time hash comparisons and rejecting responses exceeding 100 KB before ASN.1 decoding.\n\n  Own Id: OTP-20197\\\n  Related Id(s): [PR-11239]\n\n> #### Full runtime dependencies of public_key-1.21.3\n>\n> asn1-5.0, crypto-5.8, erts-13.0, kernel-8.0, stdlib-4.0\n\n# ssh-6.0.2\n\nThe ssh-6.0.2 application can be applied independently of other applications on a full OTP 29 installation.\n\n## Fixed Bugs and Malfunctions\n\n- Fixed a path-existence oracle in the SFTP server where `SSH_FXP_REALPATH` requests with `..` components could bypass the configured root directory isolation, allowing an authenticated client to determine whether arbitrary paths exist on the host filesystem.\n\n  Own Id: OTP-20183\\\n  Related Id(s): [GH-SA-h9pw-h5w4-h976], [PR-11294], [CVE-2026-53422]\n\n- Fixed an infinite loop in the SFTP server triggered when receiving `SSH_MSG_CHANNEL_EXTENDED_DATA` on an SFTP channel, which caused the channel process to spin indefinitely on CPU without consuming its message queue.\n\n  Own Id: OTP-20186\\\n  Related Id(s): [GH-SA-7wp4-pc27-2vj9], [PR-11295], [CVE-2026-54886]\n\n- Fixed mlkem768x25519 hybrid key exchange failing intermittently with \"incorrect signature\" when the X25519 shared secret had a leading zero byte. The shared secret is now encoded as a fixed-width 32-byte string per the specification.\n\n  Own Id: OTP-20196\\\n  Related Id(s): [PR-11209]\n\n- Fixed a race condition where SSH keepalive responses could be matched to unrelated pending requests due to incorrect request queue ordering. Requests are now matched in the order they were sent.\n\n  Own Id: OTP-20198\\\n  Related Id(s): [PR-11244]\n\n- The SFTP server now caps the read length in `SSH_FXP_READ` requests to 255 KiB (matching OpenSSH's `SFTP_MAX_READ_LENGTH`), preventing excessive memory allocation when clients request large reads.\n\n  Own Id: OTP-20200\\\n  Related Id(s): [PR-11259]\n\n- Removed a server-side workaround (OTP-14827, introduced in OTP 20) that accepted SHA-1 user-auth signatures from clients identifying as OpenSSH 7.x when rsa-sha2-\\* was negotiated. The workaround addressed a distro-specific build issue in 2017 that no longer exists. Clients affected by this removal (extremely unlikely — requires a 10-year-old unpatched OpenSSH build) will see authentication failures and must upgrade.\n\n  Own Id: OTP-20206\\\n  Related Id(s): [PR-11268]\n\n> #### Full runtime dependencies of ssh-6.0.2\n>\n> crypto-5.7, erts-14.0, kernel-10.3, public_key-1.6.1, runtime_tools-1.15.1, stdlib-8.0\n\n# ssl-11.7.3\n\nNote! The ssl-11.7.3 application _cannot_ be applied independently of other applications on an arbitrary OTP 29 installation.\n\n```\n   On a full OTP 29 installation, also the following runtime\n   dependency has to be satisfied:\n   -- public_key-1.21.1 (first satisfied in OTP 29.0.1)\n```\n\n## Fixed Bugs and Malfunctions\n\n- Correct small behavior bugs that occasionally could cause DTLS connection errors, unwanted behavior for legacy DHE_DSS, hiding of a distribution config error, and possible unorderly process tree shutdown.\n\n  Own Id: OTP-20190\\\n  Related Id(s): [PR-11250]\n\n- Initialize DTLS cookie to random value to avoid DoS attack with forged cookie during startup window.\n\n  Own Id: OTP-20194\\\n  Related Id(s): [PR-11271], [CVE-2026-54887]\n\n- Guard TLS client for MITM injection of application data during \"plain-text-window\" during handshake.\n\n  Own Id: OTP-20207\\\n  Related Id(s): [PR-11270], [CVE-2026-54891]\n\n- Improve error handling of TLS PSK sending ILLIGAL_PARMETER alert if binders and PSK-identities are not matched. Also mend recovery mechanism of ticket and session stores to be as resilient as possible to intermediate bugs.\n\n  Own Id: OTP-20216\\\n  Related Id(s): [PR-11282], [CVE-2026-55952]\n\n- Fix race condition that could be used to DoS attack DTLS servers.\n\n  Own Id: OTP-20220\\\n  Related Id(s): [PR-11306], [CVE-2026-55950]\n\n- A TLS-1.3 stateless session ticket with obfuscated_ticket_age set to zero was incorrectly accepted without checking the server-side ticket lifetime or the RFC 8446 Section 8.3 freshness window. The server now always validates ticket age using its own timestamp regardless of the client-reported age value.\n\n  Own Id: OTP-20230\\\n  Related Id(s): [PR-11307]\n\n- TLS-1.3 client rejects a second HelloRetryRequest as requiered in RFC 8446 Section 4.1.4\n\n  Own Id: OTP-20231\\\n  Related Id(s): [PR-11309]\n\n- A busy client node could self-trigger a ticket store crash if unlucky with scheduling if auto mode is used.\n\n  Own Id: OTP-20232\\\n  Related Id(s): [PR-11311]\n\n- Correct spec for CRL API\n\n  Own Id: OTP-20233\\\n  Related Id(s): [PR-11281]\n\n> #### Full runtime dependencies of ssl-11.7.3\n>\n> crypto-5.8, erts-16.0, inets-5.10.7, kernel-10.3, public_key-1.21.1, runtime_tools-1.15.1, stdlib-7.0\n\n# stdlib-8.0.2\n\nThe stdlib-8.0.2 application can be applied independently of other applications on a full OTP 29 installation.\n\n## Fixed Bugs and Malfunctions\n\n- Several compiler bugs that could crash the compiler or generate incorrect code in rare circumstances have been fixed.\n\n  Own Id: OTP-20222\\\n  Related Id(s): [PR-11219]\n\n> #### Full runtime dependencies of stdlib-8.0.2\n>\n> compiler-5.0, crypto-4.5, erts-16.0.3, kernel-11.0, sasl-3.0, syntax_tools-3.2.1\n\n# Thanks to\n\nCole Christensen, Nick Krichevsky, Stefan Grundmann\n\n[cve-2026-53422]: https://nvd.nist.gov/vuln/detail/CVE-2026-53422\n[cve-2026-54886]: https://nvd.nist.gov/vuln/detail/CVE-2026-54886\n[cve-2026-54887]: https://nvd.nist.gov/vuln/detail/CVE-2026-54887\n[cve-2026-54891]: https://nvd.nist.gov/vuln/detail/CVE-2026-54891\n[cve-2026-55950]: https://nvd.nist.gov/vuln/detail/CVE-2026-55950\n[cve-2026-55952]: https://nvd.nist.gov/vuln/detail/CVE-2026-55952\n[gh-sa-7wp4-pc27-2vj9]: https://github.com/erlang/otp/issues/SA-7wp4-pc27-2vj9\n[gh-sa-h9pw-h5w4-h976]: https://github.com/erlang/otp/issues/SA-h9pw-h5w4-h976\n[pr-11209]: https://github.com/erlang/otp/pull/11209\n[pr-11215]: https://github.com/erlang/otp/pull/11215\n[pr-11219]: https://github.com/erlang/otp/pull/11219\n[pr-11230]: https://github.com/erlang/otp/pull/11230\n[pr-11239]: https://github.com/erlang/otp/pull/11239\n[pr-11244]: https://github.com/erlang/otp/pull/11244\n[pr-11247]: https://github.com/erlang/otp/pull/11247\n[pr-11250]: https://github.com/erlang/otp/pull/11250\n[pr-11259]: https://github.com/erlang/otp/pull/11259\n[pr-11268]: https://github.com/erlang/otp/pull/11268\n[pr-11269]: https://github.com/erlang/otp/pull/11269\n[pr-11270]: https://github.com/erlang/otp/pull/11270\n[pr-11271]: https://github.com/erlang/otp/pull/11271\n[pr-11281]: https://github.com/erlang/otp/pull/11281\n[pr-11282]: https://github.com/erlang/otp/pull/11282\n[pr-11283]: https://github.com/erlang/otp/pull/11283\n[pr-11289]: https://github.com/erlang/otp/pull/11289\n[pr-11294]: https://github.com/erlang/otp/pull/11294\n[pr-11295]: https://github.com/erlang/otp/pull/11295\n[pr-11299]: https://github.com/erlang/otp/pull/11299\n[pr-11302]: https://github.com/erlang/otp/pull/11302\n[pr-11306]: https://github.com/erlang/otp/pull/11306\n[pr-11307]: https://github.com/erlang/otp/pull/11307\n[pr-11309]: https://github.com/erlang/otp/pull/11309\n[pr-11311]: https://github.com/erlang/otp/pull/11311\n","reactions":{"url":"https://api.github.com/repos/erlang/otp/releases/348120682/reactions","total_count":9,"+1":0,"-1":0,"laugh":0,"hooray":8,"confused":0,"heart":1,"rocket":0,"eyes":0}},{"url":"https://api.github.com/repos/erlang/otp/releases/348120693","assets_url":"https://api.github.com/repos/erlang/otp/releases/348120693/assets","upload_url":"https://uploads.github.com/repos/erlang/otp/releases/348120693/assets{?name,label}","html_url":"https://github.com/erlang/otp/releases/tag/OTP-28.5.0.3","id":348120693,"author":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"node_id":"RE_kwDOAAW4j84Uv-Z1","tag_name":"OTP-28.5.0.3","target_commitish":"master","name":"OTP 28.5.0.3","draft":false,"immutable":false,"prerelease":false,"created_at":"2026-07-02T08:01:28Z","updated_at":"2026-07-02T16:25:30Z","published_at":"2026-07-02T15:06:47Z","assets":[{"url":"https://api.github.com/repos/erlang/otp/releases/assets/464496684","id":464496684,"node_id":"RA_kwDOAAW4j84br6gs","name":"bom.spdx.json","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/json","state":"uploaded","size":5776435,"digest":"sha256:52fb4cdb4c816686d3993743e419ddc08df50002094aa9af7baca6395c400772","download_count":6,"created_at":"2026-07-02T16:25:27Z","updated_at":"2026-07-02T16:25:27Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.5.0.3/bom.spdx.json"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/464496692","id":464496692,"node_id":"RA_kwDOAAW4j84br6g0","name":"bom.spdx.json.sigstore","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":5596902,"digest":"sha256:16dd9576908cd6a8d14a72b08b43234bc1cf2ce4b92ef0476cb9a281613f7834","download_count":6,"created_at":"2026-07-02T16:25:27Z","updated_at":"2026-07-02T16:25:27Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.5.0.3/bom.spdx.json.sigstore"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/464496689","id":464496689,"node_id":"RA_kwDOAAW4j84br6gx","name":"MD5.txt","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"text/plain","state":"uploaded","size":183,"digest":"sha256:98461ae9b86be5bd045abe09bb2bd4f4a8aa2ac10e8b4f92024a32f0b61e3144","download_count":4,"created_at":"2026-07-02T16:25:27Z","updated_at":"2026-07-02T16:25:27Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.5.0.3/MD5.txt"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/464433692","id":464433692,"node_id":"RA_kwDOAAW4j84brrIc","name":"OTP-28.5.0.3.README","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"text","state":"uploaded","size":10073,"digest":"sha256:cf19478773fd93590a3d938aa6ed6456beff17107f7f29f37d2af66b5ac358d3","download_count":20,"created_at":"2026-07-02T15:06:51Z","updated_at":"2026-07-02T15:06:52Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.5.0.3/OTP-28.5.0.3.README"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/464433720","id":464433720,"node_id":"RA_kwDOAAW4j84brrI4","name":"OTP-28.5.0.3.README.md","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"text","state":"uploaded","size":11783,"digest":"sha256:bea0257298d3bfca1a538f757d4854df24398f250d90e1768f6d41d088b59666","download_count":5,"created_at":"2026-07-02T15:06:52Z","updated_at":"2026-07-02T15:06:52Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.5.0.3/OTP-28.5.0.3.README.md"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/464496683","id":464496683,"node_id":"RA_kwDOAAW4j84br6gr","name":"otp_doc_html_28.5.0.3.tar.gz","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":31846628,"digest":"sha256:efab04c343b09d33f28c72948c0caba1751a3d6db4e8a1e3ab0d8bbfcdf77eee","download_count":158,"created_at":"2026-07-02T16:25:27Z","updated_at":"2026-07-02T16:25:28Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.5.0.3/otp_doc_html_28.5.0.3.tar.gz"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/464496686","id":464496686,"node_id":"RA_kwDOAAW4j84br6gu","name":"otp_doc_html_28.5.0.3.tar.gz.sigstore","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":5596902,"digest":"sha256:16dd9576908cd6a8d14a72b08b43234bc1cf2ce4b92ef0476cb9a281613f7834","download_count":8,"created_at":"2026-07-02T16:25:27Z","updated_at":"2026-07-02T16:25:27Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.5.0.3/otp_doc_html_28.5.0.3.tar.gz.sigstore"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/464496688","id":464496688,"node_id":"RA_kwDOAAW4j84br6gw","name":"otp_doc_man_28.5.0.3.tar.gz","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":1888708,"digest":"sha256:6a00f2058035297b6b3d906344447bfe9ba6e97c39b29d865dc66d0875e39759","download_count":52,"created_at":"2026-07-02T16:25:27Z","updated_at":"2026-07-02T16:25:27Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.5.0.3/otp_doc_man_28.5.0.3.tar.gz"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/464496691","id":464496691,"node_id":"RA_kwDOAAW4j84br6gz","name":"otp_doc_man_28.5.0.3.tar.gz.sigstore","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":5596902,"digest":"sha256:16dd9576908cd6a8d14a72b08b43234bc1cf2ce4b92ef0476cb9a281613f7834","download_count":6,"created_at":"2026-07-02T16:25:27Z","updated_at":"2026-07-02T16:25:27Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.5.0.3/otp_doc_man_28.5.0.3.tar.gz.sigstore"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/464496685","id":464496685,"node_id":"RA_kwDOAAW4j84br6gt","name":"otp_src_28.5.0.3.tar.gz","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":105305219,"digest":"sha256:63c56a954fe6134f283a01312ebefad00fb0f3ac7d7d42062ca3aa8e92ccd21d","download_count":1632,"created_at":"2026-07-02T16:25:27Z","updated_at":"2026-07-02T16:25:30Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.5.0.3/otp_src_28.5.0.3.tar.gz"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/464496690","id":464496690,"node_id":"RA_kwDOAAW4j84br6gy","name":"otp_src_28.5.0.3.tar.gz.sigstore","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":5596902,"digest":"sha256:16dd9576908cd6a8d14a72b08b43234bc1cf2ce4b92ef0476cb9a281613f7834","download_count":5,"created_at":"2026-07-02T16:25:27Z","updated_at":"2026-07-02T16:25:27Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.5.0.3/otp_src_28.5.0.3.tar.gz.sigstore"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/464433774","id":464433774,"node_id":"RA_kwDOAAW4j84brrJu","name":"otp_win32_28.5.0.3.exe","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/x-msdownload","state":"uploaded","size":135065384,"digest":"sha256:2038c24d5d52a70d1fcf74e56a241877af1e4ffdbf6d98fffcf36012d6deffea","download_count":230,"created_at":"2026-07-02T15:06:53Z","updated_at":"2026-07-02T15:07:02Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.5.0.3/otp_win32_28.5.0.3.exe"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/464473320","id":464473320,"node_id":"RA_kwDOAAW4j84br0zo","name":"otp_win32_28.5.0.3.zip","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/zip","state":"uploaded","size":174217557,"digest":"sha256:5dba3caf1d223d94d263ba6d79eb188aaefb8da2272cc0dee4d603085558889c","download_count":29,"created_at":"2026-07-02T15:56:19Z","updated_at":"2026-07-02T15:56:25Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.5.0.3/otp_win32_28.5.0.3.zip"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/464433948","id":464433948,"node_id":"RA_kwDOAAW4j84brrMc","name":"otp_win64_28.5.0.3.exe","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/x-msdownload","state":"uploaded","size":153827952,"digest":"sha256:1abfc1c1736467fab94176350117b71b44a844a85f8b2d3aa0af1605580de604","download_count":5870,"created_at":"2026-07-02T15:07:02Z","updated_at":"2026-07-02T15:07:09Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.5.0.3/otp_win64_28.5.0.3.exe"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/464473119","id":464473119,"node_id":"RA_kwDOAAW4j84br0wf","name":"otp_win64_28.5.0.3.zip","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/zip","state":"uploaded","size":184972146,"digest":"sha256:fb1ff429dbd5f2c9db2c372f77794b1a590cb8e9d8c3c2d28ccc53985fa96b96","download_count":143,"created_at":"2026-07-02T15:56:02Z","updated_at":"2026-07-02T15:56:08Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.5.0.3/otp_win64_28.5.0.3.zip"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/464496687","id":464496687,"node_id":"RA_kwDOAAW4j84br6gv","name":"SHA256.txt","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"text/plain","state":"uploaded","size":279,"digest":"sha256:17a659fe3e3f998c90e848726ab012efea53fa64b7a1ec4b0ca3901c8637c812","download_count":90,"created_at":"2026-07-02T16:25:27Z","updated_at":"2026-07-02T16:25:27Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.5.0.3/SHA256.txt"}],"tarball_url":"https://api.github.com/repos/erlang/otp/tarball/OTP-28.5.0.3","zipball_url":"https://api.github.com/repos/erlang/otp/zipball/OTP-28.5.0.3","body":"```\nPatch Package:           OTP 28.5.0.3\nGit Tag:                 OTP-28.5.0.3\nDate:                    2026-07-02\nTrouble Report Id:       OTP-20173, OTP-20183, OTP-20185, OTP-20186,\n                         OTP-20190, OTP-20191, OTP-20194, OTP-20196,\n                         OTP-20197, OTP-20199, OTP-20200, OTP-20206,\n                         OTP-20207, OTP-20208, OTP-20211, OTP-20215,\n                         OTP-20216, OTP-20217, OTP-20220, OTP-20226,\n                         OTP-20230, OTP-20231, OTP-20232\nSeq num:                 CVE-2026-53422, CVE-2026-54886,\n                         CVE-2026-54887, CVE-2026-54891,\n                         CVE-2026-55950, CVE-2026-55952, ERIERL-1333,\n                         GH-SA-7wp4-pc27-2vj9, GH-SA-h9pw-h5w4-h976,\n                         PR-11209, PR-11215, PR-11230, PR-11239,\n                         PR-11247, PR-11250, PR-11259, PR-11268,\n                         PR-11269, PR-11270, PR-11271, PR-11274,\n                         PR-11282, PR-11283, PR-11294, PR-11295,\n                         PR-11299, PR-11302, PR-11306, PR-11307,\n                         PR-11309, PR-11311\nSystem:                  OTP\nRelease:                 28\nApplication:             common_test-1.30.0.1, crypto-5.8.3.1,\n                         erts-16.4.0.3, kernel-10.6.3.3,\n                         public_key-1.20.3.3, ssh-5.5.2.2,\n                         ssl-11.6.0.3\nPredecessor:             OTP 28.5.0.2\n```\n\nCheck out the git tag OTP-28.5.0.3, and build a full OTP system including documentation. Apply one or more applications from this build as patches to your installation using the 'otp_patch_apply' tool. For information on install requirements, see descriptions for each application version below.\n\n# common_test-1.30.0.1\n\nThe common_test-1.30.0.1 application can be applied independently of other applications on a full OTP 28 installation.\n\n## Fixed Bugs and Malfunctions\n\n- Fixed a crash in ct_netconfc that occurred when the remote server closed the SSH connection during NETCONF subsystem negotiation.\n\n  Own Id: OTP-20191\\\n  Related Id(s): ERIERL-1333, [PR-11230]\n\n> #### Full runtime dependencies of common_test-1.30.0.1\n>\n> compiler-6.0, crypto-4.5, debugger-4.1, erts-7.0, ftp-1.0, inets-6.0, kernel-8.4, observer-2.1, runtime_tools-1.8.16, sasl-2.5, snmp-5.1.2, ssh-4.0, stdlib-4.0, syntax_tools-1.7, tools-3.2, xmerl-1.3.8\n\n# crypto-5.8.3.1\n\nThe crypto-5.8.3.1 application can be applied independently of other applications on a full OTP 28 installation.\n\n## Fixed Bugs and Malfunctions\n\n- `crypto:compute_key/4` for `eddh` and `crypto:generate_key/2,3` for `eddh`/`eddsa` now raise an `error:{notsup, Info, Description}` exception instead of returning the atom `notsup` when the underlying cryptolib lacks support.\n\n  Own Id: OTP-20215\\\n  Related Id(s): [PR-11302]\n\n> #### Full runtime dependencies of crypto-5.8.3.1\n>\n> erts-9.0, kernel-6.0, stdlib-3.9\n\n# erts-16.4.0.3\n\nThe erts-16.4.0.3 application can be applied independently of other applications on a full OTP 28 installation.\n\n## Fixed Bugs and Malfunctions\n\n- Fixed an undefined behavior in the internal `erts_qsort()` function, which could have been the cause of a beam crash seen when updating large maps.\n\n  Own Id: OTP-20185\\\n  Related Id(s): [PR-11215]\n\n- Calculating `bxor` of the largest supported positive integer (`erlang:system_info(max_integer)`) and `-1` would return `[]` instead of a raising a `system_limit` exception.\n\n  Own Id: OTP-20208\\\n  Related Id(s): [PR-11269]\n\n- Fix possible race between `ets:delete/1` and terminating process with a fixation on the same table.\n\n  Own Id: OTP-20217\\\n  Related Id(s): [PR-11283]\n\n- A few code generation issues for the JIT on AArch64 (ARM64) have been fixed.\n\n  For all platforms, the loader will reject some invalid BEAM files earlier.\n\n  Own Id: OTP-20226\\\n  Related Id(s): [PR-11299]\n\n## Improvements and New Features\n\n- Arithmetic operations on large integers will now increase the reduction count for the process, causing context switches to occur more frequently when doing arithmetic on large integers.\n\n  Own Id: OTP-20211\\\n  Related Id(s): [PR-11274]\n\n> #### Full runtime dependencies of erts-16.4.0.3\n>\n> kernel-9.0, sasl-3.3, stdlib-4.1\n\n# kernel-10.6.3.3\n\nThe kernel-10.6.3.3 application can be applied independently of other applications on a full OTP 28 installation.\n\n## Fixed Bugs and Malfunctions\n\n- inet:info/1 could crash when calling for a closing (port) socket.\n\n  Own Id: OTP-20173\n\n- Handling of the truncation bit in `inet_res` has been fixed so it properly falls back to querying over TCP after a truncated UDP reply.\n\n  This fixes a bug introduced in OTP-28.4.2 - kernel-10.6.2 making a truncated UDP answer fail to parse and never execute the fallback, instead the name resolve operation fails.\n\n  Own Id: OTP-20199\\\n  Related Id(s): [PR-11247]\n\n> #### Full runtime dependencies of kernel-10.6.3.3\n>\n> crypto-5.0, erts-15.2.5, sasl-3.0, stdlib-7.0\n\n# public_key-1.20.3.3\n\nNote! The public_key-1.20.3.3 application _cannot_ be applied independently of other applications on an arbitrary OTP 28 installation.\n\n```\n   On a full OTP 28 installation, also the following runtime\n   dependency has to be satisfied:\n   -- crypto-5.8 (first satisfied in OTP 28.3)\n```\n\n## Fixed Bugs and Malfunctions\n\n- Hardened OCSP response verification by using constant-time hash comparisons and rejecting responses exceeding 100 KB before ASN.1 decoding.\n\n  Own Id: OTP-20197\\\n  Related Id(s): [PR-11239]\n\n> #### Full runtime dependencies of public_key-1.20.3.3\n>\n> asn1-5.0, crypto-5.8, erts-13.0, kernel-8.0, stdlib-4.0\n\n# ssh-5.5.2.2\n\nNote! The ssh-5.5.2.2 application _cannot_ be applied independently of other applications on an arbitrary OTP 28 installation.\n\n```\n   On a full OTP 28 installation, also the following runtime\n   dependency has to be satisfied:\n   -- crypto-5.7 (first satisfied in OTP 28.1)\n```\n\n## Fixed Bugs and Malfunctions\n\n- Fixed a path-existence oracle in the SFTP server where `SSH_FXP_REALPATH` requests with `..` components could bypass the configured root directory isolation, allowing an authenticated client to determine whether arbitrary paths exist on the host filesystem.\n\n  Own Id: OTP-20183\\\n  Related Id(s): [GH-SA-h9pw-h5w4-h976], [PR-11294], [CVE-2026-53422]\n\n- Fixed an infinite loop in the SFTP server triggered when receiving `SSH_MSG_CHANNEL_EXTENDED_DATA` on an SFTP channel, which caused the channel process to spin indefinitely on CPU without consuming its message queue.\n\n  Own Id: OTP-20186\\\n  Related Id(s): [GH-SA-7wp4-pc27-2vj9], [PR-11295], [CVE-2026-54886]\n\n- Fixed mlkem768x25519 hybrid key exchange failing intermittently with \"incorrect signature\" when the X25519 shared secret had a leading zero byte. The shared secret is now encoded as a fixed-width 32-byte string per the specification.\n\n  Own Id: OTP-20196\\\n  Related Id(s): [PR-11209]\n\n- The SFTP server now caps the read length in `SSH_FXP_READ` requests to 255 KiB (matching OpenSSH's `SFTP_MAX_READ_LENGTH`), preventing excessive memory allocation when clients request large reads.\n\n  Own Id: OTP-20200\\\n  Related Id(s): [PR-11259]\n\n- Removed a server-side workaround (OTP-14827, introduced in OTP 20) that accepted SHA-1 user-auth signatures from clients identifying as OpenSSH 7.x when rsa-sha2-\\* was negotiated. The workaround addressed a distro-specific build issue in 2017 that no longer exists. Clients affected by this removal (extremely unlikely — requires a 10-year-old unpatched OpenSSH build) will see authentication failures and must upgrade.\n\n  Own Id: OTP-20206\\\n  Related Id(s): [PR-11268]\n\n> #### Full runtime dependencies of ssh-5.5.2.2\n>\n> crypto-5.7, erts-14.0, kernel-10.3, public_key-1.6.1, runtime_tools-1.15.1, stdlib-5.0, stdlib-6.0\n\n# ssl-11.6.0.3\n\nNote! The ssl-11.6.0.3 application _cannot_ be applied independently of other applications on an arbitrary OTP 28 installation.\n\n```\n   On a full OTP 28 installation, also the following runtime\n   dependencies have to be satisfied:\n   -- crypto-5.8 (first satisfied in OTP 28.3)\n   -- public_key-1.20.3.1 (first satisfied in OTP 28.5.0.1)\n```\n\n## Fixed Bugs and Malfunctions\n\n- Correct small behavior bugs that occasionally could cause DTLS connection errors, unwanted behavior for legacy DHE_DSS, hiding of a distribution config error, and possible unorderly process tree shutdown.\n\n  Own Id: OTP-20190\\\n  Related Id(s): [PR-11250]\n\n- Initialize DTLS cookie to random value to avoid DoS attack with forged cookie during startup window.\n\n  Own Id: OTP-20194\\\n  Related Id(s): [PR-11271], [CVE-2026-54887]\n\n- Guard TLS client for MITM injection of application data during \"plain-text-window\" during handshake.\n\n  Own Id: OTP-20207\\\n  Related Id(s): [PR-11270], [CVE-2026-54891]\n\n- Improve error handling of TLS PSK sending ILLIGAL_PARMETER alert if binders and PSK-identities are not matched. Also mend recovery mechanism of ticket and session stores to be as resilient as possible to intermediate bugs.\n\n  Own Id: OTP-20216\\\n  Related Id(s): [PR-11282], [CVE-2026-55952]\n\n- Fix race condition that could be used to DoS attack DTLS servers.\n\n  Own Id: OTP-20220\\\n  Related Id(s): [PR-11306], [CVE-2026-55950]\n\n- A TLS-1.3 stateless session ticket with obfuscated_ticket_age set to zero was incorrectly accepted without checking the server-side ticket lifetime or the RFC 8446 Section 8.3 freshness window. The server now always validates ticket age using its own timestamp regardless of the client-reported age value.\n\n  Own Id: OTP-20230\\\n  Related Id(s): [PR-11307]\n\n- TLS-1.3 client rejects a second HelloRetryRequest as requiered in RFC 8446 Section 4.1.4\n\n  Own Id: OTP-20231\\\n  Related Id(s): [PR-11309]\n\n- A busy client node could self-trigger a ticket store crash if unlucky with scheduling if auto mode is used.\n\n  Own Id: OTP-20232\\\n  Related Id(s): [PR-11311]\n\n> #### Full runtime dependencies of ssl-11.6.0.3\n>\n> crypto-5.8, erts-16.0, inets-5.10.7, kernel-10.3, public_key-1.20.3.1, runtime_tools-1.15.1, stdlib-7.0\n\n# Thanks to\n\nCole Christensen, Nick Krichevsky\n\n[cve-2026-53422]: https://nvd.nist.gov/vuln/detail/CVE-2026-53422\n[cve-2026-54886]: https://nvd.nist.gov/vuln/detail/CVE-2026-54886\n[cve-2026-54887]: https://nvd.nist.gov/vuln/detail/CVE-2026-54887\n[cve-2026-54891]: https://nvd.nist.gov/vuln/detail/CVE-2026-54891\n[cve-2026-55950]: https://nvd.nist.gov/vuln/detail/CVE-2026-55950\n[cve-2026-55952]: https://nvd.nist.gov/vuln/detail/CVE-2026-55952\n[gh-sa-7wp4-pc27-2vj9]: https://github.com/erlang/otp/issues/SA-7wp4-pc27-2vj9\n[gh-sa-h9pw-h5w4-h976]: https://github.com/erlang/otp/issues/SA-h9pw-h5w4-h976\n[pr-11209]: https://github.com/erlang/otp/pull/11209\n[pr-11215]: https://github.com/erlang/otp/pull/11215\n[pr-11230]: https://github.com/erlang/otp/pull/11230\n[pr-11239]: https://github.com/erlang/otp/pull/11239\n[pr-11247]: https://github.com/erlang/otp/pull/11247\n[pr-11250]: https://github.com/erlang/otp/pull/11250\n[pr-11259]: https://github.com/erlang/otp/pull/11259\n[pr-11268]: https://github.com/erlang/otp/pull/11268\n[pr-11269]: https://github.com/erlang/otp/pull/11269\n[pr-11270]: https://github.com/erlang/otp/pull/11270\n[pr-11271]: https://github.com/erlang/otp/pull/11271\n[pr-11274]: https://github.com/erlang/otp/pull/11274\n[pr-11282]: https://github.com/erlang/otp/pull/11282\n[pr-11283]: https://github.com/erlang/otp/pull/11283\n[pr-11294]: https://github.com/erlang/otp/pull/11294\n[pr-11295]: https://github.com/erlang/otp/pull/11295\n[pr-11299]: https://github.com/erlang/otp/pull/11299\n[pr-11302]: https://github.com/erlang/otp/pull/11302\n[pr-11306]: https://github.com/erlang/otp/pull/11306\n[pr-11307]: https://github.com/erlang/otp/pull/11307\n[pr-11309]: https://github.com/erlang/otp/pull/11309\n[pr-11311]: https://github.com/erlang/otp/pull/11311\n","reactions":{"url":"https://api.github.com/repos/erlang/otp/releases/348120693/reactions","total_count":2,"+1":1,"-1":0,"laugh":0,"hooray":1,"confused":0,"heart":0,"rocket":0,"eyes":0}},{"url":"https://api.github.com/repos/erlang/otp/releases/348128849","assets_url":"https://api.github.com/repos/erlang/otp/releases/348128849/assets","upload_url":"https://uploads.github.com/repos/erlang/otp/releases/348128849/assets{?name,label}","html_url":"https://github.com/erlang/otp/releases/tag/OTP-27.3.4.14","id":348128849,"author":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"node_id":"RE_kwDOAAW4j84UwAZR","tag_name":"OTP-27.3.4.14","target_commitish":"master","name":"OTP 27.3.4.14","draft":false,"immutable":false,"prerelease":false,"created_at":"2026-07-02T08:02:42Z","updated_at":"2026-07-02T16:40:48Z","published_at":"2026-07-02T15:21:51Z","assets":[{"url":"https://api.github.com/repos/erlang/otp/releases/assets/464446258","id":464446258,"node_id":"RA_kwDOAAW4j84bruMy","name":"MD5.txt","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"text/plain","state":"uploaded","size":186,"digest":"sha256:44ca7b249770dc62012b9453434d7e49866636e38c50f6a6337a1ecde186129f","download_count":36,"created_at":"2026-07-02T15:21:47Z","updated_at":"2026-07-02T15:21:47Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-27.3.4.14/MD5.txt"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/464471908","id":464471908,"node_id":"RA_kwDOAAW4j84br0dk","name":"OTP-27.3.4.14.README","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"text","state":"uploaded","size":8518,"digest":"sha256:97bcc8fad7fe4c947df4d91614032e7afe2856026e533423043f7183454bbea7","download_count":100,"created_at":"2026-07-02T15:54:31Z","updated_at":"2026-07-02T15:54:31Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-27.3.4.14/OTP-27.3.4.14.README"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/464471910","id":464471910,"node_id":"RA_kwDOAAW4j84br0dm","name":"OTP-27.3.4.14.README.md","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"text","state":"uploaded","size":10240,"digest":"sha256:01c28c39f7948f596466068b1acbc93ceb5292575c337760fe7d2e6214d1ad88","download_count":27,"created_at":"2026-07-02T15:54:31Z","updated_at":"2026-07-02T15:54:31Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-27.3.4.14/OTP-27.3.4.14.README.md"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/464446256","id":464446256,"node_id":"RA_kwDOAAW4j84bruMw","name":"otp_doc_html_27.3.4.14.tar.gz","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":26238911,"digest":"sha256:476066cd84139a7ca731d898f9802f6640dd1e1502952542a629062b8b5ce12d","download_count":108,"created_at":"2026-07-02T15:21:47Z","updated_at":"2026-07-02T15:21:48Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-27.3.4.14/otp_doc_html_27.3.4.14.tar.gz"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/464446260","id":464446260,"node_id":"RA_kwDOAAW4j84bruM0","name":"otp_doc_man_27.3.4.14.tar.gz","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":45088,"digest":"sha256:410b2b8d34db5022c1e36e9f2337118fe5c9eb79c737c3951019c8ef0f88d3f2","download_count":82,"created_at":"2026-07-02T15:21:47Z","updated_at":"2026-07-02T15:21:47Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-27.3.4.14/otp_doc_man_27.3.4.14.tar.gz"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/464446257","id":464446257,"node_id":"RA_kwDOAAW4j84bruMx","name":"otp_src_27.3.4.14.tar.gz","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":101570803,"digest":"sha256:cda7508a1aef446824f5fff4d64f1b1ad6365e7ad9a5f9d7300f6b6b3aef7015","download_count":4547,"created_at":"2026-07-02T15:21:47Z","updated_at":"2026-07-02T15:21:51Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-27.3.4.14/otp_src_27.3.4.14.tar.gz"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/464471917","id":464471917,"node_id":"RA_kwDOAAW4j84br0dt","name":"otp_win32_27.3.4.14.exe","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/x-msdownload","state":"uploaded","size":122297864,"digest":"sha256:980cdaf60bb99cade926fbb5c6ba36466f8328498f71a96bf837fa28ec7e16aa","download_count":773,"created_at":"2026-07-02T15:54:32Z","updated_at":"2026-07-02T15:54:36Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-27.3.4.14/otp_win32_27.3.4.14.exe"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/464509537","id":464509537,"node_id":"RA_kwDOAAW4j84br9ph","name":"otp_win32_27.3.4.14.zip","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/zip","state":"uploaded","size":138758344,"digest":"sha256:c88ece966811884ba2407e650bef98a6fe1f6f6b9d0d31c8e10dda46fb37b65a","download_count":54,"created_at":"2026-07-02T16:40:38Z","updated_at":"2026-07-02T16:40:44Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-27.3.4.14/otp_win32_27.3.4.14.zip"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/464472004","id":464472004,"node_id":"RA_kwDOAAW4j84br0fE","name":"otp_win64_27.3.4.14.exe","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/x-msdownload","state":"uploaded","size":139891712,"digest":"sha256:87b669f5fe9a34375b711add9aa435a84fda928abe08761a76bd59a72f166b45","download_count":12077,"created_at":"2026-07-02T15:54:37Z","updated_at":"2026-07-02T15:54:40Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-27.3.4.14/otp_win64_27.3.4.14.exe"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/464509602","id":464509602,"node_id":"RA_kwDOAAW4j84br9qi","name":"otp_win64_27.3.4.14.zip","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/zip","state":"uploaded","size":157651875,"digest":"sha256:b507f17b2398a49eef5babc6c9d19d24a3194acae2308f2564b1ef73665da92e","download_count":527,"created_at":"2026-07-02T16:40:41Z","updated_at":"2026-07-02T16:40:48Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-27.3.4.14/otp_win64_27.3.4.14.zip"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/464446259","id":464446259,"node_id":"RA_kwDOAAW4j84bruMz","name":"SHA256.txt","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"text/plain","state":"uploaded","size":282,"digest":"sha256:163a1c7fc82bdcfb75356284cf78262d9bfd43d41d778f38d28e5e763a445541","download_count":397,"created_at":"2026-07-02T15:21:47Z","updated_at":"2026-07-02T15:21:47Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-27.3.4.14/SHA256.txt"}],"tarball_url":"https://api.github.com/repos/erlang/otp/tarball/OTP-27.3.4.14","zipball_url":"https://api.github.com/repos/erlang/otp/zipball/OTP-27.3.4.14","body":null,"reactions":{"url":"https://api.github.com/repos/erlang/otp/releases/348128849/reactions","total_count":1,"+1":0,"-1":0,"laugh":0,"hooray":1,"confused":0,"heart":0,"rocket":0,"eyes":0}},{"url":"https://api.github.com/repos/erlang/otp/releases/337112984","assets_url":"https://api.github.com/repos/erlang/otp/releases/337112984/assets","upload_url":"https://uploads.github.com/repos/erlang/otp/releases/337112984/assets{?name,label}","html_url":"https://github.com/erlang/otp/releases/tag/OTP-29.0.2","id":337112984,"author":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"node_id":"RE_kwDOAAW4j84UF--Y","tag_name":"OTP-29.0.2","target_commitish":"master","name":"OTP 29.0.2","draft":false,"immutable":false,"prerelease":false,"created_at":"2026-06-09T14:24:52Z","updated_at":"2026-06-17T13:52:35Z","published_at":"2026-06-10T09:16:09Z","assets":[{"url":"https://api.github.com/repos/erlang/otp/releases/assets/443592316","id":443592316,"node_id":"RA_kwDOAAW4j84acK58","name":"bom.spdx.json","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/json","state":"uploaded","size":5833986,"digest":"sha256:cb001242a3618711c3d7af38eb8d0332d803a521c83fd66d55826e54d42253f4","download_count":114,"created_at":"2026-06-10T10:09:42Z","updated_at":"2026-06-10T10:09:43Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-29.0.2/bom.spdx.json"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/450263713","id":450263713,"node_id":"RA_kwDOAAW4j84a1nqh","name":"bom.spdx.json.sigstore","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":5658051,"digest":"sha256:b47f994836fac3cc2293c8e5987e3bc16741a2e3ce51b46a4541ca95edd241a0","download_count":82,"created_at":"2026-06-17T13:52:34Z","updated_at":"2026-06-17T13:52:35Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-29.0.2/bom.spdx.json.sigstore"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/443592301","id":443592301,"node_id":"RA_kwDOAAW4j84acK5t","name":"MD5.txt","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"text/plain; charset=utf-8","state":"uploaded","size":177,"digest":"sha256:397ad60dabff13888fe7c5b55ba1fb9b7c0e2025d6554f73d65500e3f4dbd385","download_count":111,"created_at":"2026-06-10T10:09:41Z","updated_at":"2026-06-10T10:09:41Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-29.0.2/MD5.txt"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/443551085","id":443551085,"node_id":"RA_kwDOAAW4j84acA1t","name":"OTP-29.0.2.README","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"text","state":"uploaded","size":9767,"digest":"sha256:3653b7b74a1b83ece9daa52170d93f884d057eb0272c1a63b3b15790d5fe0b7c","download_count":1632,"created_at":"2026-06-10T09:16:12Z","updated_at":"2026-06-10T09:16:12Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-29.0.2/OTP-29.0.2.README"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/443551094","id":443551094,"node_id":"RA_kwDOAAW4j84acA12","name":"OTP-29.0.2.README.md","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"text","state":"uploaded","size":11882,"digest":"sha256:359949442c2e5a4ba52f7c0716fcccd46807bee1c9e3043dd0406aa28b5cba48","download_count":105,"created_at":"2026-06-10T09:16:12Z","updated_at":"2026-06-10T09:16:13Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-29.0.2/OTP-29.0.2.README.md"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/443592300","id":443592300,"node_id":"RA_kwDOAAW4j84acK5s","name":"otp_doc_html_29.0.2.tar.gz","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/x-gtar","state":"uploaded","size":32507844,"digest":"sha256:7970b39288a4c697d348283058e2aa3ac2959860be4e20ea0e22e473abe73808","download_count":1764,"created_at":"2026-06-10T10:09:41Z","updated_at":"2026-06-10T10:09:42Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-29.0.2/otp_doc_html_29.0.2.tar.gz"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/450263715","id":450263715,"node_id":"RA_kwDOAAW4j84a1nqj","name":"otp_doc_html_29.0.2.tar.gz.sigstore","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":5658051,"digest":"sha256:b47f994836fac3cc2293c8e5987e3bc16741a2e3ce51b46a4541ca95edd241a0","download_count":77,"created_at":"2026-06-17T13:52:34Z","updated_at":"2026-06-17T13:52:35Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-29.0.2/otp_doc_html_29.0.2.tar.gz.sigstore"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/443592303","id":443592303,"node_id":"RA_kwDOAAW4j84acK5v","name":"otp_doc_man_29.0.2.tar.gz","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/x-gtar","state":"uploaded","size":1932879,"digest":"sha256:f77bfc3a978af025f69676011b04d149ddd16f1946255577a4b33e01546fdb53","download_count":1542,"created_at":"2026-06-10T10:09:41Z","updated_at":"2026-06-10T10:09:41Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-29.0.2/otp_doc_man_29.0.2.tar.gz"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/450263716","id":450263716,"node_id":"RA_kwDOAAW4j84a1nqk","name":"otp_doc_man_29.0.2.tar.gz.sigstore","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":5658051,"digest":"sha256:b47f994836fac3cc2293c8e5987e3bc16741a2e3ce51b46a4541ca95edd241a0","download_count":68,"created_at":"2026-06-17T13:52:34Z","updated_at":"2026-06-17T13:52:35Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-29.0.2/otp_doc_man_29.0.2.tar.gz.sigstore"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/443592302","id":443592302,"node_id":"RA_kwDOAAW4j84acK5u","name":"otp_src_29.0.2.tar.gz","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/x-gtar","state":"uploaded","size":106589031,"digest":"sha256:b9a7714fdd282c4a7113651b1e2728a58799e60ffe20e545f5cc94c621527b15","download_count":16081,"created_at":"2026-06-10T10:09:41Z","updated_at":"2026-06-10T10:09:45Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-29.0.2/otp_src_29.0.2.tar.gz"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/450263714","id":450263714,"node_id":"RA_kwDOAAW4j84a1nqi","name":"otp_src_29.0.2.tar.gz.sigstore","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":5658051,"digest":"sha256:b47f994836fac3cc2293c8e5987e3bc16741a2e3ce51b46a4541ca95edd241a0","download_count":90,"created_at":"2026-06-17T13:52:34Z","updated_at":"2026-06-17T13:52:35Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-29.0.2/otp_src_29.0.2.tar.gz.sigstore"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/443644674","id":443644674,"node_id":"RA_kwDOAAW4j84acXsC","name":"otp_win64_29.0.2.exe","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/x-msdownload","state":"uploaded","size":155724744,"digest":"sha256:19a7cf20d17716689996f7d47011fd62df6b4ebae9ba93becc0df90c9f93c111","download_count":19105,"created_at":"2026-06-10T11:24:25Z","updated_at":"2026-06-10T11:24:31Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-29.0.2/otp_win64_29.0.2.exe"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/443733928","id":443733928,"node_id":"RA_kwDOAAW4j84acteo","name":"otp_win64_29.0.2.zip","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/zip","state":"uploaded","size":185249798,"digest":"sha256:dffd5fca2e841267bfb4e961c38bb18436a4b55548deae727d5691a984f7b80f","download_count":1971,"created_at":"2026-06-10T13:31:28Z","updated_at":"2026-06-10T13:31:33Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-29.0.2/otp_win64_29.0.2.zip"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/443592304","id":443592304,"node_id":"RA_kwDOAAW4j84acK5w","name":"SHA256.txt","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"text/plain; charset=utf-8","state":"uploaded","size":273,"digest":"sha256:573bde28ccaeef03015ca2df2cfe1b843fbb8868debdfacc73f4eebfdb336d52","download_count":346,"created_at":"2026-06-10T10:09:41Z","updated_at":"2026-06-10T10:09:41Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-29.0.2/SHA256.txt"}],"tarball_url":"https://api.github.com/repos/erlang/otp/tarball/OTP-29.0.2","zipball_url":"https://api.github.com/repos/erlang/otp/zipball/OTP-29.0.2","body":"```\r\nPatch Package:           OTP 29.0.2\r\nGit Tag:                 OTP-29.0.2\r\nDate:                    2026-06-10\r\nTrouble Report Id:       OTP-20057, OTP-20149, OTP-20150, OTP-20151,\r\n                         OTP-20153, OTP-20154, OTP-20155, OTP-20156,\r\n                         OTP-20160, OTP-20161, OTP-20162, OTP-20163,\r\n                         OTP-20165, OTP-20166, OTP-20170, OTP-20172,\r\n                         OTP-20174, OTP-20178, OTP-20181\r\nSeq num:                 CVE-2026-48855, CVE-2026-48856,\r\n                         CVE-2026-48858, CVE-2026-48859,\r\n                         CVE-2026-48860, CVE-2026-49759,\r\n                         CVE-2026-49760, GH-11104, GH-11105, GH-11152,\r\n                         GH-SA-24cv-hwgr-37fq, GH-SA-3w6p-vwhf-wvp4,\r\n                         GH-SA-6f4f-chj5-5g97, GH-SA-gp7x-mfv6-52cv,\r\n                         GH-SA-m75x-4vwg-ggjh, GH-SA-pv7g-pjrq-x2fh,\r\n                         GH-SA-xcxj-5pg2-v72j, PR-11141, PR-11145,\r\n                         PR-11146, PR-11148, PR-11154, PR-11157,\r\n                         PR-11168, PR-11181, PR-11186, PR-11192,\r\n                         PR-11193, PR-11195, PR-11199, PR-11205,\r\n                         PR-11212, PR-1234, PR-27384\r\nSystem:                  OTP\r\nRelease:                 29\r\nApplication:             dialyzer-6.0.1, diameter-2.7.1,\r\n                         erl_interface-5.8.1, erts-17.0.2, ftp-1.2.6,\r\n                         inets-9.7.1, kernel-11.0.2, mnesia-4.26.1,\r\n                         public_key-1.21.2, ssh-6.0.1, ssl-11.7.2,\r\n                         stdlib-8.0.1, tools-4.2.1\r\nPredecessor:             OTP 29.0.1\r\n```\r\n\r\nCheck out the git tag OTP-29.0.2, and build a full OTP system including documentation. Apply one or more applications from this build as patches to your installation using the 'otp_patch_apply' tool. For information on install requirements, see descriptions for each application version below.\r\n\r\n# dialyzer-6.0.1\r\n\r\nThe dialyzer-6.0.1 application can be applied independently of other applications on a full OTP 29 installation.\r\n\r\n## Fixed Bugs and Malfunctions\r\n\r\n- Fix native record bugs in Dialyzer\r\n\r\n  Own Id: OTP-20178\\\r\n  Related Id(s): [PR-11199]\r\n\r\n> #### Full runtime dependencies of dialyzer-6.0.1\r\n>\r\n> compiler-10.0, erts-12.0, kernel-8.0, stdlib-5.0, syntax_tools-2.0\r\n\r\n# diameter-2.7.1\r\n\r\nThe diameter-2.7.1 application can be applied independently of other applications on a full OTP 29 installation.\r\n\r\n## Fixed Bugs and Malfunctions\r\n\r\n- Fixed return value documentation of `diameter:service_info(SvcName, statistics)`\r\n\r\n  Own Id: OTP-20150\\\r\n  Related Id(s): [GH-11105], [PR-11146]\r\n\r\n> #### Full runtime dependencies of diameter-2.7.1\r\n>\r\n> erts-10.0, kernel-3.2, ssl-9.0, stdlib-5.0\r\n\r\n# erl_interface-5.8.1\r\n\r\nThe erl_interface-5.8.1 application can be applied independently of other applications on a full OTP 29 installation.\r\n\r\n## Fixed Bugs and Malfunctions\r\n\r\n- Fixed stack overflow in `ei_s_print_term` for very big integer terms (> 2000 hexadecimal digits long).\r\n\r\n  Own Id: OTP-20160\\\r\n  Related Id(s): [GH-SA-xcxj-5pg2-v72j], [PR-11193], [CVE-2026-49760]\r\n\r\n# erts-17.0.2\r\n\r\nThe erts-17.0.2 application can be applied independently of other applications on a full OTP 29 installation.\r\n\r\n## Fixed Bugs and Malfunctions\r\n\r\n- A buffer overflow error when parsing SCTP ERROR or ABORT chunks has been fixed.\r\n\r\n  This could lead to stack corruption and VM crash, but ultimately with hard work by an attacker be refined into maybe even remote code execution.\r\n\r\n  Own Id: OTP-20165\\\r\n  Related Id(s): [GH-SA-6f4f-chj5-5g97], [PR-1234], [CVE-2026-49759]\r\n\r\n> #### Full runtime dependencies of erts-17.0.2\r\n>\r\n> kernel-9.0, sasl-3.3, stdlib-4.1\r\n\r\n# ftp-1.2.6\r\n\r\nThe ftp-1.2.6 application can be applied independently of other applications on a full OTP 29 installation.\r\n\r\n## Fixed Bugs and Malfunctions\r\n\r\n- FTP client default connections that use the so called passive mode of FTP fails to properly validating the response IP of the server, hence a malicious or compromised FTP server could redirect the data connection to an arbitrary host, enabling s server-side request forgery (SSRF) and FTP bounce attacks.\r\n\r\n  Own Id: OTP-20166\\\r\n  Related Id(s): [GH-SA-24cv-hwgr-37fq], [PR-11186], [CVE-2026-48858]\r\n\r\n> #### Full runtime dependencies of ftp-1.2.6\r\n>\r\n> erts-7.0, kernel-6.0, runtime_tools-1.15.1, ssl-10.2, stdlib-3.5\r\n\r\n# inets-9.7.1\r\n\r\nThe inets-9.7.1 application can be applied independently of other applications on a full OTP 29 installation.\r\n\r\n## Fixed Bugs and Malfunctions\r\n\r\n- The HTTP client (httpc) now removes Authorization, Proxy-Authorization, Cookie, Referer, and Origin headers when following a redirect to a different host or port. Previously these headers were forwarded verbatim, potentially leaking credentials to unintended targets.\r\n\r\n  This follows the requirements of RFC 9110 §15.4.\r\n\r\n  Own Id: OTP-20155\\\r\n  Related Id(s): [GH-SA-m75x-4vwg-ggjh], [PR-11212], [CVE-2026-48856]\r\n\r\n> #### Full runtime dependencies of inets-9.7.1\r\n>\r\n> erts-14.0, kernel-9.0, mnesia-4.12, public_key-1.13, runtime_tools-1.8.14, ssl-9.0, stdlib-5.0, stdlib-6.0\r\n\r\n# kernel-11.0.2\r\n\r\nThe kernel-11.0.2 application can be applied independently of other applications on a full OTP 29 installation.\r\n\r\n## Fixed Bugs and Malfunctions\r\n\r\n- gen_tcp_socket accept should explicitly inherit the same options as plain gen_tcp.\r\n\r\n  Own Id: OTP-20057\r\n\r\n> #### Full runtime dependencies of kernel-11.0.2\r\n>\r\n> crypto-5.8, erts-17.0, sasl-3.0, stdlib-8.0\r\n\r\n# mnesia-4.26.1\r\n\r\nThe mnesia-4.26.1 application can be applied independently of other applications on a full OTP 29 installation.\r\n\r\n## Fixed Bugs and Malfunctions\r\n\r\n- Fixed docs of `mnesia:write/3` to clarify when a transaction can terminate.\r\n\r\n  Own Id: OTP-20149\\\r\n  Related Id(s): [GH-11104], [PR-11145]\r\n\r\n> #### Full runtime dependencies of mnesia-4.26.1\r\n>\r\n> erts-9.0, kernel-5.3, stdlib-5.0\r\n\r\n# public_key-1.21.2\r\n\r\nThe public_key-1.21.2 application can be applied independently of other applications on a full OTP 29 installation.\r\n\r\n## Fixed Bugs and Malfunctions\r\n\r\n- Add missing macro reference for legacy algorithms md5 and sha224. This mainly improves error handling.\r\n\r\n  Own Id: OTP-20172\\\r\n  Related Id(s): [PR-11195]\r\n\r\n> #### Full runtime dependencies of public_key-1.21.2\r\n>\r\n> asn1-5.0, crypto-5.8, erts-13.0, kernel-8.0, stdlib-4.0\r\n\r\n# ssh-6.0.1\r\n\r\nThe ssh-6.0.1 application can be applied independently of other applications on a full OTP 29 installation.\r\n\r\n## Fixed Bugs and Malfunctions\r\n\r\n- Fixed a timing-based username enumeration vulnerability during password authentication with the user_passwords option. A dummy PBKDF2 computation is now performed for invalid usernames to match the response time of valid ones.\r\n\r\n  Own Id: OTP-20153\\\r\n  Related Id(s): [GH-SA-3w6p-vwhf-wvp4], [PR-11157], [CVE-2026-48859]\r\n\r\n- Fixed SSH_FXP_READLINK handler in ssh_sftpd to strip the backend root prefix from symlink targets before returning them to the client, preventing disclosure of the server's absolute filesystem path when the root option is configured.\r\n\r\n  Own Id: OTP-20162\\\r\n  Related Id(s): [GH-SA-pv7g-pjrq-x2fh], [PR-11192], [CVE-2026-48855]\r\n\r\n- Fixed a race condition where SSH keep-alive responses could consume pending channel open requests, causing channel setup to fail silently.\r\n\r\n  Own Id: OTP-20181\\\r\n  Related Id(s): [PR-11205]\r\n\r\n> #### Full runtime dependencies of ssh-6.0.1\r\n>\r\n> crypto-5.7, erts-14.0, kernel-10.3, public_key-1.6.1, runtime_tools-1.15.1, stdlib-8.0\r\n\r\n# ssl-11.7.2\r\n\r\nNote! The ssl-11.7.2 application _cannot_ be applied independently of other applications on an arbitrary OTP 29 installation.\r\n\r\n```\r\n   On a full OTP 29 installation, also the following runtime\r\n   dependency has to be satisfied:\r\n   -- public_key-1.21.1 (first satisfied in OTP 29.0.1)\r\n```\r\n\r\n## Fixed Bugs and Malfunctions\r\n\r\n- Fix miscellanies issues that could cause unnecessary memory consumption and in some less common scenarios or configurations cause connection failures.\r\n\r\n  Own Id: OTP-20154\\\r\n  Related Id(s): [PR-11148]\r\n\r\n- Erlang distribution over TLS run with the kernel 'check_ip' flag now properly enforce connecting nodes to be on the same LAN.\r\n\r\n  Own Id: OTP-20156\\\r\n  Related Id(s): [GH-SA-gp7x-mfv6-52cv], [PR-11181], [CVE-2026-48860]\r\n\r\n- Enhance error message, by fixing typo of atom in new error message related to \\`public_key\\` CVE-2026-42790 solution.\r\n\r\n  Own Id: OTP-20161\\\r\n  Related Id(s): [PR-11148]\r\n\r\n- Corrected SNI handling for TLS-1.3 only server, could cause connection failures if supported signature algorithms where changed by SNI option update.\r\n\r\n  Own Id: OTP-20174\\\r\n  Related Id(s): [PR-27384]\r\n\r\n> #### Full runtime dependencies of ssl-11.7.2\r\n>\r\n> crypto-5.8, erts-16.0, inets-5.10.7, kernel-10.3, public_key-1.21.1, runtime_tools-1.15.1, stdlib-7.0\r\n\r\n# stdlib-8.0.1\r\n\r\nThe stdlib-8.0.1 application can be applied independently of other applications on a full OTP 29 installation.\r\n\r\n## Fixed Bugs and Malfunctions\r\n\r\n- Fix a bug where a tuple record operation within a native record anonymous update can crash.\r\n\r\n  Own Id: OTP-20151\\\r\n  Related Id(s): [PR-11141]\r\n\r\n- Fixed some bugs in `io_lib:bformat/2` and native record printing.\r\n\r\n  Own Id: OTP-20170\\\r\n  Related Id(s): [PR-11154]\r\n\r\n> #### Full runtime dependencies of stdlib-8.0.1\r\n>\r\n> compiler-5.0, crypto-4.5, erts-16.0.3, kernel-11.0, sasl-3.0, syntax_tools-3.2.1\r\n\r\n# tools-4.2.1\r\n\r\nThe tools-4.2.1 application can be applied independently of other applications on a full OTP 29 installation.\r\n\r\n## Fixed Bugs and Malfunctions\r\n\r\n- Xref could crash instead of returning an appropriate error tuple when asked to open a BEAM file without debug information but with a `moduledoc(false)` attribute.\r\n\r\n  Own Id: OTP-20163\\\r\n  Related Id(s): [GH-11152], [PR-11168]\r\n\r\n> #### Full runtime dependencies of tools-4.2.1\r\n>\r\n> compiler-8.5, crypto-5.9, erts-15.0, kernel-10.0, public_key-1.21, runtime_tools-2.1, stdlib-6.0\r\n\r\n# Thanks to\r\n\r\nJohn Downey, Jonatan Männchen\r\n\r\n[cve-2026-48855]: https://nvd.nist.gov/vuln/detail/CVE-2026-48855\r\n[cve-2026-48856]: https://nvd.nist.gov/vuln/detail/CVE-2026-48856\r\n[cve-2026-48858]: https://nvd.nist.gov/vuln/detail/CVE-2026-48858\r\n[cve-2026-48859]: https://nvd.nist.gov/vuln/detail/CVE-2026-48859\r\n[cve-2026-48860]: https://nvd.nist.gov/vuln/detail/CVE-2026-48860\r\n[cve-2026-49759]: https://nvd.nist.gov/vuln/detail/CVE-2026-49759\r\n[cve-2026-49760]: https://nvd.nist.gov/vuln/detail/CVE-2026-49760\r\n[gh-11104]: https://github.com/erlang/otp/issues/11104\r\n[gh-11105]: https://github.com/erlang/otp/issues/11105\r\n[gh-11152]: https://github.com/erlang/otp/issues/11152\r\n[gh-sa-24cv-hwgr-37fq]: https://github.com/erlang/otp/issues/SA-24cv-hwgr-37fq\r\n[gh-sa-3w6p-vwhf-wvp4]: https://github.com/erlang/otp/issues/SA-3w6p-vwhf-wvp4\r\n[gh-sa-6f4f-chj5-5g97]: https://github.com/erlang/otp/issues/SA-6f4f-chj5-5g97\r\n[gh-sa-gp7x-mfv6-52cv]: https://github.com/erlang/otp/issues/SA-gp7x-mfv6-52cv\r\n[gh-sa-m75x-4vwg-ggjh]: https://github.com/erlang/otp/issues/SA-m75x-4vwg-ggjh\r\n[gh-sa-pv7g-pjrq-x2fh]: https://github.com/erlang/otp/issues/SA-pv7g-pjrq-x2fh\r\n[gh-sa-xcxj-5pg2-v72j]: https://github.com/erlang/otp/issues/SA-xcxj-5pg2-v72j\r\n[pr-11141]: https://github.com/erlang/otp/pull/11141\r\n[pr-11145]: https://github.com/erlang/otp/pull/11145\r\n[pr-11146]: https://github.com/erlang/otp/pull/11146\r\n[pr-11148]: https://github.com/erlang/otp/pull/11148\r\n[pr-11154]: https://github.com/erlang/otp/pull/11154\r\n[pr-11157]: https://github.com/erlang/otp/pull/11157\r\n[pr-11168]: https://github.com/erlang/otp/pull/11168\r\n[pr-11181]: https://github.com/erlang/otp/pull/11181\r\n[pr-11186]: https://github.com/erlang/otp/pull/11186\r\n[pr-11192]: https://github.com/erlang/otp/pull/11192\r\n[pr-11193]: https://github.com/erlang/otp/pull/11193\r\n[pr-11195]: https://github.com/erlang/otp/pull/11195\r\n[pr-11199]: https://github.com/erlang/otp/pull/11199\r\n[pr-11205]: https://github.com/erlang/otp/pull/11205\r\n[pr-11212]: https://github.com/erlang/otp/pull/11212\r\n[pr-1234]: https://github.com/erlang/otp/pull/1234\r\n[pr-27384]: https://github.com/erlang/otp/pull/27384\r\n","reactions":{"url":"https://api.github.com/repos/erlang/otp/releases/337112984/reactions","total_count":17,"+1":5,"-1":0,"laugh":0,"hooray":5,"confused":0,"heart":4,"rocket":3,"eyes":0}},{"url":"https://api.github.com/repos/erlang/otp/releases/337180698","assets_url":"https://api.github.com/repos/erlang/otp/releases/337180698/assets","upload_url":"https://uploads.github.com/repos/erlang/otp/releases/337180698/assets{?name,label}","html_url":"https://github.com/erlang/otp/releases/tag/OTP-28.5.0.2","id":337180698,"author":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"node_id":"RE_kwDOAAW4j84UGPga","tag_name":"OTP-28.5.0.2","target_commitish":"master","name":"OTP 28.5.0.2","draft":false,"immutable":false,"prerelease":false,"created_at":"2026-06-09T14:28:21Z","updated_at":"2026-06-10T17:12:18Z","published_at":"2026-06-10T11:24:19Z","assets":[{"url":"https://api.github.com/repos/erlang/otp/releases/assets/443678989","id":443678989,"node_id":"RA_kwDOAAW4j84acgEN","name":"bom.spdx.json","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/json","state":"uploaded","size":5776235,"digest":"sha256:d66f13e55a6d208e0367102bfcd5d9d12c52150d0c421762655b8e6b882062d2","download_count":15,"created_at":"2026-06-10T12:16:28Z","updated_at":"2026-06-10T12:16:29Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.5.0.2/bom.spdx.json"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/443678981","id":443678981,"node_id":"RA_kwDOAAW4j84acgEF","name":"bom.spdx.json.sigstore","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":5596869,"digest":"sha256:7d8c0520596021ce2a5928a6e940a5b07c56e8ba013c32fd90d1d26ad30781e2","download_count":10,"created_at":"2026-06-10T12:16:28Z","updated_at":"2026-06-10T12:16:29Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.5.0.2/bom.spdx.json.sigstore"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/443678987","id":443678987,"node_id":"RA_kwDOAAW4j84acgEL","name":"MD5.txt","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"text/plain","state":"uploaded","size":183,"digest":"sha256:c8c1a263ac8818e73bb28f1b18d4f1c62992cb4e3c1fe975894b9729352c9486","download_count":8,"created_at":"2026-06-10T12:16:28Z","updated_at":"2026-06-10T12:16:28Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.5.0.2/MD5.txt"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/443644655","id":443644655,"node_id":"RA_kwDOAAW4j84acXrv","name":"OTP-28.5.0.2.README","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"text","state":"uploaded","size":8760,"digest":"sha256:eb625ceaade80609307eef8e5dc8df945cc4d82b0d41157f5b6abc6ffcaba9a6","download_count":25,"created_at":"2026-06-10T11:24:22Z","updated_at":"2026-06-10T11:24:22Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.5.0.2/OTP-28.5.0.2.README"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/443644659","id":443644659,"node_id":"RA_kwDOAAW4j84acXrz","name":"OTP-28.5.0.2.README.md","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"text","state":"uploaded","size":10502,"digest":"sha256:4f32c165fbef8e6f1d1cd80efaac9ae768ca1c09fadbfde8f753fe29759d89fb","download_count":11,"created_at":"2026-06-10T11:24:23Z","updated_at":"2026-06-10T11:24:23Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.5.0.2/OTP-28.5.0.2.README.md"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/443678980","id":443678980,"node_id":"RA_kwDOAAW4j84acgEE","name":"otp_doc_html_28.5.0.2.tar.gz","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":31833226,"digest":"sha256:d0a22561e93764fd8eefc7d494b3fd3da56f6e50680d22a1a86d65ac1be9d040","download_count":220,"created_at":"2026-06-10T12:16:28Z","updated_at":"2026-06-10T12:16:30Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.5.0.2/otp_doc_html_28.5.0.2.tar.gz"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/443678985","id":443678985,"node_id":"RA_kwDOAAW4j84acgEJ","name":"otp_doc_html_28.5.0.2.tar.gz.sigstore","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":5596869,"digest":"sha256:7d8c0520596021ce2a5928a6e940a5b07c56e8ba013c32fd90d1d26ad30781e2","download_count":11,"created_at":"2026-06-10T12:16:28Z","updated_at":"2026-06-10T12:16:29Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.5.0.2/otp_doc_html_28.5.0.2.tar.gz.sigstore"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/443678983","id":443678983,"node_id":"RA_kwDOAAW4j84acgEH","name":"otp_doc_man_28.5.0.2.tar.gz","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":1888793,"digest":"sha256:fed762ca03a3b7b4ea440dfe8571d45fa724efbc3aa17311ad9760ece46e610a","download_count":282,"created_at":"2026-06-10T12:16:28Z","updated_at":"2026-06-10T12:16:29Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.5.0.2/otp_doc_man_28.5.0.2.tar.gz"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/443678984","id":443678984,"node_id":"RA_kwDOAAW4j84acgEI","name":"otp_doc_man_28.5.0.2.tar.gz.sigstore","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":5596869,"digest":"sha256:7d8c0520596021ce2a5928a6e940a5b07c56e8ba013c32fd90d1d26ad30781e2","download_count":9,"created_at":"2026-06-10T12:16:28Z","updated_at":"2026-06-10T12:16:29Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.5.0.2/otp_doc_man_28.5.0.2.tar.gz.sigstore"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/443678988","id":443678988,"node_id":"RA_kwDOAAW4j84acgEM","name":"otp_src_28.5.0.2.tar.gz","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":105297448,"digest":"sha256:70d000de601c1cf695b551bab5209226555363ad3cb810639810a3fc6c5306eb","download_count":1957,"created_at":"2026-06-10T12:16:28Z","updated_at":"2026-06-10T12:16:32Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.5.0.2/otp_src_28.5.0.2.tar.gz"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/443678986","id":443678986,"node_id":"RA_kwDOAAW4j84acgEK","name":"otp_src_28.5.0.2.tar.gz.sigstore","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":5596869,"digest":"sha256:7d8c0520596021ce2a5928a6e940a5b07c56e8ba013c32fd90d1d26ad30781e2","download_count":11,"created_at":"2026-06-10T12:16:28Z","updated_at":"2026-06-10T12:16:29Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.5.0.2/otp_src_28.5.0.2.tar.gz.sigstore"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/443731939","id":443731939,"node_id":"RA_kwDOAAW4j84acs_j","name":"otp_win32_28.5.0.2.exe","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/x-msdownload","state":"uploaded","size":135040696,"digest":"sha256:93ea738770b64038d3e1bc221af59e33f6727ab31790dc01969bb10803c8f5d1","download_count":269,"created_at":"2026-06-10T13:29:03Z","updated_at":"2026-06-10T13:29:07Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.5.0.2/otp_win32_28.5.0.2.exe"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/443889183","id":443889183,"node_id":"RA_kwDOAAW4j84adTYf","name":"otp_win32_28.5.0.2.zip","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/zip","state":"uploaded","size":172476611,"digest":"sha256:f3c373dfd0000c640308a65cf1dee9290b989d744bdaeba52b65890b80999a1a","download_count":19,"created_at":"2026-06-10T17:11:59Z","updated_at":"2026-06-10T17:12:06Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.5.0.2/otp_win32_28.5.0.2.zip"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/443732038","id":443732038,"node_id":"RA_kwDOAAW4j84actBG","name":"otp_win64_28.5.0.2.exe","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/x-msdownload","state":"uploaded","size":153757584,"digest":"sha256:389a6322f5720ec8d980e39492242f0d61d83245ef58a54f248740cbc5a11f1f","download_count":4951,"created_at":"2026-06-10T13:29:08Z","updated_at":"2026-06-10T13:29:13Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.5.0.2/otp_win64_28.5.0.2.exe"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/443889371","id":443889371,"node_id":"RA_kwDOAAW4j84adTbb","name":"otp_win64_28.5.0.2.zip","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/zip","state":"uploaded","size":182865336,"digest":"sha256:893bdd2c1005c8135479115541f419513018453d1a639104963bf360af8c861a","download_count":138,"created_at":"2026-06-10T17:12:12Z","updated_at":"2026-06-10T17:12:18Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.5.0.2/otp_win64_28.5.0.2.zip"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/443678982","id":443678982,"node_id":"RA_kwDOAAW4j84acgEG","name":"SHA256.txt","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"text/plain","state":"uploaded","size":279,"digest":"sha256:48662cd4ac81b770a3109d87ec6dc9ff8da64ea502982279c8117222c85eb9b7","download_count":106,"created_at":"2026-06-10T12:16:28Z","updated_at":"2026-06-10T12:16:28Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.5.0.2/SHA256.txt"}],"tarball_url":"https://api.github.com/repos/erlang/otp/tarball/OTP-28.5.0.2","zipball_url":"https://api.github.com/repos/erlang/otp/zipball/OTP-28.5.0.2","body":"```\nPatch Package:           OTP 28.5.0.2\nGit Tag:                 OTP-28.5.0.2\nDate:                    2026-06-10\nTrouble Report Id:       OTP-19631, OTP-20057, OTP-20149, OTP-20150,\n                         OTP-20152, OTP-20154, OTP-20155, OTP-20156,\n                         OTP-20160, OTP-20161, OTP-20162, OTP-20165,\n                         OTP-20166, OTP-20172, OTP-20174\nSeq num:                 CVE-2026-48855, CVE-2026-48856,\n                         CVE-2026-48858, CVE-2026-48860,\n                         CVE-2026-49759, CVE-2026-49760, GH-11093,\n                         GH-11104, GH-11105, GH-SA-24cv-hwgr-37fq,\n                         GH-SA-6f4f-chj5-5g97, GH-SA-gp7x-mfv6-52cv,\n                         GH-SA-m75x-4vwg-ggjh, GH-SA-pv7g-pjrq-x2fh,\n                         GH-SA-xcxj-5pg2-v72j, PR-11096, PR-11115,\n                         PR-11145, PR-11146, PR-11148, PR-11181,\n                         PR-11186, PR-11192, PR-11193, PR-11195,\n                         PR-11212, PR-1234, PR-27384\nSystem:                  OTP\nRelease:                 28\nApplication:             dialyzer-5.4.0.1, diameter-2.6.1.1,\n                         erl_interface-5.7.0.1, erts-16.4.0.2,\n                         ftp-1.2.4.1, inets-9.6.2.2, kernel-10.6.3.2,\n                         mnesia-4.25.3.1, public_key-1.20.3.2,\n                         ssh-5.5.2.1, ssl-11.6.0.2\nPredecessor:             OTP 28.5.0.1\n```\n\nCheck out the git tag OTP-28.5.0.2, and build a full OTP system including documentation. Apply one or more applications from this build as patches to your installation using the 'otp_patch_apply' tool. For information on install requirements, see descriptions for each application version below.\n\n# dialyzer-5.4.0.1\n\nThe dialyzer-5.4.0.1 application can be applied independently of other applications on a full OTP 28 installation.\n\n## Fixed Bugs and Malfunctions\n\n- Fix Dialyzer crash with overriding built-in types\n\n  Own Id: OTP-19631\\\n  Related Id(s): [GH-11093], [PR-11096]\n\n> #### Full runtime dependencies of dialyzer-5.4.0.1\n>\n> compiler-8.0, erts-12.0, kernel-8.0, stdlib-5.0, syntax_tools-2.0\n\n# diameter-2.6.1.1\n\nThe diameter-2.6.1.1 application can be applied independently of other applications on a full OTP 28 installation.\n\n## Fixed Bugs and Malfunctions\n\n- Fixed return value documentation of `diameter:service_info(SvcName, statistics)`\n\n  Own Id: OTP-20150\\\n  Related Id(s): [GH-11105], [PR-11146]\n\n> #### Full runtime dependencies of diameter-2.6.1.1\n>\n> erts-10.0, kernel-3.2, ssl-9.0, stdlib-5.0\n\n# erl_interface-5.7.0.1\n\nThe erl_interface-5.7.0.1 application can be applied independently of other applications on a full OTP 28 installation.\n\n## Fixed Bugs and Malfunctions\n\n- Fixed stack overflow in `ei_s_print_term` for very big integer terms (> 2000 hexadecimal digits long).\n\n  Own Id: OTP-20160\\\n  Related Id(s): [GH-SA-xcxj-5pg2-v72j], [PR-11193], [CVE-2026-49760]\n\n# erts-16.4.0.2\n\nThe erts-16.4.0.2 application can be applied independently of other applications on a full OTP 28 installation.\n\n## Fixed Bugs and Malfunctions\n\n- Fixed bug in `ets:member/2` for `set`, `bag` and `duplicate_bag`. The bug could (maybe) lead to `ets:member` spuriously returning false for a value which is actually a member for a table that faces high insert load.\n\n  Own Id: OTP-20152\\\n  Related Id(s): [PR-11115]\n\n- A buffer overflow error when parsing SCTP ERROR or ABORT chunks has been fixed.\n\n  This could lead to stack corruption and VM crash, but ultimately with hard work by an attacker be refined into maybe even remote code execution.\n\n  Own Id: OTP-20165\\\n  Related Id(s): [GH-SA-6f4f-chj5-5g97], [PR-1234], [CVE-2026-49759]\n\n> #### Full runtime dependencies of erts-16.4.0.2\n>\n> kernel-9.0, sasl-3.3, stdlib-4.1\n\n# ftp-1.2.4.1\n\nThe ftp-1.2.4.1 application can be applied independently of other applications on a full OTP 28 installation.\n\n## Fixed Bugs and Malfunctions\n\n- FTP client default connections that use the so called passive mode of FTP fails to properly validating the response IP of the server, hence a malicious or compromised FTP server could redirect the data connection to an arbitrary host, enabling s server-side request forgery (SSRF) and FTP bounce attacks.\n\n  Own Id: OTP-20166\\\n  Related Id(s): [GH-SA-24cv-hwgr-37fq], [PR-11186], [CVE-2026-48858]\n\n> #### Full runtime dependencies of ftp-1.2.4.1\n>\n> erts-7.0, kernel-6.0, runtime_tools-1.15.1, ssl-10.2, stdlib-3.5\n\n# inets-9.6.2.2\n\nThe inets-9.6.2.2 application can be applied independently of other applications on a full OTP 28 installation.\n\n## Fixed Bugs and Malfunctions\n\n- The HTTP client (httpc) now removes Authorization, Proxy-Authorization, Cookie, Referer, and Origin headers when following a redirect to a different host or port. Previously these headers were forwarded verbatim, potentially leaking credentials to unintended targets.\n\n  This follows the requirements of RFC 9110 §15.4.\n\n  Own Id: OTP-20155\\\n  Related Id(s): [GH-SA-m75x-4vwg-ggjh], [PR-11212], [CVE-2026-48856]\n\n> #### Full runtime dependencies of inets-9.6.2.2\n>\n> erts-14.0, kernel-9.0, mnesia-4.12, public_key-1.13, runtime_tools-1.8.14, ssl-9.0, stdlib-5.0, stdlib-6.0\n\n# kernel-10.6.3.2\n\nThe kernel-10.6.3.2 application can be applied independently of other applications on a full OTP 28 installation.\n\n## Fixed Bugs and Malfunctions\n\n- gen_tcp_socket accept should explicitly inherit the same options as plain gen_tcp.\n\n  Own Id: OTP-20057\n\n> #### Full runtime dependencies of kernel-10.6.3.2\n>\n> crypto-5.0, erts-15.2.5, sasl-3.0, stdlib-7.0\n\n# mnesia-4.25.3.1\n\nThe mnesia-4.25.3.1 application can be applied independently of other applications on a full OTP 28 installation.\n\n## Fixed Bugs and Malfunctions\n\n- Fixed docs of `mnesia:write/3` to clarify when a transaction can terminate.\n\n  Own Id: OTP-20149\\\n  Related Id(s): [GH-11104], [PR-11145]\n\n> #### Full runtime dependencies of mnesia-4.25.3.1\n>\n> erts-9.0, kernel-5.3, stdlib-5.0\n\n# public_key-1.20.3.2\n\nNote! The public_key-1.20.3.2 application _cannot_ be applied independently of other applications on an arbitrary OTP 28 installation.\n\n```\n   On a full OTP 28 installation, also the following runtime\n   dependency has to be satisfied:\n   -- crypto-5.8 (first satisfied in OTP 28.3)\n```\n\n## Fixed Bugs and Malfunctions\n\n- Add missing macro reference for legacy algorithms md5 and sha224. This mainly improves error handling.\n\n  Own Id: OTP-20172\\\n  Related Id(s): [PR-11195]\n\n> #### Full runtime dependencies of public_key-1.20.3.2\n>\n> asn1-5.0, crypto-5.8, erts-13.0, kernel-8.0, stdlib-4.0\n\n# ssh-5.5.2.1\n\nNote! The ssh-5.5.2.1 application _cannot_ be applied independently of other applications on an arbitrary OTP 28 installation.\n\n```\n   On a full OTP 28 installation, also the following runtime\n   dependency has to be satisfied:\n   -- crypto-5.7 (first satisfied in OTP 28.1)\n```\n\n## Fixed Bugs and Malfunctions\n\n- Fixed SSH_FXP_READLINK handler in ssh_sftpd to strip the backend root prefix from symlink targets before returning them to the client, preventing disclosure of the server's absolute filesystem path when the root option is configured.\n\n  Own Id: OTP-20162\\\n  Related Id(s): [GH-SA-pv7g-pjrq-x2fh], [PR-11192], [CVE-2026-48855]\n\n> #### Full runtime dependencies of ssh-5.5.2.1\n>\n> crypto-5.7, erts-14.0, kernel-10.3, public_key-1.6.1, runtime_tools-1.15.1, stdlib-5.0, stdlib-6.0\n\n# ssl-11.6.0.2\n\nNote! The ssl-11.6.0.2 application _cannot_ be applied independently of other applications on an arbitrary OTP 28 installation.\n\n```\n   On a full OTP 28 installation, also the following runtime\n   dependencies have to be satisfied:\n   -- crypto-5.8 (first satisfied in OTP 28.3)\n   -- public_key-1.20.3.1 (first satisfied in OTP 28.5.0.1)\n```\n\n## Fixed Bugs and Malfunctions\n\n- Fix miscellanies issues that could cause unnecessary memory consumption and in some less common scenarios or configurations cause connection failures.\n\n  Own Id: OTP-20154\\\n  Related Id(s): [PR-11148]\n\n- Erlang distribution over TLS run with the kernel 'check_ip' flag now properly enforce connecting nodes to be on the same LAN.\n\n  Own Id: OTP-20156\\\n  Related Id(s): [GH-SA-gp7x-mfv6-52cv], [PR-11181], [CVE-2026-48860]\n\n- Enhance error message, by fixing typo of atom in new error message related to \\`public_key\\` CVE-2026-42790 solution.\n\n  Own Id: OTP-20161\\\n  Related Id(s): [PR-11148]\n\n- Corrected SNI handling for TLS-1.3 only server, could cause connection failures if supported signature algorithms where changed by SNI option update.\n\n  Own Id: OTP-20174\\\n  Related Id(s): [PR-27384]\n\n> #### Full runtime dependencies of ssl-11.6.0.2\n>\n> crypto-5.8, erts-16.0, inets-5.10.7, kernel-10.3, public_key-1.20.3.1, runtime_tools-1.15.1, stdlib-7.0\n\n# Thanks to\n\nJohn Downey, Jonatan Männchen, Maria Scott\n\n[cve-2026-48855]: https://nvd.nist.gov/vuln/detail/CVE-2026-48855\n[cve-2026-48856]: https://nvd.nist.gov/vuln/detail/CVE-2026-48856\n[cve-2026-48858]: https://nvd.nist.gov/vuln/detail/CVE-2026-48858\n[cve-2026-48860]: https://nvd.nist.gov/vuln/detail/CVE-2026-48860\n[cve-2026-49759]: https://nvd.nist.gov/vuln/detail/CVE-2026-49759\n[cve-2026-49760]: https://nvd.nist.gov/vuln/detail/CVE-2026-49760\n[gh-11093]: https://github.com/erlang/otp/issues/11093\n[gh-11104]: https://github.com/erlang/otp/issues/11104\n[gh-11105]: https://github.com/erlang/otp/issues/11105\n[gh-sa-24cv-hwgr-37fq]: https://github.com/erlang/otp/issues/SA-24cv-hwgr-37fq\n[gh-sa-6f4f-chj5-5g97]: https://github.com/erlang/otp/issues/SA-6f4f-chj5-5g97\n[gh-sa-gp7x-mfv6-52cv]: https://github.com/erlang/otp/issues/SA-gp7x-mfv6-52cv\n[gh-sa-m75x-4vwg-ggjh]: https://github.com/erlang/otp/issues/SA-m75x-4vwg-ggjh\n[gh-sa-pv7g-pjrq-x2fh]: https://github.com/erlang/otp/issues/SA-pv7g-pjrq-x2fh\n[gh-sa-xcxj-5pg2-v72j]: https://github.com/erlang/otp/issues/SA-xcxj-5pg2-v72j\n[pr-11096]: https://github.com/erlang/otp/pull/11096\n[pr-11115]: https://github.com/erlang/otp/pull/11115\n[pr-11145]: https://github.com/erlang/otp/pull/11145\n[pr-11146]: https://github.com/erlang/otp/pull/11146\n[pr-11148]: https://github.com/erlang/otp/pull/11148\n[pr-11181]: https://github.com/erlang/otp/pull/11181\n[pr-11186]: https://github.com/erlang/otp/pull/11186\n[pr-11192]: https://github.com/erlang/otp/pull/11192\n[pr-11193]: https://github.com/erlang/otp/pull/11193\n[pr-11195]: https://github.com/erlang/otp/pull/11195\n[pr-11212]: https://github.com/erlang/otp/pull/11212\n[pr-1234]: https://github.com/erlang/otp/pull/1234\n[pr-27384]: https://github.com/erlang/otp/pull/27384\n","reactions":{"url":"https://api.github.com/repos/erlang/otp/releases/337180698/reactions","total_count":2,"+1":2,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0}},{"url":"https://api.github.com/repos/erlang/otp/releases/337234686","assets_url":"https://api.github.com/repos/erlang/otp/releases/337234686/assets","upload_url":"https://uploads.github.com/repos/erlang/otp/releases/337234686/assets{?name,label}","html_url":"https://github.com/erlang/otp/releases/tag/OTP-27.3.4.13","id":337234686,"author":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"node_id":"RE_kwDOAAW4j84UGcr-","tag_name":"OTP-27.3.4.13","target_commitish":"master","name":"OTP 27.3.4.13","draft":false,"immutable":false,"prerelease":false,"created_at":"2026-06-09T14:31:04Z","updated_at":"2026-06-10T17:11:52Z","published_at":"2026-06-10T12:57:56Z","assets":[{"url":"https://api.github.com/repos/erlang/otp/releases/assets/443708144","id":443708144,"node_id":"RA_kwDOAAW4j84acnLw","name":"MD5.txt","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"text/plain","state":"uploaded","size":186,"digest":"sha256:04f476fca7d462f494d971d0536a14149e8ff2291cd1a56ed6434eea884bcab4","download_count":18,"created_at":"2026-06-10T12:57:52Z","updated_at":"2026-06-10T12:57:52Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-27.3.4.13/MD5.txt"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/443731776","id":443731776,"node_id":"RA_kwDOAAW4j84acs9A","name":"OTP-27.3.4.13.README","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"text","state":"uploaded","size":7452,"digest":"sha256:6cb2c265b602bedc989f06c9be0857fb0bdea4dc167a1642089482fedf35fd72","download_count":122,"created_at":"2026-06-10T13:28:53Z","updated_at":"2026-06-10T13:28:53Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-27.3.4.13/OTP-27.3.4.13.README"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/443731792","id":443731792,"node_id":"RA_kwDOAAW4j84acs9Q","name":"OTP-27.3.4.13.README.md","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"text","state":"uploaded","size":9215,"digest":"sha256:8fb3e797e0deddd36cfc2060794a9db7d4324c59bcc1f2346de9f0351def9d1e","download_count":26,"created_at":"2026-06-10T13:28:53Z","updated_at":"2026-06-10T13:28:54Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-27.3.4.13/OTP-27.3.4.13.README.md"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/443708142","id":443708142,"node_id":"RA_kwDOAAW4j84acnLu","name":"otp_doc_html_27.3.4.13.tar.gz","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":26237673,"digest":"sha256:ad4e8db5bc086f5c73f9fc158ef6d76d955b74890b11456c73a68d11eafb1fe6","download_count":86,"created_at":"2026-06-10T12:57:52Z","updated_at":"2026-06-10T12:57:53Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-27.3.4.13/otp_doc_html_27.3.4.13.tar.gz"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/443708141","id":443708141,"node_id":"RA_kwDOAAW4j84acnLt","name":"otp_doc_man_27.3.4.13.tar.gz","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":45268,"digest":"sha256:e9df1ae5f902916247827ccdf5f2645106b3bac61e643e6ced6e83b26384ff18","download_count":58,"created_at":"2026-06-10T12:57:52Z","updated_at":"2026-06-10T12:57:52Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-27.3.4.13/otp_doc_man_27.3.4.13.tar.gz"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/443708145","id":443708145,"node_id":"RA_kwDOAAW4j84acnLx","name":"otp_src_27.3.4.13.tar.gz","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":101541048,"digest":"sha256:38308102d1f7e44339911ddc5e3a94a6b4bbb0ef8a5fc392e2e4b280daf0fc9e","download_count":5424,"created_at":"2026-06-10T12:57:52Z","updated_at":"2026-06-10T12:57:55Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-27.3.4.13/otp_src_27.3.4.13.tar.gz"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/443731811","id":443731811,"node_id":"RA_kwDOAAW4j84acs9j","name":"otp_win32_27.3.4.13.exe","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/x-msdownload","state":"uploaded","size":122161128,"digest":"sha256:7e8ee2ee5179e7694afadb81a4eec0a66c4c52427fe462e97fd3e4ac64da4e70","download_count":237,"created_at":"2026-06-10T13:28:54Z","updated_at":"2026-06-10T13:28:58Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-27.3.4.13/otp_win32_27.3.4.13.exe"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/443889009","id":443889009,"node_id":"RA_kwDOAAW4j84adTVx","name":"otp_win32_27.3.4.13.zip","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/zip","state":"uploaded","size":137453636,"digest":"sha256:e75aac875baf851d3b48d633b01cb0d3f0b0a24ce7240d3a121acb15dd65ceef","download_count":37,"created_at":"2026-06-10T17:11:46Z","updated_at":"2026-06-10T17:11:52Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-27.3.4.13/otp_win32_27.3.4.13.zip"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/443731887","id":443731887,"node_id":"RA_kwDOAAW4j84acs-v","name":"otp_win64_27.3.4.13.exe","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/x-msdownload","state":"uploaded","size":139840544,"digest":"sha256:94db9f6d7e9a6616c10d05f40ff99617a41cc2fe6b7136307ad2220576b5c894","download_count":12226,"created_at":"2026-06-10T13:28:58Z","updated_at":"2026-06-10T13:29:03Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-27.3.4.13/otp_win64_27.3.4.13.exe"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/443888888","id":443888888,"node_id":"RA_kwDOAAW4j84adTT4","name":"otp_win64_27.3.4.13.zip","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/zip","state":"uploaded","size":156131946,"digest":"sha256:2303f1c5a63348a819f8cca8a27f9b4ec494242112490bcb2863e7470948621a","download_count":388,"created_at":"2026-06-10T17:11:31Z","updated_at":"2026-06-10T17:11:37Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-27.3.4.13/otp_win64_27.3.4.13.zip"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/443708143","id":443708143,"node_id":"RA_kwDOAAW4j84acnLv","name":"SHA256.txt","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"text/plain","state":"uploaded","size":282,"digest":"sha256:4a1aa6ffda2807ec971ee218b1f0f939c9ce802dbb6d3ef7fd8e0a1e2a73db0e","download_count":449,"created_at":"2026-06-10T12:57:52Z","updated_at":"2026-06-10T12:57:52Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-27.3.4.13/SHA256.txt"}],"tarball_url":"https://api.github.com/repos/erlang/otp/tarball/OTP-27.3.4.13","zipball_url":"https://api.github.com/repos/erlang/otp/zipball/OTP-27.3.4.13","body":null},{"url":"https://api.github.com/repos/erlang/otp/releases/330062920","assets_url":"https://api.github.com/repos/erlang/otp/releases/330062920/assets","upload_url":"https://uploads.github.com/repos/erlang/otp/releases/330062920/assets{?name,label}","html_url":"https://github.com/erlang/otp/releases/tag/OTP-29.0.1","id":330062920,"author":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"node_id":"RE_kwDOAAW4j84TrFxI","tag_name":"OTP-29.0.1","target_commitish":"master","name":"OTP 29.0.1","draft":false,"immutable":false,"prerelease":false,"created_at":"2026-05-26T14:08:32Z","updated_at":"2026-05-27T11:29:13Z","published_at":"2026-05-27T09:24:06Z","assets":[{"url":"https://api.github.com/repos/erlang/otp/releases/assets/430987309","id":430987309,"node_id":"RA_kwDOAAW4j84ZsFgt","name":"bom.spdx.json","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/json","state":"uploaded","size":5833171,"digest":"sha256:69a9087577b058820d5e7ba096a83fd345a1309f12874494c2bd902a02bcb493","download_count":60,"created_at":"2026-05-27T09:51:09Z","updated_at":"2026-05-27T09:51:10Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-29.0.1/bom.spdx.json"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/430987276","id":430987276,"node_id":"RA_kwDOAAW4j84ZsFgM","name":"bom.spdx.json.sigstore","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":5656727,"digest":"sha256:be6c5357bdfb88877ec9282963e738ab6ca9340a0ce87bc05787e5818535b769","download_count":52,"created_at":"2026-05-27T09:51:08Z","updated_at":"2026-05-27T09:51:09Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-29.0.1/bom.spdx.json.sigstore"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/430987264","id":430987264,"node_id":"RA_kwDOAAW4j84ZsFgA","name":"MD5.txt","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"text/plain; charset=utf-8","state":"uploaded","size":177,"digest":"sha256:bfa6431484854036bac760c866d81f47779dc19fe631af2648447df0a5d6e314","download_count":50,"created_at":"2026-05-27T09:51:07Z","updated_at":"2026-05-27T09:51:08Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-29.0.1/MD5.txt"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/430968135","id":430968135,"node_id":"RA_kwDOAAW4j84ZsA1H","name":"OTP-29.0.1.README","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"text","state":"uploaded","size":5690,"digest":"sha256:9a136c3957300bedad13c2392b92a1d49eccb3574d8b6c306358276172c9f9a9","download_count":896,"created_at":"2026-05-27T09:24:24Z","updated_at":"2026-05-27T09:24:25Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-29.0.1/OTP-29.0.1.README"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/430968138","id":430968138,"node_id":"RA_kwDOAAW4j84ZsA1K","name":"OTP-29.0.1.README.md","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"text","state":"uploaded","size":6368,"digest":"sha256:f203563ba32989f393ffc2c40c0c04e8812b350ef0811f8ed6380403e47bc473","download_count":62,"created_at":"2026-05-27T09:24:25Z","updated_at":"2026-05-27T09:24:25Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-29.0.1/OTP-29.0.1.README.md"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/430987265","id":430987265,"node_id":"RA_kwDOAAW4j84ZsFgB","name":"otp_doc_html_29.0.1.tar.gz","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/x-gtar","state":"uploaded","size":32388168,"digest":"sha256:fcb5767e2ce5d25a7b76140c6d8f5ab14ebbd943b3af08f23fa35c86c5433bbe","download_count":1140,"created_at":"2026-05-27T09:51:07Z","updated_at":"2026-05-27T09:51:09Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-29.0.1/otp_doc_html_29.0.1.tar.gz"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/430987277","id":430987277,"node_id":"RA_kwDOAAW4j84ZsFgN","name":"otp_doc_html_29.0.1.tar.gz.sigstore","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":5656727,"digest":"sha256:be6c5357bdfb88877ec9282963e738ab6ca9340a0ce87bc05787e5818535b769","download_count":56,"created_at":"2026-05-27T09:51:08Z","updated_at":"2026-05-27T09:51:09Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-29.0.1/otp_doc_html_29.0.1.tar.gz.sigstore"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/430987261","id":430987261,"node_id":"RA_kwDOAAW4j84ZsFf9","name":"otp_doc_man_29.0.1.tar.gz","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/x-gtar","state":"uploaded","size":1933879,"digest":"sha256:ffabe37d3e506ef7c9916fd1fea1b6af3031f93292a8b7d4f9704d188620649a","download_count":835,"created_at":"2026-05-27T09:51:07Z","updated_at":"2026-05-27T09:51:08Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-29.0.1/otp_doc_man_29.0.1.tar.gz"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/430987281","id":430987281,"node_id":"RA_kwDOAAW4j84ZsFgR","name":"otp_doc_man_29.0.1.tar.gz.sigstore","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":5656727,"digest":"sha256:be6c5357bdfb88877ec9282963e738ab6ca9340a0ce87bc05787e5818535b769","download_count":31,"created_at":"2026-05-27T09:51:08Z","updated_at":"2026-05-27T09:51:09Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-29.0.1/otp_doc_man_29.0.1.tar.gz.sigstore"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/430987266","id":430987266,"node_id":"RA_kwDOAAW4j84ZsFgC","name":"otp_src_29.0.1.tar.gz","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/x-gtar","state":"uploaded","size":106589657,"digest":"sha256:42299cd4674a898d354ccfcd16651a7940e0125af59ee3733f7bd5f4a0dd50cf","download_count":9168,"created_at":"2026-05-27T09:51:07Z","updated_at":"2026-05-27T09:51:11Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-29.0.1/otp_src_29.0.1.tar.gz"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/430987304","id":430987304,"node_id":"RA_kwDOAAW4j84ZsFgo","name":"otp_src_29.0.1.tar.gz.sigstore","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":5656727,"digest":"sha256:be6c5357bdfb88877ec9282963e738ab6ca9340a0ce87bc05787e5818535b769","download_count":92,"created_at":"2026-05-27T09:51:09Z","updated_at":"2026-05-27T09:51:10Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-29.0.1/otp_src_29.0.1.tar.gz.sigstore"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/430968145","id":430968145,"node_id":"RA_kwDOAAW4j84ZsA1R","name":"otp_win64_29.0.1.exe","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/x-msdownload","state":"uploaded","size":155671000,"digest":"sha256:7663b14d3e0d163c0f87c32b2ee06b2514049dc34feeee56150d878ebb627def","download_count":17222,"created_at":"2026-05-27T09:24:26Z","updated_at":"2026-05-27T09:24:30Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-29.0.1/otp_win64_29.0.1.exe"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/431047524","id":431047524,"node_id":"RA_kwDOAAW4j84ZsUNk","name":"otp_win64_29.0.1.zip","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/zip","state":"uploaded","size":185196679,"digest":"sha256:0fdb308187823d8b1cd2e2b8a79eeb4599e06997c017e8b7ff942090c5498a68","download_count":1215,"created_at":"2026-05-27T11:29:04Z","updated_at":"2026-05-27T11:29:13Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-29.0.1/otp_win64_29.0.1.zip"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/430987262","id":430987262,"node_id":"RA_kwDOAAW4j84ZsFf-","name":"SHA256.txt","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"text/plain; charset=utf-8","state":"uploaded","size":273,"digest":"sha256:4b4c41514162e0fc5344e6eefed751af870ea8c727e2355b2c940901ae57b98f","download_count":151,"created_at":"2026-05-27T09:51:07Z","updated_at":"2026-05-27T09:51:08Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-29.0.1/SHA256.txt"}],"tarball_url":"https://api.github.com/repos/erlang/otp/tarball/OTP-29.0.1","zipball_url":"https://api.github.com/repos/erlang/otp/zipball/OTP-29.0.1","body":"```\nPatch Package:           OTP 29.0.1\nGit Tag:                 OTP-29.0.1\nDate:                    2026-05-27\nTrouble Report Id:       OTP-20112, OTP-20129, OTP-20130, OTP-20134,\n                         OTP-20138, OTP-20139, OTP-20140, OTP-20141,\n                         OTP-20146\nSeq num:                 CVE-2026-42789, CVE-2026-42790, ERIERL-1321,\n                         GH-11088, PR-11007, PR-11089, PR-11100,\n                         PR-11107, PR-11123, PR-11124, PR-11125,\n                         PR-11135, PR-11136\nSystem:                  OTP\nRelease:                 29\nApplication:             compiler-10.0.1, erts-17.0.1, kernel-11.0.1,\n                         public_key-1.21.1, snmp-5.20.4, ssl-11.7.1\nPredecessor:             OTP 29.0\n```\n\nCheck out the git tag OTP-29.0.1, and build a full OTP system including documentation. Apply one or more applications from this build as patches to your installation using the 'otp_patch_apply' tool. For information on install requirements, see descriptions for each application version below.\n\n# POTENTIAL INCOMPATIBILITIES\n\n- 'public_key', Adhere to RFC 9525, and remove support for legacy fallback to check hostname against subject common name. Also improve error handling creating two separate errors for name constraint check for subject names and subject alternative names.\n\n  'ssl'. Error handling is slightly changed to better reflect public_key behaviour.\n\n  Own Id: OTP-20130\\\n  Application(s): public_key, ssl\\\n  Related Id(s): [PR-11124], [CVE-2026-42790]\n\n# compiler-10.0.1\n\nThe compiler-10.0.1 application can be applied independently of other applications on a full OTP 29 installation.\n\n## Fixed Bugs and Malfunctions\n\n- In rare circumstances, optimization of boolean expressions could invert the boolean value.\n\n  Own Id: OTP-20140\\\n  Related Id(s): [GH-11088], [PR-11089]\n\n- The compiler could crash when compiling code using native records in certain ways.\n\n  Own Id: OTP-20146\\\n  Related Id(s): [PR-11135]\n\n> #### Full runtime dependencies of compiler-10.0.1\n>\n> crypto-5.1, erts-13.0, kernel-8.4, stdlib-8.0\n\n# erts-17.0.1\n\nThe erts-17.0.1 application can be applied independently of other applications on a full OTP 29 installation.\n\n## Fixed Bugs and Malfunctions\n\n- Comparison of two native records could return an incorrect result or crash the runtime system.\n\n  Own Id: OTP-20139\\\n  Related Id(s): [PR-11107]\n\n> #### Full runtime dependencies of erts-17.0.1\n>\n> kernel-9.0, sasl-3.3, stdlib-4.1\n\n# kernel-11.0.1\n\nThe kernel-11.0.1 application can be applied independently of other applications on a full OTP 29 installation.\n\n## Fixed Bugs and Malfunctions\n\n- SCTP peeloff of an IPv6 socket, the peeled-off socket does not inherit the parent options as expected.\n\n  Own Id: OTP-20134\\\n  Related Id(s): [PR-11007]\n\n> #### Full runtime dependencies of kernel-11.0.1\n>\n> crypto-5.8, erts-17.0, sasl-3.0, stdlib-8.0\n\n# public_key-1.21.1\n\nThe public_key-1.21.1 application can be applied independently of other applications on a full OTP 29 installation.\n\n## Fixed Bugs and Malfunctions\n\n- OCSP responder certificates are now checked for expiration before being accepted as authorized responders. Previously, expired or not-yet-valid responder certificates were incorrectly accepted when verifying OCSP responses.\n\n  Own Id: OTP-20112\\\n  Related Id(s): [PR-11136]\n\n- Corrected basic constraint path validation check in accordance to RFC 5280.\n\n  Own Id: OTP-20129\\\n  Related Id(s): [PR-11123], [CVE-2026-42789]\n\n- 'public_key', Adhere to RFC 9525, and remove support for legacy fallback to check hostname against subject common name. Also improve error handling creating two separate errors for name constraint check for subject names and subject alternative names.\n\n  'ssl'. Error handling is slightly changed to better reflect public_key behaviour.\n\n  Own Id: OTP-20130\\\n  Related Id(s): [PR-11124], [CVE-2026-42790]\n\n  \\*\\*\\* POTENTIAL INCOMPATIBILITY \\*\\*\\*\n\n> #### Full runtime dependencies of public_key-1.21.1\n>\n> asn1-5.0, crypto-5.8, erts-13.0, kernel-8.0, stdlib-4.0\n\n# snmp-5.20.4\n\nThe snmp-5.20.4 application can be applied independently of other applications on a full OTP 29 installation.\n\n## Fixed Bugs and Malfunctions\n\n- Fixed a bug in snmpm_usm:generate_outgoing_msg/5 that caused a badmatch crash when constructing an error response for an unknown user/engineID combination.\n\n  Own Id: OTP-20138\\\n  Related Id(s): ERIERL-1321, [PR-11100]\n\n> #### Full runtime dependencies of snmp-5.20.4\n>\n> asn1-5.4, crypto-4.6, erts-12.0, kernel-8.0, mnesia-4.12, runtime_tools-1.8.14, stdlib-5.0\n\n# ssl-11.7.1\n\nNote! The ssl-11.7.1 application _cannot_ be applied independently of other applications on an arbitrary OTP 29 installation.\n\n```\n   On a full OTP 29 installation, also the following runtime\n   dependency has to be satisfied:\n   -- public_key-1.21.1 (first satisfied in OTP 29.0.1)\n```\n\n## Fixed Bugs and Malfunctions\n\n- 'public_key', Adhere to RFC 9525, and remove support for legacy fallback to check hostname against subject common name. Also improve error handling creating two separate errors for name constraint check for subject names and subject alternative names.\n\n  'ssl'. Error handling is slightly changed to better reflect public_key behaviour.\n\n  Own Id: OTP-20130\\\n  Related Id(s): [PR-11124], [CVE-2026-42790]\n\n  \\*\\*\\* POTENTIAL INCOMPATIBILITY \\*\\*\\*\n\n- Could cause server to terminate a connection without an alert towards a bad client.\n\n  Own Id: OTP-20141\\\n  Related Id(s): [PR-11125]\n\n> #### Full runtime dependencies of ssl-11.7.1\n>\n> crypto-5.8, erts-16.0, inets-5.10.7, kernel-10.3, public_key-1.21.1, runtime_tools-1.15.1, stdlib-7.0\n\n# Thanks to\n\nMartin Hässler, Paul Guyot\n\n[cve-2026-42789]: https://nvd.nist.gov/vuln/detail/CVE-2026-42789\n[cve-2026-42790]: https://nvd.nist.gov/vuln/detail/CVE-2026-42790\n[gh-11088]: https://github.com/erlang/otp/issues/11088\n[pr-11007]: https://github.com/erlang/otp/pull/11007\n[pr-11089]: https://github.com/erlang/otp/pull/11089\n[pr-11100]: https://github.com/erlang/otp/pull/11100\n[pr-11107]: https://github.com/erlang/otp/pull/11107\n[pr-11123]: https://github.com/erlang/otp/pull/11123\n[pr-11124]: https://github.com/erlang/otp/pull/11124\n[pr-11125]: https://github.com/erlang/otp/pull/11125\n[pr-11135]: https://github.com/erlang/otp/pull/11135\n[pr-11136]: https://github.com/erlang/otp/pull/11136\n","reactions":{"url":"https://api.github.com/repos/erlang/otp/releases/330062920/reactions","total_count":6,"+1":0,"-1":0,"laugh":0,"hooray":6,"confused":0,"heart":0,"rocket":0,"eyes":0}},{"url":"https://api.github.com/repos/erlang/otp/releases/330062930","assets_url":"https://api.github.com/repos/erlang/otp/releases/330062930/assets","upload_url":"https://uploads.github.com/repos/erlang/otp/releases/330062930/assets{?name,label}","html_url":"https://github.com/erlang/otp/releases/tag/OTP-28.5.0.1","id":330062930,"author":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"node_id":"RE_kwDOAAW4j84TrFxS","tag_name":"OTP-28.5.0.1","target_commitish":"master","name":"OTP 28.5.0.1","draft":false,"immutable":false,"prerelease":false,"created_at":"2026-05-26T14:06:36Z","updated_at":"2026-05-29T10:52:44Z","published_at":"2026-05-27T09:24:07Z","assets":[{"url":"https://api.github.com/repos/erlang/otp/releases/assets/432952525","id":432952525,"node_id":"RA_kwDOAAW4j84ZzlTN","name":"bom.spdx.json","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/json","state":"uploaded","size":5775554,"digest":"sha256:4ef6efcd48cfe32e7bc394d669ae9866381408b0cbf3a5dca060770eb968b60a","download_count":8,"created_at":"2026-05-29T10:52:40Z","updated_at":"2026-05-29T10:52:41Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.5.0.1/bom.spdx.json"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/432952524","id":432952524,"node_id":"RA_kwDOAAW4j84ZzlTM","name":"bom.spdx.json.sigstore","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":5595914,"digest":"sha256:92cbc58681f3ac7919b0712addf8cc0b899b8f2c0fdaaf9bf99ad58ae7626b5d","download_count":8,"created_at":"2026-05-29T10:52:40Z","updated_at":"2026-05-29T10:52:40Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.5.0.1/bom.spdx.json.sigstore"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/432952520","id":432952520,"node_id":"RA_kwDOAAW4j84ZzlTI","name":"MD5.txt","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"text/plain","state":"uploaded","size":183,"digest":"sha256:4d1adf6ba9c6e3625753d6d7e238c3124a987aac73b4945fc9605e770de3c0c0","download_count":3,"created_at":"2026-05-29T10:52:40Z","updated_at":"2026-05-29T10:52:40Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.5.0.1/MD5.txt"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/430968006","id":430968006,"node_id":"RA_kwDOAAW4j84ZsAzG","name":"OTP-28.5.0.1.README","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"text","state":"uploaded","size":7727,"digest":"sha256:ea8525cab668cabb524eea25caac84255622da456f5547b8d3e461d5f8e66463","download_count":33,"created_at":"2026-05-27T09:24:11Z","updated_at":"2026-05-27T09:24:11Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.5.0.1/OTP-28.5.0.1.README"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/430968015","id":430968015,"node_id":"RA_kwDOAAW4j84ZsAzP","name":"OTP-28.5.0.1.README.md","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"text","state":"uploaded","size":8612,"digest":"sha256:c7b17c5b68b7a18c27ab542aa95e7f561fa3cfa2b09807e8c6c115dc2a6525c4","download_count":10,"created_at":"2026-05-27T09:24:11Z","updated_at":"2026-05-27T09:24:12Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.5.0.1/OTP-28.5.0.1.README.md"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/432952529","id":432952529,"node_id":"RA_kwDOAAW4j84ZzlTR","name":"otp_doc_html_28.5.0.1.tar.gz","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":31823182,"digest":"sha256:4618d6668e71db2f4eeb80da236a7669246f6c9847fd669c16ecfb6a0fe12f72","download_count":220,"created_at":"2026-05-29T10:52:40Z","updated_at":"2026-05-29T10:52:43Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.5.0.1/otp_doc_html_28.5.0.1.tar.gz"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/432952521","id":432952521,"node_id":"RA_kwDOAAW4j84ZzlTJ","name":"otp_doc_html_28.5.0.1.tar.gz.sigstore","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":5595914,"digest":"sha256:92cbc58681f3ac7919b0712addf8cc0b899b8f2c0fdaaf9bf99ad58ae7626b5d","download_count":9,"created_at":"2026-05-29T10:52:40Z","updated_at":"2026-05-29T10:52:41Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.5.0.1/otp_doc_html_28.5.0.1.tar.gz.sigstore"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/432952527","id":432952527,"node_id":"RA_kwDOAAW4j84ZzlTP","name":"otp_doc_man_28.5.0.1.tar.gz","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":1889164,"digest":"sha256:798b81cfb9ff35633d5dec124ebeebc053fdbf0b8afd4d7b99f947fd3af019f1","download_count":48,"created_at":"2026-05-29T10:52:40Z","updated_at":"2026-05-29T10:52:41Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.5.0.1/otp_doc_man_28.5.0.1.tar.gz"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/432952522","id":432952522,"node_id":"RA_kwDOAAW4j84ZzlTK","name":"otp_doc_man_28.5.0.1.tar.gz.sigstore","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":5595914,"digest":"sha256:92cbc58681f3ac7919b0712addf8cc0b899b8f2c0fdaaf9bf99ad58ae7626b5d","download_count":7,"created_at":"2026-05-29T10:52:40Z","updated_at":"2026-05-29T10:52:40Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.5.0.1/otp_doc_man_28.5.0.1.tar.gz.sigstore"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/432952528","id":432952528,"node_id":"RA_kwDOAAW4j84ZzlTQ","name":"otp_src_28.5.0.1.tar.gz","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":105292111,"digest":"sha256:7900bc38e282386821d91309d6eaf39ef3719a3cf375e04652dafdd856c4c2b2","download_count":2001,"created_at":"2026-05-29T10:52:40Z","updated_at":"2026-05-29T10:52:44Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.5.0.1/otp_src_28.5.0.1.tar.gz"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/432952523","id":432952523,"node_id":"RA_kwDOAAW4j84ZzlTL","name":"otp_src_28.5.0.1.tar.gz.sigstore","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":5595914,"digest":"sha256:92cbc58681f3ac7919b0712addf8cc0b899b8f2c0fdaaf9bf99ad58ae7626b5d","download_count":7,"created_at":"2026-05-29T10:52:40Z","updated_at":"2026-05-29T10:52:41Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.5.0.1/otp_src_28.5.0.1.tar.gz.sigstore"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/430968022","id":430968022,"node_id":"RA_kwDOAAW4j84ZsAzW","name":"otp_win32_28.5.0.1.exe","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/x-msdownload","state":"uploaded","size":135058800,"digest":"sha256:17f9dc28d6c3f7467f36e1f87d1fbc660b7a3b11ec3f7efcec3a0549cbdaeb4b","download_count":315,"created_at":"2026-05-27T09:24:12Z","updated_at":"2026-05-27T09:24:17Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.5.0.1/otp_win32_28.5.0.1.exe"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/431047579","id":431047579,"node_id":"RA_kwDOAAW4j84ZsUOb","name":"otp_win32_28.5.0.1.zip","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/zip","state":"uploaded","size":172510928,"digest":"sha256:e223e893af70359cec7c3e453ba24bc38df165e16527b4d5a8e73447ff4dbc39","download_count":23,"created_at":"2026-05-27T11:29:09Z","updated_at":"2026-05-27T11:29:15Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.5.0.1/otp_win32_28.5.0.1.zip"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/430968070","id":430968070,"node_id":"RA_kwDOAAW4j84ZsA0G","name":"otp_win64_28.5.0.1.exe","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/x-msdownload","state":"uploaded","size":154012096,"digest":"sha256:b0a701c5eea0adeb712fe6e1a93e9474243d4df44ed023400faa7bf05d0811a6","download_count":3560,"created_at":"2026-05-27T09:24:17Z","updated_at":"2026-05-27T09:24:22Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.5.0.1/otp_win64_28.5.0.1.exe"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/431047577","id":431047577,"node_id":"RA_kwDOAAW4j84ZsUOZ","name":"otp_win64_28.5.0.1.zip","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/zip","state":"uploaded","size":183185391,"digest":"sha256:09bc71ceb55e146eef3d1f0ec05d83c6e4a58e07feebb563378d20b6e1051174","download_count":111,"created_at":"2026-05-27T11:29:08Z","updated_at":"2026-05-27T11:29:17Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.5.0.1/otp_win64_28.5.0.1.zip"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/432952519","id":432952519,"node_id":"RA_kwDOAAW4j84ZzlTH","name":"SHA256.txt","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"text/plain","state":"uploaded","size":279,"digest":"sha256:0bd8c1ea7ce6e4d47f2706b9ad3661008d67a270f0b5dcb298f87017256f4571","download_count":32,"created_at":"2026-05-29T10:52:40Z","updated_at":"2026-05-29T10:52:40Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.5.0.1/SHA256.txt"}],"tarball_url":"https://api.github.com/repos/erlang/otp/tarball/OTP-28.5.0.1","zipball_url":"https://api.github.com/repos/erlang/otp/zipball/OTP-28.5.0.1","body":"```\nPatch Package:           OTP 28.5.0.1\nGit Tag:                 OTP-28.5.0.1\nDate:                    2026-05-27\nTrouble Report Id:       OTP-20112, OTP-20116, OTP-20119, OTP-20123,\n                         OTP-20126, OTP-20128, OTP-20129, OTP-20130,\n                         OTP-20131, OTP-20134, OTP-20138, OTP-20140,\n                         OTP-20141\nSeq num:                 CVE-2026-42789, CVE-2026-42790, ERIERL-1314,\n                         ERIERL-1315, ERIERL-1321, GH-10968, GH-11030,\n                         GH-11088, OTP-20102, PR-11007, PR-11032,\n                         PR-11062, PR-11067, PR-11079, PR-11089,\n                         PR-11100, PR-11123, PR-11124, PR-11125,\n                         PR-11136\nSystem:                  OTP\nRelease:                 28\nApplication:             compiler-9.0.6.1, erts-16.4.0.1,\n                         inets-9.6.2.1, kernel-10.6.3.1,\n                         public_key-1.20.3.1, snmp-5.20.2.1,\n                         ssl-11.6.0.1, wx-2.5.4.1\nPredecessor:             OTP 28.5\n```\n\nCheck out the git tag OTP-28.5.0.1, and build a full OTP system including documentation. Apply one or more applications from this build as patches to your installation using the 'otp_patch_apply' tool. For information on install requirements, see descriptions for each application version below.\n\n# POTENTIAL INCOMPATIBILITIES\n\n- 'public_key', Adhere to RFC 9525, and remove support for legacy fallback to check hostname against subject common name. Also improve error handling creating two separate errors for name constraint check for subject names and subject alternative names.\n\n  'ssl'. Error handling is slightly changed to better reflect public_key behaviour.\n\n  Own Id: OTP-20130\\\n  Application(s): public_key, ssl\\\n  Related Id(s): [PR-11124], [CVE-2026-42790]\n\n# compiler-9.0.6.1\n\nThe compiler-9.0.6.1 application can be applied independently of other applications on a full OTP 28 installation.\n\n## Fixed Bugs and Malfunctions\n\n- In rare circumstances, optimization of boolean expressions could invert the boolean value.\n\n  Own Id: OTP-20140\\\n  Related Id(s): [GH-11088], [PR-11089]\n\n> #### Full runtime dependencies of compiler-9.0.6.1\n>\n> crypto-5.1, erts-13.0, kernel-8.4, stdlib-6.0\n\n# erts-16.4.0.1\n\nThe erts-16.4.0.1 application can be applied independently of other applications on a full OTP 28 installation.\n\n## Fixed Bugs and Malfunctions\n\n- Fixed `erlang:md5_init` to always return the same deterministic context binary. Only an issue in OTP 28.5 when OTP was built with `--disable-builtin-openssl` or `--enable-use-embedded-3pp-alternatives`.\n\n  Own Id: OTP-20123\n\n- Added explicit configure test for C++ function `std::to_chars` if options `--disable-builtin-ryu` or `--enable-use-embedded-3pp-alternatives` is used.\n\n  Own Id: OTP-20126\\\n  Related Id(s): [PR-11067]\n\n> #### Full runtime dependencies of erts-16.4.0.1\n>\n> kernel-9.0, sasl-3.3, stdlib-4.1\n\n# inets-9.6.2.1\n\nThe inets-9.6.2.1 application can be applied independently of other applications on a full OTP 28 installation.\n\n## Fixed Bugs and Malfunctions\n\n- A call to httpd:reload_config/2 now validates the new configuration before removing the old one, leaving the server running in case of faulty config, instead of putting it in an unrecoverable state.\n\n  Own Id: OTP-20128\\\n  Related Id(s): ERIERL-1314, [PR-11079]\n\n> #### Full runtime dependencies of inets-9.6.2.1\n>\n> erts-14.0, kernel-9.0, mnesia-4.12, public_key-1.13, runtime_tools-1.8.14, ssl-9.0, stdlib-5.0, stdlib-6.0\n\n# kernel-10.6.3.1\n\nThe kernel-10.6.3.1 application can be applied independently of other applications on a full OTP 28 installation.\n\n## Fixed Bugs and Malfunctions\n\n- Incorrect TOS format when using gen_udp with socket backend\n\n  Own Id: OTP-20131\\\n  Related Id(s): [GH-10968], OTP-20102\n\n- SCTP peeloff of an IPv6 socket, the peeled-off socket does not inherit the parent options as expected.\n\n  Own Id: OTP-20134\\\n  Related Id(s): [PR-11007]\n\n> #### Full runtime dependencies of kernel-10.6.3.1\n>\n> crypto-5.0, erts-15.2.5, sasl-3.0, stdlib-7.0\n\n# public_key-1.20.3.1\n\nNote! The public_key-1.20.3.1 application _cannot_ be applied independently of other applications on an arbitrary OTP 28 installation.\n\n```\n   On a full OTP 28 installation, also the following runtime\n   dependency has to be satisfied:\n   -- crypto-5.8 (first satisfied in OTP 28.3)\n```\n\n## Fixed Bugs and Malfunctions\n\n- OCSP responder certificates are now checked for expiration before being accepted as authorized responders. Previously, expired or not-yet-valid responder certificates were incorrectly accepted when verifying OCSP responses.\n\n  Own Id: OTP-20112\\\n  Related Id(s): [PR-11136]\n\n- Corrected basic constraint path validation check in accordance to RFC 5280.\n\n  Own Id: OTP-20129\\\n  Related Id(s): [PR-11123], [CVE-2026-42789]\n\n- 'public_key', Adhere to RFC 9525, and remove support for legacy fallback to check hostname against subject common name. Also improve error handling creating two separate errors for name constraint check for subject names and subject alternative names.\n\n  'ssl'. Error handling is slightly changed to better reflect public_key behaviour.\n\n  Own Id: OTP-20130\\\n  Related Id(s): [PR-11124], [CVE-2026-42790]\n\n  \\*\\*\\* POTENTIAL INCOMPATIBILITY \\*\\*\\*\n\n> #### Full runtime dependencies of public_key-1.20.3.1\n>\n> asn1-5.0, crypto-5.8, erts-13.0, kernel-8.0, stdlib-4.0\n\n# snmp-5.20.2.1\n\nThe snmp-5.20.2.1 application can be applied independently of other applications on a full OTP 28 installation.\n\n## Fixed Bugs and Malfunctions\n\n- Fixed a bug in snmpm_usm:generate_outgoing_msg/5 that caused a badmatch crash when constructing an error response for an unknown user/engineID combination.\n\n  Own Id: OTP-20138\\\n  Related Id(s): ERIERL-1321, [PR-11100]\n\n> #### Full runtime dependencies of snmp-5.20.2.1\n>\n> asn1-5.4, crypto-4.6, erts-12.0, kernel-8.0, mnesia-4.12, runtime_tools-1.8.14, stdlib-5.0\n\n# ssl-11.6.0.1\n\nNote! The ssl-11.6.0.1 application _cannot_ be applied independently of other applications on an arbitrary OTP 28 installation.\n\n```\n   On a full OTP 28 installation, also the following runtime\n   dependencies have to be satisfied:\n   -- crypto-5.8 (first satisfied in OTP 28.3)\n   -- public_key-1.20.3.1 (first satisfied in OTP 28.5.0.1)\n```\n\n## Fixed Bugs and Malfunctions\n\n- Add missing clauses to ssl_handshake:extension_value/1. If an hello extension, missing a handling clause was present in a paused handshake, the handshake would fail.\n\n  Own Id: OTP-20116\\\n  Related Id(s): [GH-11030], [PR-11062]\n\n- 'public_key', Adhere to RFC 9525, and remove support for legacy fallback to check hostname against subject common name. Also improve error handling creating two separate errors for name constraint check for subject names and subject alternative names.\n\n  'ssl'. Error handling is slightly changed to better reflect public_key behaviour.\n\n  Own Id: OTP-20130\\\n  Related Id(s): [PR-11124], [CVE-2026-42790]\n\n  \\*\\*\\* POTENTIAL INCOMPATIBILITY \\*\\*\\*\n\n- Could cause server to terminate a connection without an alert towards a bad client.\n\n  Own Id: OTP-20141\\\n  Related Id(s): [PR-11125]\n\n> #### Full runtime dependencies of ssl-11.6.0.1\n>\n> crypto-5.8, erts-16.0, inets-5.10.7, kernel-10.3, public_key-1.20.3.1, runtime_tools-1.15.1, stdlib-7.0\n\n# wx-2.5.4.1\n\nThe wx-2.5.4.1 application can be applied independently of other applications on a full OTP 28 installation.\n\n## Fixed Bugs and Malfunctions\n\n- The examples for `wx` are now only installed in one place (in `doc/examples`).\n\n  Own Id: OTP-20119\\\n  Related Id(s): ERIERL-1315, [PR-11032]\n\n> #### Full runtime dependencies of wx-2.5.4.1\n>\n> erts-12.0, kernel-8.0, stdlib-5.0\n\n# Thanks to\n\nMartin Hässler, Paul Guyot\n\n[cve-2026-42789]: https://nvd.nist.gov/vuln/detail/CVE-2026-42789\n[cve-2026-42790]: https://nvd.nist.gov/vuln/detail/CVE-2026-42790\n[gh-10968]: https://github.com/erlang/otp/issues/10968\n[gh-11030]: https://github.com/erlang/otp/issues/11030\n[gh-11088]: https://github.com/erlang/otp/issues/11088\n[pr-11007]: https://github.com/erlang/otp/pull/11007\n[pr-11032]: https://github.com/erlang/otp/pull/11032\n[pr-11062]: https://github.com/erlang/otp/pull/11062\n[pr-11067]: https://github.com/erlang/otp/pull/11067\n[pr-11079]: https://github.com/erlang/otp/pull/11079\n[pr-11089]: https://github.com/erlang/otp/pull/11089\n[pr-11100]: https://github.com/erlang/otp/pull/11100\n[pr-11123]: https://github.com/erlang/otp/pull/11123\n[pr-11124]: https://github.com/erlang/otp/pull/11124\n[pr-11125]: https://github.com/erlang/otp/pull/11125\n[pr-11136]: https://github.com/erlang/otp/pull/11136\n","reactions":{"url":"https://api.github.com/repos/erlang/otp/releases/330062930/reactions","total_count":2,"+1":0,"-1":0,"laugh":0,"hooray":2,"confused":0,"heart":0,"rocket":0,"eyes":0}},{"url":"https://api.github.com/repos/erlang/otp/releases/330075184","assets_url":"https://api.github.com/repos/erlang/otp/releases/330075184/assets","upload_url":"https://uploads.github.com/repos/erlang/otp/releases/330075184/assets{?name,label}","html_url":"https://github.com/erlang/otp/releases/tag/OTP-27.3.4.12","id":330075184,"author":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"node_id":"RE_kwDOAAW4j84TrIww","tag_name":"OTP-27.3.4.12","target_commitish":"master","name":"OTP 27.3.4.12","draft":false,"immutable":false,"prerelease":false,"created_at":"2026-05-26T13:31:03Z","updated_at":"2026-05-27T13:28:24Z","published_at":"2026-05-27T09:45:06Z","assets":[{"url":"https://api.github.com/repos/erlang/otp/releases/assets/430982437","id":430982437,"node_id":"RA_kwDOAAW4j84ZsEUl","name":"MD5.txt","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"text/plain","state":"uploaded","size":186,"digest":"sha256:3505b05f46764ee198beecad39aabe17e68b87c59f71eaa560034ee04eb684cd","download_count":16,"created_at":"2026-05-27T09:45:01Z","updated_at":"2026-05-27T09:45:01Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-27.3.4.12/MD5.txt"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/431046174","id":431046174,"node_id":"RA_kwDOAAW4j84ZsT4e","name":"OTP-27.3.4.12.README","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"text","state":"uploaded","size":4703,"digest":"sha256:8c1c705227df361c79aaa829e7a3c262bd65e0943ced819153e3e12736bf538c","download_count":124,"created_at":"2026-05-27T11:27:24Z","updated_at":"2026-05-27T11:27:24Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-27.3.4.12/OTP-27.3.4.12.README"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/431046179","id":431046179,"node_id":"RA_kwDOAAW4j84ZsT4j","name":"OTP-27.3.4.12.README.md","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"text","state":"uploaded","size":5272,"digest":"sha256:f6bb11d252643c3d4daa742c8a6c1f22d71a5274c91a61494d36d75015027fd0","download_count":19,"created_at":"2026-05-27T11:27:25Z","updated_at":"2026-05-27T11:27:25Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-27.3.4.12/OTP-27.3.4.12.README.md"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/430982438","id":430982438,"node_id":"RA_kwDOAAW4j84ZsEUm","name":"otp_doc_html_27.3.4.12.tar.gz","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":26233743,"digest":"sha256:d8005da6d64c839e4512376eba756b623b01af986fa323ebebce02c277025869","download_count":94,"created_at":"2026-05-27T09:45:01Z","updated_at":"2026-05-27T09:45:02Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-27.3.4.12/otp_doc_html_27.3.4.12.tar.gz"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/430982440","id":430982440,"node_id":"RA_kwDOAAW4j84ZsEUo","name":"otp_doc_man_27.3.4.12.tar.gz","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":45267,"digest":"sha256:e789f271a4c5eb28274d22bac4dbee23d3605f447bc91593187284e92421e091","download_count":50,"created_at":"2026-05-27T09:45:01Z","updated_at":"2026-05-27T09:45:01Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-27.3.4.12/otp_doc_man_27.3.4.12.tar.gz"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/430982439","id":430982439,"node_id":"RA_kwDOAAW4j84ZsEUn","name":"otp_src_27.3.4.12.tar.gz","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":101515572,"digest":"sha256:bed9b6f89b3a4b4ae8c0bfb0ef64547680bda18012c918a10e7ed5d81f6ebbf0","download_count":3400,"created_at":"2026-05-27T09:45:01Z","updated_at":"2026-05-27T09:45:05Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-27.3.4.12/otp_src_27.3.4.12.tar.gz"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/431046187","id":431046187,"node_id":"RA_kwDOAAW4j84ZsT4r","name":"otp_win32_27.3.4.12.exe","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/x-msdownload","state":"uploaded","size":122271616,"digest":"sha256:3d92857fbcd05262c95ab2bd529618768ac4036a3a94dbc4ad1d4007a2faac51","download_count":237,"created_at":"2026-05-27T11:27:26Z","updated_at":"2026-05-27T11:27:30Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-27.3.4.12/otp_win32_27.3.4.12.exe"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/431119572","id":431119572,"node_id":"RA_kwDOAAW4j84ZslzU","name":"otp_win32_27.3.4.12.zip","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/zip","state":"uploaded","size":137487977,"digest":"sha256:f73886ccf9587f71908d4907c98a3087948458372868d6b817bfe2dc246bfca5","download_count":33,"created_at":"2026-05-27T13:28:07Z","updated_at":"2026-05-27T13:28:13Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-27.3.4.12/otp_win32_27.3.4.12.zip"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/431046250","id":431046250,"node_id":"RA_kwDOAAW4j84ZsT5q","name":"otp_win64_27.3.4.12.exe","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/x-msdownload","state":"uploaded","size":139860336,"digest":"sha256:31f7cffee6d01099be37ceae63bd99834ee8b92305034f8136d97dc72d21e225","download_count":7905,"created_at":"2026-05-27T11:27:31Z","updated_at":"2026-05-27T11:27:36Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-27.3.4.12/otp_win64_27.3.4.12.exe"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/431119665","id":431119665,"node_id":"RA_kwDOAAW4j84Zsl0x","name":"otp_win64_27.3.4.12.zip","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/zip","state":"uploaded","size":156144611,"digest":"sha256:fa0a086846933d555146a2466a8c8e7810cd5a4ca328139fb986e37ea59d90f7","download_count":276,"created_at":"2026-05-27T13:28:18Z","updated_at":"2026-05-27T13:28:24Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-27.3.4.12/otp_win64_27.3.4.12.zip"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/430982436","id":430982436,"node_id":"RA_kwDOAAW4j84ZsEUk","name":"SHA256.txt","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"text/plain","state":"uploaded","size":282,"digest":"sha256:6d9509f6bd33b634263fe2ecc7161d3a991aca204974075e3d3244c6809c58f2","download_count":247,"created_at":"2026-05-27T09:45:01Z","updated_at":"2026-05-27T09:45:01Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-27.3.4.12/SHA256.txt"}],"tarball_url":"https://api.github.com/repos/erlang/otp/tarball/OTP-27.3.4.12","zipball_url":"https://api.github.com/repos/erlang/otp/zipball/OTP-27.3.4.12","body":null,"reactions":{"url":"https://api.github.com/repos/erlang/otp/releases/330075184/reactions","total_count":1,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":1,"eyes":0}},{"url":"https://api.github.com/repos/erlang/otp/releases/330145173","assets_url":"https://api.github.com/repos/erlang/otp/releases/330145173/assets","upload_url":"https://uploads.github.com/repos/erlang/otp/releases/330145173/assets{?name,label}","html_url":"https://github.com/erlang/otp/releases/tag/OTP-26.2.5.21","id":330145173,"author":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"node_id":"RE_kwDOAAW4j84TrZ2V","tag_name":"OTP-26.2.5.21","target_commitish":"master","name":"OTP 26.2.5.21","draft":false,"immutable":false,"prerelease":false,"created_at":"2026-05-26T13:11:08Z","updated_at":"2026-05-27T15:10:51Z","published_at":"2026-05-27T12:04:07Z","assets":[{"url":"https://api.github.com/repos/erlang/otp/releases/assets/431065796","id":431065796,"node_id":"RA_kwDOAAW4j84ZsYrE","name":"MD5.txt","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"text/plain","state":"uploaded","size":186,"digest":"sha256:2bcd096bced4d8a81fcb1a106d666a02e839b1525e760c702c693eb705f94734","download_count":55,"created_at":"2026-05-27T12:04:01Z","updated_at":"2026-05-27T12:04:02Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-26.2.5.21/MD5.txt"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/431118246","id":431118246,"node_id":"RA_kwDOAAW4j84Zslem","name":"OTP-26.2.5.21.README","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"text","state":"uploaded","size":6349,"digest":"sha256:46fbc4cd1dc1ed1a0d2750d393f73dd032dae43bf6a16f6a4bcdaeeac6527345","download_count":179,"created_at":"2026-05-27T13:26:31Z","updated_at":"2026-05-27T13:26:31Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-26.2.5.21/OTP-26.2.5.21.README"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/431065797","id":431065797,"node_id":"RA_kwDOAAW4j84ZsYrF","name":"otp_doc_html_26.2.5.21.tar.gz","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":37663746,"digest":"sha256:f403cb0218bbcbc479878fc75c7c61e914c0c867b6eec41cfb46f2178b9e43b1","download_count":213,"created_at":"2026-05-27T12:04:02Z","updated_at":"2026-05-27T12:04:04Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-26.2.5.21/otp_doc_html_26.2.5.21.tar.gz"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/431065798","id":431065798,"node_id":"RA_kwDOAAW4j84ZsYrG","name":"otp_doc_man_26.2.5.21.tar.gz","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":1751850,"digest":"sha256:1ee03efa23c420afbafe42e66ca24f86e3e5ac1478774d5bd5e210f700261b61","download_count":307,"created_at":"2026-05-27T12:04:02Z","updated_at":"2026-05-27T12:04:02Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-26.2.5.21/otp_doc_man_26.2.5.21.tar.gz"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/431065799","id":431065799,"node_id":"RA_kwDOAAW4j84ZsYrH","name":"otp_src_26.2.5.21.tar.gz","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":106347158,"digest":"sha256:e1fde86f4e2874d4c136221a34753b5b785d762b910fb3fb35a23a6a7faf0a64","download_count":5573,"created_at":"2026-05-27T12:04:02Z","updated_at":"2026-05-27T12:04:06Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-26.2.5.21/otp_src_26.2.5.21.tar.gz"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/431118254","id":431118254,"node_id":"RA_kwDOAAW4j84Zsleu","name":"otp_win32_26.2.5.21.exe","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/x-msdownload","state":"uploaded","size":135906208,"digest":"sha256:ae58cdd033e78a57489bbb52e1f7b6fc9c47452f6d7475e72c6e78afc2930c88","download_count":458,"created_at":"2026-05-27T13:26:32Z","updated_at":"2026-05-27T13:26:38Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-26.2.5.21/otp_win32_26.2.5.21.exe"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/431191936","id":431191936,"node_id":"RA_kwDOAAW4j84Zs3eA","name":"otp_win32_26.2.5.21.zip","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/zip","state":"uploaded","size":148164455,"digest":"sha256:6eba7c85b89eebd2aeed2a5552d7175ee11d75fd837088e8898b40d2af5d217c","download_count":104,"created_at":"2026-05-27T15:10:46Z","updated_at":"2026-05-27T15:10:51Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-26.2.5.21/otp_win32_26.2.5.21.zip"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/431118336","id":431118336,"node_id":"RA_kwDOAAW4j84ZslgA","name":"otp_win64_26.2.5.21.exe","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/x-msdownload","state":"uploaded","size":153191488,"digest":"sha256:1fd4751bf1d6fb9b642e22b1dd9b3c13ec4a1f42a29f9e9f303b2d446681eb11","download_count":15657,"created_at":"2026-05-27T13:26:38Z","updated_at":"2026-05-27T13:26:46Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-26.2.5.21/otp_win64_26.2.5.21.exe"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/431191502","id":431191502,"node_id":"RA_kwDOAAW4j84Zs3XO","name":"otp_win64_26.2.5.21.zip","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/zip","state":"uploaded","size":166271344,"digest":"sha256:36c660f09918a63a833b5f01adde0c34264785890d3c890b2fe8f99dd95fdbb6","download_count":544,"created_at":"2026-05-27T15:10:02Z","updated_at":"2026-05-27T15:10:08Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-26.2.5.21/otp_win64_26.2.5.21.zip"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/431065795","id":431065795,"node_id":"RA_kwDOAAW4j84ZsYrD","name":"SHA256.txt","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"text/plain","state":"uploaded","size":282,"digest":"sha256:4ef732d8d2b16ee77aca793835f94c4a5089e288c7fab2ddbbc1d8cf08cca9f8","download_count":479,"created_at":"2026-05-27T12:04:01Z","updated_at":"2026-05-27T12:04:02Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-26.2.5.21/SHA256.txt"}],"tarball_url":"https://api.github.com/repos/erlang/otp/tarball/OTP-26.2.5.21","zipball_url":"https://api.github.com/repos/erlang/otp/zipball/OTP-26.2.5.21","body":null,"reactions":{"url":"https://api.github.com/repos/erlang/otp/releases/330145173/reactions","total_count":1,"+1":1,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0}},{"url":"https://api.github.com/repos/erlang/otp/releases/321758689","assets_url":"https://api.github.com/repos/erlang/otp/releases/321758689/assets","upload_url":"https://uploads.github.com/repos/erlang/otp/releases/321758689/assets{?name,label}","html_url":"https://github.com/erlang/otp/releases/tag/OTP-29.0","id":321758689,"author":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"node_id":"RE_kwDOAAW4j84TLaXh","tag_name":"OTP-29.0","target_commitish":"master","name":"OTP 29.0","draft":false,"immutable":false,"prerelease":false,"created_at":"2026-05-11T10:28:08Z","updated_at":"2026-05-13T13:36:06Z","published_at":"2026-05-13T09:29:44Z","assets":[{"url":"https://api.github.com/repos/erlang/otp/releases/assets/419310213","id":419310213,"node_id":"RA_kwDOAAW4j84Y_iqF","name":"bom.spdx.json","label":null,"uploader":{"login":"kikofernandez","id":361993,"node_id":"MDQ6VXNlcjM2MTk5Mw==","avatar_url":"https://avatars.githubusercontent.com/u/361993?v=4","gravatar_id":"","url":"https://api.github.com/users/kikofernandez","html_url":"https://github.com/kikofernandez","followers_url":"https://api.github.com/users/kikofernandez/followers","following_url":"https://api.github.com/users/kikofernandez/following{/other_user}","gists_url":"https://api.github.com/users/kikofernandez/gists{/gist_id}","starred_url":"https://api.github.com/users/kikofernandez/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kikofernandez/subscriptions","organizations_url":"https://api.github.com/users/kikofernandez/orgs","repos_url":"https://api.github.com/users/kikofernandez/repos","events_url":"https://api.github.com/users/kikofernandez/events{/privacy}","received_events_url":"https://api.github.com/users/kikofernandez/received_events","type":"User","user_view_type":"public","site_admin":false},"content_type":"application/json","state":"uploaded","size":5833237,"digest":"sha256:e8d7ad309082ce558e3881de400feda7852d0828547ce6adb1737389c22eda9d","download_count":62,"created_at":"2026-05-13T13:10:50Z","updated_at":"2026-05-13T13:10:53Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-29.0/bom.spdx.json"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/419325787","id":419325787,"node_id":"RA_kwDOAAW4j84Y_mdb","name":"bom.spdx.json.sigstore","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":5656544,"digest":"sha256:fcdab68bbceb7261e4d3c8340c77b7c04a101d4500da20818858a97136fc5898","download_count":60,"created_at":"2026-05-13T13:36:05Z","updated_at":"2026-05-13T13:36:06Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-29.0/bom.spdx.json.sigstore"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/419325389","id":419325389,"node_id":"RA_kwDOAAW4j84Y_mXN","name":"MD5.txt","label":null,"uploader":{"login":"Whaileee","id":76457941,"node_id":"MDQ6VXNlcjc2NDU3OTQx","avatar_url":"https://avatars.githubusercontent.com/u/76457941?v=4","gravatar_id":"","url":"https://api.github.com/users/Whaileee","html_url":"https://github.com/Whaileee","followers_url":"https://api.github.com/users/Whaileee/followers","following_url":"https://api.github.com/users/Whaileee/following{/other_user}","gists_url":"https://api.github.com/users/Whaileee/gists{/gist_id}","starred_url":"https://api.github.com/users/Whaileee/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Whaileee/subscriptions","organizations_url":"https://api.github.com/users/Whaileee/orgs","repos_url":"https://api.github.com/users/Whaileee/repos","events_url":"https://api.github.com/users/Whaileee/events{/privacy}","received_events_url":"https://api.github.com/users/Whaileee/received_events","type":"User","user_view_type":"public","site_admin":false},"content_type":"text/plain","state":"uploaded","size":171,"digest":"sha256:7bfc1fce813470a98408d294a4289ef63a2d35ddc228f60e0f2d64a0cc6b92da","download_count":66,"created_at":"2026-05-13T13:35:30Z","updated_at":"2026-05-13T13:35:31Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-29.0/MD5.txt"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/419161921","id":419161921,"node_id":"RA_kwDOAAW4j84Y--dB","name":"OTP-29.0.README","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"text","state":"uploaded","size":113059,"digest":"sha256:f74d9b8f9b535c4a0571920a68a9d7f3697988df0392f265627bf7524a38de4a","download_count":1002,"created_at":"2026-05-13T09:29:48Z","updated_at":"2026-05-13T09:29:48Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-29.0/OTP-29.0.README"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/419161925","id":419161925,"node_id":"RA_kwDOAAW4j84Y--dF","name":"OTP-29.0.README.md","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"text","state":"uploaded","size":124498,"digest":"sha256:e08c60b37028efc0ab10bbc9b383c3a878e6f49c3fdc27591fc0f52a07de8b3f","download_count":69,"created_at":"2026-05-13T09:29:48Z","updated_at":"2026-05-13T09:29:48Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-29.0/OTP-29.0.README.md"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/419221028","id":419221028,"node_id":"RA_kwDOAAW4j84Y_M4k","name":"otp_doc_html_29.0.tar.gz","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":32388245,"digest":"sha256:62e6cd10106555bff4cc68f70558835b6877758cbc152ce7669c2d60cdd0ed18","download_count":1165,"created_at":"2026-05-13T11:02:17Z","updated_at":"2026-05-13T11:02:18Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-29.0/otp_doc_html_29.0.tar.gz"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/419325786","id":419325786,"node_id":"RA_kwDOAAW4j84Y_mda","name":"otp_doc_html_29.0.tar.gz.sigstore","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":5656544,"digest":"sha256:fcdab68bbceb7261e4d3c8340c77b7c04a101d4500da20818858a97136fc5898","download_count":62,"created_at":"2026-05-13T13:36:05Z","updated_at":"2026-05-13T13:36:06Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-29.0/otp_doc_html_29.0.tar.gz.sigstore"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/419221040","id":419221040,"node_id":"RA_kwDOAAW4j84Y_M4w","name":"otp_doc_man_29.0.tar.gz","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":1932141,"digest":"sha256:8679416bbe2feb3085e555444dcaeb4b81fe597ac26613dad120b1f130034c2e","download_count":1048,"created_at":"2026-05-13T11:02:18Z","updated_at":"2026-05-13T11:02:19Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-29.0/otp_doc_man_29.0.tar.gz"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/419325784","id":419325784,"node_id":"RA_kwDOAAW4j84Y_mdY","name":"otp_doc_man_29.0.tar.gz.sigstore","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":5656544,"digest":"sha256:fcdab68bbceb7261e4d3c8340c77b7c04a101d4500da20818858a97136fc5898","download_count":58,"created_at":"2026-05-13T13:36:05Z","updated_at":"2026-05-13T13:36:06Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-29.0/otp_doc_man_29.0.tar.gz.sigstore"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/419221001","id":419221001,"node_id":"RA_kwDOAAW4j84Y_M4J","name":"otp_src_29.0.tar.gz","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":106595487,"digest":"sha256:149bb67708427ae50fce861d54ff676134e003438012efb41187d28122938564","download_count":8897,"created_at":"2026-05-13T11:02:11Z","updated_at":"2026-05-13T11:02:16Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-29.0/otp_src_29.0.tar.gz"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/419325783","id":419325783,"node_id":"RA_kwDOAAW4j84Y_mdX","name":"otp_src_29.0.tar.gz.sigstore","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":5656544,"digest":"sha256:fcdab68bbceb7261e4d3c8340c77b7c04a101d4500da20818858a97136fc5898","download_count":47,"created_at":"2026-05-13T13:36:05Z","updated_at":"2026-05-13T13:36:06Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-29.0/otp_src_29.0.tar.gz.sigstore"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/419221046","id":419221046,"node_id":"RA_kwDOAAW4j84Y_M42","name":"otp_win64_29.0.exe","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/x-msdownload","state":"uploaded","size":155417912,"digest":"sha256:170a059e01fbca5c209cf3fc96b1ab426f82dceecfe6399ddf26ba3e8d8b387e","download_count":14458,"created_at":"2026-05-13T11:02:19Z","updated_at":"2026-05-13T11:02:24Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-29.0/otp_win64_29.0.exe"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/419252623","id":419252623,"node_id":"RA_kwDOAAW4j84Y_UmP","name":"otp_win64_29.0.zip","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/zip","state":"uploaded","size":184840482,"digest":"sha256:d877b2b57bb837ef7682925ce797e94019abfbf948c2b5c19d1193e57878a8e0","download_count":1101,"created_at":"2026-05-13T11:48:07Z","updated_at":"2026-05-13T11:48:14Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-29.0/otp_win64_29.0.zip"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/419325402","id":419325402,"node_id":"RA_kwDOAAW4j84Y_mXa","name":"SHA256.txt","label":null,"uploader":{"login":"Whaileee","id":76457941,"node_id":"MDQ6VXNlcjc2NDU3OTQx","avatar_url":"https://avatars.githubusercontent.com/u/76457941?v=4","gravatar_id":"","url":"https://api.github.com/users/Whaileee","html_url":"https://github.com/Whaileee","followers_url":"https://api.github.com/users/Whaileee/followers","following_url":"https://api.github.com/users/Whaileee/following{/other_user}","gists_url":"https://api.github.com/users/Whaileee/gists{/gist_id}","starred_url":"https://api.github.com/users/Whaileee/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Whaileee/subscriptions","organizations_url":"https://api.github.com/users/Whaileee/orgs","repos_url":"https://api.github.com/users/Whaileee/repos","events_url":"https://api.github.com/users/Whaileee/events{/privacy}","received_events_url":"https://api.github.com/users/Whaileee/received_events","type":"User","user_view_type":"public","site_admin":false},"content_type":"text/plain","state":"uploaded","size":267,"digest":"sha256:0414d081332552a496384e35eb13a2ba86ebbf5c8567ab59546878105d411aa0","download_count":135,"created_at":"2026-05-13T13:35:31Z","updated_at":"2026-05-13T13:35:32Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-29.0/SHA256.txt"}],"tarball_url":"https://api.github.com/repos/erlang/otp/tarball/OTP-29.0","zipball_url":"https://api.github.com/repos/erlang/otp/zipball/OTP-29.0","body":"```\nInital Release:          OTP 29.0\nGit Tag:                 OTP-29.0\nDate:                    2026-05-13\nTrouble Report Id:       OTP-16607, OTP-19587, OTP-19611, OTP-19643,\n                         OTP-19663, OTP-19672, OTP-19695, OTP-19708,\n                         OTP-19709, OTP-19713, OTP-19734, OTP-19744,\n                         OTP-19747, OTP-19750, OTP-19751, OTP-19763,\n                         OTP-19766, OTP-19783, OTP-19784, OTP-19785,\n                         OTP-19786, OTP-19793, OTP-19800, OTP-19801,\n                         OTP-19807, OTP-19809, OTP-19811, OTP-19815,\n                         OTP-19822, OTP-19826, OTP-19834, OTP-19838,\n                         OTP-19842, OTP-19853, OTP-19858, OTP-19866,\n                         OTP-19874, OTP-19882, OTP-19887, OTP-19898,\n                         OTP-19903, OTP-19906, OTP-19910, OTP-19912,\n                         OTP-19917, OTP-19918, OTP-19919, OTP-19921,\n                         OTP-19922, OTP-19925, OTP-19927, OTP-19932,\n                         OTP-19933, OTP-19934, OTP-19935, OTP-19936,\n                         OTP-19938, OTP-19942, OTP-19943, OTP-19949,\n                         OTP-19956, OTP-19960, OTP-19963, OTP-19964,\n                         OTP-19965, OTP-19966, OTP-19968, OTP-19969,\n                         OTP-19975, OTP-19980, OTP-19982, OTP-19991,\n                         OTP-19995, OTP-19996, OTP-19997, OTP-20001,\n                         OTP-20002, OTP-20003, OTP-20004, OTP-20010,\n                         OTP-20013, OTP-20015, OTP-20016, OTP-20017,\n                         OTP-20019, OTP-20020, OTP-20023, OTP-20025,\n                         OTP-20026, OTP-20028, OTP-20029, OTP-20030,\n                         OTP-20031, OTP-20032, OTP-20034, OTP-20035,\n                         OTP-20036, OTP-20045, OTP-20048, OTP-20054,\n                         OTP-20055, OTP-20059, OTP-20061, OTP-20066,\n                         OTP-20069, OTP-20070, OTP-20071, OTP-20072,\n                         OTP-20073, OTP-20076, OTP-20077, OTP-20078,\n                         OTP-20079, OTP-20080, OTP-20085, OTP-20087,\n                         OTP-20088, OTP-20090, OTP-20092, OTP-20095,\n                         OTP-20099, OTP-20100, OTP-20102, OTP-20103,\n                         OTP-20111, OTP-20114, OTP-20115, OTP-20116,\n                         OTP-20117, OTP-20119, OTP-20123, OTP-20124,\n                         OTP-20125, OTP-20126, OTP-20127, OTP-20128,\n                         OTP-20132, OTP-20133\nSeq num:                 ERIERL-1314, ERIERL-1315, ERIERL-1319,\n                         GH-10071, GH-10125, GH-10151, GH-10214,\n                         GH-10260, GH-10341, GH-10342, GH-10345,\n                         GH-10557, GH-10650, GH-10807, GH-10968,\n                         GH-11030, GH-8569, GH-8841, GH-8993, GH-9822,\n                         OTP-16608, OTP-19652, OTP-19775, OTP-19779,\n                         OTP-19827, OTP-20106, PR-10013, PR-10033,\n                         PR-10078, PR-10114, PR-10115, PR-10126,\n                         PR-10134, PR-10144, PR-10145, PR-10161,\n                         PR-10166, PR-10168, PR-10187, PR-10189,\n                         PR-10193, PR-10195, PR-10197, PR-10202,\n                         PR-10207, PR-10230, PR-10234, PR-10243,\n                         PR-10253, PR-10259, PR-10269, PR-10276,\n                         PR-10277, PR-10281, PR-10304, PR-10338,\n                         PR-10346, PR-10348, PR-10372, PR-10382,\n                         PR-10387, PR-10417, PR-10421, PR-10422,\n                         PR-10426, PR-10433, PR-10449, PR-10453,\n                         PR-10478, PR-10510, PR-10511, PR-10514,\n                         PR-10519, PR-10524, PR-10532, PR-10549,\n                         PR-10554, PR-10556, PR-10564, PR-10568,\n                         PR-10571, PR-10573, PR-10578, PR-10579,\n                         PR-10580, PR-10585, PR-10592, PR-10598,\n                         PR-10601, PR-10614, PR-10615, PR-10617,\n                         PR-10619, PR-10626, PR-10642, PR-10646,\n                         PR-10647, PR-10653, PR-10656, PR-10674,\n                         PR-10710, PR-10718, PR-10730, PR-10735,\n                         PR-10739, PR-10753, PR-10754, PR-10755,\n                         PR-10770, PR-10782, PR-10783, PR-10801,\n                         PR-10804, PR-10805, PR-10808, PR-10814,\n                         PR-10817, PR-10818, PR-10819, PR-10820,\n                         PR-10821, PR-10824, PR-10830, PR-10836,\n                         PR-10838, PR-10839, PR-10870, PR-10892,\n                         PR-10894, PR-10905, PR-10910, PR-10929,\n                         PR-10938, PR-10948, PR-10949, PR-10950,\n                         PR-10951, PR-10958, PR-10962, PR-10965,\n                         PR-10969, PR-10970, PR-10979, PR-10986,\n                         PR-10993, PR-10998, PR-11000, PR-11004,\n                         PR-11010, PR-11012, PR-11019, PR-11025,\n                         PR-11031, PR-11032, PR-11047, PR-11059,\n                         PR-11062, PR-11067, PR-11069, PR-11073,\n                         PR-11078, PR-11079, PR-11080, PR-7118,\n                         PR-7315, PR-9115, PR-9125, PR-9134, PR-9153,\n                         PR-9209, PR-9223, PR-9315, PR-9374, PR-9475,\n                         PR-9712, PR-9814, PR-9864, PR-9866, PR-9894,\n                         PR-9899, PR-9934, PR-9940, PR-9984\nSystem:                  OTP\nRelease:                 29\nApplication:             asn1-5.5, common_test-1.31, compiler-10.0,\n                         crypto-5.9, debugger-7.0, dialyzer-6.0,\n                         diameter-2.7, edoc-1.5, eldap-1.3,\n                         erl_interface-5.8, erts-17.0, et-1.8,\n                         eunit-2.11, ftp-1.2.5, inets-9.7,\n                         jinterface-1.16, kernel-11.0, megaco-4.9,\n                         mnesia-4.26, observer-2.19, odbc-2.17,\n                         os_mon-2.12, parsetools-2.8, public_key-1.21,\n                         reltool-1.1, runtime_tools-2.4, sasl-4.4,\n                         snmp-5.20.3, ssh-6.0, ssl-11.7, stdlib-8.0,\n                         syntax_tools-4.1, tftp-1.3, tools-4.2,\n                         wx-2.6, xmerl-2.2\nPredecessor:             OTP\n```\n\nCheck out the git tag OTP-29.0, and build a full OTP system including documentation.\n\n# HIGHLIGHTS\n\n- The JIT now generates better code for matching or creating binaries with multiple little-endian segments.\n\n  Own Id: OTP-19747\\\n  Application(s): erts\\\n  Related Id(s): [PR-10126]\n\n- In the documentation for the [`compile`] module, a section has been added with recommendations for implementors of languages running on the BEAM. Documentation has also been added for the `to_abstr`, `to_exp`, and `from_abstr` options.\n\n  The documentation for [erlc] now lists `.abstr` as one of the supported options.\n\n  When compiling with the `to_abstr` option, the resulting `.abstr` file now retains any `-doc` attributes present in the source code.\n\n  Own Id: OTP-19784\\\n  Application(s): compiler, erts\\\n  Related Id(s): [PR-10230], [PR-10234]\n\n- Native records as described in [EEP-79] has been implemented.\n\n  A native record is a data structure similar to the traditional tuple-based records, except that is a true data type.\n\n  Native records are considered experimental in Erlang/OTP 29 and possibly also in Erlang/OTP 30, meaning that their behavior may change, potentially requiring updates to applications that use them.\n\n  Own Id: OTP-19785\\\n  Application(s): compiler, debugger, dialyzer, erts, stdlib\\\n  Related Id(s): [PR-10617]\n\n- The guard BIF `is_integer/3` has been added. It follows the design of the original EEP-16, only changing the name from `is_between` to `is_integer`. This BIF takes in 3 parameters, `Term`, `LowerBound`, and `UpperBound`.\n\n  It returns `true` if `Term`, `LowerBound`, and `UpperBound` are all integers, and `LowerBound =< Term =< UpperBound`; otherwise, it returns false.\n\n  Example:\n\n  ```erlang\n  1> I = 42.\n  2> is_integer(I, 0, 100).\n  true\n  ```\n\n  Own Id: OTP-19809\\\n  Application(s): compiler, dialyzer, erts\\\n  Related Id(s): [PR-10276]\n\n- There are new functions for random permutation of a list: `rand:shuffle/1` and `rand:shuffle_s/2`. They are inspired by a suggestion and discussion on ErlangForums.\n\n  Own Id: OTP-19826\\\n  Application(s): stdlib\\\n  Related Id(s): [PR-10281]\n\n- In the default code path for the Erlang system, the current working directory (`.`) is now in the last position instead of the first.\n\n  Own Id: OTP-19842\\\n  Application(s): erts, kernel\n\n  \\*\\*\\* POTENTIAL INCOMPATIBILITY \\*\\*\\*\n\n- Function application is now left associative. That means one can now write:\n\n  ```\n  f(X)(Y)\n  ```\n\n  instead of:\n\n  ```\n  (f(X))(Y)\n  ```\n\n  Own Id: OTP-19866\\\n  Application(s): compiler\\\n  Related Id(s): [PR-9223]\n\n- The old-style type tests in guards (`integer`, `atom`, and so on) have been scheduled for removal in Erlang/OTP 30. They have been deprecated for a long time.\n\n  Own Id: OTP-19887\\\n  Application(s): otp\\\n  Related Id(s): [PR-10417]\n\n- There will now be a warning when exporting variables out of a subexpression. For example:\n\n  ```\n  case file:open(File, AllOpts = [write,{encoding,utf8}]) of\n      {ok,Fd} ->\n          {Fd,AllOpts}\n  end\n  ```\n\n  To avoid the warning, this can be rewritten to:\n\n  ```\n  AllOpts = [write,{encoding,utf8}],\n  case file:open(File, AllOpts) of\n      {ok,Fd} ->\n          {Fd,AllOpts}\n  end\n  ```\n\n  The warning can be suppressed by giving option `nowarn_export_var_subexpr` to the compiler.\n\n  Own Id: OTP-19898\\\n  Application(s): compiler, stdlib\\\n  Related Id(s): [PR-9134]\n\n- There is a new option `warn_obsolete_bool_op` that instruct the compiler to emit warnings for the `and` and `or` operators. It is recommended to instead use the modern `andalso` and `orelse` operators, or `,` and `;` in guards.\n\n  Own Id: OTP-19918\\\n  Application(s): compiler\\\n  Related Id(s): [PR-9115]\n\n- `graph` is a new module that is a functional equivalent of the [`digraph`] and [`digraph_utils`] modules.\n\n  Own Id: OTP-19922\\\n  Application(s): stdlib\\\n  Related Id(s): [PR-10532]\n\n- Before Erlang/OTP 29, attempting to bind variables in a comprehension would compile successfully but fail at runtime. Example:\n\n  ```\n  1> fh(List) -> [H || E <- List, H = erlang:phash2(E), H rem 10 =:= 0].\n  ok\n  2> fh(lists:seq(1, 10)).\n  * exception error: bad filter 2614250\n  ```\n\n  In Erlang/OTP 29, attempting to bind a variable in a comprehension will fail by default:\n\n  ```\n  1> fh(List) -> [H || E <- List, H = erlang:phash2(E), H rem 10 =:= 0].\n  * 5:14: matches using '=' are not allowed in comprehension qualifiers\n  unless the experimental 'compr_assign' language feature is enabled.\n  With 'compr_assign' enabled, a match 'P = E' will behave as a\n  strict generator 'P <-:- [E]'.\"\n  ```\n\n  However, this example will work as expected if the `compr_assign` feature is enabled when starting the runtime system:\n\n  ```\n  $ erl -enable-feature compr_assign\n  . . .\n  1> fh(List) -> [H || E <- List, H = erlang:phash2(E), H rem 10 =:= 0].\n  ok\n  2> fh(lists:seq(1, 10)).\n  [2614250]\n  ```\n\n  Here is another example how `compr_assign` can be used:\n\n  ```\n  -module(example).\n  -feature(compr_assign, enable).\n  -export([cat/1]).\n\n  cat(Files) ->\n      [Char || F <- Files,\n               {ok, Bin} = file:read_file(F),\n               Char <- unicode:characters_to_list(Bin)].\n  ```\n\n  Own Id: OTP-19927\\\n  Application(s): compiler, stdlib\\\n  Related Id(s): [PR-9153]\n\n  \\*\\*\\* POTENTIAL INCOMPATIBILITY \\*\\*\\*\n\n- There will now be a warning when using the `catch` operator, which has been deprecated for a long time.\n\n  It is recommended to instead use `try`...`catch`...`end` but is also possible to disable the warning by using the `nowarn_deprecated_catch` option.\n\n  Own Id: OTP-19938\\\n  Application(s): compiler, stdlib\\\n  Related Id(s): [PR-10421]\n\n- Multi-valued comprehensions according to [EEP 78] has been implemented.\n\n  Example:\n\n  ```erlang\n  > [I, -I || I <- lists:seq(1, 5)].\n  [1,-1,2,-2,3,-3,4,-4,5,-5]\n  ```\n\n  Own Id: OTP-19942\\\n  Application(s): compiler, debugger, stdlib, syntax_tools\\\n  Related Id(s): [PR-9374]\n\n- There will now be a warning for matches that unify constructors, such as the following:\n\n  ```\n  m({a,B} = {Y,Z}) -> . . .\n  ```\n\n  Such a match can be rewritten to:\n\n  ```\n  m({a=Y,B=Y}) -> . . .\n  ```\n\n  The compiler option `nowarn_match_alias_pats` can be used to disable the warning.\n\n  Own Id: OTP-19943\\\n  Application(s): compiler, stdlib\\\n  Related Id(s): [PR-10433]\n\n- There is no longer a 32-bit Erlang/OTP build for Windows.\n\n  Own Id: OTP-19960\\\n  Application(s): otp\n\n- While the iteration order for maps is undefined, it is now guaranteed that all ways of iterating over maps provides the elements in the same order. That is, all of the following ways of iterating will produce the elements in the same order:\n\n  - `maps:keys/1`\n  - `maps:values/1`\n  - `maps:to_list/1`\n  - `maps:to_list(maps:iterator(M))`\n  - Map comprehension: `[{K,V} || K := V <- M]`\n\n  Own Id: OTP-19963\\\n  Application(s): erts, stdlib\\\n  Related Id(s): [PR-10626]\n\n- The default key exchange algorithm is now mlkem768x25519-sha256, a hybrid quantum-resistant algorithm combining ML-KEM-768 with X25519. This provides protection against both classical and quantum computer attacks while maintaining backward compatibility through automatic fallback to other algorithms when peers don't support it.\n\n  Own Id: OTP-19965\\\n  Application(s): ssh\\\n  Related Id(s): [PR-10656]\n\n  \\*\\*\\* POTENTIAL INCOMPATIBILITY \\*\\*\\*\n\n- The compiler now generates more efficient code for map comprehensions with constant values that don't depend on the generator, such as the following:\n\n  ```\n  #{K => 42} || K <- List}.\n  #{K => X || K <- List}.\n  #{K => {X, Y} || K <- List}.\n  ```\n\n  Own Id: OTP-19968\\\n  Application(s): compiler\\\n  Related Id(s): [PR-10646]\n\n- The SSH daemon now defaults to disabled for shell and exec services, implementing the \"secure by default\" principle. This prevents authenticated users from executing arbitrary Erlang code unless explicitly configured.\n\n  Applications requiring shell or exec functionality must now explicitly enable:\n\n  ```erlang\n    %% Enable Erlang shell\n    ssh:daemon(Port, [{shell, {shell, start, []}} | Options])\n\n    %% Enable Erlang term evaluation via exec\n    ssh:daemon(Port, [{exec, erlang_eval} | Options])\n\n    %% Restore complete old behavior\n    ssh:daemon(Port, [{shell, {shell, start, []}},\n                      {exec, erlang_eval}\n                      | Options])\n  ```\n\n  Own Id: OTP-19969\\\n  Application(s): ssh\\\n  Related Id(s): ERIERL-1319, [PR-10970], [PR-11080]\n\n  \\*\\*\\* POTENTIAL INCOMPATIBILITY \\*\\*\\*\n\n- The `odbc` application is now deprecated and is planned to be removed in Erlang/OTP 30.\n\n  The [`ftp`] and [`ct_ftp`] modules are now deprecated and are planned to be removed in Erlang/OTP 30.\n\n  Own Id: OTP-19980\\\n  Application(s): ftp, odbc\\\n  Related Id(s): [PR-10804]\n\n- The `array` module have been extended with several new functions. The internal representation have been changed to allow the new functionality and optimizations. Arrays serialized with `term_to_binary/1` in previous releases are not compatible.\n\n  Own Id: OTP-20004\\\n  Application(s): stdlib\\\n  Related Id(s): [PR-10578]\n\n  \\*\\*\\* POTENTIAL INCOMPATIBILITY \\*\\*\\*\n\n- Added support for socket functions `recvmmsg()` and `sendmmsg()`.\n\n  Own Id: OTP-20015\\\n  Application(s): erts, kernel\\\n  Related Id(s): [PR-10564]\n\n- `m:erl_tar` will use less memory when extracting large tar entries to disk. Instead of reading each tar entry into memory, [`erl_tar`] will now stream data in chunks of 64KB. The chunk size is settable using the new `{chunks,ChunkSize}` option.\n\n  The new `{max_size,Size}` option will set a limit on the total size of extracted data to protect against filling up the disk.\n\n  Checking of symlinks has been improved. Some symlinks that were safe (such as `dir/link -> ../file`) used to be rejected.\n\n  Own Id: OTP-20023\\\n  Application(s): stdlib\\\n  Related Id(s): [PR-10814], [PR-10818], [PR-10821]\n\n- Added a new module called `io_ansi` that allows the user to emit Virtual Terminal Sequences (a.k.a. ANSI sequences) to the terminal in order to add colors/styling to text or create fully-fledged terminal applications.\n\n  `io_ansi` uses the local terminfo database in order to be as cross-platform compatible as possible.\n\n  It also works across nodes so that if functions on a remote node call `io_ansi:fwrite/1` it will use the destination terminal's terminfo database to determine which sequences to emit. In practice, this means that you can call functions in a remote shell session that use `io_ansi` and it will properly detect the terminal sequences the target terminal can handle and will print using them correctly.\n\n  Own Id: OTP-20028\\\n  Application(s): kernel, stdlib\\\n  Related Id(s): [PR-10905], [PR-9940]\n\n- The `ignore_xref` attribute has been handled as a post-analysis filter by build tools such as Rebar3. In this release, [`xref`] itself does the filtering, ensuring that all tooling that calls `xref` for any purpose can rely on these declarations to just work.\n\n  Own Id: OTP-20032\\\n  Application(s): tools\\\n  Related Id(s): [PR-10592]\n\n- New in this release is `ct_doctest`, a module that allows the user to test documentation examples in Erlang module docs and documentation files.\n\n  ct_doctest allows you to:\n\n  - Test code examples using shell syntax and their returns\n  - Test code examples that should fail\n  - Write example modules that are compiled and available in shell examples\n  - Plugin other documentation parsing engines so that examples in, for example, `edoc`, `asciidoc`, and others can also be tested.\n\n  See the documentation for more details.\n\n  Own Id: OTP-20034\\\n  Application(s): common_test\\\n  Related Id(s): [PR-10824], [PR-9315]\n\n- Added support for `-unsafe` attributes, which is used to mark functions as unsafe to use.\n\n  This is similar to but separate from deprecation, and the compiler will by default now generate warnings for calls to functions in Erlang/OTP that are known to be always unsafe.\n\n  Furthermore, [`xref`] can now be used to find calls to functions in another application that lack a `-doc` attribute (`undocumented_function_calls`), calls to functions in another application marked `-doc false.` (`private_function_calls`), as well as calls to unsafe functions (`unsafe_function_calls`).\n\n  Own Id: OTP-20066\\\n  Application(s): asn1, common_test, compiler, crypto, debugger, dialyzer, diameter, edoc, eunit, inets, kernel, megaco, mnesia, observer, odbc, os_mon, otp, parsetools, public_key, reltool, runtime_tools, sasl, ssh, ssl, stdlib, syntax_tools, tftp, tools, wx, xmerl\\\n  Related Id(s): [PR-10839]\n\n- The post-quantum hybrid algorithm x25519mlkem768 is now the most preferred key exchange group in the default configuration.\n\n  Post-quantum hybrid algorithms secp384r1mlkem1024 and secp256r1mlkem768 are supported but have to be configured. The same goes for the plain post-quantum algorithms mlkem1024, mlkem768, and mlkem512.\n\n  The most preferred signature algorithms is now post-quantum algorithms ML-DSA followed by the fastest SLH-DSA (slh_dsa_sha2_256f) algorithm, if such a certificate is available in the configuration. Other SLH-DSA variants are also supported but are added to the end of the preferred list.\n\n  All these algorithms were available in OTP-28.4 but none of them were preferred and some of them changed default status.\n\n  Own Id: OTP-20070\\\n  Application(s): ssl\\\n  Related Id(s): [PR-10949]\n\n  \\*\\*\\* POTENTIAL INCOMPATIBILITY \\*\\*\\*\n\n- The [`json`] module now encodes and decodes quoted strings faster. Improvements of up to 55 percent has been measured when decoding JSON data with long strings.\n\n  The `string:length/1`, `string:slice/2`, and `string:slice/3` functions have been optimized. For some strings, they can be up to twice as fast.\n\n  Own Id: OTP-20072\\\n  Application(s): stdlib\\\n  Related Id(s): [PR-10938], [PR-10948]\n\n- The SFTP subsystem is no longer enabled by default when starting an SSH daemon. To enable it, add the subsystems option explicitly:\n\n  ```erlang\n  ssh:daemon(Port, [{subsystems, [ssh_sftpd:subsystem_spec([])]} | Options])\n  ```\n\n  Own Id: OTP-20078\\\n  Application(s): ssh\\\n  Related Id(s): [PR-10970]\n\n  \\*\\*\\* POTENTIAL INCOMPATIBILITY \\*\\*\\*\n\n- The runtime system now supports generating encrypted crash dumps. See the description of `--enable-encrypted-crash-dumps` in [Building and Installing Erlang/OTP].\n\n  Own Id: OTP-20085\\\n  Application(s): crypto, erts, public_key, tools\\\n  Related Id(s): [PR-10993]\n\n- There is a new Hardening guide giving guidelines on how to strengthen the security for the `ssl` application.\n\n  Own Id: OTP-20087\\\n  Application(s): ssl\\\n  Related Id(s): [PR-11019]\n\n- There is a new Hardening guide with advice for configuring Inets to be more secure.\n\n  Own Id: OTP-20133\\\n  Application(s): inets\\\n  Related Id(s): [PR-11073]\n\n# POTENTIAL INCOMPATIBILITIES\n\n- Fixed (`inet`) module selection when calling (`gen_tcp`) listen and connect and (`gen_udp`) open. Depending on the order of the options, the module option (`tcp_module` or `udp_module`) was sometimes ignored.\n\n  Own Id: OTP-19695\\\n  Application(s): kernel\\\n  Related Id(s): [GH-9822], [PR-10013]\n\n- `ssh:stop_deamon` now uses `supervisor:stop` for shutting down daemons. With this change, the scenario when `ssh:stop_daemon` is called for a non-existing process results in calling process exiting. Previously an error tuple was returned (which was not documented).\n\n  Own Id: OTP-19801\\\n  Application(s): ssh\\\n  Related Id(s): [PR-10253]\n\n- The `mnesia_registry` module has been removed.\n\n  Own Id: OTP-19807\\\n  Application(s): mnesia\\\n  Related Id(s): [PR-7315]\n\n- In the default code path for the Erlang system, the current working directory (`.`) is now in the last position instead of the first.\n\n  Own Id: OTP-19842\\\n  Application(s): erts, kernel\n\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\n\n- Before Erlang/OTP 29, attempting to bind variables in a comprehension would compile successfully but fail at runtime. Example:\n\n  ```\n  1> fh(List) -> [H || E <- List, H = erlang:phash2(E), H rem 10 =:= 0].\n  ok\n  2> fh(lists:seq(1, 10)).\n  * exception error: bad filter 2614250\n  ```\n\n  In Erlang/OTP 29, attempting to bind a variable in a comprehension will fail by default:\n\n  ```\n  1> fh(List) -> [H || E <- List, H = erlang:phash2(E), H rem 10 =:= 0].\n  * 5:14: matches using '=' are not allowed in comprehension qualifiers\n  unless the experimental 'compr_assign' language feature is enabled.\n  With 'compr_assign' enabled, a match 'P = E' will behave as a\n  strict generator 'P <-:- [E]'.\"\n  ```\n\n  However, this example will work as expected if the `compr_assign` feature is enabled when starting the runtime system:\n\n  ```\n  $ erl -enable-feature compr_assign\n  . . .\n  1> fh(List) -> [H || E <- List, H = erlang:phash2(E), H rem 10 =:= 0].\n  ok\n  2> fh(lists:seq(1, 10)).\n  [2614250]\n  ```\n\n  Here is another example how `compr_assign` can be used:\n\n  ```\n  -module(example).\n  -feature(compr_assign, enable).\n  -export([cat/1]).\n\n  cat(Files) ->\n      [Char || F <- Files,\n               {ok, Bin} = file:read_file(F),\n               Char <- unicode:characters_to_list(Bin)].\n  ```\n\n  Own Id: OTP-19927\\\n  Application(s): compiler, stdlib\\\n  Related Id(s): [PR-9153]\n\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\n\n- The default key exchange algorithm is now mlkem768x25519-sha256, a hybrid quantum-resistant algorithm combining ML-KEM-768 with X25519. This provides protection against both classical and quantum computer attacks while maintaining backward compatibility through automatic fallback to other algorithms when peers don't support it.\n\n  Own Id: OTP-19965\\\n  Application(s): ssh\\\n  Related Id(s): [PR-10656]\n\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\n\n- The SSH daemon now defaults to disabled for shell and exec services, implementing the \"secure by default\" principle. This prevents authenticated users from executing arbitrary Erlang code unless explicitly configured.\n\n  Applications requiring shell or exec functionality must now explicitly enable:\n\n  ```erlang\n    %% Enable Erlang shell\n    ssh:daemon(Port, [{shell, {shell, start, []}} | Options])\n\n    %% Enable Erlang term evaluation via exec\n    ssh:daemon(Port, [{exec, erlang_eval} | Options])\n\n    %% Restore complete old behavior\n    ssh:daemon(Port, [{shell, {shell, start, []}},\n                      {exec, erlang_eval}\n                      | Options])\n  ```\n\n  Own Id: OTP-19969\\\n  Application(s): ssh\\\n  Related Id(s): ERIERL-1319, [PR-10970], [PR-11080]\n\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\n\n- Changed `ets:update_counter/4` and `ets:update_element/4` to _always_ reject default tuples smaller than the `keypos` of the table. Such keyless tuples are now rejected even if the key exists in the table and the default tuple would not be used. This is a subtle semantic change but is a nicer behavior for development and testing as it will detect faulty default tuple arguments earlier.\n\n  Own Id: OTP-19975\\\n  Application(s): erts\\\n  Related Id(s): [PR-10674]\n\n- Added explicit size validation guards for pre-authentication SSH messages to improve defense-in-depth against DoS attacks. Messages now have per-field size limits based on RFC specifications:\n\n  - Transport layer messages (DISCONNECT, IGNORE, DEBUG)\n  - Key exchange messages (DH, ECDH, DH-GEX)\n  - Service request messages (SERVICE_REQUEST, SERVICE_ACCEPT, EXT_INFO)\n\n  This change enhances the existing 256KB global packet size limit with granular per-message validation. Compliant implementations are not affected.\n\n  Own Id: OTP-19995\\\n  Application(s): ssh\\\n  Related Id(s): [PR-10739]\n\n- The `array` module have been extended with several new functions. The internal representation have been changed to allow the new functionality and optimizations. Arrays serialized with `term_to_binary/1` in previous releases are not compatible.\n\n  Own Id: OTP-20004\\\n  Application(s): stdlib\\\n  Related Id(s): [PR-10578]\n\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\n\n- The SFTP subsystem `root` option now properly rejects relative paths at daemon startup. Previously, relative paths would cause unpredictable behavior as file operations resolved relative to the Erlang VM's current working directory. The option now requires an absolute path or empty string.\n\n  Own Id: OTP-20019\\\n  Application(s): ssh\\\n  Related Id(s): [PR-10820]\n\n- The `gb_sets:from_ordset/1` and `gb_trees:from_orddict/1` functions would trust their inputs. If the input contained duplicates or was not properly sorted, the resulting gb_set or gb_tree would be invalid, and any number of interesting problems could occur.\n\n  In this release, these functions will raise an exception if their input is not valid. That could mean that incorrect programs that **seemed** to work could now stop working altogether.\n\n  There is also a new `gb_trees:from_list/1` function for directly creating a gb_tree from a list.\n\n  Own Id: OTP-20061\\\n  Application(s): stdlib\\\n  Related Id(s): [PR-10910]\n\n- The post-quantum hybrid algorithm x25519mlkem768 is now the most preferred key exchange group in the default configuration.\n\n  Post-quantum hybrid algorithms secp384r1mlkem1024 and secp256r1mlkem768 are supported but have to be configured. The same goes for the plain post-quantum algorithms mlkem1024, mlkem768, and mlkem512.\n\n  The most preferred signature algorithms is now post-quantum algorithms ML-DSA followed by the fastest SLH-DSA (slh_dsa_sha2_256f) algorithm, if such a certificate is available in the configuration. Other SLH-DSA variants are also supported but are added to the end of the preferred list.\n\n  All these algorithms were available in OTP-28.4 but none of them were preferred and some of them changed default status.\n\n  Own Id: OTP-20070\\\n  Application(s): ssl\\\n  Related Id(s): [PR-10949]\n\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\n\n- The old Tcl-based implementation of `erl_errno_id()` has been replaced by our own implementation now supporting more `errno` values on modern operating systems. It also returns the string `\"errno_<ERRNO_INTEGER>\"` corresponding to the integer given as argument if the `errno` integer is unknown instead of as previously just return the string `\"unknown\"`.\n\n  The result of `erl_errno_id()` is often converted into an atom and passed as an error from a driver or a NIF.\n\n  Own Id: OTP-20076\\\n  Application(s): erts\\\n  Related Id(s): [PR-10958], [PR-10969]\n\n- The SFTP subsystem is no longer enabled by default when starting an SSH daemon. To enable it, add the subsystems option explicitly:\n\n  ```erlang\n  ssh:daemon(Port, [{subsystems, [ssh_sftpd:subsystem_spec([])]} | Options])\n  ```\n\n  Own Id: OTP-20078\\\n  Application(s): ssh\\\n  Related Id(s): [PR-10970]\n\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\n\n- Secure renegotiation for TLS-1.2 specified in RFC 5746 from 2010 is now always used. The interoperability fallback option `{secure_renegotiate,SecureRenegotiate}` is no longer needed.\n\n  Own Id: OTP-20080\\\n  Application(s): ssl\\\n  Related Id(s): [PR-10979]\n\n- The `erlang:suspend_process/1` and `erlang:suspend_process/2` BIFs now also suspend BIF timers that will send messages to the process if the timer was created using the PID of the process as destination. Timers created using registered names are not affected.\n\n  Own Id: OTP-20095\\\n  Application(s): erts\\\n  Related Id(s): [PR-10619], [PR-11004]\n\n- The TOS handling on socket has been significantlyupdated and improved. Socket did not properly handle set, get and recv (cmsg) of TOS.\n\n  Note that the returned TOS value has been changed. It was previously an atom or an integer. Now it is a map with different interpretations of the TOS octet. See the documentation.\n\n  Own Id: OTP-20102\\\n  Application(s): erts, kernel\\\n  Related Id(s): [GH-10968], [PR-11059]\n\n# OTP-29.0\n\n## Fixed Bugs and Malfunctions\n\n- The `start_erl` script will now work on embedded systems.\n\n  Own Id: OTP-20111\\\n  Related Id(s): [GH-10342], [PR-10346]\n\n## Improvements and New Features\n\n- Vendor dependencies and OpenVEX statements in the `otp` repository is now scanned for vulnerabilities. It is verified that OTP security issues reported at Github exist in the published [OpenVEX] statements, and issues are automatically opened in the `otp` repository if vendor vulnerabilities are detected.\n\n  Own Id: OTP-19763\\\n  Related Id(s): [PR-10145], [PR-10166], [PR-10168], [PR-10189], [PR-10193], [PR-10195], [PR-10197], [PR-10202], OTP-19652, OTP-19775, OTP-19779\n\n- Documentation about how to validate the SBOM using sigstore has been added.\n\n  Own Id: OTP-19766\\\n  Related Id(s): [GH-10151], [PR-10187]\n\n- The old-style type tests in guards (`integer`, `atom`, and so on) have been scheduled for removal in Erlang/OTP 30. They have been deprecated for a long time.\n\n  Own Id: OTP-19887\\\n  Related Id(s): [PR-10417]\n\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\n\n- Removed the undocumented `dyn_erl` utility.\n\n  Own Id: OTP-19933\\\n  Related Id(s): [PR-10573]\n\n- There is no longer a 32-bit Erlang/OTP build for Windows.\n\n  Own Id: OTP-19960\\\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\n\n- Added support for `-unsafe` attributes, which is used to mark functions as unsafe to use.\n\n  This is similar to but separate from deprecation, and the compiler will by default now generate warnings for calls to functions in Erlang/OTP that are known to be always unsafe.\n\n  Furthermore, [`xref`] can now be used to find calls to functions in another application that lack a `-doc` attribute (`undocumented_function_calls`), calls to functions in another application marked `-doc false.` (`private_function_calls`), as well as calls to unsafe functions (`unsafe_function_calls`).\n\n  Own Id: OTP-20066\\\n  Related Id(s): [PR-10839]\n\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\n\n- The [Upcoming Potential Incompatibilities] page has been updated to note that in Erlang/OTP 30, `erlang:fun_info(Fun, pid)` will no longer retrieve a pid, but will raise a `badarg` exception.\n\n  Own Id: OTP-20092\\\n  Related Id(s): [PR-10998]\n\n- Add security improvements to GitHub Actions workflows based on findings from `zizmor`, a GitHub Actions security linter.\n\n  Own Id: OTP-20103\\\n  Related Id(s): [PR-11000]\n\n- Improve mermaid diagram rending in documentation.\n\n  Own Id: OTP-20132\\\n  Related Id(s): [PR-11047]\n\n# asn1-5.5\n\n## Improvements and New Features\n\n- Added support for `-unsafe` attributes, which is used to mark functions as unsafe to use.\n\n  This is similar to but separate from deprecation, and the compiler will by default now generate warnings for calls to functions in Erlang/OTP that are known to be always unsafe.\n\n  Furthermore, [`xref`] can now be used to find calls to functions in another application that lack a `-doc` attribute (`undocumented_function_calls`), calls to functions in another application marked `-doc false.` (`private_function_calls`), as well as calls to unsafe functions (`unsafe_function_calls`).\n\n  Own Id: OTP-20066\\\n  Related Id(s): [PR-10839]\n\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\n\n> #### Full runtime dependencies of asn1-5.5\n>\n> erts-14.0, kernel-9.0, stdlib-5.0\n\n# common_test-1.31\n\n## Fixed Bugs and Malfunctions\n\n- Improved support for QuickCheck when writing property tests.\n\n  Own Id: OTP-20010\\\n  Related Id(s): [PR-10783]\n\n## Improvements and New Features\n\n- The legacy `and` and `or` operators have been replaced with other language constructs.\n\n  Own Id: OTP-19744\\\n  Related Id(s): [PR-10114], [PR-10554], [PR-10568], [PR-10579], [PR-10580], [PR-10585], [PR-10598], [PR-10710], [PR-10718], [PR-10730]\n\n- `'EXIT'` messages are now formatted in the same way as `badmatch` errors.\n\n  Own Id: OTP-19910\\\n  Related Id(s): [PR-10277]\n\n- Error notifications now contain the name of the source file in which the error occurred.\n\n  Own Id: OTP-19925\\\n  Related Id(s): [GH-10260], [PR-10269]\n\n- New in this release is `ct_doctest`, a module that allows the user to test documentation examples in Erlang module docs and documentation files.\n\n  ct_doctest allows you to:\n\n  - Test code examples using shell syntax and their returns\n  - Test code examples that should fail\n  - Write example modules that are compiled and available in shell examples\n  - Plugin other documentation parsing engines so that examples in, for example, `edoc`, `asciidoc`, and others can also be tested.\n\n  See the documentation for more details.\n\n  Own Id: OTP-20034\\\n  Related Id(s): [PR-10824], [PR-9315]\n\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\n\n- Added support for `-unsafe` attributes, which is used to mark functions as unsafe to use.\n\n  This is similar to but separate from deprecation, and the compiler will by default now generate warnings for calls to functions in Erlang/OTP that are known to be always unsafe.\n\n  Furthermore, [`xref`] can now be used to find calls to functions in another application that lack a `-doc` attribute (`undocumented_function_calls`), calls to functions in another application marked `-doc false.` (`private_function_calls`), as well as calls to unsafe functions (`unsafe_function_calls`).\n\n  Own Id: OTP-20066\\\n  Related Id(s): [PR-10839]\n\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\n\n> #### Full runtime dependencies of common_test-1.31\n>\n> compiler-10.0, crypto-4.5, debugger-4.1, erts-7.0, ftp-1.0, inets-6.0, kernel-11.0, observer-2.1, runtime_tools-1.8.16, sasl-2.5, snmp-5.1.2, ssh-4.0, stdlib-8.0, syntax_tools-1.7, tools-3.2, xmerl-1.3.8\n\n# compiler-10.0\n\n## Fixed Bugs and Malfunctions\n\n- For a function such as the following:\n\n  ```\n  bar(S0) ->\n      S1 = setelement(8, S0, a),\n      S2 = setelement(7, S1, b),\n      setelement(5, S2, c).\n  ```\n\n  the compiler would keep all of the calls to `setelement/3` and emit extra unnecessary `set_tuple_element` instructions.\n\n  This has been corrected so that the compiler will never emit code that uses the `set_tuple_element` instruction. In a future release, support for the `set_tuple_element` will be removed from the runtime system.\n\n  Own Id: OTP-19751\\\n  Related Id(s): [GH-10125], [PR-10144]\n\n- `beam_lib:strip/1` will now retain the Beam debug information chunk produced by the `beam_debug_info` option. The chunk will also be retained when combing the `beam_debug_info` option with the undocumented `slim` option.\n\n  The runtime system will no longer crash when attempting to load modules that have been compiled with `beam_debug_info` but lack the actual Beam debug info chunk.\n\n  Own Id: OTP-19991\\\n  Related Id(s): [GH-10557], [PR-10735]\n\n## Improvements and New Features\n\n- In comprehensions, a generator that builds a list with a single element will now be optimized to avoid building and matching the list. Example:\n\n  ```\n  [H || E <- List, H <- [erlang:phash2(E)], H rem 10 =:= 0]\n  ```\n\n  Own Id: OTP-19672\\\n  Related Id(s): [PR-9934]\n\n- In the documentation for the [`compile`] module, a section has been added with recommendations for implementors of languages running on the BEAM. Documentation has also been added for the `to_abstr`, `to_exp`, and `from_abstr` options.\n\n  The documentation for [erlc] now lists `.abstr` as one of the supported options.\n\n  When compiling with the `to_abstr` option, the resulting `.abstr` file now retains any `-doc` attributes present in the source code.\n\n  Own Id: OTP-19784\\\n  Related Id(s): [PR-10230], [PR-10234]\n\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\n\n- Native records as described in [EEP-79] has been implemented.\n\n  A native record is a data structure similar to the traditional tuple-based records, except that is a true data type.\n\n  Native records are considered experimental in Erlang/OTP 29 and possibly also in Erlang/OTP 30, meaning that their behavior may change, potentially requiring updates to applications that use them.\n\n  Own Id: OTP-19785\\\n  Related Id(s): [PR-10617]\n\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\n\n- The guard BIF `is_integer/3` has been added. It follows the design of the original EEP-16, only changing the name from `is_between` to `is_integer`. This BIF takes in 3 parameters, `Term`, `LowerBound`, and `UpperBound`.\n\n  It returns `true` if `Term`, `LowerBound`, and `UpperBound` are all integers, and `LowerBound =< Term =< UpperBound`; otherwise, it returns false.\n\n  Example:\n\n  ```erlang\n  1> I = 42.\n  2> is_integer(I, 0, 100).\n  true\n  ```\n\n  Own Id: OTP-19809\\\n  Related Id(s): [PR-10276]\n\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\n\n- Function application is now left associative. That means one can now write:\n\n  ```\n  f(X)(Y)\n  ```\n\n  instead of:\n\n  ```\n  (f(X))(Y)\n  ```\n\n  Own Id: OTP-19866\\\n  Related Id(s): [PR-9223]\n\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\n\n- There will now be a warning when exporting variables out of a subexpression. For example:\n\n  ```\n  case file:open(File, AllOpts = [write,{encoding,utf8}]) of\n      {ok,Fd} ->\n          {Fd,AllOpts}\n  end\n  ```\n\n  To avoid the warning, this can be rewritten to:\n\n  ```\n  AllOpts = [write,{encoding,utf8}],\n  case file:open(File, AllOpts) of\n      {ok,Fd} ->\n          {Fd,AllOpts}\n  end\n  ```\n\n  The warning can be suppressed by giving option `nowarn_export_var_subexpr` to the compiler.\n\n  Own Id: OTP-19898\\\n  Related Id(s): [PR-9134]\n\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\n\n- There is a new option `warn_obsolete_bool_op` that instruct the compiler to emit warnings for the `and` and `or` operators. It is recommended to instead use the modern `andalso` and `orelse` operators, or `,` and `;` in guards.\n\n  Own Id: OTP-19918\\\n  Related Id(s): [PR-9115]\n\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\n\n- Before Erlang/OTP 29, attempting to bind variables in a comprehension would compile successfully but fail at runtime. Example:\n\n  ```\n  1> fh(List) -> [H || E <- List, H = erlang:phash2(E), H rem 10 =:= 0].\n  ok\n  2> fh(lists:seq(1, 10)).\n  * exception error: bad filter 2614250\n  ```\n\n  In Erlang/OTP 29, attempting to bind a variable in a comprehension will fail by default:\n\n  ```\n  1> fh(List) -> [H || E <- List, H = erlang:phash2(E), H rem 10 =:= 0].\n  * 5:14: matches using '=' are not allowed in comprehension qualifiers\n  unless the experimental 'compr_assign' language feature is enabled.\n  With 'compr_assign' enabled, a match 'P = E' will behave as a\n  strict generator 'P <-:- [E]'.\"\n  ```\n\n  However, this example will work as expected if the `compr_assign` feature is enabled when starting the runtime system:\n\n  ```\n  $ erl -enable-feature compr_assign\n  . . .\n  1> fh(List) -> [H || E <- List, H = erlang:phash2(E), H rem 10 =:= 0].\n  ok\n  2> fh(lists:seq(1, 10)).\n  [2614250]\n  ```\n\n  Here is another example how `compr_assign` can be used:\n\n  ```\n  -module(example).\n  -feature(compr_assign, enable).\n  -export([cat/1]).\n\n  cat(Files) ->\n      [Char || F <- Files,\n               {ok, Bin} = file:read_file(F),\n               Char <- unicode:characters_to_list(Bin)].\n  ```\n\n  Own Id: OTP-19927\\\n  Related Id(s): [PR-9153]\n\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\n\n  \\*\\*\\* POTENTIAL INCOMPATIBILITY \\*\\*\\*\n\n- There will now be a warning when using the `catch` operator, which has been deprecated for a long time.\n\n  It is recommended to instead use `try`...`catch`...`end` but is also possible to disable the warning by using the `nowarn_deprecated_catch` option.\n\n  Own Id: OTP-19938\\\n  Related Id(s): [PR-10421]\n\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\n\n- Multi-valued comprehensions according to [EEP 78] has been implemented.\n\n  Example:\n\n  ```erlang\n  > [I, -I || I <- lists:seq(1, 5)].\n  [1,-1,2,-2,3,-3,4,-4,5,-5]\n  ```\n\n  Own Id: OTP-19942\\\n  Related Id(s): [PR-9374]\n\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\n\n- There will now be a warning for matches that unify constructors, such as the following:\n\n  ```\n  m({a,B} = {Y,Z}) -> . . .\n  ```\n\n  Such a match can be rewritten to:\n\n  ```\n  m({a=Y,B=Y}) -> . . .\n  ```\n\n  The compiler option `nowarn_match_alias_pats` can be used to disable the warning.\n\n  Own Id: OTP-19943\\\n  Related Id(s): [PR-10433]\n\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\n\n- The compiler now generates more efficient code for map comprehensions with constant values that don't depend on the generator, such as the following:\n\n  ```\n  #{K => 42} || K <- List}.\n  #{K => X || K <- List}.\n  #{K => {X, Y} || K <- List}.\n  ```\n\n  Own Id: OTP-19968\\\n  Related Id(s): [PR-10646]\n\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\n\n- Compilation times of modules with a huge number of calls to `element/2` has been improved.\n\n  Own Id: OTP-20020\\\n  Related Id(s): [GH-10807], [PR-10819]\n\n- The format of the debug information stored by the `beam_debug_info` option (used by the [edb debugger]) has been updated to more easily extendible and to contain more information about call targets. (See the linked PR for more details.)\n\n  Own Id: OTP-20048\\\n  Related Id(s): [PR-9814]\n\n- Added support for `-unsafe` attributes, which is used to mark functions as unsafe to use.\n\n  This is similar to but separate from deprecation, and the compiler will by default now generate warnings for calls to functions in Erlang/OTP that are known to be always unsafe.\n\n  Furthermore, [`xref`] can now be used to find calls to functions in another application that lack a `-doc` attribute (`undocumented_function_calls`), calls to functions in another application marked `-doc false.` (`private_function_calls`), as well as calls to unsafe functions (`unsafe_function_calls`).\n\n  Own Id: OTP-20066\\\n  Related Id(s): [PR-10839]\n\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\n\n> #### Full runtime dependencies of compiler-10.0\n>\n> crypto-5.1, erts-13.0, kernel-8.4, stdlib-8.0\n\n# crypto-5.9\n\n## Fixed Bugs and Malfunctions\n\n- Fixed `crypto:hash_equals/2` and FIPS when crypto is statically linked to the beam (with `--enable-static-nifs` and `--disable-dynamic-ssl-lib`).\n\n  Own Id: OTP-20025\\\n  Related Id(s): [PR-10817]\n\n## Improvements and New Features\n\n- The `rand:bytes/1` and `rand:bytes_s/2` functions have been optimized by implementing a new internal callback function that `crypto:rand_seed_alg/1` and `crypto:alg_seed_alg_s/1` have been updated to use.\n\n  A new algorithm `crypto_prng1`, which also takes advantage of this new internal callback, has been added to `crypto:rand_seed_alg/2` and `crypto:rand_seed_alg_s/2`. It is much faster then the existing `crypto_aes`, in particular for generating bytes.\n\n  Own Id: OTP-19882\\\n  Related Id(s): [PR-10453], OTP-19827\n\n- In interactive mode, application `crypto` is automatically loaded when the [`crypto`] module is loaded. This will ensure that the correct value of configuration parameter `fips_mode` is used to initialize OpenSSL if module `crypto` is called/loaded before the application `crypto` has been loaded. In embedded mode, module `crypto` will fail to load if the application has not been loaded.\n\n  Own Id: OTP-20035\\\n  Related Id(s): [PR-10830]\n\n- OpenSSL engine support has been removed on Windows.\n\n  Own Id: OTP-20036\\\n  Related Id(s): [PR-10836]\n\n- Added support for `-unsafe` attributes, which is used to mark functions as unsafe to use.\n\n  This is similar to but separate from deprecation, and the compiler will by default now generate warnings for calls to functions in Erlang/OTP that are known to be always unsafe.\n\n  Furthermore, [`xref`] can now be used to find calls to functions in another application that lack a `-doc` attribute (`undocumented_function_calls`), calls to functions in another application marked `-doc false.` (`private_function_calls`), as well as calls to unsafe functions (`unsafe_function_calls`).\n\n  Own Id: OTP-20066\\\n  Related Id(s): [PR-10839]\n\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\n\n- The runtime system now supports generating encrypted crash dumps. See the description of `--enable-encrypted-crash-dumps` in [Building and Installing Erlang/OTP].\n\n  Own Id: OTP-20085\\\n  Related Id(s): [PR-10993]\n\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\n\n> #### Full runtime dependencies of crypto-5.9\n>\n> erts-9.0, kernel-6.0, stdlib-3.9\n\n# debugger-7.0\n\n## Improvements and New Features\n\n- Native records as described in [EEP-79] has been implemented.\n\n  A native record is a data structure similar to the traditional tuple-based records, except that is a true data type.\n\n  Native records are considered experimental in Erlang/OTP 29 and possibly also in Erlang/OTP 30, meaning that their behavior may change, potentially requiring updates to applications that use them.\n\n  Own Id: OTP-19785\\\n  Related Id(s): [PR-10617]\n\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\n\n- Tools such as the debugger, [`beam_lib`], and [`xref`] no longer support BEAM files created before OTP 13B.\n\n  Own Id: OTP-19906\\\n  Related Id(s): [PR-10519]\n\n- Multi-valued comprehensions according to [EEP 78] has been implemented.\n\n  Example:\n\n  ```erlang\n  > [I, -I || I <- lists:seq(1, 5)].\n  [1,-1,2,-2,3,-3,4,-4,5,-5]\n  ```\n\n  Own Id: OTP-19942\\\n  Related Id(s): [PR-9374]\n\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\n\n- Added support for `-unsafe` attributes, which is used to mark functions as unsafe to use.\n\n  This is similar to but separate from deprecation, and the compiler will by default now generate warnings for calls to functions in Erlang/OTP that are known to be always unsafe.\n\n  Furthermore, [`xref`] can now be used to find calls to functions in another application that lack a `-doc` attribute (`undocumented_function_calls`), calls to functions in another application marked `-doc false.` (`private_function_calls`), as well as calls to unsafe functions (`unsafe_function_calls`).\n\n  Own Id: OTP-20066\\\n  Related Id(s): [PR-10839]\n\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\n\n> #### Full runtime dependencies of debugger-7.0\n>\n> compiler-8.0, erts-15.0, kernel-10.0, stdlib-7.0, wx-2.0\n\n# dialyzer-6.0\n\n## Improvements and New Features\n\n- Native records as described in [EEP-79] has been implemented.\n\n  A native record is a data structure similar to the traditional tuple-based records, except that is a true data type.\n\n  Native records are considered experimental in Erlang/OTP 29 and possibly also in Erlang/OTP 30, meaning that their behavior may change, potentially requiring updates to applications that use them.\n\n  Own Id: OTP-19785\\\n  Related Id(s): [PR-10617]\n\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\n\n- The guard BIF `is_integer/3` has been added. It follows the design of the original EEP-16, only changing the name from `is_between` to `is_integer`. This BIF takes in 3 parameters, `Term`, `LowerBound`, and `UpperBound`.\n\n  It returns `true` if `Term`, `LowerBound`, and `UpperBound` are all integers, and `LowerBound =< Term =< UpperBound`; otherwise, it returns false.\n\n  Example:\n\n  ```erlang\n  1> I = 42.\n  2> is_integer(I, 0, 100).\n  true\n  ```\n\n  Own Id: OTP-19809\\\n  Related Id(s): [PR-10276]\n\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\n\n- Added support for `-unsafe` attributes, which is used to mark functions as unsafe to use.\n\n  This is similar to but separate from deprecation, and the compiler will by default now generate warnings for calls to functions in Erlang/OTP that are known to be always unsafe.\n\n  Furthermore, [`xref`] can now be used to find calls to functions in another application that lack a `-doc` attribute (`undocumented_function_calls`), calls to functions in another application marked `-doc false.` (`private_function_calls`), as well as calls to unsafe functions (`unsafe_function_calls`).\n\n  Own Id: OTP-20066\\\n  Related Id(s): [PR-10839]\n\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\n\n> #### Full runtime dependencies of dialyzer-6.0\n>\n> compiler-10.0, erts-12.0, kernel-8.0, stdlib-5.0, syntax_tools-2.0\n\n# diameter-2.7\n\n## Improvements and New Features\n\n- The legacy `and` and `or` operators have been replaced with other language constructs.\n\n  Own Id: OTP-19744\\\n  Related Id(s): [PR-10114], [PR-10554], [PR-10568], [PR-10579], [PR-10580], [PR-10585], [PR-10598], [PR-10710], [PR-10718], [PR-10730]\n\n- Added support for `-unsafe` attributes, which is used to mark functions as unsafe to use.\n\n  This is similar to but separate from deprecation, and the compiler will by default now generate warnings for calls to functions in Erlang/OTP that are known to be always unsafe.\n\n  Furthermore, [`xref`] can now be used to find calls to functions in another application that lack a `-doc` attribute (`undocumented_function_calls`), calls to functions in another application marked `-doc false.` (`private_function_calls`), as well as calls to unsafe functions (`unsafe_function_calls`).\n\n  Own Id: OTP-20066\\\n  Related Id(s): [PR-10839]\n\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\n\n> #### Full runtime dependencies of diameter-2.7\n>\n> erts-10.0, kernel-3.2, ssl-9.0, stdlib-5.0\n\n# edoc-1.5\n\n## Improvements and New Features\n\n- Changed behavior of EDoc so that when a module defines a private type and a private function spec uses it, that type no longer gets included in the EDoc chunk.\n\n  Own Id: OTP-20030\\\n  Related Id(s): [PR-10770]\n\n- Added support for `-unsafe` attributes, which is used to mark functions as unsafe to use.\n\n  This is similar to but separate from deprecation, and the compiler will by default now generate warnings for calls to functions in Erlang/OTP that are known to be always unsafe.\n\n  Furthermore, [`xref`] can now be used to find calls to functions in another application that lack a `-doc` attribute (`undocumented_function_calls`), calls to functions in another application marked `-doc false.` (`private_function_calls`), as well as calls to unsafe functions (`unsafe_function_calls`).\n\n  Own Id: OTP-20066\\\n  Related Id(s): [PR-10839]\n\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\n\n> #### Full runtime dependencies of edoc-1.5\n>\n> erts-11.0, inets-5.10, kernel-7.0, stdlib-4.0, syntax_tools-2.0, xmerl-1.3.7\n\n# eldap-1.3\n\n## Improvements and New Features\n\n- Only minor internal changes.\n\n  Own Id: OTP-19964\n\n> #### Full runtime dependencies of eldap-1.3\n>\n> asn1-3.0, erts-6.0, kernel-3.0, ssl-5.3.4, stdlib-3.4\n\n# erl_interface-5.8\n\n## Improvements and New Features\n\n- Improved name consistency of EPMD protocol messages in documentation and code. Renamed `PORT_PLEASE2_REQ` to `PORT2_REQ` and added prefix `EPMD_`.\n\n  Own Id: OTP-19734\\\n  Related Id(s): [GH-10071], [PR-10078]\n\n- Replaced embedded OpenSSL MD5 implementation.\n\n  Own Id: OTP-20045\\\n  Related Id(s): [PR-10870]\n\n## Known Bugs and Problems\n\n- The `ei` API for decoding/encoding terms is not fully 64-bit compatible since terms that have a representation on the external term format larger than 2 GB cannot be handled.\n\n  Own Id: OTP-16607\\\n  Related Id(s): OTP-16608\n\n# erts-17.0\n\n## Fixed Bugs and Malfunctions\n\n- For a function such as the following:\n\n  ```\n  bar(S0) ->\n      S1 = setelement(8, S0, a),\n      S2 = setelement(7, S1, b),\n      setelement(5, S2, c).\n  ```\n\n  the compiler would keep all of the calls to `setelement/3` and emit extra unnecessary `set_tuple_element` instructions.\n\n  This has been corrected so that the compiler will never emit code that uses the `set_tuple_element` instruction. In a future release, support for the `set_tuple_element` will be removed from the runtime system.\n\n  Own Id: OTP-19751\\\n  Related Id(s): [GH-10125], [PR-10144]\n\n- Improved the handling of the logging directory for the start script on Unix-like systems, so that it no longer crashes when `$ROOTDIR/log` is not writable.\n\n  Own Id: OTP-19874\\\n  Related Id(s): [GH-10341], [PR-10348]\n\n- The `-nocookie` option for `erl` is now documented.\n\n  Own Id: OTP-19935\\\n  Related Id(s): [PR-10549]\n\n- `beam_lib:strip/1` will now retain the Beam debug information chunk produced by the `beam_debug_info` option. The chunk will also be retained when combing the `beam_debug_info` option with the undocumented `slim` option.\n\n  The runtime system will no longer crash when attempting to load modules that have been compiled with `beam_debug_info` but lack the actual Beam debug info chunk.\n\n  Own Id: OTP-19991\\\n  Related Id(s): [GH-10557], [PR-10735]\n\n- Fixed potential symbol clashing on MacOS by passing `RTLD_LOCAL` to `dlopen`. This will make symbols to not be resolvable between subsequently loaded NIF/drivers, which is the default behavior on Linux and BSD.\n\n  Own Id: OTP-20026\\\n  Related Id(s): [PR-10805]\n\n- The `configure` script used to call `isfinite()` with argument `0`. That could fail on some platforms. This has been changed to call `isfinite()` with `1.0` instead.\n\n  Own Id: OTP-20088\\\n  Related Id(s): [PR-10965]\n\n- The TOS handling on socket has been significantlyupdated and improved. Socket did not properly handle set, get and recv (cmsg) of TOS.\n\n  Note that the returned TOS value has been changed. It was previously an atom or an integer. Now it is a map with different interpretations of the TOS octet. See the documentation.\n\n  Own Id: OTP-20102\\\n  Related Id(s): [GH-10968], [PR-11059]\n\n  \\*\\*\\* POTENTIAL INCOMPATIBILITY \\*\\*\\*\n\n- Fixed `erlang:md5_init` to always return the same deterministic context binary. Only an issue in OTP 28.5 when OTP was built with `--disable-builtin-openssl` or `--enable-use-embedded-3pp-alternatives`.\n\n  Own Id: OTP-20123\n\n- Added explicit configure test for C++ function `std::to_chars` if options `--disable-builtin-ryu` or `--enable-use-embedded-3pp-alternatives` is used.\n\n  Own Id: OTP-20126\\\n  Related Id(s): [PR-11067]\n\n## Improvements and New Features\n\n- The exported name space of the `beam` executable has been cleaned to only expose symbols of documented interfaces like NIF and driver APIs. This will avoid accidental name clashes with, for example, our statically linked variants of PCRE2 and ZSTD. NIFs and drivers that abuse undocumented internal interfaces will fail to load due to this change.\n\n  Own Id: OTP-19643\\\n  Related Id(s): [PR-9864]\n\n- Improved name consistency of EPMD protocol messages in documentation and code. Renamed `PORT_PLEASE2_REQ` to `PORT2_REQ` and added prefix `EPMD_`.\n\n  Own Id: OTP-19734\\\n  Related Id(s): [GH-10071], [PR-10078]\n\n- The JIT now generates better code for matching or creating binaries with multiple little-endian segments.\n\n  Own Id: OTP-19747\\\n  Related Id(s): [PR-10126]\n\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\n\n- In the documentation for the [`compile`] module, a section has been added with recommendations for implementors of languages running on the BEAM. Documentation has also been added for the `to_abstr`, `to_exp`, and `from_abstr` options.\n\n  The documentation for [erlc] now lists `.abstr` as one of the supported options.\n\n  When compiling with the `to_abstr` option, the resulting `.abstr` file now retains any `-doc` attributes present in the source code.\n\n  Own Id: OTP-19784\\\n  Related Id(s): [PR-10230], [PR-10234]\n\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\n\n- Native records as described in [EEP-79] has been implemented.\n\n  A native record is a data structure similar to the traditional tuple-based records, except that is a true data type.\n\n  Native records are considered experimental in Erlang/OTP 29 and possibly also in Erlang/OTP 30, meaning that their behavior may change, potentially requiring updates to applications that use them.\n\n  Own Id: OTP-19785\\\n  Related Id(s): [PR-10617]\n\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\n\n- Task stealing between schedulers has been further optimized.\n\n  Own Id: OTP-19793\\\n  Related Id(s): [PR-9984]\n\n- The guard BIF `is_integer/3` has been added. It follows the design of the original EEP-16, only changing the name from `is_between` to `is_integer`. This BIF takes in 3 parameters, `Term`, `LowerBound`, and `UpperBound`.\n\n  It returns `true` if `Term`, `LowerBound`, and `UpperBound` are all integers, and `LowerBound =< Term =< UpperBound`; otherwise, it returns false.\n\n  Example:\n\n  ```erlang\n  1> I = 42.\n  2> is_integer(I, 0, 100).\n  true\n  ```\n\n  Own Id: OTP-19809\\\n  Related Id(s): [PR-10276]\n\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\n\n- Calls to `trace:info(_, {M,F,A}, Item)`, with `Item` as `call_time`, `call_memory`, or `all`, will no longer block all scheduler threads from running.\n\n  Own Id: OTP-19811\\\n  Related Id(s): [PR-10207]\n\n- Full support for SCTP in [`socket`]. Not (yet) supported for FreeBSD.\n\n  Own Id: OTP-19834\n\n- In the default code path for the Erlang system, the current working directory (`.`) is now in the last position instead of the first.\n\n  Own Id: OTP-19842\\\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\n\n  \\*\\*\\* POTENTIAL INCOMPATIBILITY \\*\\*\\*\n\n- Tools such as the debugger, [`beam_lib`], and [`xref`] no longer support BEAM files created before OTP 13B.\n\n  Own Id: OTP-19906\\\n  Related Id(s): [PR-10519]\n\n- Optimized ETS named table lookup scalability by replacing read locks with lockless atomic operations.\n\n  Own Id: OTP-19919\\\n  Related Id(s): [PR-7118]\n\n- Removed the undocumented `dyn_erl` utility.\n\n  Own Id: OTP-19933\\\n  Related Id(s): [PR-10573]\n\n- Added `zstd:flush/2` for flushing compressed data without closing the compression context.\n\n  Own Id: OTP-19936\\\n  Related Id(s): [GH-10345], [PR-10511]\n\n- While the iteration order for maps is undefined, it is now guaranteed that all ways of iterating over maps provides the elements in the same order. That is, all of the following ways of iterating will produce the elements in the same order:\n\n  - `maps:keys/1`\n  - `maps:values/1`\n  - `maps:to_list/1`\n  - `maps:to_list(maps:iterator(M))`\n  - Map comprehension: `[{K,V} || K := V <- M]`\n\n  Own Id: OTP-19963\\\n  Related Id(s): [PR-10626]\n\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\n\n- Improved the performance of code loading.\n\n  Own Id: OTP-19966\\\n  Related Id(s): [PR-10615]\n\n- Changed `ets:update_counter/4` and `ets:update_element/4` to _always_ reject default tuples smaller than the `keypos` of the table. Such keyless tuples are now rejected even if the key exists in the table and the default tuple would not be used. This is a subtle semantic change but is a nicer behavior for development and testing as it will detect faulty default tuple arguments earlier.\n\n  Own Id: OTP-19975\\\n  Related Id(s): [PR-10674]\n\n  \\*\\*\\* POTENTIAL INCOMPATIBILITY \\*\\*\\*\n\n- Improved compatibility with systems that lack certain shell utilities.\n\n  Own Id: OTP-20002\\\n  Related Id(s): [PR-10647]\n\n- It was previously not possible to check on the socket nif load result. A successful load was self-evident, but a failure was only visible from the fact that most [`socket`] functions failed with `notsup`. This has now been improved such that the (socket nif) load result is visible in the info map (from `socket:info/0`).\n\n  Own Id: OTP-20003\n\n- The default for the `configure` option [`--{enable,disable}-use-embedded-3pp-alternatives` ][`--{enable,disable}-use-embedded-3pp-alternatives`] has changed and the subset of embedded third-party products (_3pps_) affected by it has also changed. Currently this option affects `zstd`, `zlib`, `ryu` (with `STL`). By default `zstd` and `zlib` available on the OS will be used if they fulfill the requirements. The builtin `ryu` (with `STL`) will be used by default. The 3pps `openssl` and `tcl` that previously were present have been replaced by our own implementations.\n\n  Requirements for the affected 3pps alternatives are still the same as before:\n\n  - `zstd` - Static library and include files of at least version 1.5.6 needs to be available.\n  - `zlib` - Library and include files of at least version 1.2.5 needs to be available.\n  - `ryu` (with `STL`) - A usable C++ compiler with C++17 library support.\n\n  Own Id: OTP-20013\\\n  Related Id(s): [PR-10894], [PR-10986], OTP-20106\n\n- Added support for socket functions `recvmmsg()` and `sendmmsg()`.\n\n  Own Id: OTP-20015\\\n  Related Id(s): [PR-10564]\n\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\n\n- There is a new NIF function `enif_term_size()`.\n\n  Own Id: OTP-20016\\\n  Related Id(s): [PR-10782]\n\n- Call trace match specs can use `[Arg1, Arg2 | '_']` syntax to match functions with at least N number of arguments.\n\n  Own Id: OTP-20017\\\n  Related Id(s): [PR-10754]\n\n- Replaced embedded OpenSSL MD5 implementation.\n\n  Own Id: OTP-20045\\\n  Related Id(s): [PR-10870]\n\n- The format of the debug information stored by the `beam_debug_info` option (used by the [edb debugger]) has been updated to more easily extendible and to contain more information about call targets. (See the linked PR for more details.)\n\n  Own Id: OTP-20048\\\n  Related Id(s): [PR-9814]\n\n- There are new functions `erlang:exit_signal/2,3` replacing the old `erlang:exit/2,3`. The primary purpose is better naming to distinguish between exit _exceptions_ and exit _signals_. The new `exit_signal` functions will also avoid a historical quirk when a process sends an exit signal to itself with reason `normal`.\n\n  The old `erlang:exit/2,3` will work as before, but it is recommended to use the new `exit:signal/2,3` functions for new or modified code. Deprecation of `erlang:exit/2,3` with a compiler warning is planned for OTP 30.\n\n  Own Id: OTP-20069\\\n  Related Id(s): [PR-10801]\n\n- The old Tcl-based implementation of `erl_errno_id()` has been replaced by our own implementation now supporting more `errno` values on modern operating systems. It also returns the string `\"errno_<ERRNO_INTEGER>\"` corresponding to the integer given as argument if the `errno` integer is unknown instead of as previously just return the string `\"unknown\"`.\n\n  The result of `erl_errno_id()` is often converted into an atom and passed as an error from a driver or a NIF.\n\n  Own Id: OTP-20076\\\n  Related Id(s): [PR-10958], [PR-10969]\n\n  \\*\\*\\* POTENTIAL INCOMPATIBILITY \\*\\*\\*\n\n- The runtime system now supports generating encrypted crash dumps. See the description of `--enable-encrypted-crash-dumps` in [Building and Installing Erlang/OTP].\n\n  Own Id: OTP-20085\\\n  Related Id(s): [PR-10993]\n\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\n\n- When implementing an [alternate distribution] implementors can now use an alternate [*handshake complete* fun of arity 4] if needed.\n\n  Own Id: OTP-20090\\\n  Related Id(s): [PR-10478]\n\n- The `erlang:suspend_process/1` and `erlang:suspend_process/2` BIFs now also suspend BIF timers that will send messages to the process if the timer was created using the PID of the process as destination. Timers created using registered names are not affected.\n\n  Own Id: OTP-20095\\\n  Related Id(s): [PR-10619], [PR-11004]\n\n  \\*\\*\\* POTENTIAL INCOMPATIBILITY \\*\\*\\*\n\n- Added support for socket option SO_TIMESTAMPNS (not available on all platforms).\n\n  Own Id: OTP-20115\\\n  Related Id(s): [PR-10929]\n\n> #### Full runtime dependencies of erts-17.0\n>\n> kernel-9.0, sasl-3.3, stdlib-4.1\n\n# et-1.8\n\n## Improvements and New Features\n\n- Only minor internal changes.\n\n  Own Id: OTP-19964\n\n> #### Full runtime dependencies of et-1.8\n>\n> erts-9.0, kernel-5.3, runtime_tools-1.10, stdlib-3.4, wx-1.2\n\n# eunit-2.11\n\n## Improvements and New Features\n\n- Added `randomDelay` macro.\n\n  Own Id: OTP-19997\\\n  Related Id(s): [PR-10614]\n\n- Added support for `-unsafe` attributes, which is used to mark functions as unsafe to use.\n\n  This is similar to but separate from deprecation, and the compiler will by default now generate warnings for calls to functions in Erlang/OTP that are known to be always unsafe.\n\n  Furthermore, [`xref`] can now be used to find calls to functions in another application that lack a `-doc` attribute (`undocumented_function_calls`), calls to functions in another application marked `-doc false.` (`private_function_calls`), as well as calls to unsafe functions (`unsafe_function_calls`).\n\n  Own Id: OTP-20066\\\n  Related Id(s): [PR-10839]\n\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\n\n> #### Full runtime dependencies of eunit-2.11\n>\n> erts-9.0, kernel-11.0, stdlib-6.0\n\n# ftp-1.2.5\n\n## Fixed Bugs and Malfunctions\n\n- The `odbc` application is now deprecated and is planned to be removed in Erlang/OTP 30.\n\n  The [`ftp`] and [`ct_ftp`] modules are now deprecated and are planned to be removed in Erlang/OTP 30.\n\n  Own Id: OTP-19980\\\n  Related Id(s): [PR-10804]\n\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\n\n> #### Full runtime dependencies of ftp-1.2.5\n>\n> erts-7.0, kernel-6.0, runtime_tools-1.15.1, ssl-10.2, stdlib-3.5\n\n# inets-9.7\n\n## Fixed Bugs and Malfunctions\n\n- A call to httpd:reload_config/2 now validates the new configuration before removing the old one, leaving the server running in case of faulty config, instead of putting it in an unrecoverable state.\n\n  Own Id: OTP-20128\\\n  Related Id(s): ERIERL-1314, [PR-11079]\n\n## Improvements and New Features\n\n- A new option `max_connections_open` has been added to the [`httpc`] HTTP client profile configuration. It limits the maximum number of concurrent HTTP handler processes that can be open simultaneously.\n\n  When the limit is reached, new requests are queued internally and started automatically as existing handlers complete. This prevents bandwidth exhaustion in high-load scenarios where too many parallel connections cause remote servers to close sockets before transfers finish (the socket_closed_remotely error).\n\n  The option can be set via `httpc:set_options([{max_connections_open, 10}], Profile).`\n\n  The default value is `infinity` (unlimited), preserving backward compatibility. The value must be a positive integer or `infinity` and must be greater than or equal to `max_sessions`.\n\n  Own Id: OTP-19587\\\n  Related Id(s): [GH-8841], [PR-9712]\n\n- The legacy `and` and `or` operators have been replaced with other language constructs.\n\n  Own Id: OTP-19744\\\n  Related Id(s): [PR-10114], [PR-10554], [PR-10568], [PR-10579], [PR-10580], [PR-10585], [PR-10598], [PR-10710], [PR-10718], [PR-10730]\n\n- Added support for `-unsafe` attributes, which is used to mark functions as unsafe to use.\n\n  This is similar to but separate from deprecation, and the compiler will by default now generate warnings for calls to functions in Erlang/OTP that are known to be always unsafe.\n\n  Furthermore, [`xref`] can now be used to find calls to functions in another application that lack a `-doc` attribute (`undocumented_function_calls`), calls to functions in another application marked `-doc false.` (`private_function_calls`), as well as calls to unsafe functions (`unsafe_function_calls`).\n\n  Own Id: OTP-20066\\\n  Related Id(s): [PR-10839]\n\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\n\n- The `mod_cgi` and `mod_actions` modules are now deprecated and are scheduled to be removed in OTP 30.\n\n  Own Id: OTP-20071\\\n  Related Id(s): [PR-10950]\n\n- There is a new Hardening guide with advice for configuring Inets to be more secure.\n\n  Own Id: OTP-20133\\\n  Related Id(s): [PR-11073]\n\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\n\n> #### Full runtime dependencies of inets-9.7\n>\n> erts-14.0, kernel-9.0, mnesia-4.12, public_key-1.13, runtime_tools-1.8.14, ssl-9.0, stdlib-5.0, stdlib-6.0\n\n# jinterface-1.16\n\n## Improvements and New Features\n\n- The `jinterface` build now honors `SOURCE_DATE_EPOCH` for deterministic build of `OtpErlang.jar`.\n\n  Own Id: OTP-19956\\\n  Related Id(s): [PR-10556]\n\n- Removed prebuilt java files from source tar file to avoid issues with different version of the java runtime.\n\n  Own Id: OTP-20073\\\n  Related Id(s): [PR-10951]\n\n# kernel-11.0\n\n## Fixed Bugs and Malfunctions\n\n- Fixed (`inet`) module selection when calling (`gen_tcp`) listen and connect and (`gen_udp`) open. Depending on the order of the options, the module option (`tcp_module` or `udp_module`) was sometimes ignored.\n\n  Own Id: OTP-19695\\\n  Related Id(s): [GH-9822], [PR-10013]\n\n  \\*\\*\\* POTENTIAL INCOMPATIBILITY \\*\\*\\*\n\n- The TCP/UDP compatibility layer has been fixed so that `inet_backend = socket` now supports socket options `reuseport` and `reuseport_lb` for `gen_tcp` and `gen_udp`.\n\n  Own Id: OTP-19917\\\n  Related Id(s): [PR-10514]\n\n- Some errors in config files for the application controller would result in very cryptic crashes. Error handling has been improved to ensure that the file name and line number of the offending token are now printed.\n\n  Own Id: OTP-20054\\\n  Related Id(s): [GH-10214], [PR-10259]\n\n- The TOS handling on socket has been significantlyupdated and improved. Socket did not properly handle set, get and recv (cmsg) of TOS.\n\n  Note that the returned TOS value has been changed. It was previously an atom or an integer. Now it is a map with different interpretations of the TOS octet. See the documentation.\n\n  Own Id: OTP-20102\\\n  Related Id(s): [GH-10968], [PR-11059]\n\n  \\*\\*\\* POTENTIAL INCOMPATIBILITY \\*\\*\\*\n\n- Replaced a sleep clause in user_drv shutdown with a flush of the output buffer.\n\n  Own Id: OTP-20124\\\n  Related Id(s): [PR-10808]\n\n## Improvements and New Features\n\n- Added an option to set the `erl_boot_server` listen port.\n\n  Own Id: OTP-19708\\\n  Related Id(s): [PR-9894]\n\n- The memory footprint of some supervisors has been reduced by purging obsoleted data when the supervisor is transitioning to and from hibernation.\n\n  Own Id: OTP-19713\\\n  Related Id(s): [PR-9866]\n\n- Improved name consistency of EPMD protocol messages in documentation and code. Renamed `PORT_PLEASE2_REQ` to `PORT2_REQ` and added prefix `EPMD_`.\n\n  Own Id: OTP-19734\\\n  Related Id(s): [GH-10071], [PR-10078]\n\n- The legacy `and` and `or` operators have been replaced with other language constructs.\n\n  Own Id: OTP-19744\\\n  Related Id(s): [PR-10114], [PR-10554], [PR-10568], [PR-10579], [PR-10580], [PR-10585], [PR-10598], [PR-10710], [PR-10718], [PR-10730]\n\n- Refactored a `kernel_load_completed` clause in the `init` module for conciseness.\n\n  Own Id: OTP-19786\\\n  Related Id(s): [PR-10134]\n\n- Full support for SCTP in [`socket`]. Not (yet) supported for FreeBSD.\n\n  Own Id: OTP-19834\n\n- In the default code path for the Erlang system, the current working directory (`.`) is now in the last position instead of the first.\n\n  Own Id: OTP-19842\\\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\n\n  \\*\\*\\* POTENTIAL INCOMPATIBILITY \\*\\*\\*\n\n- It was previously not possible to check on the socket nif load result. A successful load was self-evident, but a failure was only visible from the fact that most [`socket`] functions failed with `notsup`. This has now been improved such that the (socket nif) load result is visible in the info map (from `socket:info/0`).\n\n  Own Id: OTP-20003\n\n- Added support for socket functions `recvmmsg()` and `sendmmsg()`.\n\n  Own Id: OTP-20015\\\n  Related Id(s): [PR-10564]\n\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\n\n- Added a new module called `io_ansi` that allows the user to emit Virtual Terminal Sequences (a.k.a. ANSI sequences) to the terminal in order to add colors/styling to text or create fully-fledged terminal applications.\n\n  `io_ansi` uses the local terminfo database in order to be as cross-platform compatible as possible.\n\n  It also works across nodes so that if functions on a remote node call `io_ansi:fwrite/1` it will use the destination terminal's terminfo database to determine which sequences to emit. In practice, this means that you can call functions in a remote shell session that use `io_ansi` and it will properly detect the terminal sequences the target terminal can handle and will print using them correctly.\n\n  Own Id: OTP-20028\\\n  Related Id(s): [PR-10905], [PR-9940]\n\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\n\n- Polished the documentation groups, essentially removed groups that did nothing but obscure the documentation.\n\n  Own Id: OTP-20029\\\n  Related Id(s): [PR-10755]\n\n- Added a new behavior, `data_publisher`, for building eventually consistent, replicated data stores across distributed nodes. This is a generalization of the `pg` module.\n\n  Own Id: OTP-20055\\\n  Related Id(s): [PR-10426]\n\n- Added support for `-unsafe` attributes, which is used to mark functions as unsafe to use.\n\n  This is similar to but separate from deprecation, and the compiler will by default now generate warnings for calls to functions in Erlang/OTP that are known to be always unsafe.\n\n  Furthermore, [`xref`] can now be used to find calls to functions in another application that lack a `-doc` attribute (`undocumented_function_calls`), calls to functions in another application marked `-doc false.` (`private_function_calls`), as well as calls to unsafe functions (`unsafe_function_calls`).\n\n  Own Id: OTP-20066\\\n  Related Id(s): [PR-10839]\n\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\n\n- When implementing an [alternate distribution] implementors can now use an alternate [*handshake complete* fun of arity 4] if needed.\n\n  Own Id: OTP-20090\\\n  Related Id(s): [PR-10478]\n\n- Added support for socket option SO_TIMESTAMPNS (not available on all platforms).\n\n  Own Id: OTP-20115\\\n  Related Id(s): [PR-10929]\n\n- Added a flag `log_missed_net_ticks = true | false` that controls whether a warning is logged for each missed sub-tick on a distribution connection. A sub-tick is missed when no data has been received from a connected node during one tick interval. A warning is emitted on every subsequent missed sub-tick until the node is declared down after `net_tickintensity` consecutive missed sub-ticks, at which point a final timeout warning is always logged regardless of this setting. Defaults to `false`.\n\n  Own Id: OTP-20117\\\n  Related Id(s): [PR-11031]\n\n> #### Full runtime dependencies of kernel-11.0\n>\n> crypto-5.8, erts-17.0, sasl-3.0, stdlib-8.0\n\n# megaco-4.9\n\n## Fixed Bugs and Malfunctions\n\n- Running Dialyzer on Windows in an Erlang repo, causes Dialyzer warnings for the megaco_flex_scanner module. This is because the flex scanner is not built on Windows. These warnings are now suppressed.\n\n  Own Id: OTP-20114\\\n  Related Id(s): [PR-11025]\n\n## Improvements and New Features\n\n- Added support for `-unsafe` attributes, which is used to mark functions as unsafe to use.\n\n  This is similar to but separate from deprecation, and the compiler will by default now generate warnings for calls to functions in Erlang/OTP that are known to be always unsafe.\n\n  Furthermore, [`xref`] can now be used to find calls to functions in another application that lack a `-doc` attribute (`undocumented_function_calls`), calls to functions in another application marked `-doc false.` (`private_function_calls`), as well as calls to unsafe functions (`unsafe_function_calls`).\n\n  Own Id: OTP-20066\\\n  Related Id(s): [PR-10839]\n\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\n\n> #### Full runtime dependencies of megaco-4.9\n>\n> asn1-3.0, debugger-4.0, erts-12.0, et-1.5, kernel-8.0, runtime_tools-1.8.14, stdlib-2.5\n\n# mnesia-4.26\n\n## Improvements and New Features\n\n- `mnesia` now has new functions `select_reverse/1-6` supporting iteration over tables in reverse order.\n\n  Own Id: OTP-19611\\\n  Related Id(s): [GH-8993], [PR-9475]\n\n- The `mnesia_registry` module has been removed.\n\n  Own Id: OTP-19807\\\n  Related Id(s): [PR-7315]\n\n  \\*\\*\\* POTENTIAL INCOMPATIBILITY \\*\\*\\*\n\n- Added support for `-unsafe` attributes, which is used to mark functions as unsafe to use.\n\n  This is similar to but separate from deprecation, and the compiler will by default now generate warnings for calls to functions in Erlang/OTP that are known to be always unsafe.\n\n  Furthermore, [`xref`] can now be used to find calls to functions in another application that lack a `-doc` attribute (`undocumented_function_calls`), calls to functions in another application marked `-doc false.` (`private_function_calls`), as well as calls to unsafe functions (`unsafe_function_calls`).\n\n  Own Id: OTP-20066\\\n  Related Id(s): [PR-10839]\n\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\n\n> #### Full runtime dependencies of mnesia-4.26\n>\n> erts-9.0, kernel-5.3, stdlib-5.0\n\n# observer-2.19\n\n## Improvements and New Features\n\n- Added support for `-unsafe` attributes, which is used to mark functions as unsafe to use.\n\n  This is similar to but separate from deprecation, and the compiler will by default now generate warnings for calls to functions in Erlang/OTP that are known to be always unsafe.\n\n  Furthermore, [`xref`] can now be used to find calls to functions in another application that lack a `-doc` attribute (`undocumented_function_calls`), calls to functions in another application marked `-doc false.` (`private_function_calls`), as well as calls to unsafe functions (`unsafe_function_calls`).\n\n  Own Id: OTP-20066\\\n  Related Id(s): [PR-10839]\n\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\n\n> #### Full runtime dependencies of observer-2.19\n>\n> erts-15.0, et-1.5, kernel-10.0, runtime_tools-2.1, stdlib-5.0, wx-2.3\n\n# odbc-2.17\n\n## Fixed Bugs and Malfunctions\n\n- The `odbc` application is now deprecated and is planned to be removed in Erlang/OTP 30.\n\n  The [`ftp`] and [`ct_ftp`] modules are now deprecated and are planned to be removed in Erlang/OTP 30.\n\n  Own Id: OTP-19980\\\n  Related Id(s): [PR-10804]\n\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\n\n## Improvements and New Features\n\n- Added support for `-unsafe` attributes, which is used to mark functions as unsafe to use.\n\n  This is similar to but separate from deprecation, and the compiler will by default now generate warnings for calls to functions in Erlang/OTP that are known to be always unsafe.\n\n  Furthermore, [`xref`] can now be used to find calls to functions in another application that lack a `-doc` attribute (`undocumented_function_calls`), calls to functions in another application marked `-doc false.` (`private_function_calls`), as well as calls to unsafe functions (`unsafe_function_calls`).\n\n  Own Id: OTP-20066\\\n  Related Id(s): [PR-10839]\n\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\n\n> #### Full runtime dependencies of odbc-2.17\n>\n> erts-6.0, kernel-3.0, stdlib-2.0\n\n# os_mon-2.12\n\n## Improvements and New Features\n\n- Added support for `-unsafe` attributes, which is used to mark functions as unsafe to use.\n\n  This is similar to but separate from deprecation, and the compiler will by default now generate warnings for calls to functions in Erlang/OTP that are known to be always unsafe.\n\n  Furthermore, [`xref`] can now be used to find calls to functions in another application that lack a `-doc` attribute (`undocumented_function_calls`), calls to functions in another application marked `-doc false.` (`private_function_calls`), as well as calls to unsafe functions (`unsafe_function_calls`).\n\n  Own Id: OTP-20066\\\n  Related Id(s): [PR-10839]\n\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\n\n> #### Full runtime dependencies of os_mon-2.12\n>\n> erts-14.0, kernel-9.0, sasl-4.2.1, stdlib-5.0\n\n# parsetools-2.8\n\n## Improvements and New Features\n\n- Added support for `-unsafe` attributes, which is used to mark functions as unsafe to use.\n\n  This is similar to but separate from deprecation, and the compiler will by default now generate warnings for calls to functions in Erlang/OTP that are known to be always unsafe.\n\n  Furthermore, [`xref`] can now be used to find calls to functions in another application that lack a `-doc` attribute (`undocumented_function_calls`), calls to functions in another application marked `-doc false.` (`private_function_calls`), as well as calls to unsafe functions (`unsafe_function_calls`).\n\n  Own Id: OTP-20066\\\n  Related Id(s): [PR-10839]\n\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\n\n> #### Full runtime dependencies of parsetools-2.8\n>\n> erts-6.0, kernel-3.0, stdlib-3.4\n\n# public_key-1.21\n\n## Improvements and New Features\n\n- The legacy `and` and `or` operators have been replaced with other language constructs.\n\n  Own Id: OTP-19744\\\n  Related Id(s): [PR-10114], [PR-10554], [PR-10568], [PR-10579], [PR-10580], [PR-10585], [PR-10598], [PR-10710], [PR-10718], [PR-10730]\n\n- Added an option for relaxed encoding of certificates to allow some values to be empty. This may be used by other applications for interoperability reasons. This option is not used by the `ssl` application.\n\n  Own Id: OTP-19822\\\n  Related Id(s): [PR-10033]\n\n- Added support for `-unsafe` attributes, which is used to mark functions as unsafe to use.\n\n  This is similar to but separate from deprecation, and the compiler will by default now generate warnings for calls to functions in Erlang/OTP that are known to be always unsafe.\n\n  Furthermore, [`xref`] can now be used to find calls to functions in another application that lack a `-doc` attribute (`undocumented_function_calls`), calls to functions in another application marked `-doc false.` (`private_function_calls`), as well as calls to unsafe functions (`unsafe_function_calls`).\n\n  Own Id: OTP-20066\\\n  Related Id(s): [PR-10839]\n\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\n\n- The runtime system now supports generating encrypted crash dumps. See the description of `--enable-encrypted-crash-dumps` in [Building and Installing Erlang/OTP].\n\n  Own Id: OTP-20085\\\n  Related Id(s): [PR-10993]\n\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\n\n> #### Full runtime dependencies of public_key-1.21\n>\n> asn1-5.0, crypto-5.8, erts-13.0, kernel-8.0, stdlib-4.0\n\n# reltool-1.1\n\n## Improvements and New Features\n\n- Removed the undocumented `dyn_erl` utility.\n\n  Own Id: OTP-19933\\\n  Related Id(s): [PR-10573]\n\n- Added support for `-unsafe` attributes, which is used to mark functions as unsafe to use.\n\n  This is similar to but separate from deprecation, and the compiler will by default now generate warnings for calls to functions in Erlang/OTP that are known to be always unsafe.\n\n  Furthermore, [`xref`] can now be used to find calls to functions in another application that lack a `-doc` attribute (`undocumented_function_calls`), calls to functions in another application marked `-doc false.` (`private_function_calls`), as well as calls to unsafe functions (`unsafe_function_calls`).\n\n  Own Id: OTP-20066\\\n  Related Id(s): [PR-10839]\n\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\n\n> #### Full runtime dependencies of reltool-1.1\n>\n> erts-15.0, kernel-9.0, sasl-4.2.1, stdlib-5.0, tools-2.6.14, wx-2.3\n\n# runtime_tools-2.4\n\n## Improvements and New Features\n\n- Added support for `-unsafe` attributes, which is used to mark functions as unsafe to use.\n\n  This is similar to but separate from deprecation, and the compiler will by default now generate warnings for calls to functions in Erlang/OTP that are known to be always unsafe.\n\n  Furthermore, [`xref`] can now be used to find calls to functions in another application that lack a `-doc` attribute (`undocumented_function_calls`), calls to functions in another application marked `-doc false.` (`private_function_calls`), as well as calls to unsafe functions (`unsafe_function_calls`).\n\n  Own Id: OTP-20066\\\n  Related Id(s): [PR-10839]\n\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\n\n> #### Full runtime dependencies of runtime_tools-2.4\n>\n> erts-16.0, kernel-10.0, mnesia-4.12, stdlib-6.0\n\n# sasl-4.4\n\n## Fixed Bugs and Malfunctions\n\n- UNC paths are now handled on Windows.\n\n  Own Id: OTP-19949\\\n  Related Id(s): [PR-10601]\n\n## Improvements and New Features\n\n- Removed the undocumented `dyn_erl` utility.\n\n  Own Id: OTP-19933\\\n  Related Id(s): [PR-10573]\n\n- Added support for `-unsafe` attributes, which is used to mark functions as unsafe to use.\n\n  This is similar to but separate from deprecation, and the compiler will by default now generate warnings for calls to functions in Erlang/OTP that are known to be always unsafe.\n\n  Furthermore, [`xref`] can now be used to find calls to functions in another application that lack a `-doc` attribute (`undocumented_function_calls`), calls to functions in another application marked `-doc false.` (`private_function_calls`), as well as calls to unsafe functions (`unsafe_function_calls`).\n\n  Own Id: OTP-20066\\\n  Related Id(s): [PR-10839]\n\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\n\n> #### Full runtime dependencies of sasl-4.4\n>\n> erts-15.0, kernel-6.0, stdlib-4.0, tools-2.6.14\n\n# snmp-5.20.3\n\n## Improvements and New Features\n\n- The legacy `and` and `or` operators have been replaced with other language constructs.\n\n  Own Id: OTP-19744\\\n  Related Id(s): [PR-10114], [PR-10554], [PR-10568], [PR-10579], [PR-10580], [PR-10585], [PR-10598], [PR-10710], [PR-10718], [PR-10730]\n\n> #### Full runtime dependencies of snmp-5.20.3\n>\n> asn1-5.4, crypto-4.6, erts-12.0, kernel-8.0, mnesia-4.12, runtime_tools-1.8.14, stdlib-5.0\n\n# ssh-6.0\n\n## Fixed Bugs and Malfunctions\n\n- Password-based authentication has been updated to follow current security best practices. Key-based authentication remains recommended for production systems.\n\n  Own Id: OTP-19982\\\n  Related Id(s): [PR-10571]\n\n- Added explicit size validation guards for pre-authentication SSH messages to improve defense-in-depth against DoS attacks. Messages now have per-field size limits based on RFC specifications:\n\n  - Transport layer messages (DISCONNECT, IGNORE, DEBUG)\n  - Key exchange messages (DH, ECDH, DH-GEX)\n  - Service request messages (SERVICE_REQUEST, SERVICE_ACCEPT, EXT_INFO)\n\n  This change enhances the existing 256KB global packet size limit with granular per-message validation. Compliant implementations are not affected.\n\n  Own Id: OTP-19995\\\n  Related Id(s): [PR-10739]\n\n  \\*\\*\\* POTENTIAL INCOMPATIBILITY \\*\\*\\*\n\n- The SFTP subsystem `root` option now properly rejects relative paths at daemon startup. Previously, relative paths would cause unpredictable behavior as file operations resolved relative to the Erlang VM's current working directory. The option now requires an absolute path or empty string.\n\n  Own Id: OTP-20019\\\n  Related Id(s): [PR-10820]\n\n  \\*\\*\\* POTENTIAL INCOMPATIBILITY \\*\\*\\*\n\n- Dynamic atom creation has been replaced with static lookups in `ssh_transport` and `ssh_connection`, using a dedicated OID-to-algorithm mapping function in `ssh_message`.\n\n  Own Id: OTP-20127\\\n  Related Id(s): [PR-11078]\n\n## Improvements and New Features\n\n- Using KEX strict extension names as specified in draft-ietf-sshm-strict-kex-00. Pre standard names are still supported.\n\n  Own Id: OTP-19709\\\n  Related Id(s): [PR-10115]\n\n- Added an `alive` option to detect and terminate dead SSH connections. Functionally equivalent to OpenSSH's ClientAlive\\*/ServerAlive\\* settings.\n\n  Own Id: OTP-19750\\\n  Related Id(s): [PR-10372], [PR-9125]\n\n- `ssh:stop_deamon` now uses `supervisor:stop` for shutting down daemons. With this change, the scenario when `ssh:stop_daemon` is called for a non-existing process results in calling process exiting. Previously an error tuple was returned (which was not documented).\n\n  Own Id: OTP-19801\\\n  Related Id(s): [PR-10253]\n\n  \\*\\*\\* POTENTIAL INCOMPATIBILITY \\*\\*\\*\n\n- The default key exchange algorithm is now mlkem768x25519-sha256, a hybrid quantum-resistant algorithm combining ML-KEM-768 with X25519. This provides protection against both classical and quantum computer attacks while maintaining backward compatibility through automatic fallback to other algorithms when peers don't support it.\n\n  Own Id: OTP-19965\\\n  Related Id(s): [PR-10656]\n\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\n\n  \\*\\*\\* POTENTIAL INCOMPATIBILITY \\*\\*\\*\n\n- The SSH daemon now defaults to disabled for shell and exec services, implementing the \"secure by default\" principle. This prevents authenticated users from executing arbitrary Erlang code unless explicitly configured.\n\n  Applications requiring shell or exec functionality must now explicitly enable:\n\n  ```erlang\n    %% Enable Erlang shell\n    ssh:daemon(Port, [{shell, {shell, start, []}} | Options])\n\n    %% Enable Erlang term evaluation via exec\n    ssh:daemon(Port, [{exec, erlang_eval} | Options])\n\n    %% Restore complete old behavior\n    ssh:daemon(Port, [{shell, {shell, start, []}},\n                      {exec, erlang_eval}\n                      | Options])\n  ```\n\n  Own Id: OTP-19969\\\n  Related Id(s): ERIERL-1319, [PR-10970], [PR-11080]\n\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\n\n  \\*\\*\\* POTENTIAL INCOMPATIBILITY \\*\\*\\*\n\n- Added SFTP resource limits section to hardening guide covering `max_handles`, `max_path`, and `max_files` with deployment recommendations.\n\n  Own Id: OTP-20031\\\n  Related Id(s): [PR-10838]\n\n- Added support for `-unsafe` attributes, which is used to mark functions as unsafe to use.\n\n  This is similar to but separate from deprecation, and the compiler will by default now generate warnings for calls to functions in Erlang/OTP that are known to be always unsafe.\n\n  Furthermore, [`xref`] can now be used to find calls to functions in another application that lack a `-doc` attribute (`undocumented_function_calls`), calls to functions in another application marked `-doc false.` (`private_function_calls`), as well as calls to unsafe functions (`unsafe_function_calls`).\n\n  Own Id: OTP-20066\\\n  Related Id(s): [PR-10839]\n\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\n\n- The SFTP subsystem is no longer enabled by default when starting an SSH daemon. To enable it, add the subsystems option explicitly:\n\n  ```erlang\n  ssh:daemon(Port, [{subsystems, [ssh_sftpd:subsystem_spec([])]} | Options])\n  ```\n\n  Own Id: OTP-20078\\\n  Related Id(s): [PR-10970]\n\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\n\n  \\*\\*\\* POTENTIAL INCOMPATIBILITY \\*\\*\\*\n\n- The SSH hardening guide has been improved with a timeout overview table replacing the previous image, corrected terminology (\"authenticated\" instead of \"authorized\"), and new examples for loopback binding, public key user checking, and password lockout using ETS.\n\n  Own Id: OTP-20079\\\n  Related Id(s): [PR-10970]\n\n- With this change usage of `zlib` compression algorithm in SSH is deprecated and scheduled for removal in OTP 30.0\n\n  Own Id: OTP-20099\\\n  Related Id(s): [PR-11010]\n\n- Updated SSH documentation with current OTP 29 algorithm defaults, including the new mlkem768x25519-sha256 post-quantum key exchange. Fixed stale examples, typos, and improved document structure.\n\n  Own Id: OTP-20100\\\n  Related Id(s): [PR-11012]\n\n> #### Full runtime dependencies of ssh-6.0\n>\n> crypto-5.7, erts-14.0, kernel-10.3, public_key-1.6.1, runtime_tools-1.15.1, stdlib-8.0\n\n# ssl-11.7\n\n## Fixed Bugs and Malfunctions\n\n- Add missing clauses to ssl_handshake:extension_value/1. If an hello extension, missing a handling clause was present in a paused handshake, the handshake would fail.\n\n  Own Id: OTP-20116\\\n  Related Id(s): [GH-11030], [PR-11062]\n\n## Improvements and New Features\n\n- The legacy `and` and `or` operators have been replaced with other language constructs.\n\n  Own Id: OTP-19744\\\n  Related Id(s): [PR-10114], [PR-10554], [PR-10568], [PR-10579], [PR-10580], [PR-10585], [PR-10598], [PR-10710], [PR-10718], [PR-10730]\n\n- Added support for `-unsafe` attributes, which is used to mark functions as unsafe to use.\n\n  This is similar to but separate from deprecation, and the compiler will by default now generate warnings for calls to functions in Erlang/OTP that are known to be always unsafe.\n\n  Furthermore, [`xref`] can now be used to find calls to functions in another application that lack a `-doc` attribute (`undocumented_function_calls`), calls to functions in another application marked `-doc false.` (`private_function_calls`), as well as calls to unsafe functions (`unsafe_function_calls`).\n\n  Own Id: OTP-20066\\\n  Related Id(s): [PR-10839]\n\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\n\n- The post-quantum hybrid algorithm x25519mlkem768 is now the most preferred key exchange group in the default configuration.\n\n  Post-quantum hybrid algorithms secp384r1mlkem1024 and secp256r1mlkem768 are supported but have to be configured. The same goes for the plain post-quantum algorithms mlkem1024, mlkem768, and mlkem512.\n\n  The most preferred signature algorithms is now post-quantum algorithms ML-DSA followed by the fastest SLH-DSA (slh_dsa_sha2_256f) algorithm, if such a certificate is available in the configuration. Other SLH-DSA variants are also supported but are added to the end of the preferred list.\n\n  All these algorithms were available in OTP-28.4 but none of them were preferred and some of them changed default status.\n\n  Own Id: OTP-20070\\\n  Related Id(s): [PR-10949]\n\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\n\n  \\*\\*\\* POTENTIAL INCOMPATIBILITY \\*\\*\\*\n\n- Secure renegotiation for TLS-1.2 specified in RFC 5746 from 2010 is now always used. The interoperability fallback option `{secure_renegotiate,SecureRenegotiate}` is no longer needed.\n\n  Own Id: OTP-20080\\\n  Related Id(s): [PR-10979]\n\n  \\*\\*\\* POTENTIAL INCOMPATIBILITY \\*\\*\\*\n\n- There is a new Hardening guide giving guidelines on how to strengthen the security for the `ssl` application.\n\n  Own Id: OTP-20087\\\n  Related Id(s): [PR-11019]\n\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\n\n> #### Full runtime dependencies of ssl-11.7\n>\n> crypto-5.8, erts-16.0, inets-5.10.7, kernel-10.3, public_key-1.20.3, runtime_tools-1.15.1, stdlib-7.0\n\n# stdlib-8.0\n\n## Fixed Bugs and Malfunctions\n\n- Fixed an issue in `digraph_utils:roots/1` where roots could be missed in some cases.\n\n  Own Id: OTP-19932\\\n  Related Id(s): [PR-10510]\n\n- `beam_lib:strip/1` will now retain the Beam debug information chunk produced by the `beam_debug_info` option. The chunk will also be retained when combing the `beam_debug_info` option with the undocumented `slim` option.\n\n  The runtime system will no longer crash when attempting to load modules that have been compiled with `beam_debug_info` but lack the actual Beam debug info chunk.\n\n  Own Id: OTP-19991\\\n  Related Id(s): [GH-10557], [PR-10735]\n\n- Fixed a crash when `zstd:compress/2` was asked to compress empty data.\n\n  Own Id: OTP-20001\\\n  Related Id(s): [GH-10650], [PR-10653]\n\n- Replaced a sleep clause in user_drv shutdown with a flush of the output buffer.\n\n  Own Id: OTP-20124\\\n  Related Id(s): [PR-10808]\n\n- The `calendar:seconds_to_time/1` function now checks the range for each of the components of a time tuple (`{Hours,Minutes,Seconds}`) and fail with an exception if a component is out of range.\n\n  Own Id: OTP-20125\\\n  Related Id(s): [PR-11069]\n\n## Improvements and New Features\n\n- Error return values from functions in [`zip`] now also specify which file in the archive the error belongs to.\n\n  Own Id: OTP-19663\\\n  Related Id(s): [PR-9899]\n\n- The legacy `and` and `or` operators have been replaced with other language constructs.\n\n  Own Id: OTP-19744\\\n  Related Id(s): [PR-10114], [PR-10554], [PR-10568], [PR-10579], [PR-10580], [PR-10585], [PR-10598], [PR-10710], [PR-10718], [PR-10730]\n\n- The undocumented and unsupported function `lists:zf/2` is now deprecated.\n\n  Own Id: OTP-19783\\\n  Related Id(s): [PR-10161]\n\n- Native records as described in [EEP-79] has been implemented.\n\n  A native record is a data structure similar to the traditional tuple-based records, except that is a true data type.\n\n  Native records are considered experimental in Erlang/OTP 29 and possibly also in Erlang/OTP 30, meaning that their behavior may change, potentially requiring updates to applications that use them.\n\n  Own Id: OTP-19785\\\n  Related Id(s): [PR-10617]\n\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\n\n- The new `supervior:stop/1,2` functions can be used to manage the dynamic parts of a supervisor tree in an application from outside the tree but in the same application.\n\n  Own Id: OTP-19800\\\n  Related Id(s): [PR-9209]\n\n- Added a new constructor `array:from/2`.\n\n  Own Id: OTP-19815\\\n  Related Id(s): [PR-10304]\n\n- There are new functions for random permutation of a list: `rand:shuffle/1` and `rand:shuffle_s/2`. They are inspired by a suggestion and discussion on ErlangForums.\n\n  Own Id: OTP-19826\\\n  Related Id(s): [PR-10281]\n\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\n\n- The undocumented functions `erl_eval:extended_parse_exprs/1` and `erl_eval:extended_parse_term/1` will now be faster when called with a long list of tokens. (These functions are used by [`qlc`] and the shell.)\n\n  Own Id: OTP-19838\\\n  Related Id(s): [PR-10338]\n\n- The [`unicode`] module now supports the Unicode 17 standard.\n\n  Own Id: OTP-19853\\\n  Related Id(s): [PR-10382]\n\n- Added functions to [`unicode`] for recognizing whitespaces and identifiers.\n\n  Own Id: OTP-19858\\\n  Related Id(s): [PR-10387]\n\n- The `rand:bytes/1` and `rand:bytes_s/2` functions have been optimized by implementing a new internal callback function that `crypto:rand_seed_alg/1` and `crypto:alg_seed_alg_s/1` have been updated to use.\n\n  A new algorithm `crypto_prng1`, which also takes advantage of this new internal callback, has been added to `crypto:rand_seed_alg/2` and `crypto:rand_seed_alg_s/2`. It is much faster then the existing `crypto_aes`, in particular for generating bytes.\n\n  Own Id: OTP-19882\\\n  Related Id(s): [PR-10453], OTP-19827\n\n- There will now be a warning when exporting variables out of a subexpression. For example:\n\n  ```\n  case file:open(File, AllOpts = [write,{encoding,utf8}]) of\n      {ok,Fd} ->\n          {Fd,AllOpts}\n  end\n  ```\n\n  To avoid the warning, this can be rewritten to:\n\n  ```\n  AllOpts = [write,{encoding,utf8}],\n  case file:open(File, AllOpts) of\n      {ok,Fd} ->\n          {Fd,AllOpts}\n  end\n  ```\n\n  The warning can be suppressed by giving option `nowarn_export_var_subexpr` to the compiler.\n\n  Own Id: OTP-19898\\\n  Related Id(s): [PR-9134]\n\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\n\n- There are new functions in the shell for returning process information.\n\n  The `pi/1` function is shortcut for `erlang:process_info/1`. The `pi/3` function takes the three numbers from a pid, constructs a pid, and calls `process_info/1`.\n\n  Examples:\n\n  ```\n  1> pi(<0.90.0>).\n  [{current_function,{c,pinfo,1}},\n  {initial_call,{erlang,apply,2}},\n  {status,running},\n  ...\n  2> pi(0, 90, 0).\n  [{current_function,{c,pinfo,1}},\n  {initial_call,{erlang,apply,2}},\n  {status,running},\n  ...\n  ```\n\n  Own Id: OTP-19903\\\n  Related Id(s): [PR-10422]\n\n- Tools such as the debugger, [`beam_lib`], and [`xref`] no longer support BEAM files created before OTP 13B.\n\n  Own Id: OTP-19906\\\n  Related Id(s): [PR-10519]\n\n- The [`calendar`] module has been updated to use the much faster than before Neri-Schneider algorithm for Gregorian calendar calculations, and been extended to handle negative years.\n\n  Own Id: OTP-19912\\\n  Related Id(s): [PR-10449]\n\n- `graph` is a new module that is a functional equivalent of the [`digraph`] and [`digraph_utils`] modules.\n\n  Own Id: OTP-19922\\\n  Related Id(s): [PR-10532]\n\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\n\n- Before Erlang/OTP 29, attempting to bind variables in a comprehension would compile successfully but fail at runtime. Example:\n\n  ```\n  1> fh(List) -> [H || E <- List, H = erlang:phash2(E), H rem 10 =:= 0].\n  ok\n  2> fh(lists:seq(1, 10)).\n  * exception error: bad filter 2614250\n  ```\n\n  In Erlang/OTP 29, attempting to bind a variable in a comprehension will fail by default:\n\n  ```\n  1> fh(List) -> [H || E <- List, H = erlang:phash2(E), H rem 10 =:= 0].\n  * 5:14: matches using '=' are not allowed in comprehension qualifiers\n  unless the experimental 'compr_assign' language feature is enabled.\n  With 'compr_assign' enabled, a match 'P = E' will behave as a\n  strict generator 'P <-:- [E]'.\"\n  ```\n\n  However, this example will work as expected if the `compr_assign` feature is enabled when starting the runtime system:\n\n  ```\n  $ erl -enable-feature compr_assign\n  . . .\n  1> fh(List) -> [H || E <- List, H = erlang:phash2(E), H rem 10 =:= 0].\n  ok\n  2> fh(lists:seq(1, 10)).\n  [2614250]\n  ```\n\n  Here is another example how `compr_assign` can be used:\n\n  ```\n  -module(example).\n  -feature(compr_assign, enable).\n  -export([cat/1]).\n\n  cat(Files) ->\n      [Char || F <- Files,\n               {ok, Bin} = file:read_file(F),\n               Char <- unicode:characters_to_list(Bin)].\n  ```\n\n  Own Id: OTP-19927\\\n  Related Id(s): [PR-9153]\n\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\n\n  \\*\\*\\* POTENTIAL INCOMPATIBILITY \\*\\*\\*\n\n- Removed the undocumented `dyn_erl` utility.\n\n  Own Id: OTP-19933\\\n  Related Id(s): [PR-10573]\n\n- The functions `erl_tar:add/3` and `erl_tar:add/4` now accepts the `{mode,Mode}` option for setting the permission of the file.\n\n  Own Id: OTP-19934\\\n  Related Id(s): [PR-10524]\n\n- Added `zstd:flush/2` for flushing compressed data without closing the compression context.\n\n  Own Id: OTP-19936\\\n  Related Id(s): [GH-10345], [PR-10511]\n\n- There will now be a warning when using the `catch` operator, which has been deprecated for a long time.\n\n  It is recommended to instead use `try`...`catch`...`end` but is also possible to disable the warning by using the `nowarn_deprecated_catch` option.\n\n  Own Id: OTP-19938\\\n  Related Id(s): [PR-10421]\n\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\n\n- Multi-valued comprehensions according to [EEP 78] has been implemented.\n\n  Example:\n\n  ```erlang\n  > [I, -I || I <- lists:seq(1, 5)].\n  [1,-1,2,-2,3,-3,4,-4,5,-5]\n  ```\n\n  Own Id: OTP-19942\\\n  Related Id(s): [PR-9374]\n\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\n\n- There will now be a warning for matches that unify constructors, such as the following:\n\n  ```\n  m({a,B} = {Y,Z}) -> . . .\n  ```\n\n  Such a match can be rewritten to:\n\n  ```\n  m({a=Y,B=Y}) -> . . .\n  ```\n\n  The compiler option `nowarn_match_alias_pats` can be used to disable the warning.\n\n  Own Id: OTP-19943\\\n  Related Id(s): [PR-10433]\n\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\n\n- While the iteration order for maps is undefined, it is now guaranteed that all ways of iterating over maps provides the elements in the same order. That is, all of the following ways of iterating will produce the elements in the same order:\n\n  - `maps:keys/1`\n  - `maps:values/1`\n  - `maps:to_list/1`\n  - `maps:to_list(maps:iterator(M))`\n  - Map comprehension: `[{K,V} || K := V <- M]`\n\n  Own Id: OTP-19963\\\n  Related Id(s): [PR-10626]\n\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\n\n- The `array` module have been extended with several new functions. The internal representation have been changed to allow the new functionality and optimizations. Arrays serialized with `term_to_binary/1` in previous releases are not compatible.\n\n  Own Id: OTP-20004\\\n  Related Id(s): [PR-10578]\n\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\n\n  \\*\\*\\* POTENTIAL INCOMPATIBILITY \\*\\*\\*\n\n- `m:erl_tar` will use less memory when extracting large tar entries to disk. Instead of reading each tar entry into memory, [`erl_tar`] will now stream data in chunks of 64KB. The chunk size is settable using the new `{chunks,ChunkSize}` option.\n\n  The new `{max_size,Size}` option will set a limit on the total size of extracted data to protect against filling up the disk.\n\n  Checking of symlinks has been improved. Some symlinks that were safe (such as `dir/link -> ../file`) used to be rejected.\n\n  Own Id: OTP-20023\\\n  Related Id(s): [PR-10814], [PR-10818], [PR-10821]\n\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\n\n- Added a new module called `io_ansi` that allows the user to emit Virtual Terminal Sequences (a.k.a. ANSI sequences) to the terminal in order to add colors/styling to text or create fully-fledged terminal applications.\n\n  `io_ansi` uses the local terminfo database in order to be as cross-platform compatible as possible.\n\n  It also works across nodes so that if functions on a remote node call `io_ansi:fwrite/1` it will use the destination terminal's terminfo database to determine which sequences to emit. In practice, this means that you can call functions in a remote shell session that use `io_ansi` and it will properly detect the terminal sequences the target terminal can handle and will print using them correctly.\n\n  Own Id: OTP-20028\\\n  Related Id(s): [PR-10905], [PR-9940]\n\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\n\n- Polished the documentation groups, essentially removed groups that did nothing but obscure the documentation.\n\n  Own Id: OTP-20029\\\n  Related Id(s): [PR-10755]\n\n- The `gb_sets:from_ordset/1` and `gb_trees:from_orddict/1` functions would trust their inputs. If the input contained duplicates or was not properly sorted, the resulting gb_set or gb_tree would be invalid, and any number of interesting problems could occur.\n\n  In this release, these functions will raise an exception if their input is not valid. That could mean that incorrect programs that **seemed** to work could now stop working altogether.\n\n  There is also a new `gb_trees:from_list/1` function for directly creating a gb_tree from a list.\n\n  Own Id: OTP-20061\\\n  Related Id(s): [PR-10910]\n\n  \\*\\*\\* POTENTIAL INCOMPATIBILITY \\*\\*\\*\n\n- Added support for `-unsafe` attributes, which is used to mark functions as unsafe to use.\n\n  This is similar to but separate from deprecation, and the compiler will by default now generate warnings for calls to functions in Erlang/OTP that are known to be always unsafe.\n\n  Furthermore, [`xref`] can now be used to find calls to functions in another application that lack a `-doc` attribute (`undocumented_function_calls`), calls to functions in another application marked `-doc false.` (`private_function_calls`), as well as calls to unsafe functions (`unsafe_function_calls`).\n\n  Own Id: OTP-20066\\\n  Related Id(s): [PR-10839]\n\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\n\n- The [`json`] module now encodes and decodes quoted strings faster. Improvements of up to 55 percent has been measured when decoding JSON data with long strings.\n\n  The `string:length/1`, `string:slice/2`, and `string:slice/3` functions have been optimized. For some strings, they can be up to twice as fast.\n\n  Own Id: OTP-20072\\\n  Related Id(s): [PR-10938], [PR-10948]\n\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\n\n> #### Full runtime dependencies of stdlib-8.0\n>\n> compiler-5.0, crypto-4.5, erts-16.0.3, kernel-11.0, sasl-3.0, syntax_tools-3.2.1\n\n# syntax_tools-4.1\n\n## Fixed Bugs and Malfunctions\n\n- `merl:compile_and_load/1` could crash when compiling code containing comments.\n\n  `merl:quote/2` would fail to handle literal UTF-8 encoded binaries.\n\n  Own Id: OTP-20077\\\n  Related Id(s): [PR-10243], [PR-10962]\n\n## Improvements and New Features\n\n- The legacy `and` and `or` operators have been replaced with other language constructs.\n\n  Own Id: OTP-19744\\\n  Related Id(s): [PR-10114], [PR-10554], [PR-10568], [PR-10579], [PR-10580], [PR-10585], [PR-10598], [PR-10710], [PR-10718], [PR-10730]\n\n- Multi-valued comprehensions according to [EEP 78] has been implemented.\n\n  Example:\n\n  ```erlang\n  > [I, -I || I <- lists:seq(1, 5)].\n  [1,-1,2,-2,3,-3,4,-4,5,-5]\n  ```\n\n  Own Id: OTP-19942\\\n  Related Id(s): [PR-9374]\n\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\n\n- Added support for `-unsafe` attributes, which is used to mark functions as unsafe to use.\n\n  This is similar to but separate from deprecation, and the compiler will by default now generate warnings for calls to functions in Erlang/OTP that are known to be always unsafe.\n\n  Furthermore, [`xref`] can now be used to find calls to functions in another application that lack a `-doc` attribute (`undocumented_function_calls`), calls to functions in another application marked `-doc false.` (`private_function_calls`), as well as calls to unsafe functions (`unsafe_function_calls`).\n\n  Own Id: OTP-20066\\\n  Related Id(s): [PR-10839]\n\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\n\n> #### Full runtime dependencies of syntax_tools-4.1\n>\n> compiler-9.0, erts-16.0, kernel-10.3, stdlib-8.0\n\n# tftp-1.3\n\n## Improvements and New Features\n\n- The legacy `and` and `or` operators have been replaced with other language constructs.\n\n  Own Id: OTP-19744\\\n  Related Id(s): [PR-10114], [PR-10554], [PR-10568], [PR-10579], [PR-10580], [PR-10585], [PR-10598], [PR-10710], [PR-10718], [PR-10730]\n\n- All use of legacy `catch` in the TFTP application has been rewritten.\n\n  In the process, deep return using `exit/1` or `throw/1` from callbacks has been changed to only work with `throw/1`, as customary. This was considered a misfeature.\n\n  Explicit loading of callback module or logger module has been removed, since that was against what one would expect for embedded mode.\n\n  Own Id: OTP-19996\\\n  Related Id(s): [PR-10753]\n\n- Added support for `-unsafe` attributes, which is used to mark functions as unsafe to use.\n\n  This is similar to but separate from deprecation, and the compiler will by default now generate warnings for calls to functions in Erlang/OTP that are known to be always unsafe.\n\n  Furthermore, [`xref`] can now be used to find calls to functions in another application that lack a `-doc` attribute (`undocumented_function_calls`), calls to functions in another application marked `-doc false.` (`private_function_calls`), as well as calls to unsafe functions (`unsafe_function_calls`).\n\n  Own Id: OTP-20066\\\n  Related Id(s): [PR-10839]\n\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\n\n> #### Full runtime dependencies of tftp-1.3\n>\n> erts-6.0, kernel-6.0, stdlib-5.0\n\n# tools-4.2\n\n## Fixed Bugs and Malfunctions\n\n- Fixed \"unbalanced parenthesis\" issue when pressing TAB in emacs erlang shell.\n\n  Own Id: OTP-19921\\\n  Related Id(s): [GH-8569], [PR-10642]\n\n- The minimum supported Emacs version for `erlang-mode` has been raised from 24.3 to 27.1. Compatibility shims for older Emacs versions have been removed.\n\n  The `erlang-mode` package version now tracks the Erlang/OTP release version (29.0) for consistent version numbers across package managers.\n\n  Own Id: OTP-20059\\\n  Related Id(s): [PR-10892]\n\n## Improvements and New Features\n\n- Tools such as the debugger, [`beam_lib`], and [`xref`] no longer support BEAM files created before OTP 13B.\n\n  Own Id: OTP-19906\\\n  Related Id(s): [PR-10519]\n\n- The `ignore_xref` attribute has been handled as a post-analysis filter by build tools such as Rebar3. In this release, [`xref`] itself does the filtering, ensuring that all tooling that calls `xref` for any purpose can rely on these declarations to just work.\n\n  Own Id: OTP-20032\\\n  Related Id(s): [PR-10592]\n\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\n\n- Added support for `-unsafe` attributes, which is used to mark functions as unsafe to use.\n\n  This is similar to but separate from deprecation, and the compiler will by default now generate warnings for calls to functions in Erlang/OTP that are known to be always unsafe.\n\n  Furthermore, [`xref`] can now be used to find calls to functions in another application that lack a `-doc` attribute (`undocumented_function_calls`), calls to functions in another application marked `-doc false.` (`private_function_calls`), as well as calls to unsafe functions (`unsafe_function_calls`).\n\n  Own Id: OTP-20066\\\n  Related Id(s): [PR-10839]\n\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\n\n- The runtime system now supports generating encrypted crash dumps. See the description of `--enable-encrypted-crash-dumps` in [Building and Installing Erlang/OTP].\n\n  Own Id: OTP-20085\\\n  Related Id(s): [PR-10993]\n\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\n\n> #### Full runtime dependencies of tools-4.2\n>\n> compiler-8.5, crypto-5.9, erts-15.0, kernel-10.0, public_key-1.21, runtime_tools-2.1, stdlib-6.0\n\n# wx-2.6\n\n## Fixed Bugs and Malfunctions\n\n- The examples for `wx` are now only installed in one place (in `doc/examples`).\n\n  Own Id: OTP-20119\\\n  Related Id(s): ERIERL-1315, [PR-11032]\n\n## Improvements and New Features\n\n- Documentation about how to validate the SBOM using sigstore has been added.\n\n  Own Id: OTP-19766\\\n  Related Id(s): [GH-10151], [PR-10187]\n\n- Added support for `-unsafe` attributes, which is used to mark functions as unsafe to use.\n\n  This is similar to but separate from deprecation, and the compiler will by default now generate warnings for calls to functions in Erlang/OTP that are known to be always unsafe.\n\n  Furthermore, [`xref`] can now be used to find calls to functions in another application that lack a `-doc` attribute (`undocumented_function_calls`), calls to functions in another application marked `-doc false.` (`private_function_calls`), as well as calls to unsafe functions (`unsafe_function_calls`).\n\n  Own Id: OTP-20066\\\n  Related Id(s): [PR-10839]\n\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\n\n> #### Full runtime dependencies of wx-2.6\n>\n> erts-12.0, kernel-8.0, stdlib-5.0\n\n# xmerl-2.2\n\n## Improvements and New Features\n\n- Added support for `-unsafe` attributes, which is used to mark functions as unsafe to use.\n\n  This is similar to but separate from deprecation, and the compiler will by default now generate warnings for calls to functions in Erlang/OTP that are known to be always unsafe.\n\n  Furthermore, [`xref`] can now be used to find calls to functions in another application that lack a `-doc` attribute (`undocumented_function_calls`), calls to functions in another application marked `-doc false.` (`private_function_calls`), as well as calls to unsafe functions (`unsafe_function_calls`).\n\n  Own Id: OTP-20066\\\n  Related Id(s): [PR-10839]\n\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\n\n> #### Full runtime dependencies of xmerl-2.2\n>\n> erts-6.0, kernel-8.4, stdlib-2.5\n\n# Thanks to\n\nAlexandre Rodrigues, Alex Mickelson, Andreas Hasselberg, Andrew Bennett, Ayanda Dube, Bentheburrito, Bernhard M. Wiedemann, Bozhidar Batsov, Claes Nästén, Daniel Gorin, Daniel Kukula, dependabot[bot], Eksperimental, Eric Meadows-Jönsson, erlang-bot-app[bot], felipe stival, Fernando Areias, Holger Weiß, Ievgen Pyrogov, Ilya Averyanov, ilya-klyuchnikov, Ilya Klyuchnikov, Jan Uhlig, Jérôme de Bretagne, João Henrique Ferreira de Freitas, Johannes Christ, Jonatan Männchen, José Valim, krishnadas, Loïc Hoguin, loscher, lud, Maria Scott, Marko Mindek, matt, Mend Renovate, Michael Daniels, Michał Muskała, Nelson Vides, Nick Vatamaniuc, Olexandr88, Paul Guyot, Paulo F. Oliveira, Paulo Tomé, Petr Sumbera, Preet, Radek Szymczyszyn, Rasmus Précenth, Richard Carlsson, Robert Ismo, Robin Morisset, Sam Weaver, Sébastien Saint-Sevin, Sergey Fedorov, siiky, Simon Cornish, spoo, Stefan Grundmann, Takeru Ohta, Vadim Yanitskiy, Vance Shipley, Wade Mealing, Wei Huang, williamthome, yagogarea, Zabrane, Zeyu Zhang, наб\n\n[*handshake complete* fun of arity 4]: https://erlang.org/doc/apps/erts/alt_dist.html#hs_data_f_handshake_complete\n[alternate distribution]: https://erlang.org/doc/apps/erts/alt_dist.html\n[building and installing erlang/otp]: https://www.erlang.org/doc/system/install.html\n[edb debugger]: https://github.com/WhatsApp/edb\n[eep 78]: https://www.erlang.org/eeps/eep-0078\n[eep-79]: https://www.erlang.org/eeps/eep-0079\n[erlc]: https://erlang.org/doc/apps/erts/erlc_cmd.html\n[gh-10071]: https://github.com/erlang/otp/issues/10071\n[gh-10125]: https://github.com/erlang/otp/issues/10125\n[gh-10151]: https://github.com/erlang/otp/issues/10151\n[gh-10214]: https://github.com/erlang/otp/issues/10214\n[gh-10260]: https://github.com/erlang/otp/issues/10260\n[gh-10341]: https://github.com/erlang/otp/issues/10341\n[gh-10342]: https://github.com/erlang/otp/issues/10342\n[gh-10345]: https://github.com/erlang/otp/issues/10345\n[gh-10557]: https://github.com/erlang/otp/issues/10557\n[gh-10650]: https://github.com/erlang/otp/issues/10650\n[gh-10807]: https://github.com/erlang/otp/issues/10807\n[gh-10968]: https://github.com/erlang/otp/issues/10968\n[gh-11030]: https://github.com/erlang/otp/issues/11030\n[gh-8569]: https://github.com/erlang/otp/issues/8569\n[gh-8841]: https://github.com/erlang/otp/issues/8841\n[gh-8993]: https://github.com/erlang/otp/issues/8993\n[gh-9822]: https://github.com/erlang/otp/issues/9822\n[openvex]: https://openssf.org/projects/openvex/\n[pr-10013]: https://github.com/erlang/otp/pull/10013\n[pr-10033]: https://github.com/erlang/otp/pull/10033\n[pr-10078]: https://github.com/erlang/otp/pull/10078\n[pr-10114]: https://github.com/erlang/otp/pull/10114\n[pr-10115]: https://github.com/erlang/otp/pull/10115\n[pr-10126]: https://github.com/erlang/otp/pull/10126\n[pr-10134]: https://github.com/erlang/otp/pull/10134\n[pr-10144]: https://github.com/erlang/otp/pull/10144\n[pr-10145]: https://github.com/erlang/otp/pull/10145\n[pr-10161]: https://github.com/erlang/otp/pull/10161\n[pr-10166]: https://github.com/erlang/otp/pull/10166\n[pr-10168]: https://github.com/erlang/otp/pull/10168\n[pr-10187]: https://github.com/erlang/otp/pull/10187\n[pr-10189]: https://github.com/erlang/otp/pull/10189\n[pr-10193]: https://github.com/erlang/otp/pull/10193\n[pr-10195]: https://github.com/erlang/otp/pull/10195\n[pr-10197]: https://github.com/erlang/otp/pull/10197\n[pr-10202]: https://github.com/erlang/otp/pull/10202\n[pr-10207]: https://github.com/erlang/otp/pull/10207\n[pr-10230]: https://github.com/erlang/otp/pull/10230\n[pr-10234]: https://github.com/erlang/otp/pull/10234\n[pr-10243]: https://github.com/erlang/otp/pull/10243\n[pr-10253]: https://github.com/erlang/otp/pull/10253\n[pr-10259]: https://github.com/erlang/otp/pull/10259\n[pr-10269]: https://github.com/erlang/otp/pull/10269\n[pr-10276]: https://github.com/erlang/otp/pull/10276\n[pr-10277]: https://github.com/erlang/otp/pull/10277\n[pr-10281]: https://github.com/erlang/otp/pull/10281\n[pr-10304]: https://github.com/erlang/otp/pull/10304\n[pr-10338]: https://github.com/erlang/otp/pull/10338\n[pr-10346]: https://github.com/erlang/otp/pull/10346\n[pr-10348]: https://github.com/erlang/otp/pull/10348\n[pr-10372]: https://github.com/erlang/otp/pull/10372\n[pr-10382]: https://github.com/erlang/otp/pull/10382\n[pr-10387]: https://github.com/erlang/otp/pull/10387\n[pr-10417]: https://github.com/erlang/otp/pull/10417\n[pr-10421]: https://github.com/erlang/otp/pull/10421\n[pr-10422]: https://github.com/erlang/otp/pull/10422\n[pr-10426]: https://github.com/erlang/otp/pull/10426\n[pr-10433]: https://github.com/erlang/otp/pull/10433\n[pr-10449]: https://github.com/erlang/otp/pull/10449\n[pr-10453]: https://github.com/erlang/otp/pull/10453\n[pr-10478]: https://github.com/erlang/otp/pull/10478\n[pr-10510]: https://github.com/erlang/otp/pull/10510\n[pr-10511]: https://github.com/erlang/otp/pull/10511\n[pr-10514]: https://github.com/erlang/otp/pull/10514\n[pr-10519]: https://github.com/erlang/otp/pull/10519\n[pr-10524]: https://github.com/erlang/otp/pull/10524\n[pr-10532]: https://github.com/erlang/otp/pull/10532\n[pr-10549]: https://github.com/erlang/otp/pull/10549\n[pr-10554]: https://github.com/erlang/otp/pull/10554\n[pr-10556]: https://github.com/erlang/otp/pull/10556\n[pr-10564]: https://github.com/erlang/otp/pull/10564\n[pr-10568]: https://github.com/erlang/otp/pull/10568\n[pr-10571]: https://github.com/erlang/otp/pull/10571\n[pr-10573]: https://github.com/erlang/otp/pull/10573\n[pr-10578]: https://github.com/erlang/otp/pull/10578\n[pr-10579]: https://github.com/erlang/otp/pull/10579\n[pr-10580]: https://github.com/erlang/otp/pull/10580\n[pr-10585]: https://github.com/erlang/otp/pull/10585\n[pr-10592]: https://github.com/erlang/otp/pull/10592\n[pr-10598]: https://github.com/erlang/otp/pull/10598\n[pr-10601]: https://github.com/erlang/otp/pull/10601\n[pr-10614]: https://github.com/erlang/otp/pull/10614\n[pr-10615]: https://github.com/erlang/otp/pull/10615\n[pr-10617]: https://github.com/erlang/otp/pull/10617\n[pr-10619]: https://github.com/erlang/otp/pull/10619\n[pr-10626]: https://github.com/erlang/otp/pull/10626\n[pr-10642]: https://github.com/erlang/otp/pull/10642\n[pr-10646]: https://github.com/erlang/otp/pull/10646\n[pr-10647]: https://github.com/erlang/otp/pull/10647\n[pr-10653]: https://github.com/erlang/otp/pull/10653\n[pr-10656]: https://github.com/erlang/otp/pull/10656\n[pr-10674]: https://github.com/erlang/otp/pull/10674\n[pr-10710]: https://github.com/erlang/otp/pull/10710\n[pr-10718]: https://github.com/erlang/otp/pull/10718\n[pr-10730]: https://github.com/erlang/otp/pull/10730\n[pr-10735]: https://github.com/erlang/otp/pull/10735\n[pr-10739]: https://github.com/erlang/otp/pull/10739\n[pr-10753]: https://github.com/erlang/otp/pull/10753\n[pr-10754]: https://github.com/erlang/otp/pull/10754\n[pr-10755]: https://github.com/erlang/otp/pull/10755\n[pr-10770]: https://github.com/erlang/otp/pull/10770\n[pr-10782]: https://github.com/erlang/otp/pull/10782\n[pr-10783]: https://github.com/erlang/otp/pull/10783\n[pr-10801]: https://github.com/erlang/otp/pull/10801\n[pr-10804]: https://github.com/erlang/otp/pull/10804\n[pr-10805]: https://github.com/erlang/otp/pull/10805\n[pr-10808]: https://github.com/erlang/otp/pull/10808\n[pr-10814]: https://github.com/erlang/otp/pull/10814\n[pr-10817]: https://github.com/erlang/otp/pull/10817\n[pr-10818]: https://github.com/erlang/otp/pull/10818\n[pr-10819]: https://github.com/erlang/otp/pull/10819\n[pr-10820]: https://github.com/erlang/otp/pull/10820\n[pr-10821]: https://github.com/erlang/otp/pull/10821\n[pr-10824]: https://github.com/erlang/otp/pull/10824\n[pr-10830]: https://github.com/erlang/otp/pull/10830\n[pr-10836]: https://github.com/erlang/otp/pull/10836\n[pr-10838]: https://github.com/erlang/otp/pull/10838\n[pr-10839]: https://github.com/erlang/otp/pull/10839\n[pr-10870]: https://github.com/erlang/otp/pull/10870\n[pr-10892]: https://github.com/erlang/otp/pull/10892\n[pr-10894]: https://github.com/erlang/otp/pull/10894\n[pr-10905]: https://github.com/erlang/otp/pull/10905\n[pr-10910]: https://github.com/erlang/otp/pull/10910\n[pr-10929]: https://github.com/erlang/otp/pull/10929\n[pr-10938]: https://github.com/erlang/otp/pull/10938\n[pr-10948]: https://github.com/erlang/otp/pull/10948\n[pr-10949]: https://github.com/erlang/otp/pull/10949\n[pr-10950]: https://github.com/erlang/otp/pull/10950\n[pr-10951]: https://github.com/erlang/otp/pull/10951\n[pr-10958]: https://github.com/erlang/otp/pull/10958\n[pr-10962]: https://github.com/erlang/otp/pull/10962\n[pr-10965]: https://github.com/erlang/otp/pull/10965\n[pr-10969]: https://github.com/erlang/otp/pull/10969\n[pr-10970]: https://github.com/erlang/otp/pull/10970\n[pr-10979]: https://github.com/erlang/otp/pull/10979\n[pr-10986]: https://github.com/erlang/otp/pull/10986\n[pr-10993]: https://github.com/erlang/otp/pull/10993\n[pr-10998]: https://github.com/erlang/otp/pull/10998\n[pr-11000]: https://github.com/erlang/otp/pull/11000\n[pr-11004]: https://github.com/erlang/otp/pull/11004\n[pr-11010]: https://github.com/erlang/otp/pull/11010\n[pr-11012]: https://github.com/erlang/otp/pull/11012\n[pr-11019]: https://github.com/erlang/otp/pull/11019\n[pr-11025]: https://github.com/erlang/otp/pull/11025\n[pr-11031]: https://github.com/erlang/otp/pull/11031\n[pr-11032]: https://github.com/erlang/otp/pull/11032\n[pr-11047]: https://github.com/erlang/otp/pull/11047\n[pr-11059]: https://github.com/erlang/otp/pull/11059\n[pr-11062]: https://github.com/erlang/otp/pull/11062\n[pr-11067]: https://github.com/erlang/otp/pull/11067\n[pr-11069]: https://github.com/erlang/otp/pull/11069\n[pr-11073]: https://github.com/erlang/otp/pull/11073\n[pr-11078]: https://github.com/erlang/otp/pull/11078\n[pr-11079]: https://github.com/erlang/otp/pull/11079\n[pr-11080]: https://github.com/erlang/otp/pull/11080\n[pr-7118]: https://github.com/erlang/otp/pull/7118\n[pr-7315]: https://github.com/erlang/otp/pull/7315\n[pr-9115]: https://github.com/erlang/otp/pull/9115\n[pr-9125]: https://github.com/erlang/otp/pull/9125\n[pr-9134]: https://github.com/erlang/otp/pull/9134\n[pr-9153]: https://github.com/erlang/otp/pull/9153\n[pr-9209]: https://github.com/erlang/otp/pull/9209\n[pr-9223]: https://github.com/erlang/otp/pull/9223\n[pr-9315]: https://github.com/erlang/otp/pull/9315\n[pr-9374]: https://github.com/erlang/otp/pull/9374\n[pr-9475]: https://github.com/erlang/otp/pull/9475\n[pr-9712]: https://github.com/erlang/otp/pull/9712\n[pr-9814]: https://github.com/erlang/otp/pull/9814\n[pr-9864]: https://github.com/erlang/otp/pull/9864\n[pr-9866]: https://github.com/erlang/otp/pull/9866\n[pr-9894]: https://github.com/erlang/otp/pull/9894\n[pr-9899]: https://github.com/erlang/otp/pull/9899\n[pr-9934]: https://github.com/erlang/otp/pull/9934\n[pr-9940]: https://github.com/erlang/otp/pull/9940\n[pr-9984]: https://github.com/erlang/otp/pull/9984\n[upcoming potential incompatibilities]: https://www.erlang.org/doc/upcoming_incompatibilities.html\n[`--{enable,disable}-use-embedded-3pp-alternatives`]: https://erlang.org/doc/system/install.html#advanced-configuration-and-build-of-erlang-otp_configuring\n[`beam_lib`]: https://erlang.org/doc/man/beam_lib\n[`calendar`]: https://erlang.org/doc/man/calendar\n[`compile`]: https://erlang.org/doc/man/compile\n[`crypto`]: https://erlang.org/doc/man/crypto\n[`ct_ftp`]: https://erlang.org/doc/man/ct_ftp\n[`digraph_utils`]: https://erlang.org/doc/man/digraph_utils\n[`digraph`]: https://erlang.org/doc/man/digraph\n[`erl_tar`]: https://erlang.org/doc/man/erl_tar\n[`ftp`]: https://erlang.org/doc/man/ftp\n[`httpc`]: https://erlang.org/doc/man/httpc\n[`json`]: https://erlang.org/doc/man/json\n[`qlc`]: https://erlang.org/doc/man/qlc\n[`socket`]: https://erlang.org/doc/man/socket\n[`unicode`]: https://erlang.org/doc/man/unicode\n[`xref`]: https://erlang.org/doc/man/xref\n[`zip`]: https://erlang.org/doc/man/zip\n","reactions":{"url":"https://api.github.com/repos/erlang/otp/releases/321758689/reactions","total_count":25,"+1":3,"-1":0,"laugh":0,"hooray":6,"confused":0,"heart":8,"rocket":8,"eyes":0}},{"url":"https://api.github.com/repos/erlang/otp/releases/312753432","assets_url":"https://api.github.com/repos/erlang/otp/releases/312753432/assets","upload_url":"https://uploads.github.com/repos/erlang/otp/releases/312753432/assets{?name,label}","html_url":"https://github.com/erlang/otp/releases/tag/OTP-28.5","id":312753432,"author":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"node_id":"RE_kwDOAAW4j84SpD0Y","tag_name":"OTP-28.5","target_commitish":"master","name":"OTP 28.5","draft":false,"immutable":false,"prerelease":false,"created_at":"2026-04-23T10:09:44Z","updated_at":"2026-04-23T14:51:11Z","published_at":"2026-04-23T13:49:47Z","assets":[{"url":"https://api.github.com/repos/erlang/otp/releases/assets/403501106","id":403501106,"node_id":"RA_kwDOAAW4j84YDPAy","name":"bom.spdx.json","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/json","state":"uploaded","size":5774170,"digest":"sha256:288854f262b8bfe4e8f3891fc4e130ad5fb616f66ef5e5315d55e2e85c34470c","download_count":84,"created_at":"2026-04-23T14:36:06Z","updated_at":"2026-04-23T14:36:07Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.5/bom.spdx.json"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/403501104","id":403501104,"node_id":"RA_kwDOAAW4j84YDPAw","name":"bom.spdx.json.sigstore","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":5594008,"digest":"sha256:76eb93b12f9428a84381adf27fac726b35c97733d83c16174af078267ce12526","download_count":89,"created_at":"2026-04-23T14:36:06Z","updated_at":"2026-04-23T14:36:06Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.5/bom.spdx.json.sigstore"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/403501098","id":403501098,"node_id":"RA_kwDOAAW4j84YDPAq","name":"MD5.txt","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"text/plain","state":"uploaded","size":171,"digest":"sha256:37d16bbe38f4aac47503efcb93684a39cc5fa75e7608c33114a5d299ba562067","download_count":96,"created_at":"2026-04-23T14:36:06Z","updated_at":"2026-04-23T14:36:06Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.5/MD5.txt"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/403465188","id":403465188,"node_id":"RA_kwDOAAW4j84YDGPk","name":"OTP-28.5.README","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"text","state":"uploaded","size":7076,"digest":"sha256:17afe0a1c9f244880cd68118dedb0b7dcc22975eca3a10813c7f430e79c61ff1","download_count":1259,"created_at":"2026-04-23T13:49:51Z","updated_at":"2026-04-23T13:49:51Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.5/OTP-28.5.README"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/403465193","id":403465193,"node_id":"RA_kwDOAAW4j84YDGPp","name":"OTP-28.5.README.md","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"text","state":"uploaded","size":8114,"digest":"sha256:d11bc5d28fe97039111ed39c14ae76784613a459ee9c4593c421538d28a6d206","download_count":88,"created_at":"2026-04-23T13:49:51Z","updated_at":"2026-04-23T13:49:52Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.5/OTP-28.5.README.md"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/403501101","id":403501101,"node_id":"RA_kwDOAAW4j84YDPAt","name":"otp_doc_html_28.5.tar.gz","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":32263377,"digest":"sha256:f25f4d81065dfff4e778ce3631ccbe06f94ea1a6747a24b63034973b3a073ade","download_count":2360,"created_at":"2026-04-23T14:36:06Z","updated_at":"2026-04-23T14:36:07Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.5/otp_doc_html_28.5.tar.gz"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/403501103","id":403501103,"node_id":"RA_kwDOAAW4j84YDPAv","name":"otp_doc_html_28.5.tar.gz.sigstore","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":5594008,"digest":"sha256:76eb93b12f9428a84381adf27fac726b35c97733d83c16174af078267ce12526","download_count":78,"created_at":"2026-04-23T14:36:06Z","updated_at":"2026-04-23T14:36:06Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.5/otp_doc_html_28.5.tar.gz.sigstore"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/403501105","id":403501105,"node_id":"RA_kwDOAAW4j84YDPAx","name":"otp_doc_man_28.5.tar.gz","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":1889833,"digest":"sha256:0e062da36709c3cd095bcf1cbb21d3512518cf74dce7fec07cfe980485c29acf","download_count":1328,"created_at":"2026-04-23T14:36:06Z","updated_at":"2026-04-23T14:36:06Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.5/otp_doc_man_28.5.tar.gz"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/403501110","id":403501110,"node_id":"RA_kwDOAAW4j84YDPA2","name":"otp_doc_man_28.5.tar.gz.sigstore","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":5594008,"digest":"sha256:76eb93b12f9428a84381adf27fac726b35c97733d83c16174af078267ce12526","download_count":70,"created_at":"2026-04-23T14:36:06Z","updated_at":"2026-04-23T14:36:07Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.5/otp_doc_man_28.5.tar.gz.sigstore"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/403501100","id":403501100,"node_id":"RA_kwDOAAW4j84YDPAs","name":"otp_src_28.5.tar.gz","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":105251156,"digest":"sha256:2c7e8ca23e6864eb20eff5d44738bfa123aed8cd21ed6d98e533d751eee28d9c","download_count":26228,"created_at":"2026-04-23T14:36:06Z","updated_at":"2026-04-23T14:36:10Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.5/otp_src_28.5.tar.gz"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/403501102","id":403501102,"node_id":"RA_kwDOAAW4j84YDPAu","name":"otp_src_28.5.tar.gz.sigstore","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":5594008,"digest":"sha256:76eb93b12f9428a84381adf27fac726b35c97733d83c16174af078267ce12526","download_count":73,"created_at":"2026-04-23T14:36:06Z","updated_at":"2026-04-23T14:36:06Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.5/otp_src_28.5.tar.gz.sigstore"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/403465200","id":403465200,"node_id":"RA_kwDOAAW4j84YDGPw","name":"otp_win32_28.5.exe","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/x-msdownload","state":"uploaded","size":135019880,"digest":"sha256:1ff929353ba972fafbcba61dc8aa597874fef296f13d8e977984cef8b6fbf9e8","download_count":2041,"created_at":"2026-04-23T13:49:52Z","updated_at":"2026-04-23T13:49:57Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.5/otp_win32_28.5.exe"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/403511791","id":403511791,"node_id":"RA_kwDOAAW4j84YDRnv","name":"otp_win32_28.5.zip","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/zip","state":"uploaded","size":172965254,"digest":"sha256:9a082b676ee7b6df26bc258e539a96481939cbd3bd898477b09522630dfc1df6","download_count":969,"created_at":"2026-04-23T14:51:05Z","updated_at":"2026-04-23T14:51:11Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.5/otp_win32_28.5.zip"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/403465245","id":403465245,"node_id":"RA_kwDOAAW4j84YDGQd","name":"otp_win64_28.5.exe","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/x-msdownload","state":"uploaded","size":153766688,"digest":"sha256:46f56351e2e67865c6aaff83bcd0a7d97d73bea643a0531774dd9ba8fbee7dc0","download_count":31776,"created_at":"2026-04-23T13:49:58Z","updated_at":"2026-04-23T13:50:04Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.5/otp_win64_28.5.exe"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/403511532","id":403511532,"node_id":"RA_kwDOAAW4j84YDRjs","name":"otp_win64_28.5.zip","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/zip","state":"uploaded","size":183375984,"digest":"sha256:d3227232221e68aa8790666e915604269d5471b61792a5d78a043ac653351140","download_count":2619,"created_at":"2026-04-23T14:50:50Z","updated_at":"2026-04-23T14:50:57Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.5/otp_win64_28.5.zip"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/403501099","id":403501099,"node_id":"RA_kwDOAAW4j84YDPAr","name":"SHA256.txt","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"text/plain","state":"uploaded","size":267,"digest":"sha256:f261ff45a744b8ce744596576aa48f07e558aa0ab2f121050d8b4dfdde0da8df","download_count":289,"created_at":"2026-04-23T14:36:06Z","updated_at":"2026-04-23T14:36:06Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.5/SHA256.txt"}],"tarball_url":"https://api.github.com/repos/erlang/otp/tarball/OTP-28.5","zipball_url":"https://api.github.com/repos/erlang/otp/zipball/OTP-28.5","body":"```\nPatch Package:           OTP 28.5\nGit Tag:                 OTP-28.5\nDate:                    2026-04-23\nTrouble Report Id:       OTP-16607, OTP-19162, OTP-19967, OTP-20038,\n                         OTP-20043, OTP-20082, OTP-20094, OTP-20098,\n                         OTP-20101, OTP-20106\nSeq num:                 GH-10667, GH-10812, GH-10915, GH-10967,\n                         OTP-16608, PR-10431, PR-10881, PR-10908,\n                         PR-10924, PR-10957, PR-10976, PR-11002,\n                         PR-11045\nSystem:                  OTP\nRelease:                 28\nApplication:             erl_interface-5.7, erts-16.4, mnesia-4.25.3,\n                         ssl-11.6\nPredecessor:             OTP 28.4.3\n```\n\nCheck out the git tag OTP-28.5, and build a full OTP system including documentation. Apply one or more applications from this build as patches to your installation using the 'otp_patch_apply' tool. For information on install requirements, see descriptions for each application version below.\n\n# HIGHLIGHTS\n\n- There is a new \"Secure Coding Guidelines\" document in [Design Principles] describing how to write secure Erlang code.\n\n  Own Id: OTP-20043\\\n  Application(s): otp\\\n  Related Id(s): [PR-10431]\n\n# OTP-28.5\n\n## Improvements and New Features\n\n- There is a new \"Secure Coding Guidelines\" document in [Design Principles] describing how to write secure Erlang code.\n\n  Own Id: OTP-20043\\\n  Related Id(s): [PR-10431]\n\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\n\n# erl_interface-5.7\n\nThe erl_interface-5.7 application can be applied independently of other applications on a full OTP 28 installation.\n\n## Improvements and New Features\n\n- A new `configure` option [`--{enable,disable}-use-embedded-3pp-alternatives` ][`--{enable,disable}-use-embedded-3pp-alternatives`] has been added. When _enabled_, `configure` is forced to find alternatives, to a subset, of the embedded third-party products (_3pps_) in the runtime system, and when _disabled_, `configure` will use all internal embedded 3pps. Currently this option affects `zstd`, `zlib`, `ryu` (with `STL`), `openssl` and `tcl`. The default is to use all built-in embedded 3pps except for `zlib` which by default will use `zlib` on the OS if available.\n\n  Requirements for alternatives:\n\n  - `zstd` - Static library and include files of at least version 1.5.6 needs to be available.\n  - `zlib` - Library and include files of at least version 1.2.5 needs to be available.\n  - `ryu` (with `STL`) - A usable C++ compiler with C++17 support.\n  - `openssl` - No requirements. Our own MD5 implementation will be used.\n  - `tcl` - The `strerrorname_np()` function (introduced in glibc 2.32) mapping errno integers to symbolic names needs to be available.\n\n  The argument [`embedded_3pps`] has been added to `erlang:system_info/1`. It returns a map with information about the use of embedded 3pps in the runtime system.\n\n  Own Id: OTP-20106\\\n  Related Id(s): [PR-11045]\n\n## Known Bugs and Problems\n\n- The `ei` API for decoding/encoding terms is not fully 64-bit compatible since terms that have a representation on the external term format larger than 2 GB cannot be handled.\n\n  Own Id: OTP-16607\\\n  Related Id(s): OTP-16608\n\n# erts-16.4\n\nThe erts-16.4 application can be applied independently of other applications on a full OTP 28 installation.\n\n## Fixed Bugs and Malfunctions\n\n- Fixed bug in `enif_make_map_from_arrays` for arrays with at least 33 keys. If duplicate keys existed, instead of failing, it would skip the duplicates. If less than 33 unique keys existed, an internally inconsistent and broken map was returned.\n\n  Own Id: OTP-20098\\\n  Related Id(s): [PR-10976]\n\n- Fixed an issue when supplying the args_file option to erl.exe on windows that did not handle unicode characters correctly.\n\n  Own Id: OTP-20101\\\n  Related Id(s): [GH-10667]\n\n## Improvements and New Features\n\n- A new `configure` option [`--{enable,disable}-use-embedded-3pp-alternatives` ][`--{enable,disable}-use-embedded-3pp-alternatives`] has been added. When _enabled_, `configure` is forced to find alternatives, to a subset, of the embedded third-party products (_3pps_) in the runtime system, and when _disabled_, `configure` will use all internal embedded 3pps. Currently this option affects `zstd`, `zlib`, `ryu` (with `STL`), `openssl` and `tcl`. The default is to use all built-in embedded 3pps except for `zlib` which by default will use `zlib` on the OS if available.\n\n  Requirements for alternatives:\n\n  - `zstd` - Static library and include files of at least version 1.5.6 needs to be available.\n  - `zlib` - Library and include files of at least version 1.2.5 needs to be available.\n  - `ryu` (with `STL`) - A usable C++ compiler with C++17 support.\n  - `openssl` - No requirements. Our own MD5 implementation will be used.\n  - `tcl` - The `strerrorname_np()` function (introduced in glibc 2.32) mapping errno integers to symbolic names needs to be available.\n\n  The argument [`embedded_3pps`] has been added to `erlang:system_info/1`. It returns a map with information about the use of embedded 3pps in the runtime system.\n\n  Own Id: OTP-20106\\\n  Related Id(s): [PR-11045]\n\n> #### Full runtime dependencies of erts-16.4\n>\n> kernel-9.0, sasl-3.3, stdlib-4.1\n\n# mnesia-4.25.3\n\nThe mnesia-4.25.3 application can be applied independently of other applications on a full OTP 28 installation.\n\n## Fixed Bugs and Malfunctions\n\n- Added documentation for `user_properties` and functions `read_table_property/2`, `write_table_property/2`, `delete_table_property`. Enhanced documentation for `frag_properties`.\n\n  Own Id: OTP-20038\\\n  Related Id(s): [GH-10812], [PR-10881]\n\n- Fixed a bug where stacktrace was not returned from `mnesia:transaction/1` when transaction aborts with an error exception.\n\n  Own Id: OTP-20094\\\n  Related Id(s): [GH-10967], [PR-11002]\n\n> #### Full runtime dependencies of mnesia-4.25.3\n>\n> erts-9.0, kernel-5.3, stdlib-5.0\n\n# ssl-11.6\n\nNote! The ssl-11.6 application _cannot_ be applied independently of other applications on an arbitrary OTP 28 installation.\n\n```\n   On a full OTP 28 installation, also the following runtime\n   dependencies have to be satisfied:\n   -- crypto-5.8 (first satisfied in OTP 28.3)\n   -- public_key-1.20.3 (first satisfied in OTP 28.4.2)\n```\n\n## Fixed Bugs and Malfunctions\n\n- Preserve inet option order, as inet_backend option must be first option. Will make inet_backend option work for ssl independently of number of inet supplied options.\n\n  Own Id: OTP-19162\\\n  Related Id(s): [PR-10908]\n\n- Missing conformance check for signature algorithms in TLS-1.3 could cause selection of incompatible certificate when a server is configured with more than one possible certificate.\n\n  Own Id: OTP-20082\\\n  Related Id(s): [GH-10915], [PR-10924]\n\n## Improvements and New Features\n\n- Avoid unnecessary memory consumption for temporary processes in a supervision tree.\n\n  Own Id: OTP-19967\\\n  Related Id(s): [PR-10957]\n\n> #### Full runtime dependencies of ssl-11.6\n>\n> crypto-5.8, erts-16.0, inets-5.10.7, kernel-10.3, public_key-1.20.3, runtime_tools-1.15.1, stdlib-7.0\n\n# Thanks to\n\nfelipe stival, Hewwho, Hugo Baraúna, Nick Vatamaniuc, Viktor Söderqvist, William Yang\n\n[design principles]: https://www.erlang.org/doc/system/design_principles.html\n[gh-10667]: https://github.com/erlang/otp/issues/10667\n[gh-10812]: https://github.com/erlang/otp/issues/10812\n[gh-10915]: https://github.com/erlang/otp/issues/10915\n[gh-10967]: https://github.com/erlang/otp/issues/10967\n[pr-10431]: https://github.com/erlang/otp/pull/10431\n[pr-10881]: https://github.com/erlang/otp/pull/10881\n[pr-10908]: https://github.com/erlang/otp/pull/10908\n[pr-10924]: https://github.com/erlang/otp/pull/10924\n[pr-10957]: https://github.com/erlang/otp/pull/10957\n[pr-10976]: https://github.com/erlang/otp/pull/10976\n[pr-11002]: https://github.com/erlang/otp/pull/11002\n[pr-11045]: https://github.com/erlang/otp/pull/11045\n[`--{enable,disable}-use-embedded-3pp-alternatives`]: https://erlang.org/doc/system/install.html#advanced-configuration-and-build-of-erlang-otp_configuring\n[`embedded_3pps`]: https://erlang.org/doc/man/erlang#system_info_embedded_3pps\n","reactions":{"url":"https://api.github.com/repos/erlang/otp/releases/312753432/reactions","total_count":4,"+1":1,"-1":0,"laugh":0,"hooray":1,"confused":0,"heart":2,"rocket":0,"eyes":0}},{"url":"https://api.github.com/repos/erlang/otp/releases/311635172","assets_url":"https://api.github.com/repos/erlang/otp/releases/311635172/assets","upload_url":"https://uploads.github.com/repos/erlang/otp/releases/311635172/assets{?name,label}","html_url":"https://github.com/erlang/otp/releases/tag/OTP-28.4.3","id":311635172,"author":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"node_id":"RE_kwDOAAW4j84Skyzk","tag_name":"OTP-28.4.3","target_commitish":"master","name":"OTP 28.4.3","draft":false,"immutable":false,"prerelease":false,"created_at":"2026-04-20T17:45:56Z","updated_at":"2026-04-22T15:34:20Z","published_at":"2026-04-21T09:45:58Z","assets":[{"url":"https://api.github.com/repos/erlang/otp/releases/assets/401516128","id":401516128,"node_id":"RA_kwDOAAW4j84X7qZg","name":"bom.spdx.json","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/json","state":"uploaded","size":5770133,"digest":"sha256:005f9263e7f06a6b04cadbf391c01819db38b75bbba1499bc467a1baec30878c","download_count":24,"created_at":"2026-04-21T11:03:54Z","updated_at":"2026-04-21T11:03:54Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.4.3/bom.spdx.json"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/401516129","id":401516129,"node_id":"RA_kwDOAAW4j84X7qZh","name":"bom.spdx.json.sigstore","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":5589720,"digest":"sha256:246b33d03016e694c2c9f7ec3dc44718e13980ae50598599c3cb8a7691a3919c","download_count":20,"created_at":"2026-04-21T11:03:54Z","updated_at":"2026-04-21T11:03:54Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.4.3/bom.spdx.json.sigstore"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/401516123","id":401516123,"node_id":"RA_kwDOAAW4j84X7qZb","name":"MD5.txt","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"text/plain","state":"uploaded","size":177,"digest":"sha256:acd2f1f55ccb1c1dc631d455c35d35feff4f9e0b56998dd599f8c7b0ecb45b62","download_count":20,"created_at":"2026-04-21T11:03:54Z","updated_at":"2026-04-21T11:03:54Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.4.3/MD5.txt"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/401469037","id":401469037,"node_id":"RA_kwDOAAW4j84X7e5t","name":"OTP-28.4.3.README","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"text","state":"uploaded","size":2702,"digest":"sha256:5acaec6329caf38f085f89b7d65b04fe42fe79a9d23f9cddc6a8437bedd0a2b2","download_count":188,"created_at":"2026-04-21T09:46:02Z","updated_at":"2026-04-21T09:46:02Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.4.3/OTP-28.4.3.README"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/401469046","id":401469046,"node_id":"RA_kwDOAAW4j84X7e52","name":"OTP-28.4.3.README.md","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"text","state":"uploaded","size":2916,"digest":"sha256:86588a5f3de2ea1b0dad56f86b86fdba2b88c6ca6e078554ec9000bafc670deb","download_count":23,"created_at":"2026-04-21T09:46:02Z","updated_at":"2026-04-21T09:46:03Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.4.3/OTP-28.4.3.README.md"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/401516130","id":401516130,"node_id":"RA_kwDOAAW4j84X7qZi","name":"otp_doc_html_28.4.3.tar.gz","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":27732923,"digest":"sha256:bd4490784ce5037c19cefbbd9658e8d62e591c43de3a154834f2bc19bc5ca83f","download_count":190,"created_at":"2026-04-21T11:03:54Z","updated_at":"2026-04-21T11:03:55Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.4.3/otp_doc_html_28.4.3.tar.gz"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/401516126","id":401516126,"node_id":"RA_kwDOAAW4j84X7qZe","name":"otp_doc_html_28.4.3.tar.gz.sigstore","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":5589720,"digest":"sha256:246b33d03016e694c2c9f7ec3dc44718e13980ae50598599c3cb8a7691a3919c","download_count":22,"created_at":"2026-04-21T11:03:54Z","updated_at":"2026-04-21T11:03:54Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.4.3/otp_doc_html_28.4.3.tar.gz.sigstore"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/401516125","id":401516125,"node_id":"RA_kwDOAAW4j84X7qZd","name":"otp_doc_man_28.4.3.tar.gz","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":1888432,"digest":"sha256:11deba88d0ec9976aedd208e3d3b4c40634ea42d656f2f8e484f0489f6e727bc","download_count":198,"created_at":"2026-04-21T11:03:54Z","updated_at":"2026-04-21T11:03:54Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.4.3/otp_doc_man_28.4.3.tar.gz"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/401516131","id":401516131,"node_id":"RA_kwDOAAW4j84X7qZj","name":"otp_doc_man_28.4.3.tar.gz.sigstore","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":5589720,"digest":"sha256:246b33d03016e694c2c9f7ec3dc44718e13980ae50598599c3cb8a7691a3919c","download_count":21,"created_at":"2026-04-21T11:03:54Z","updated_at":"2026-04-21T11:03:54Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.4.3/otp_doc_man_28.4.3.tar.gz.sigstore"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/401516124","id":401516124,"node_id":"RA_kwDOAAW4j84X7qZc","name":"otp_src_28.4.3.tar.gz","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":105208029,"digest":"sha256:e1c15ad22b2153cb07ca3df9bf460f96b41a9dd002faeaaf4e30b1bde7144bed","download_count":2712,"created_at":"2026-04-21T11:03:54Z","updated_at":"2026-04-21T11:03:58Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.4.3/otp_src_28.4.3.tar.gz"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/401516127","id":401516127,"node_id":"RA_kwDOAAW4j84X7qZf","name":"otp_src_28.4.3.tar.gz.sigstore","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":5589720,"digest":"sha256:246b33d03016e694c2c9f7ec3dc44718e13980ae50598599c3cb8a7691a3919c","download_count":21,"created_at":"2026-04-21T11:03:54Z","updated_at":"2026-04-21T11:03:54Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.4.3/otp_src_28.4.3.tar.gz.sigstore"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/401469052","id":401469052,"node_id":"RA_kwDOAAW4j84X7e58","name":"otp_win32_28.4.3.exe","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/x-msdownload","state":"uploaded","size":130837344,"digest":"sha256:cf5a3dda1722a6766c7ccc1e84878661bc5d1381615dadc412892867b3776859","download_count":671,"created_at":"2026-04-21T09:46:03Z","updated_at":"2026-04-21T09:46:07Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.4.3/otp_win32_28.4.3.exe"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/402638154","id":402638154,"node_id":"RA_kwDOAAW4j84X_8VK","name":"otp_win32_28.4.3.zip","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/zip","state":"uploaded","size":168208634,"digest":"sha256:b1d8f54bd48bb310d5b7d60d3ee54042f9d19764b02231e0cea20a4b06159c54","download_count":62,"created_at":"2026-04-22T15:34:12Z","updated_at":"2026-04-22T15:34:20Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.4.3/otp_win32_28.4.3.zip"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/401469094","id":401469094,"node_id":"RA_kwDOAAW4j84X7e6m","name":"otp_win64_28.4.3.exe","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/x-msdownload","state":"uploaded","size":149551424,"digest":"sha256:8f4b598b084669159ff625d202576c1c6ae4dc4e9d61e20df15c1f052a9cad57","download_count":5687,"created_at":"2026-04-21T09:46:08Z","updated_at":"2026-04-21T09:46:14Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.4.3/otp_win64_28.4.3.exe"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/402637928","id":402637928,"node_id":"RA_kwDOAAW4j84X_8Ro","name":"otp_win64_28.4.3.zip","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/zip","state":"uploaded","size":178576417,"digest":"sha256:d02c47a517a7aeb3cc1695916fcd3f3f9ba126987464ccaee9f190d8a674c7e1","download_count":99,"created_at":"2026-04-22T15:33:44Z","updated_at":"2026-04-22T15:33:50Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.4.3/otp_win64_28.4.3.zip"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/401516122","id":401516122,"node_id":"RA_kwDOAAW4j84X7qZa","name":"SHA256.txt","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"text/plain","state":"uploaded","size":273,"digest":"sha256:d93d29fe05b94a6f541e10c666c296f7fbee3531aa8c89851aae1ece273a3662","download_count":505,"created_at":"2026-04-21T11:03:54Z","updated_at":"2026-04-21T11:03:54Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.4.3/SHA256.txt"}],"tarball_url":"https://api.github.com/repos/erlang/otp/tarball/OTP-28.4.3","zipball_url":"https://api.github.com/repos/erlang/otp/zipball/OTP-28.4.3","body":"```\nPatch Package:           OTP 28.4.3\nGit Tag:                 OTP-28.4.3\nDate:                    2026-04-21\nTrouble Report Id:       OTP-20081, OTP-20086, OTP-20104\nSeq num:                 #10968, CVE-2026-32147, PR-10985, PR-11027\nSystem:                  OTP\nRelease:                 28\nApplication:             kernel-10.6.3, ssh-5.5.2\nPredecessor:             OTP 28.4.2\n```\n\nCheck out the git tag OTP-28.4.3, and build a full OTP system including documentation. Apply one or more applications from this build as patches to your installation using the 'otp_patch_apply' tool. For information on install requirements, see descriptions for each application version below.\n\n# OTP-28.4.3\n\n## Fixed Bugs and Malfunctions\n\n- Fix the `otp_patch_apply` script to properly handle installation of documentation for OTP versions with more than one digit in version parts less significant than the major version.\n\n  Own Id: OTP-20086\\\n  Related Id(s): [PR-10985]\n\n# kernel-10.6.3\n\nThe kernel-10.6.3 application can be applied independently of other applications on a full OTP 28 installation.\n\n## Fixed Bugs and Malfunctions\n\n- On Windows, sockets has to be bound when using 'socket'. Therefor when using gen_tcp with inet_backend = socket, gen_tcp_socket bind even if the caller has not provided an explicit bind address. In that case it attempts to locate a \"proper\" address on its own. But if the connect address is the loopback address, this could lead to an attempt to bind to an external interface. So, this has now been changed so that if the connect address is the loopback address, the loopback address will also be used when binding.\n\n  Own Id: OTP-20104\\\n  Related Id(s): [#10968]\n\n> #### Full runtime dependencies of kernel-10.6.3\n>\n> crypto-5.0, erts-15.2.5, sasl-3.0, stdlib-7.0\n\n# ssh-5.5.2\n\nNote! The ssh-5.5.2 application _cannot_ be applied independently of other applications on an arbitrary OTP 28 installation.\n\n```\n   On a full OTP 28 installation, also the following runtime\n   dependency has to be satisfied:\n   -- crypto-5.7 (first satisfied in OTP 28.1)\n```\n\n## Fixed Bugs and Malfunctions\n\n- Fixed a vulnerability in the SFTP server where file attributes could be modified outside the configured root directory. When using FSETSTAT on an open file handle, the operation used the path stored in the handle without verifying it was within the root directory, allowing attribute changes to files outside the chroot boundary.\n\n  Thanks to John Downey.\n\n  Own Id: OTP-20081\\\n  Related Id(s): [PR-11027], [CVE-2026-32147]\n\n> #### Full runtime dependencies of ssh-5.5.2\n>\n> crypto-5.7, erts-14.0, kernel-10.3, public_key-1.6.1, runtime_tools-1.15.1, stdlib-5.0, stdlib-6.0\n\n[#10968]: https://github.com/erlang/otp/issues/10968\n[cve-2026-32147]: https://nvd.nist.gov/vuln/detail/CVE-2026-32147\n[pr-10985]: https://github.com/erlang/otp/pull/10985\n[pr-11027]: https://github.com/erlang/otp/pull/11027\n","reactions":{"url":"https://api.github.com/repos/erlang/otp/releases/311635172/reactions","total_count":2,"+1":0,"-1":0,"laugh":0,"hooray":2,"confused":0,"heart":0,"rocket":0,"eyes":0}},{"url":"https://api.github.com/repos/erlang/otp/releases/311641181","assets_url":"https://api.github.com/repos/erlang/otp/releases/311641181/assets","upload_url":"https://uploads.github.com/repos/erlang/otp/releases/311641181/assets{?name,label}","html_url":"https://github.com/erlang/otp/releases/tag/OTP-27.3.4.11","id":311641181,"author":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"node_id":"RE_kwDOAAW4j84Sk0Rd","tag_name":"OTP-27.3.4.11","target_commitish":"master","name":"OTP 27.3.4.11","draft":false,"immutable":false,"prerelease":false,"created_at":"2026-04-20T17:44:37Z","updated_at":"2026-04-22T15:33:56Z","published_at":"2026-04-21T10:00:17Z","assets":[{"url":"https://api.github.com/repos/erlang/otp/releases/assets/401477017","id":401477017,"node_id":"RA_kwDOAAW4j84X7g2Z","name":"MD5.txt","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"text/plain","state":"uploaded","size":186,"digest":"sha256:6579d25099540279ec3eafe115cbb75ba4cb4ac671e7c8fec652010d949eb213","download_count":26,"created_at":"2026-04-21T10:00:13Z","updated_at":"2026-04-21T10:00:14Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-27.3.4.11/MD5.txt"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/401499567","id":401499567,"node_id":"RA_kwDOAAW4j84X7mWv","name":"OTP-27.3.4.11.README","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"text","state":"uploaded","size":3032,"digest":"sha256:77f49ec8bd0d7a02ad4c1ca2420328f654e8af0bcb6b8c3e6e77e2acc001b378","download_count":191,"created_at":"2026-04-21T10:34:34Z","updated_at":"2026-04-21T10:34:34Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-27.3.4.11/OTP-27.3.4.11.README"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/401499571","id":401499571,"node_id":"RA_kwDOAAW4j84X7mWz","name":"OTP-27.3.4.11.README.md","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"text","state":"uploaded","size":3454,"digest":"sha256:8c06306d36cdddbc2c71756e04b8c3e610567939ea495d89bff06fad97671511","download_count":36,"created_at":"2026-04-21T10:34:34Z","updated_at":"2026-04-21T10:34:34Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-27.3.4.11/OTP-27.3.4.11.README.md"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/401477020","id":401477020,"node_id":"RA_kwDOAAW4j84X7g2c","name":"otp_doc_html_27.3.4.11.tar.gz","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":26157569,"digest":"sha256:82edced066d3bf9d681a17f77bb1d4b3bee6f8fa48a06aaf622236cacc7a6880","download_count":154,"created_at":"2026-04-21T10:00:13Z","updated_at":"2026-04-21T10:00:15Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-27.3.4.11/otp_doc_html_27.3.4.11.tar.gz"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/401477021","id":401477021,"node_id":"RA_kwDOAAW4j84X7g2d","name":"otp_doc_man_27.3.4.11.tar.gz","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":45215,"digest":"sha256:dbe305da93ddd11026fdab15d4a63457aef7ada57a74081a8b31375b2c3d76cb","download_count":76,"created_at":"2026-04-21T10:00:13Z","updated_at":"2026-04-21T10:00:14Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-27.3.4.11/otp_doc_man_27.3.4.11.tar.gz"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/401477018","id":401477018,"node_id":"RA_kwDOAAW4j84X7g2a","name":"otp_src_27.3.4.11.tar.gz","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":101519995,"digest":"sha256:9d63382d3e7707c058dabe338114e09ff8228d54d29df794d907d3c8dddde5f9","download_count":7035,"created_at":"2026-04-21T10:00:13Z","updated_at":"2026-04-21T10:00:17Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-27.3.4.11/otp_src_27.3.4.11.tar.gz"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/401570711","id":401570711,"node_id":"RA_kwDOAAW4j84X73uX","name":"otp_win32_27.3.4.11.exe","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/x-msdownload","state":"uploaded","size":122289008,"digest":"sha256:f3f81cb9f5a3548d569eef65d7b418e1316b621b5ea5e5be7ff65f1ae214bab4","download_count":550,"created_at":"2026-04-21T12:50:58Z","updated_at":"2026-04-21T12:51:02Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-27.3.4.11/otp_win32_27.3.4.11.exe"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/402637979","id":402637979,"node_id":"RA_kwDOAAW4j84X_8Sb","name":"otp_win32_27.3.4.11.zip","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/zip","state":"uploaded","size":137493649,"digest":"sha256:9e0d46656bd000c53d4c20104f27af89b654fab5eefb023342cdadd6f30260f5","download_count":49,"created_at":"2026-04-22T15:33:52Z","updated_at":"2026-04-22T15:33:56Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-27.3.4.11/otp_win32_27.3.4.11.zip"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/401570757","id":401570757,"node_id":"RA_kwDOAAW4j84X73vF","name":"otp_win64_27.3.4.11.exe","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/x-msdownload","state":"uploaded","size":140033768,"digest":"sha256:e0802268a44490a6f22779fdab7f7d06566ec1c77fbc6fb0ec8241b37405746b","download_count":12042,"created_at":"2026-04-21T12:51:03Z","updated_at":"2026-04-21T12:51:09Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-27.3.4.11/otp_win64_27.3.4.11.exe"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/402637925","id":402637925,"node_id":"RA_kwDOAAW4j84X_8Rl","name":"otp_win64_27.3.4.11.zip","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/zip","state":"uploaded","size":156299378,"digest":"sha256:46cfe4dcd59831381cfed73ddfcc5b6b829f4f1fd62789788d4e5cb6b82f9d7c","download_count":462,"created_at":"2026-04-22T15:33:44Z","updated_at":"2026-04-22T15:33:50Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-27.3.4.11/otp_win64_27.3.4.11.zip"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/401477019","id":401477019,"node_id":"RA_kwDOAAW4j84X7g2b","name":"SHA256.txt","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"text/plain","state":"uploaded","size":282,"digest":"sha256:f309b1c895e9bc7532f072d3f56807798120fd8221fe882f7fd1cd639b37caea","download_count":593,"created_at":"2026-04-21T10:00:13Z","updated_at":"2026-04-21T10:00:14Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-27.3.4.11/SHA256.txt"}],"tarball_url":"https://api.github.com/repos/erlang/otp/tarball/OTP-27.3.4.11","zipball_url":"https://api.github.com/repos/erlang/otp/zipball/OTP-27.3.4.11","body":null},{"url":"https://api.github.com/repos/erlang/otp/releases/311678503","assets_url":"https://api.github.com/repos/erlang/otp/releases/311678503/assets","upload_url":"https://uploads.github.com/repos/erlang/otp/releases/311678503/assets{?name,label}","html_url":"https://github.com/erlang/otp/releases/tag/OTP-26.2.5.20","id":311678503,"author":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"node_id":"RE_kwDOAAW4j84Sk9Yn","tag_name":"OTP-26.2.5.20","target_commitish":"master","name":"OTP 26.2.5.20","draft":false,"immutable":false,"prerelease":false,"created_at":"2026-04-20T17:43:29Z","updated_at":"2026-04-22T15:34:04Z","published_at":"2026-04-21T11:31:44Z","assets":[{"url":"https://api.github.com/repos/erlang/otp/releases/assets/401529688","id":401529688,"node_id":"RA_kwDOAAW4j84X7ttY","name":"MD5.txt","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"text/plain","state":"uploaded","size":186,"digest":"sha256:fbff2994006482426c42d2615a57ed0732ca71464f47c5fa9f0bb0de8ce45e2d","download_count":28,"created_at":"2026-04-21T11:31:38Z","updated_at":"2026-04-21T11:31:39Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-26.2.5.20/MD5.txt"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/401570578","id":401570578,"node_id":"RA_kwDOAAW4j84X73sS","name":"OTP-26.2.5.20.README","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"text","state":"uploaded","size":2663,"digest":"sha256:c4c6eb30bdc58eb58baa31114ba81ff273cc0a72145d438a52bf8300853a450a","download_count":181,"created_at":"2026-04-21T12:50:43Z","updated_at":"2026-04-21T12:50:43Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-26.2.5.20/OTP-26.2.5.20.README"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/401529689","id":401529689,"node_id":"RA_kwDOAAW4j84X7ttZ","name":"otp_doc_html_26.2.5.20.tar.gz","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":37659693,"digest":"sha256:ee288cec98168e684aa245c4085a50e292522025f6cbd63ce382a9c154e79647","download_count":244,"created_at":"2026-04-21T11:31:38Z","updated_at":"2026-04-21T11:31:40Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-26.2.5.20/otp_doc_html_26.2.5.20.tar.gz"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/401529690","id":401529690,"node_id":"RA_kwDOAAW4j84X7tta","name":"otp_doc_man_26.2.5.20.tar.gz","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":1752963,"digest":"sha256:dfaf93dfac02b2d59844792d14610ed592ca18e4ba048c1bdcd6df24cbe41dcd","download_count":303,"created_at":"2026-04-21T11:31:38Z","updated_at":"2026-04-21T11:31:39Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-26.2.5.20/otp_doc_man_26.2.5.20.tar.gz"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/401529692","id":401529692,"node_id":"RA_kwDOAAW4j84X7ttc","name":"otp_src_26.2.5.20.tar.gz","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":106331214,"digest":"sha256:fcb6fd222fe6abd00aa12e7fc41d15c149c44f3b5ac4c98896ce63abcf128db0","download_count":4375,"created_at":"2026-04-21T11:31:38Z","updated_at":"2026-04-21T11:31:43Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-26.2.5.20/otp_src_26.2.5.20.tar.gz"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/401570583","id":401570583,"node_id":"RA_kwDOAAW4j84X73sX","name":"otp_win32_26.2.5.20.exe","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/x-msdownload","state":"uploaded","size":135916432,"digest":"sha256:06f02f583add43f9dce935564625591ff7717d4bf374592826553c33d35ae41e","download_count":281,"created_at":"2026-04-21T12:50:43Z","updated_at":"2026-04-21T12:50:50Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-26.2.5.20/otp_win32_26.2.5.20.exe"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/402637762","id":402637762,"node_id":"RA_kwDOAAW4j84X_8PC","name":"otp_win32_26.2.5.20.zip","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/zip","state":"uploaded","size":148188962,"digest":"sha256:c0bc485f3e9e230661a4bd5467c08f133b94d2c8b0acdc98d62c3f304f3ec9d1","download_count":58,"created_at":"2026-04-22T15:33:33Z","updated_at":"2026-04-22T15:33:38Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-26.2.5.20/otp_win32_26.2.5.20.zip"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/401570647","id":401570647,"node_id":"RA_kwDOAAW4j84X73tX","name":"otp_win64_26.2.5.20.exe","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/x-msdownload","state":"uploaded","size":153212400,"digest":"sha256:5ae52e53520c936774ed2b818b2d272cb3c81bf747aeedd8e693ca7c6e5c759a","download_count":11883,"created_at":"2026-04-21T12:50:50Z","updated_at":"2026-04-21T12:50:57Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-26.2.5.20/otp_win64_26.2.5.20.exe"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/402638052","id":402638052,"node_id":"RA_kwDOAAW4j84X_8Tk","name":"otp_win64_26.2.5.20.zip","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/zip","state":"uploaded","size":166317610,"digest":"sha256:ba57e2cf9b6ba635ae1adad74b9fff5f3f27b987382406447cf4f03d17caabbf","download_count":273,"created_at":"2026-04-22T15:33:58Z","updated_at":"2026-04-22T15:34:04Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-26.2.5.20/otp_win64_26.2.5.20.zip"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/401529687","id":401529687,"node_id":"RA_kwDOAAW4j84X7ttX","name":"SHA256.txt","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"text/plain","state":"uploaded","size":282,"digest":"sha256:5237ed929f8f1700beaae5caf268b907565ad690f688c9e43938337d08593942","download_count":215,"created_at":"2026-04-21T11:31:38Z","updated_at":"2026-04-21T11:31:39Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-26.2.5.20/SHA256.txt"}],"tarball_url":"https://api.github.com/repos/erlang/otp/tarball/OTP-26.2.5.20","zipball_url":"https://api.github.com/repos/erlang/otp/zipball/OTP-26.2.5.20","body":null},{"url":"https://api.github.com/repos/erlang/otp/releases/309207127","assets_url":"https://api.github.com/repos/erlang/otp/releases/309207127/assets","upload_url":"https://uploads.github.com/repos/erlang/otp/releases/309207127/assets{?name,label}","html_url":"https://github.com/erlang/otp/releases/tag/OTP-29.0-rc3","id":309207127,"author":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"node_id":"RE_kwDOAAW4j84SbiBX","tag_name":"OTP-29.0-rc3","target_commitish":"master","name":"OTP 29.0-rc3","draft":false,"immutable":false,"prerelease":true,"created_at":"2026-04-15T06:47:23Z","updated_at":"2026-04-15T11:13:48Z","published_at":"2026-04-15T07:46:40Z","assets":[{"url":"https://api.github.com/repos/erlang/otp/releases/assets/396947126","id":396947126,"node_id":"RA_kwDOAAW4j84XqO62","name":"bom.spdx.json","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/json","state":"uploaded","size":5810086,"digest":"sha256:46dc3faa16ff326ba3391feb532fd20955ee4ce17890866392deba37f399cc30","download_count":26,"created_at":"2026-04-15T11:13:45Z","updated_at":"2026-04-15T11:13:45Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-29.0-rc3/bom.spdx.json"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/396947122","id":396947122,"node_id":"RA_kwDOAAW4j84XqO6y","name":"bom.spdx.json.sigstore","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":5633912,"digest":"sha256:3ed7f74d82d3c642ec4b431ff454836a694c2da4c8245bd1ed6cbe897eab8271","download_count":23,"created_at":"2026-04-15T11:13:45Z","updated_at":"2026-04-15T11:13:45Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-29.0-rc3/bom.spdx.json.sigstore"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/396947128","id":396947128,"node_id":"RA_kwDOAAW4j84XqO64","name":"MD5.txt","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"text/plain","state":"uploaded","size":183,"digest":"sha256:6635c95300687cb73696ce05e22f175c28c40178707004d695b104691cecc660","download_count":20,"created_at":"2026-04-15T11:13:45Z","updated_at":"2026-04-15T11:13:45Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-29.0-rc3/MD5.txt"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/396835668","id":396835668,"node_id":"RA_kwDOAAW4j84XpztU","name":"OTP-29.0-rc3.README","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"text","state":"uploaded","size":104610,"digest":"sha256:8c98c6f2508617c97c65aba5f3028a52bcb134e83e3cbb41b86ca0efdba0b17a","download_count":26,"created_at":"2026-04-15T07:46:44Z","updated_at":"2026-04-15T07:46:45Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-29.0-rc3/OTP-29.0-rc3.README"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/396835676","id":396835676,"node_id":"RA_kwDOAAW4j84Xpztc","name":"OTP-29.0-rc3.README.md","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"text","state":"uploaded","size":114505,"digest":"sha256:608ad2f6c626ce5c14f0d08bde2f150e4468fa23517a6313dab54f42e10d960f","download_count":28,"created_at":"2026-04-15T07:46:45Z","updated_at":"2026-04-15T07:46:45Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-29.0-rc3/OTP-29.0-rc3.README.md"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/396947133","id":396947133,"node_id":"RA_kwDOAAW4j84XqO69","name":"otp_doc_html_29.0-rc3.tar.gz","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":32781584,"digest":"sha256:7d34af30ba905c0506ec77a3cedad1d3a828c32466df644e62bf842c7ab11d0c","download_count":35,"created_at":"2026-04-15T11:13:45Z","updated_at":"2026-04-15T11:13:46Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-29.0-rc3/otp_doc_html_29.0-rc3.tar.gz"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/396947125","id":396947125,"node_id":"RA_kwDOAAW4j84XqO61","name":"otp_doc_html_29.0-rc3.tar.gz.sigstore","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":5633912,"digest":"sha256:3ed7f74d82d3c642ec4b431ff454836a694c2da4c8245bd1ed6cbe897eab8271","download_count":25,"created_at":"2026-04-15T11:13:45Z","updated_at":"2026-04-15T11:13:45Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-29.0-rc3/otp_doc_html_29.0-rc3.tar.gz.sigstore"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/396947131","id":396947131,"node_id":"RA_kwDOAAW4j84XqO67","name":"otp_doc_man_29.0-rc3.tar.gz","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":1931511,"digest":"sha256:979c880b468549d1e399048afbf40d8181524c9835523b185539371d771e3ab8","download_count":27,"created_at":"2026-04-15T11:13:45Z","updated_at":"2026-04-15T11:13:45Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-29.0-rc3/otp_doc_man_29.0-rc3.tar.gz"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/396947127","id":396947127,"node_id":"RA_kwDOAAW4j84XqO63","name":"otp_doc_man_29.0-rc3.tar.gz.sigstore","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":5633912,"digest":"sha256:3ed7f74d82d3c642ec4b431ff454836a694c2da4c8245bd1ed6cbe897eab8271","download_count":19,"created_at":"2026-04-15T11:13:45Z","updated_at":"2026-04-15T11:13:45Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-29.0-rc3/otp_doc_man_29.0-rc3.tar.gz.sigstore"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/396947132","id":396947132,"node_id":"RA_kwDOAAW4j84XqO68","name":"otp_src_29.0-rc3.tar.gz","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":106378669,"digest":"sha256:aa49fb1b150a3eeeae4010e41ed5361c642c7065e6ed8cc48ff161b155997460","download_count":325,"created_at":"2026-04-15T11:13:45Z","updated_at":"2026-04-15T11:13:48Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-29.0-rc3/otp_src_29.0-rc3.tar.gz"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/396947123","id":396947123,"node_id":"RA_kwDOAAW4j84XqO6z","name":"otp_src_29.0-rc3.tar.gz.sigstore","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":5633912,"digest":"sha256:3ed7f74d82d3c642ec4b431ff454836a694c2da4c8245bd1ed6cbe897eab8271","download_count":20,"created_at":"2026-04-15T11:13:45Z","updated_at":"2026-04-15T11:13:45Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-29.0-rc3/otp_src_29.0-rc3.tar.gz.sigstore"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/396835762","id":396835762,"node_id":"RA_kwDOAAW4j84Xpzuy","name":"otp_win64_29.0-rc3.exe","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/x-msdownload","state":"uploaded","size":155213136,"digest":"sha256:0cfa48b461a160e5364f5f4e4919ec544e200db964d95accd2d7d17b4d11ad42","download_count":119,"created_at":"2026-04-15T07:46:52Z","updated_at":"2026-04-15T07:46:57Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-29.0-rc3/otp_win64_29.0-rc3.exe"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/396865655","id":396865655,"node_id":"RA_kwDOAAW4j84Xp7B3","name":"otp_win64_29.0-rc3.zip","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/zip","state":"uploaded","size":185157756,"digest":"sha256:a806eaafe8928fae5039129e375307597979470dd7eb2c5d4c50a1c447debe09","download_count":101,"created_at":"2026-04-15T08:38:56Z","updated_at":"2026-04-15T08:39:02Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-29.0-rc3/otp_win64_29.0-rc3.zip"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/396947124","id":396947124,"node_id":"RA_kwDOAAW4j84XqO60","name":"SHA256.txt","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"text/plain","state":"uploaded","size":279,"digest":"sha256:6399e5b76c0eaf0f39bafe2ee89ef4c64f2ead8f4d11ff0bf15a19089c3f7a45","download_count":131,"created_at":"2026-04-15T11:13:45Z","updated_at":"2026-04-15T11:13:45Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-29.0-rc3/SHA256.txt"}],"tarball_url":"https://api.github.com/repos/erlang/otp/tarball/OTP-29.0-rc3","zipball_url":"https://api.github.com/repos/erlang/otp/zipball/OTP-29.0-rc3","body":"```\r\nInital Release:          OTP 29.0\r\nGit Tag:                 OTP-29.0\r\nDate:                    2026-04-15\r\nTrouble Report Id:       OTP-16607, OTP-19587, OTP-19611, OTP-19643,\r\n                         OTP-19663, OTP-19672, OTP-19695, OTP-19708,\r\n                         OTP-19709, OTP-19713, OTP-19734, OTP-19744,\r\n                         OTP-19747, OTP-19750, OTP-19751, OTP-19763,\r\n                         OTP-19766, OTP-19783, OTP-19784, OTP-19785,\r\n                         OTP-19786, OTP-19793, OTP-19800, OTP-19801,\r\n                         OTP-19807, OTP-19809, OTP-19811, OTP-19815,\r\n                         OTP-19822, OTP-19826, OTP-19834, OTP-19838,\r\n                         OTP-19842, OTP-19853, OTP-19858, OTP-19866,\r\n                         OTP-19874, OTP-19882, OTP-19887, OTP-19898,\r\n                         OTP-19903, OTP-19906, OTP-19910, OTP-19912,\r\n                         OTP-19917, OTP-19918, OTP-19919, OTP-19921,\r\n                         OTP-19922, OTP-19925, OTP-19927, OTP-19932,\r\n                         OTP-19933, OTP-19934, OTP-19935, OTP-19936,\r\n                         OTP-19938, OTP-19942, OTP-19943, OTP-19949,\r\n                         OTP-19956, OTP-19960, OTP-19963, OTP-19964,\r\n                         OTP-19965, OTP-19966, OTP-19968, OTP-19969,\r\n                         OTP-19975, OTP-19980, OTP-19982, OTP-19991,\r\n                         OTP-19995, OTP-19996, OTP-19997, OTP-20001,\r\n                         OTP-20002, OTP-20003, OTP-20004, OTP-20010,\r\n                         OTP-20013, OTP-20015, OTP-20016, OTP-20017,\r\n                         OTP-20019, OTP-20020, OTP-20023, OTP-20025,\r\n                         OTP-20026, OTP-20028, OTP-20029, OTP-20030,\r\n                         OTP-20031, OTP-20032, OTP-20034, OTP-20035,\r\n                         OTP-20036, OTP-20045, OTP-20048, OTP-20054,\r\n                         OTP-20055, OTP-20059, OTP-20061, OTP-20066,\r\n                         OTP-20069, OTP-20070, OTP-20071, OTP-20072,\r\n                         OTP-20073, OTP-20076, OTP-20077, OTP-20078,\r\n                         OTP-20079, OTP-20080, OTP-20088, OTP-20090,\r\n                         OTP-20092, OTP-20095, OTP-20099\r\nSeq num:                 GH-10071, GH-10125, GH-10151, GH-10214,\r\n                         GH-10260, GH-10341, GH-10345, GH-10557,\r\n                         GH-10650, GH-10807, GH-8569, GH-8841,\r\n                         GH-8993, GH-9822, OTP-16608, OTP-19652,\r\n                         OTP-19775, OTP-19779, OTP-19827, PR-10013,\r\n                         PR-10033, PR-10078, PR-10114, PR-10115,\r\n                         PR-10126, PR-10134, PR-10144, PR-10145,\r\n                         PR-10161, PR-10166, PR-10168, PR-10187,\r\n                         PR-10189, PR-10193, PR-10195, PR-10197,\r\n                         PR-10202, PR-10207, PR-10230, PR-10234,\r\n                         PR-10243, PR-10253, PR-10259, PR-10269,\r\n                         PR-10276, PR-10277, PR-10281, PR-10304,\r\n                         PR-10338, PR-10348, PR-10372, PR-10382,\r\n                         PR-10387, PR-10417, PR-10421, PR-10422,\r\n                         PR-10426, PR-10433, PR-10449, PR-10453,\r\n                         PR-10478, PR-10510, PR-10511, PR-10514,\r\n                         PR-10519, PR-10524, PR-10532, PR-10549,\r\n                         PR-10554, PR-10556, PR-10564, PR-10568,\r\n                         PR-10571, PR-10573, PR-10578, PR-10579,\r\n                         PR-10580, PR-10585, PR-10592, PR-10598,\r\n                         PR-10601, PR-10614, PR-10615, PR-10617,\r\n                         PR-10619, PR-10626, PR-10642, PR-10646,\r\n                         PR-10647, PR-10653, PR-10656, PR-10674,\r\n                         PR-10710, PR-10718, PR-10730, PR-10735,\r\n                         PR-10739, PR-10753, PR-10754, PR-10755,\r\n                         PR-10770, PR-10782, PR-10783, PR-10801,\r\n                         PR-10804, PR-10805, PR-10814, PR-10817,\r\n                         PR-10818, PR-10819, PR-10820, PR-10821,\r\n                         PR-10824, PR-10830, PR-10836, PR-10838,\r\n                         PR-10839, PR-10870, PR-10892, PR-10894,\r\n                         PR-10910, PR-10938, PR-10948, PR-10949,\r\n                         PR-10950, PR-10951, PR-10958, PR-10962,\r\n                         PR-10965, PR-10969, PR-10970, PR-10979,\r\n                         PR-10986, PR-10998, PR-11004, PR-11010,\r\n                         PR-7118, PR-7315, PR-9115, PR-9125, PR-9134,\r\n                         PR-9153, PR-9209, PR-9223, PR-9315, PR-9374,\r\n                         PR-9475, PR-9712, PR-9814, PR-9864, PR-9866,\r\n                         PR-9894, PR-9899, PR-9934, PR-9940, PR-9984\r\nSystem:                  OTP\r\nRelease:                 29\r\nApplication:             asn1-5.5, common_test-1.31, compiler-10.0,\r\n                         crypto-5.9, debugger-7.0, dialyzer-6.0,\r\n                         diameter-2.7, edoc-1.5, eldap-1.3,\r\n                         erl_interface-5.7, erts-17.0, et-1.8,\r\n                         eunit-2.11, ftp-1.2.5, inets-9.7,\r\n                         jinterface-1.16, kernel-11.0, megaco-4.9,\r\n                         mnesia-4.26, observer-2.19, odbc-2.17,\r\n                         os_mon-2.12, parsetools-2.8, public_key-1.21,\r\n                         reltool-1.1, runtime_tools-2.4, sasl-4.4,\r\n                         snmp-5.20.3, ssh-6.0, ssl-11.6, stdlib-8.0,\r\n                         syntax_tools-4.1, tftp-1.3, tools-4.2,\r\n                         wx-2.6, xmerl-2.2\r\nPredecessor:             OTP\r\n```\r\n\r\nCheck out the git tag OTP-29.0, and build a full OTP system including documentation.\r\n\r\n# HIGHLIGHTS\r\n\r\n- The JIT now generates better code for matching or creating binaries with multiple little-endian segments.\r\n\r\n  Own Id: OTP-19747\\\r\n  Application(s): erts\\\r\n  Related Id(s): [PR-10126]\r\n\r\n- In the documentation for the [`compile`] module, a section has been added with recommendations for implementors of languages running on the BEAM. Documentation has also been added for the `to_abstr`, `to_exp`, and `from_abstr` options.\r\n\r\n  The documentation for [erlc] now lists `.abstr` as one of the supported options.\r\n\r\n  When compiling with the `to_abstr` option, the resulting `.abstr` file now retains any `-doc` attributes present in the source code.\r\n\r\n  Own Id: OTP-19784\\\r\n  Application(s): compiler, erts\\\r\n  Related Id(s): [PR-10230], [PR-10234]\r\n\r\n- Native records as described in [EEP-79] has been implemented.\r\n\r\n  A native record is a data structure similar to the traditional tuple-based records, except that is a true data type.\r\n\r\n  Native records are considered experimental in Erlang/OTP 29 and possibly also in Erlang/OTP 30, meaning that their behavior may change, potentially requiring updates to applications that use them.\r\n\r\n  Own Id: OTP-19785\\\r\n  Application(s): compiler, debugger, dialyzer, erts, stdlib\\\r\n  Related Id(s): [PR-10617]\r\n\r\n- The guard BIF `is_integer/3` has been added. It follows the design of the original EEP-16, only changing the name from `is_between` to `is_integer`. This BIF takes in 3 parameters, `Term`, `LowerBound`, and `UpperBound`.\r\n\r\n  It returns `true` if `Term`, `LowerBound`, and `UpperBound` are all integers, and `LowerBound =< Term =< UpperBound`; otherwise, it returns false.\r\n\r\n  Example:\r\n\r\n  ```erlang\r\n  1> I = 42.\r\n  2> is_integer(I, 0, 100).\r\n  true\r\n  ```\r\n\r\n  Own Id: OTP-19809\\\r\n  Application(s): compiler, dialyzer, erts\\\r\n  Related Id(s): [PR-10276]\r\n\r\n- There are new functions for random permutation of a list: `rand:shuffle/1` and `rand:shuffle_s/2`. They are inspired by a suggestion and discussion on ErlangForums.\r\n\r\n  Own Id: OTP-19826\\\r\n  Application(s): stdlib\\\r\n  Related Id(s): [PR-10281]\r\n\r\n- In the default code path for the Erlang system, the current working directory (`.`) is now in the last position instead of the first.\r\n\r\n  Own Id: OTP-19842\\\r\n  Application(s): erts, kernel\r\n\r\n  \\*\\*\\* POTENTIAL INCOMPATIBILITY \\*\\*\\*\r\n\r\n- Function application is now left associative. That means one can now write:\r\n\r\n  ```\r\n  f(X)(Y)\r\n  ```\r\n\r\n  instead of:\r\n\r\n  ```\r\n  (f(X))(Y)\r\n  ```\r\n\r\n  Own Id: OTP-19866\\\r\n  Application(s): compiler\\\r\n  Related Id(s): [PR-9223]\r\n\r\n- The old-style type tests in guards (`integer`, `atom`, and so on) have been scheduled for removal in Erlang/OTP 30. They have been deprecated for a long time.\r\n\r\n  Own Id: OTP-19887\\\r\n  Application(s): otp\\\r\n  Related Id(s): [PR-10417]\r\n\r\n- There will now be a warning when exporting variables out of a subexpression. For example:\r\n\r\n  ```\r\n  case file:open(File, AllOpts = [write,{encoding,utf8}]) of\r\n      {ok,Fd} ->\r\n          {Fd,AllOpts}\r\n  end\r\n  ```\r\n\r\n  To avoid the warning, this can be rewritten to:\r\n\r\n  ```\r\n  AllOpts = [write,{encoding,utf8}],\r\n  case file:open(File, AllOpts) of\r\n      {ok,Fd} ->\r\n          {Fd,AllOpts}\r\n  end\r\n  ```\r\n\r\n  The warning can be suppressed by giving option `nowarn_export_var_subexpr` to the compiler.\r\n\r\n  Own Id: OTP-19898\\\r\n  Application(s): compiler, stdlib\\\r\n  Related Id(s): [PR-9134]\r\n\r\n- By default, the compiler will now warn for uses of the `and` and `or` operators.\r\n\r\n  This warning can be suppressed using the `nowarn_obsolete_bool_op` compiler option.\r\n\r\n  Own Id: OTP-19918\\\r\n  Application(s): compiler\\\r\n  Related Id(s): [PR-9115]\r\n\r\n- `graph` is a new module that is a functional equivalent of the [`digraph`] and [`digraph_utils`] modules.\r\n\r\n  Own Id: OTP-19922\\\r\n  Application(s): stdlib\\\r\n  Related Id(s): [PR-10532]\r\n\r\n- Before Erlang/OTP 29, attempting to bind variables in a comprehension would compile successfully but fail at runtime. Example:\r\n\r\n  ```\r\n  1> fh(List) -> [H || E <- List, H = erlang:phash2(E), H rem 10 =:= 0].\r\n  ok\r\n  2> fh(lists:seq(1, 10)).\r\n  * exception error: bad filter 2614250\r\n  ```\r\n\r\n  In Erlang/OTP 29, attempting to bind a variable in a comprehension will fail by default:\r\n\r\n  ```\r\n  1> fh(List) -> [H || E <- List, H = erlang:phash2(E), H rem 10 =:= 0].\r\n  * 5:14: matches using '=' are not allowed in comprehension qualifiers\r\n  unless the experimental 'compr_assign' language feature is enabled.\r\n  With 'compr_assign' enabled, a match 'P = E' will behave as a\r\n  strict generator 'P <-:- [E]'.\"\r\n  ```\r\n\r\n  However, this example will work as expected if the `compr_assign` feature is enabled when starting the runtime system:\r\n\r\n  ```\r\n  $ erl -enable-feature compr_assign\r\n  . . .\r\n  1> fh(List) -> [H || E <- List, H = erlang:phash2(E), H rem 10 =:= 0].\r\n  ok\r\n  2> fh(lists:seq(1, 10)).\r\n  [2614250]\r\n  ```\r\n\r\n  Here is another example how `compr_assign` can be used:\r\n\r\n  ```\r\n  -module(example).\r\n  -feature(compr_assign, enable).\r\n  -export([cat/1]).\r\n\r\n  cat(Files) ->\r\n      [Char || F <- Files,\r\n               {ok, Bin} = file:read_file(F),\r\n               Char <- unicode:characters_to_list(Bin)].\r\n  ```\r\n\r\n  Own Id: OTP-19927\\\r\n  Application(s): compiler, stdlib\\\r\n  Related Id(s): [PR-9153]\r\n\r\n  \\*\\*\\* POTENTIAL INCOMPATIBILITY \\*\\*\\*\r\n\r\n- There will now be a warning when using the `catch` operator, which has been deprecated for a long time.\r\n\r\n  It is recommended to instead use `try`...`catch`...`end` but is also possible to disable the warning by using the `nowarn_deprecated_catch` option.\r\n\r\n  Own Id: OTP-19938\\\r\n  Application(s): compiler, stdlib\\\r\n  Related Id(s): [PR-10421]\r\n\r\n- Multi-valued comprehensions according to [EEP 78] has been implemented.\r\n\r\n  Example:\r\n\r\n  ```erlang\r\n  > [I, -I || I <- lists:seq(1, 5)].\r\n  [1,-1,2,-2,3,-3,4,-4,5,-5]\r\n  ```\r\n\r\n  Own Id: OTP-19942\\\r\n  Application(s): compiler, debugger, stdlib, syntax_tools\\\r\n  Related Id(s): [PR-9374]\r\n\r\n- There will now be a warning for matches that unify constructors, such as the following:\r\n\r\n  ```\r\n  m({a,B} = {Y,Z}) -> . . .\r\n  ```\r\n\r\n  Such a match can be rewritten to:\r\n\r\n  ```\r\n  m({a=Y,B=B}) -> . . .\r\n  ```\r\n\r\n  The compiler option `nowarn_match_alias_pats` can be used to disable the warning.\r\n\r\n  Own Id: OTP-19943\\\r\n  Application(s): compiler, stdlib\\\r\n  Related Id(s): [PR-10433]\r\n\r\n- There is no longer a 32-bit Erlang/OTP build for Windows.\r\n\r\n  Own Id: OTP-19960\\\r\n  Application(s): otp\r\n\r\n- While the iteration order for maps is undefined, it is now guaranteed that all ways of iterating over maps provides the elements in the same order. That is, all of the following ways of iterating will produce the elements in the same order:\r\n\r\n  - `maps:keys/1`\r\n  - `maps:values/1`\r\n  - `maps:to_list/1`\r\n  - `maps:to_list(maps:iterator(M))`\r\n  - Map comprehension: `[{K,V} || K := V <- M]`\r\n\r\n  Own Id: OTP-19963\\\r\n  Application(s): erts\\\r\n  Related Id(s): [PR-10626]\r\n\r\n- The default key exchange algorithm is now mlkem768x25519-sha256, a hybrid quantum-resistant algorithm combining ML-KEM-768 with X25519. This provides protection against both classical and quantum computer attacks while maintaining backward compatibility through automatic fallback to other algorithms when peers don't support it.\r\n\r\n  Own Id: OTP-19965\\\r\n  Application(s): ssh\\\r\n  Related Id(s): [PR-10656]\r\n\r\n  \\*\\*\\* POTENTIAL INCOMPATIBILITY \\*\\*\\*\r\n\r\n- The compiler now generates more efficient code for map comprehensions with constant values that don't depend on the generator, such as the following:\r\n\r\n  ```\r\n  #{K => 42} || K <- List}.\r\n  #{K => X || K <- List}.\r\n  #{K => {X, Y} || K <- List}.\r\n  ```\r\n\r\n  Own Id: OTP-19968\\\r\n  Application(s): compiler\\\r\n  Related Id(s): [PR-10646]\r\n\r\n- The SSH daemon now defaults to disabled for shell and exec services, implementing the \"secure by default\" principle. This prevents authenticated users from executing arbitrary Erlang code unless explicitly configured.\r\n\r\n  Applications requiring shell or exec functionality must now explicitly enable:\r\n\r\n  ```erlang\r\n    %% Enable Erlang shell\r\n    ssh:daemon(Port, [{shell, {shell, start, []}} | Options])\r\n\r\n    %% Enable Erlang term evaluation via exec\r\n    ssh:daemon(Port, [{exec, erlang_eval} | Options])\r\n\r\n    %% Restore complete old behavior\r\n    ssh:daemon(Port, [{shell, {shell, start, []}},\r\n                      {exec, erlang_eval}\r\n                      | Options])\r\n  ```\r\n\r\n  Own Id: OTP-19969\\\r\n  Application(s): ssh\\\r\n  Related Id(s): [PR-10970]\r\n\r\n  \\*\\*\\* POTENTIAL INCOMPATIBILITY \\*\\*\\*\r\n\r\n- The `odbc` application is now deprecated and is planned to be removed in Erlang/OTP 30.\r\n\r\n  The [`ftp`] and [`ct_ftp`] modules are now deprecated and are planned to be removed in Erlang/OTP 30.\r\n\r\n  Own Id: OTP-19980\\\r\n  Application(s): ftp, odbc\\\r\n  Related Id(s): [PR-10804]\r\n\r\n- The `array` module have been extended with several new functions. The internal representation have been changed to allow the new functionality and optimizations. Arrays serialized with `term_to_binary/1` in previous releases are not compatible.\r\n\r\n  Own Id: OTP-20004\\\r\n  Application(s): stdlib\\\r\n  Related Id(s): [PR-10578]\r\n\r\n  \\*\\*\\* POTENTIAL INCOMPATIBILITY \\*\\*\\*\r\n\r\n- Added support for socket functions `recvmmsg()` and `sendmmsg()`.\r\n\r\n  Own Id: OTP-20015\\\r\n  Application(s): erts, kernel\\\r\n  Related Id(s): [PR-10564]\r\n\r\n- `m:erl_tar` will use less memory when extracting large tar entries to disk. Instead of reading each tar entry into memory, [`erl_tar`] will now stream data in chunks of 64KB. The chunk size is settable using the new `{chunks,ChunkSize}` option.\r\n\r\n  The new `{max_size,Size}` option will set a limit on the total size of extracted data to protect against filling up the disk.\r\n\r\n  Checking of symlinks has been improved. Some symlinks that were safe (such as `dir/link -> ../file`) used to be rejected.\r\n\r\n  Own Id: OTP-20023\\\r\n  Application(s): stdlib\\\r\n  Related Id(s): [PR-10814], [PR-10818], [PR-10821]\r\n\r\n- Added a new module called `io_ansi` that allows the user to emit Virtual Terminal Sequences (a.k.a. ANSI sequences) to the terminal in order to add colors/styling to text or create fully-fledged terminal applications.\r\n\r\n  `io_ansi` uses the local terminfo database in order to be as cross-platform compatible as possible.\r\n\r\n  It also works across nodes so that if functions on a remote node call `io_ansi:fwrite/1` it will use the destination terminal's terminfo database to determine which sequences to emit. In practice, this means that you can call functions in a remote shell session that use `io_ansi` and it will properly detect the terminal sequences the target terminal can handle and will print using them correctly.\r\n\r\n  Own Id: OTP-20028\\\r\n  Application(s): kernel, stdlib\\\r\n  Related Id(s): [PR-9940]\r\n\r\n- The `ignore_xref` attribute has been handled as a post-analysis filter by build tools such as Rebar3. In this release, [`xref`] itself does the filtering, ensuring that all tooling that calls `xref` for any purpose can rely on these declarations to just work.\r\n\r\n  Own Id: OTP-20032\\\r\n  Application(s): tools\\\r\n  Related Id(s): [PR-10592]\r\n\r\n- New in this release is `ct_doctest`, a module that allows the user to test documentation examples in Erlang module docs and documentation files.\r\n\r\n  ct_doctest allows you to:\r\n\r\n  - Test code examples using shell syntax and their returns\r\n  - Test code examples that should fail\r\n  - Write example modules that are compiled and available in shell examples\r\n  - Plugin other documentation parsing engines so that examples in, for example, `edoc`, `asciidoc`, and others can also be tested.\r\n\r\n  See the documentation for more details.\r\n\r\n  Own Id: OTP-20034\\\r\n  Application(s): common_test\\\r\n  Related Id(s): [PR-10824], [PR-9315]\r\n\r\n- Added support for `-unsafe` attributes, which is used to mark functions as unsafe to use.\r\n\r\n  This is similar to but separate from deprecation, and the compiler will by default now generate warnings for calls to functions in Erlang/OTP that are known to be always unsafe.\r\n\r\n  Furthermore, [`xref`] can now be used to find calls to functions in another application that lack a `-doc` attribute (`undocumented_function_calls`), calls to functions in another application marked `-doc false.` (`private_function_calls`), as well as calls to unsafe functions (`unsafe_function_calls`).\r\n\r\n  Own Id: OTP-20066\\\r\n  Application(s): asn1, common_test, compiler, crypto, debugger, dialyzer, diameter, edoc, eunit, inets, kernel, megaco, mnesia, observer, odbc, os_mon, otp, parsetools, public_key, reltool, runtime_tools, sasl, ssh, ssl, stdlib, syntax_tools, tftp, tools, wx, xmerl\\\r\n  Related Id(s): [PR-10839]\r\n\r\n- Post quantum hybrid algorithm x25519mlkem768 is now the most preferred key exchange group in the default configuration.\r\n\r\n  Post-quantum hybrid algorithms secp384r1mlkem1024 and secp256r1mlkem768 are supported but have to be configured. The same goes for the plain post-quantum algorithms mlkem1024, mlkem768, and mlkem512.\r\n\r\n  The most preferred signature algorithms are now post-quantum algorithms ML-DSA and SLH-DSA if such certs are available in the configuration.\r\n\r\n  All these algorithms where available in OTP-28.4 but none of them preferred and some of them changed default status.\r\n\r\n  Own Id: OTP-20070\\\r\n  Application(s): ssl\\\r\n  Related Id(s): [PR-10949]\r\n\r\n  \\*\\*\\* POTENTIAL INCOMPATIBILITY \\*\\*\\*\r\n\r\n- The [`json`] module now encodes and decodes quoted strings faster. Improvements of up to 55 percent has been measured when decoding JSON data with long strings.\r\n\r\n  The `string:length/1`, `string:slice/2`, and `string:slice/3` functions have been optimized. For some strings, they can be up to twice as fast.\r\n\r\n  Own Id: OTP-20072\\\r\n  Application(s): stdlib\\\r\n  Related Id(s): [PR-10938], [PR-10948]\r\n\r\n- The SFTP subsystem is no longer enabled by default when starting an SSH daemon. To enable it, add the subsystems option explicitly:\r\n\r\n  ```erlang\r\n  ssh:daemon(Port, [{subsystems, [ssh_sftpd:subsystem_spec([])]} | Options])\r\n  ```\r\n\r\n  Own Id: OTP-20078\\\r\n  Application(s): ssh\\\r\n  Related Id(s): [PR-10970]\r\n\r\n  \\*\\*\\* POTENTIAL INCOMPATIBILITY \\*\\*\\*\r\n\r\n# POTENTIAL INCOMPATIBILITIES\r\n\r\n- Fixed (`inet`) module selection when calling (`gen_tcp`) listen and connect and (`gen_udp`) open. Depending on the order of the options, the module option (`tcp_module` or `udp_module`) was sometimes ignored.\r\n\r\n  Own Id: OTP-19695\\\r\n  Application(s): kernel\\\r\n  Related Id(s): [GH-9822], [PR-10013]\r\n\r\n- `ssh:stop_deamon` now uses `supervisor:stop` for shutting down daemons. With this change, the scenario when `ssh:stop_daemon` is called for a non-existing process results in calling process exiting. Previously an error tuple was returned (which was not documented).\r\n\r\n  Own Id: OTP-19801\\\r\n  Application(s): ssh\\\r\n  Related Id(s): [PR-10253]\r\n\r\n- The `mnesia_registry` module has been removed.\r\n\r\n  Own Id: OTP-19807\\\r\n  Application(s): mnesia\\\r\n  Related Id(s): [PR-7315]\r\n\r\n- In the default code path for the Erlang system, the current working directory (`.`) is now in the last position instead of the first.\r\n\r\n  Own Id: OTP-19842\\\r\n  Application(s): erts, kernel\r\n\r\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\r\n\r\n- Before Erlang/OTP 29, attempting to bind variables in a comprehension would compile successfully but fail at runtime. Example:\r\n\r\n  ```\r\n  1> fh(List) -> [H || E <- List, H = erlang:phash2(E), H rem 10 =:= 0].\r\n  ok\r\n  2> fh(lists:seq(1, 10)).\r\n  * exception error: bad filter 2614250\r\n  ```\r\n\r\n  In Erlang/OTP 29, attempting to bind a variable in a comprehension will fail by default:\r\n\r\n  ```\r\n  1> fh(List) -> [H || E <- List, H = erlang:phash2(E), H rem 10 =:= 0].\r\n  * 5:14: matches using '=' are not allowed in comprehension qualifiers\r\n  unless the experimental 'compr_assign' language feature is enabled.\r\n  With 'compr_assign' enabled, a match 'P = E' will behave as a\r\n  strict generator 'P <-:- [E]'.\"\r\n  ```\r\n\r\n  However, this example will work as expected if the `compr_assign` feature is enabled when starting the runtime system:\r\n\r\n  ```\r\n  $ erl -enable-feature compr_assign\r\n  . . .\r\n  1> fh(List) -> [H || E <- List, H = erlang:phash2(E), H rem 10 =:= 0].\r\n  ok\r\n  2> fh(lists:seq(1, 10)).\r\n  [2614250]\r\n  ```\r\n\r\n  Here is another example how `compr_assign` can be used:\r\n\r\n  ```\r\n  -module(example).\r\n  -feature(compr_assign, enable).\r\n  -export([cat/1]).\r\n\r\n  cat(Files) ->\r\n      [Char || F <- Files,\r\n               {ok, Bin} = file:read_file(F),\r\n               Char <- unicode:characters_to_list(Bin)].\r\n  ```\r\n\r\n  Own Id: OTP-19927\\\r\n  Application(s): compiler, stdlib\\\r\n  Related Id(s): [PR-9153]\r\n\r\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\r\n\r\n- The default key exchange algorithm is now mlkem768x25519-sha256, a hybrid quantum-resistant algorithm combining ML-KEM-768 with X25519. This provides protection against both classical and quantum computer attacks while maintaining backward compatibility through automatic fallback to other algorithms when peers don't support it.\r\n\r\n  Own Id: OTP-19965\\\r\n  Application(s): ssh\\\r\n  Related Id(s): [PR-10656]\r\n\r\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\r\n\r\n- The SSH daemon now defaults to disabled for shell and exec services, implementing the \"secure by default\" principle. This prevents authenticated users from executing arbitrary Erlang code unless explicitly configured.\r\n\r\n  Applications requiring shell or exec functionality must now explicitly enable:\r\n\r\n  ```erlang\r\n    %% Enable Erlang shell\r\n    ssh:daemon(Port, [{shell, {shell, start, []}} | Options])\r\n\r\n    %% Enable Erlang term evaluation via exec\r\n    ssh:daemon(Port, [{exec, erlang_eval} | Options])\r\n\r\n    %% Restore complete old behavior\r\n    ssh:daemon(Port, [{shell, {shell, start, []}},\r\n                      {exec, erlang_eval}\r\n                      | Options])\r\n  ```\r\n\r\n  Own Id: OTP-19969\\\r\n  Application(s): ssh\\\r\n  Related Id(s): [PR-10970]\r\n\r\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\r\n\r\n- Changed `ets:update_counter/4` and `ets:update_element/4` to _always_ reject default tuples smaller than the `keypos` of the table. Such keyless tuples are now rejected even if the key exists in the table and the default tuple would not be used. This is a subtle semantic change but is a nicer behavior for development and testing as it will detect faulty default tuple arguments earlier.\r\n\r\n  Own Id: OTP-19975\\\r\n  Application(s): erts\\\r\n  Related Id(s): [PR-10674]\r\n\r\n- Added explicit size validation guards for pre-authentication SSH messages to improve defense-in-depth against DoS attacks. Messages now have per-field size limits based on RFC specifications:\r\n\r\n  - Transport layer messages (DISCONNECT, IGNORE, DEBUG)\r\n  - Key exchange messages (DH, ECDH, DH-GEX)\r\n  - Service request messages (SERVICE_REQUEST, SERVICE_ACCEPT, EXT_INFO)\r\n\r\n  This change enhances the existing 256KB global packet size limit with granular per-message validation. Compliant implementations are not affected.\r\n\r\n  Own Id: OTP-19995\\\r\n  Application(s): ssh\\\r\n  Related Id(s): [PR-10739]\r\n\r\n- The `array` module have been extended with several new functions. The internal representation have been changed to allow the new functionality and optimizations. Arrays serialized with `term_to_binary/1` in previous releases are not compatible.\r\n\r\n  Own Id: OTP-20004\\\r\n  Application(s): stdlib\\\r\n  Related Id(s): [PR-10578]\r\n\r\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\r\n\r\n- The SFTP subsystem `root` option now properly rejects relative paths at daemon startup. Previously, relative paths would cause unpredictable behavior as file operations resolved relative to the Erlang VM's current working directory. The option now requires an absolute path or empty string.\r\n\r\n  Own Id: OTP-20019\\\r\n  Application(s): ssh\\\r\n  Related Id(s): [PR-10820]\r\n\r\n- The `gb_sets:from_ordset/1` and `gb_trees:from_orddict/1` functions would trust their inputs. If the input contained duplicates or was not properly sorted, the resulting gb_set or gb_tree would be invalid, and any number of interesting problems could occur.\r\n\r\n  In this release, these functions will raise an exception if their input is not valid. That could mean that incorrect programs that **seemed** to work could now stop working altogether.\r\n\r\n  There is also a new `gb_trees:from_list/1` function for directly creating a gb_tree from a list.\r\n\r\n  Own Id: OTP-20061\\\r\n  Application(s): stdlib\\\r\n  Related Id(s): [PR-10910]\r\n\r\n- Post quantum hybrid algorithm x25519mlkem768 is now the most preferred key exchange group in the default configuration.\r\n\r\n  Post-quantum hybrid algorithms secp384r1mlkem1024 and secp256r1mlkem768 are supported but have to be configured. The same goes for the plain post-quantum algorithms mlkem1024, mlkem768, and mlkem512.\r\n\r\n  The most preferred signature algorithms are now post-quantum algorithms ML-DSA and SLH-DSA if such certs are available in the configuration.\r\n\r\n  All these algorithms where available in OTP-28.4 but none of them preferred and some of them changed default status.\r\n\r\n  Own Id: OTP-20070\\\r\n  Application(s): ssl\\\r\n  Related Id(s): [PR-10949]\r\n\r\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\r\n\r\n- The old Tcl-based implementation of `erl_errno_id()` has been replaced by our own implementation now supporting more `errno` values on modern operating systems. It now also returns the string `\"errno_<ERRNO_INTEGER>\"` corresponding to the integer given as argument if the `errno` integer is unknown instead of as previously just return the string `\"unknown\"`.\r\n\r\n  The result of `erl_errno_id()` is often converted into an atom and passed as an error from a driver or a NIF.\r\n\r\n  Own Id: OTP-20076\\\r\n  Application(s): erts\\\r\n  Related Id(s): [PR-10958], [PR-10969]\r\n\r\n- The SFTP subsystem is no longer enabled by default when starting an SSH daemon. To enable it, add the subsystems option explicitly:\r\n\r\n  ```erlang\r\n  ssh:daemon(Port, [{subsystems, [ssh_sftpd:subsystem_spec([])]} | Options])\r\n  ```\r\n\r\n  Own Id: OTP-20078\\\r\n  Application(s): ssh\\\r\n  Related Id(s): [PR-10970]\r\n\r\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\r\n\r\n- Always use secure renegotiation for TLS-1.2 specified in RFC 5746 from 2010. Interoperability fallback option should no longer be needed.\r\n\r\n  Own Id: OTP-20080\\\r\n  Application(s): ssl\\\r\n  Related Id(s): [PR-10979]\r\n\r\n- The `erlang:suspend_process/1` and `erlang:suspend_process/2` BIFs now also suspend BIF timers that will send messages to the process if the timer was created using the PID of the process as destination. Timers created using registered names are not affected.\r\n\r\n  Own Id: OTP-20095\\\r\n  Application(s): erts\\\r\n  Related Id(s): [PR-10619], [PR-11004]\r\n\r\n# OTP-29.0\r\n\r\n## Improvements and New Features\r\n\r\n- Vendor dependencies and OpenVEX statements in the `otp` repository is now scanned for vulnerabilities. It is verified that OTP security issues reported at Github exist in the published [OpenVEX] statements, and issues are automatically opened in the `otp` repository if vendor vulnerabilities are detected.\r\n\r\n  Own Id: OTP-19763\\\r\n  Related Id(s): [PR-10145], [PR-10166], [PR-10168], [PR-10189], [PR-10193], [PR-10195], [PR-10197], [PR-10202], OTP-19652, OTP-19775, OTP-19779\r\n\r\n- Documentation about how to validate the SBOM using sigstore has been added.\r\n\r\n  Own Id: OTP-19766\\\r\n  Related Id(s): [GH-10151], [PR-10187]\r\n\r\n- The old-style type tests in guards (`integer`, `atom`, and so on) have been scheduled for removal in Erlang/OTP 30. They have been deprecated for a long time.\r\n\r\n  Own Id: OTP-19887\\\r\n  Related Id(s): [PR-10417]\r\n\r\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\r\n\r\n- Removed the undocumented `dyn_erl` utility.\r\n\r\n  Own Id: OTP-19933\\\r\n  Related Id(s): [PR-10573]\r\n\r\n- There is no longer a 32-bit Erlang/OTP build for Windows.\r\n\r\n  Own Id: OTP-19960\\\r\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\r\n\r\n- Added support for `-unsafe` attributes, which is used to mark functions as unsafe to use.\r\n\r\n  This is similar to but separate from deprecation, and the compiler will by default now generate warnings for calls to functions in Erlang/OTP that are known to be always unsafe.\r\n\r\n  Furthermore, [`xref`] can now be used to find calls to functions in another application that lack a `-doc` attribute (`undocumented_function_calls`), calls to functions in another application marked `-doc false.` (`private_function_calls`), as well as calls to unsafe functions (`unsafe_function_calls`).\r\n\r\n  Own Id: OTP-20066\\\r\n  Related Id(s): [PR-10839]\r\n\r\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\r\n\r\n- The [Upcoming Potential Incompatibilities] page has been updated to note that in Erlang/OTP 30, `erlang:fun_info(Fun, pid)` will no longer retrieve a pid, but will raise a `badarg` exception.\r\n\r\n  Own Id: OTP-20092\\\r\n  Related Id(s): [PR-10998]\r\n\r\n# asn1-5.5\r\n\r\n## Improvements and New Features\r\n\r\n- Only minor internal changes.\r\n\r\n  Own Id: OTP-19964\r\n\r\n- Added support for `-unsafe` attributes, which is used to mark functions as unsafe to use.\r\n\r\n  This is similar to but separate from deprecation, and the compiler will by default now generate warnings for calls to functions in Erlang/OTP that are known to be always unsafe.\r\n\r\n  Furthermore, [`xref`] can now be used to find calls to functions in another application that lack a `-doc` attribute (`undocumented_function_calls`), calls to functions in another application marked `-doc false.` (`private_function_calls`), as well as calls to unsafe functions (`unsafe_function_calls`).\r\n\r\n  Own Id: OTP-20066\\\r\n  Related Id(s): [PR-10839]\r\n\r\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\r\n\r\n> #### Full runtime dependencies of asn1-5.5\r\n>\r\n> erts-14.0, kernel-9.0, stdlib-5.0\r\n\r\n# common_test-1.31\r\n\r\n## Fixed Bugs and Malfunctions\r\n\r\n- Improved support for QuickCheck when writing property tests.\r\n\r\n  Own Id: OTP-20010\\\r\n  Related Id(s): [PR-10783]\r\n\r\n## Improvements and New Features\r\n\r\n- The legacy `and` and `or` operators have been replaced with other language constructs.\r\n\r\n  Own Id: OTP-19744\\\r\n  Related Id(s): [PR-10114], [PR-10554], [PR-10568], [PR-10579], [PR-10580], [PR-10585], [PR-10598], [PR-10710], [PR-10718], [PR-10730]\r\n\r\n- `'EXIT'` messages are now formatted in the same way as `badmatch` errors.\r\n\r\n  Own Id: OTP-19910\\\r\n  Related Id(s): [PR-10277]\r\n\r\n- Error notifications now contain the name of the source file in which the error occurred.\r\n\r\n  Own Id: OTP-19925\\\r\n  Related Id(s): [GH-10260], [PR-10269]\r\n\r\n- New in this release is `ct_doctest`, a module that allows the user to test documentation examples in Erlang module docs and documentation files.\r\n\r\n  ct_doctest allows you to:\r\n\r\n  - Test code examples using shell syntax and their returns\r\n  - Test code examples that should fail\r\n  - Write example modules that are compiled and available in shell examples\r\n  - Plugin other documentation parsing engines so that examples in, for example, `edoc`, `asciidoc`, and others can also be tested.\r\n\r\n  See the documentation for more details.\r\n\r\n  Own Id: OTP-20034\\\r\n  Related Id(s): [PR-10824], [PR-9315]\r\n\r\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\r\n\r\n- Added support for `-unsafe` attributes, which is used to mark functions as unsafe to use.\r\n\r\n  This is similar to but separate from deprecation, and the compiler will by default now generate warnings for calls to functions in Erlang/OTP that are known to be always unsafe.\r\n\r\n  Furthermore, [`xref`] can now be used to find calls to functions in another application that lack a `-doc` attribute (`undocumented_function_calls`), calls to functions in another application marked `-doc false.` (`private_function_calls`), as well as calls to unsafe functions (`unsafe_function_calls`).\r\n\r\n  Own Id: OTP-20066\\\r\n  Related Id(s): [PR-10839]\r\n\r\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\r\n\r\n> #### Full runtime dependencies of common_test-1.31\r\n>\r\n> compiler-10.0, crypto-4.5, debugger-4.1, erts-7.0, ftp-1.0, inets-6.0, kernel-11.0, observer-2.1, runtime_tools-1.8.16, sasl-2.5, snmp-5.1.2, ssh-4.0, stdlib-8.0, syntax_tools-1.7, tools-3.2, xmerl-1.3.8\r\n\r\n# compiler-10.0\r\n\r\n## Fixed Bugs and Malfunctions\r\n\r\n- For a function such as the following:\r\n\r\n  ```\r\n  bar(S0) ->\r\n      S1 = setelement(8, S0, a),\r\n      S2 = setelement(7, S1, b),\r\n      setelement(5, S2, c).\r\n  ```\r\n\r\n  the compiler would keep all of the calls to `setelement/3` and emit extra unnecessary `set_tuple_element` instructions.\r\n\r\n  This has been corrected so that the compiler will never emit code that uses the `set_tuple_element` instruction. In a future release, support for the `set_tuple_element` will be removed from the runtime system.\r\n\r\n  Own Id: OTP-19751\\\r\n  Related Id(s): [GH-10125], [PR-10144]\r\n\r\n- `beam_lib:strip/1` will now retain the Beam debug information chunk produced by the `beam_debug_info` option. The chunk will also be retained when combing the `beam_debug_info` option with the undocumented `slim` option.\r\n\r\n  The runtime system will no longer crash when attempting to load modules that have been compiled with `beam_debug_info` but lack the actual Beam debug info chunk.\r\n\r\n  Own Id: OTP-19991\\\r\n  Related Id(s): [GH-10557], [PR-10735]\r\n\r\n## Improvements and New Features\r\n\r\n- In comprehensions, a generator that builds a list with a single element will now be optimized to avoid building and matching the list. Example:\r\n\r\n  ```\r\n  [H || E <- List, H <- [erlang:phash2(E)], H rem 10 =:= 0]\r\n  ```\r\n\r\n  Own Id: OTP-19672\\\r\n  Related Id(s): [PR-9934]\r\n\r\n- In the documentation for the [`compile`] module, a section has been added with recommendations for implementors of languages running on the BEAM. Documentation has also been added for the `to_abstr`, `to_exp`, and `from_abstr` options.\r\n\r\n  The documentation for [erlc] now lists `.abstr` as one of the supported options.\r\n\r\n  When compiling with the `to_abstr` option, the resulting `.abstr` file now retains any `-doc` attributes present in the source code.\r\n\r\n  Own Id: OTP-19784\\\r\n  Related Id(s): [PR-10230], [PR-10234]\r\n\r\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\r\n\r\n- Native records as described in [EEP-79] has been implemented.\r\n\r\n  A native record is a data structure similar to the traditional tuple-based records, except that is a true data type.\r\n\r\n  Native records are considered experimental in Erlang/OTP 29 and possibly also in Erlang/OTP 30, meaning that their behavior may change, potentially requiring updates to applications that use them.\r\n\r\n  Own Id: OTP-19785\\\r\n  Related Id(s): [PR-10617]\r\n\r\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\r\n\r\n- The guard BIF `is_integer/3` has been added. It follows the design of the original EEP-16, only changing the name from `is_between` to `is_integer`. This BIF takes in 3 parameters, `Term`, `LowerBound`, and `UpperBound`.\r\n\r\n  It returns `true` if `Term`, `LowerBound`, and `UpperBound` are all integers, and `LowerBound =< Term =< UpperBound`; otherwise, it returns false.\r\n\r\n  Example:\r\n\r\n  ```erlang\r\n  1> I = 42.\r\n  2> is_integer(I, 0, 100).\r\n  true\r\n  ```\r\n\r\n  Own Id: OTP-19809\\\r\n  Related Id(s): [PR-10276]\r\n\r\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\r\n\r\n- Function application is now left associative. That means one can now write:\r\n\r\n  ```\r\n  f(X)(Y)\r\n  ```\r\n\r\n  instead of:\r\n\r\n  ```\r\n  (f(X))(Y)\r\n  ```\r\n\r\n  Own Id: OTP-19866\\\r\n  Related Id(s): [PR-9223]\r\n\r\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\r\n\r\n- There will now be a warning when exporting variables out of a subexpression. For example:\r\n\r\n  ```\r\n  case file:open(File, AllOpts = [write,{encoding,utf8}]) of\r\n      {ok,Fd} ->\r\n          {Fd,AllOpts}\r\n  end\r\n  ```\r\n\r\n  To avoid the warning, this can be rewritten to:\r\n\r\n  ```\r\n  AllOpts = [write,{encoding,utf8}],\r\n  case file:open(File, AllOpts) of\r\n      {ok,Fd} ->\r\n          {Fd,AllOpts}\r\n  end\r\n  ```\r\n\r\n  The warning can be suppressed by giving option `nowarn_export_var_subexpr` to the compiler.\r\n\r\n  Own Id: OTP-19898\\\r\n  Related Id(s): [PR-9134]\r\n\r\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\r\n\r\n- By default, the compiler will now warn for uses of the `and` and `or` operators.\r\n\r\n  This warning can be suppressed using the `nowarn_obsolete_bool_op` compiler option.\r\n\r\n  Own Id: OTP-19918\\\r\n  Related Id(s): [PR-9115]\r\n\r\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\r\n\r\n- Before Erlang/OTP 29, attempting to bind variables in a comprehension would compile successfully but fail at runtime. Example:\r\n\r\n  ```\r\n  1> fh(List) -> [H || E <- List, H = erlang:phash2(E), H rem 10 =:= 0].\r\n  ok\r\n  2> fh(lists:seq(1, 10)).\r\n  * exception error: bad filter 2614250\r\n  ```\r\n\r\n  In Erlang/OTP 29, attempting to bind a variable in a comprehension will fail by default:\r\n\r\n  ```\r\n  1> fh(List) -> [H || E <- List, H = erlang:phash2(E), H rem 10 =:= 0].\r\n  * 5:14: matches using '=' are not allowed in comprehension qualifiers\r\n  unless the experimental 'compr_assign' language feature is enabled.\r\n  With 'compr_assign' enabled, a match 'P = E' will behave as a\r\n  strict generator 'P <-:- [E]'.\"\r\n  ```\r\n\r\n  However, this example will work as expected if the `compr_assign` feature is enabled when starting the runtime system:\r\n\r\n  ```\r\n  $ erl -enable-feature compr_assign\r\n  . . .\r\n  1> fh(List) -> [H || E <- List, H = erlang:phash2(E), H rem 10 =:= 0].\r\n  ok\r\n  2> fh(lists:seq(1, 10)).\r\n  [2614250]\r\n  ```\r\n\r\n  Here is another example how `compr_assign` can be used:\r\n\r\n  ```\r\n  -module(example).\r\n  -feature(compr_assign, enable).\r\n  -export([cat/1]).\r\n\r\n  cat(Files) ->\r\n      [Char || F <- Files,\r\n               {ok, Bin} = file:read_file(F),\r\n               Char <- unicode:characters_to_list(Bin)].\r\n  ```\r\n\r\n  Own Id: OTP-19927\\\r\n  Related Id(s): [PR-9153]\r\n\r\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\r\n\r\n  \\*\\*\\* POTENTIAL INCOMPATIBILITY \\*\\*\\*\r\n\r\n- There will now be a warning when using the `catch` operator, which has been deprecated for a long time.\r\n\r\n  It is recommended to instead use `try`...`catch`...`end` but is also possible to disable the warning by using the `nowarn_deprecated_catch` option.\r\n\r\n  Own Id: OTP-19938\\\r\n  Related Id(s): [PR-10421]\r\n\r\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\r\n\r\n- Multi-valued comprehensions according to [EEP 78] has been implemented.\r\n\r\n  Example:\r\n\r\n  ```erlang\r\n  > [I, -I || I <- lists:seq(1, 5)].\r\n  [1,-1,2,-2,3,-3,4,-4,5,-5]\r\n  ```\r\n\r\n  Own Id: OTP-19942\\\r\n  Related Id(s): [PR-9374]\r\n\r\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\r\n\r\n- There will now be a warning for matches that unify constructors, such as the following:\r\n\r\n  ```\r\n  m({a,B} = {Y,Z}) -> . . .\r\n  ```\r\n\r\n  Such a match can be rewritten to:\r\n\r\n  ```\r\n  m({a=Y,B=B}) -> . . .\r\n  ```\r\n\r\n  The compiler option `nowarn_match_alias_pats` can be used to disable the warning.\r\n\r\n  Own Id: OTP-19943\\\r\n  Related Id(s): [PR-10433]\r\n\r\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\r\n\r\n- The compiler now generates more efficient code for map comprehensions with constant values that don't depend on the generator, such as the following:\r\n\r\n  ```\r\n  #{K => 42} || K <- List}.\r\n  #{K => X || K <- List}.\r\n  #{K => {X, Y} || K <- List}.\r\n  ```\r\n\r\n  Own Id: OTP-19968\\\r\n  Related Id(s): [PR-10646]\r\n\r\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\r\n\r\n- Compilation times of modules with a huge number of calls to `element/2` has been improved.\r\n\r\n  Own Id: OTP-20020\\\r\n  Related Id(s): [GH-10807], [PR-10819]\r\n\r\n- The format of the debug information stored by the `beam_debug_info` option (used by the [edb debugger]) has been updated to more easily extendible and to contain more information about call targets. (See the linked PR for more details.)\r\n\r\n  Own Id: OTP-20048\\\r\n  Related Id(s): [PR-9814]\r\n\r\n- Added support for `-unsafe` attributes, which is used to mark functions as unsafe to use.\r\n\r\n  This is similar to but separate from deprecation, and the compiler will by default now generate warnings for calls to functions in Erlang/OTP that are known to be always unsafe.\r\n\r\n  Furthermore, [`xref`] can now be used to find calls to functions in another application that lack a `-doc` attribute (`undocumented_function_calls`), calls to functions in another application marked `-doc false.` (`private_function_calls`), as well as calls to unsafe functions (`unsafe_function_calls`).\r\n\r\n  Own Id: OTP-20066\\\r\n  Related Id(s): [PR-10839]\r\n\r\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\r\n\r\n> #### Full runtime dependencies of compiler-10.0\r\n>\r\n> crypto-5.1, erts-13.0, kernel-8.4, stdlib-8.0\r\n\r\n# crypto-5.9\r\n\r\n## Fixed Bugs and Malfunctions\r\n\r\n- Fixed `crypto:hash_equals/2` and FIPS when crypto is statically linked to the beam (with `--enable-static-nifs` and `--disable-dynamic-ssl-lib`).\r\n\r\n  Own Id: OTP-20025\\\r\n  Related Id(s): [PR-10817]\r\n\r\n## Improvements and New Features\r\n\r\n- The `rand:bytes/1` and `rand:bytes_s/2` functions have been optimized by implementing a new internal callback function that `crypto:rand_seed_alg/1` and `crypto:alg_seed_alg_s/1` have been updated to use.\r\n\r\n  A new algorithm `crypto_prng1`, which also takes advantage of this new internal callback, has been added to `crypto:rand_seed_alg/2` and `crypto:rand_seed_alg_s/2`. It is much faster then the existing `crypto_aes`, in particular for generating bytes.\r\n\r\n  Own Id: OTP-19882\\\r\n  Related Id(s): [PR-10453], OTP-19827\r\n\r\n- In interactive mode, application `crypto` is automatically loaded when the [`crypto`] module is loaded. This will ensure that the correct value of configuration parameter `fips_mode` is used to initialize OpenSSL if module `crypto` is called/loaded before the application `crypto` has been loaded. In embedded mode, module `crypto` will fail to load if the application has not been loaded.\r\n\r\n  Own Id: OTP-20035\\\r\n  Related Id(s): [PR-10830]\r\n\r\n- OpenSSL engine support has been removed on Windows.\r\n\r\n  Own Id: OTP-20036\\\r\n  Related Id(s): [PR-10836]\r\n\r\n- Added support for `-unsafe` attributes, which is used to mark functions as unsafe to use.\r\n\r\n  This is similar to but separate from deprecation, and the compiler will by default now generate warnings for calls to functions in Erlang/OTP that are known to be always unsafe.\r\n\r\n  Furthermore, [`xref`] can now be used to find calls to functions in another application that lack a `-doc` attribute (`undocumented_function_calls`), calls to functions in another application marked `-doc false.` (`private_function_calls`), as well as calls to unsafe functions (`unsafe_function_calls`).\r\n\r\n  Own Id: OTP-20066\\\r\n  Related Id(s): [PR-10839]\r\n\r\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\r\n\r\n> #### Full runtime dependencies of crypto-5.9\r\n>\r\n> erts-9.0, kernel-6.0, stdlib-3.9\r\n\r\n# debugger-7.0\r\n\r\n## Improvements and New Features\r\n\r\n- Native records as described in [EEP-79] has been implemented.\r\n\r\n  A native record is a data structure similar to the traditional tuple-based records, except that is a true data type.\r\n\r\n  Native records are considered experimental in Erlang/OTP 29 and possibly also in Erlang/OTP 30, meaning that their behavior may change, potentially requiring updates to applications that use them.\r\n\r\n  Own Id: OTP-19785\\\r\n  Related Id(s): [PR-10617]\r\n\r\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\r\n\r\n- Tools such as the debugger, [`beam_lib`], and [`xref`] no longer support BEAM files created before OTP 13B.\r\n\r\n  Own Id: OTP-19906\\\r\n  Related Id(s): [PR-10519]\r\n\r\n- Multi-valued comprehensions according to [EEP 78] has been implemented.\r\n\r\n  Example:\r\n\r\n  ```erlang\r\n  > [I, -I || I <- lists:seq(1, 5)].\r\n  [1,-1,2,-2,3,-3,4,-4,5,-5]\r\n  ```\r\n\r\n  Own Id: OTP-19942\\\r\n  Related Id(s): [PR-9374]\r\n\r\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\r\n\r\n- Added support for `-unsafe` attributes, which is used to mark functions as unsafe to use.\r\n\r\n  This is similar to but separate from deprecation, and the compiler will by default now generate warnings for calls to functions in Erlang/OTP that are known to be always unsafe.\r\n\r\n  Furthermore, [`xref`] can now be used to find calls to functions in another application that lack a `-doc` attribute (`undocumented_function_calls`), calls to functions in another application marked `-doc false.` (`private_function_calls`), as well as calls to unsafe functions (`unsafe_function_calls`).\r\n\r\n  Own Id: OTP-20066\\\r\n  Related Id(s): [PR-10839]\r\n\r\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\r\n\r\n> #### Full runtime dependencies of debugger-7.0\r\n>\r\n> compiler-8.0, erts-15.0, kernel-10.0, stdlib-7.0, wx-2.0\r\n\r\n# dialyzer-6.0\r\n\r\n## Improvements and New Features\r\n\r\n- Native records as described in [EEP-79] has been implemented.\r\n\r\n  A native record is a data structure similar to the traditional tuple-based records, except that is a true data type.\r\n\r\n  Native records are considered experimental in Erlang/OTP 29 and possibly also in Erlang/OTP 30, meaning that their behavior may change, potentially requiring updates to applications that use them.\r\n\r\n  Own Id: OTP-19785\\\r\n  Related Id(s): [PR-10617]\r\n\r\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\r\n\r\n- The guard BIF `is_integer/3` has been added. It follows the design of the original EEP-16, only changing the name from `is_between` to `is_integer`. This BIF takes in 3 parameters, `Term`, `LowerBound`, and `UpperBound`.\r\n\r\n  It returns `true` if `Term`, `LowerBound`, and `UpperBound` are all integers, and `LowerBound =< Term =< UpperBound`; otherwise, it returns false.\r\n\r\n  Example:\r\n\r\n  ```erlang\r\n  1> I = 42.\r\n  2> is_integer(I, 0, 100).\r\n  true\r\n  ```\r\n\r\n  Own Id: OTP-19809\\\r\n  Related Id(s): [PR-10276]\r\n\r\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\r\n\r\n- Added support for `-unsafe` attributes, which is used to mark functions as unsafe to use.\r\n\r\n  This is similar to but separate from deprecation, and the compiler will by default now generate warnings for calls to functions in Erlang/OTP that are known to be always unsafe.\r\n\r\n  Furthermore, [`xref`] can now be used to find calls to functions in another application that lack a `-doc` attribute (`undocumented_function_calls`), calls to functions in another application marked `-doc false.` (`private_function_calls`), as well as calls to unsafe functions (`unsafe_function_calls`).\r\n\r\n  Own Id: OTP-20066\\\r\n  Related Id(s): [PR-10839]\r\n\r\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\r\n\r\n> #### Full runtime dependencies of dialyzer-6.0\r\n>\r\n> compiler-10.0, erts-12.0, kernel-8.0, stdlib-5.0, syntax_tools-2.0\r\n\r\n# diameter-2.7\r\n\r\n## Improvements and New Features\r\n\r\n- The legacy `and` and `or` operators have been replaced with other language constructs.\r\n\r\n  Own Id: OTP-19744\\\r\n  Related Id(s): [PR-10114], [PR-10554], [PR-10568], [PR-10579], [PR-10580], [PR-10585], [PR-10598], [PR-10710], [PR-10718], [PR-10730]\r\n\r\n- Added support for `-unsafe` attributes, which is used to mark functions as unsafe to use.\r\n\r\n  This is similar to but separate from deprecation, and the compiler will by default now generate warnings for calls to functions in Erlang/OTP that are known to be always unsafe.\r\n\r\n  Furthermore, [`xref`] can now be used to find calls to functions in another application that lack a `-doc` attribute (`undocumented_function_calls`), calls to functions in another application marked `-doc false.` (`private_function_calls`), as well as calls to unsafe functions (`unsafe_function_calls`).\r\n\r\n  Own Id: OTP-20066\\\r\n  Related Id(s): [PR-10839]\r\n\r\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\r\n\r\n> #### Full runtime dependencies of diameter-2.7\r\n>\r\n> erts-10.0, kernel-3.2, ssl-9.0, stdlib-5.0\r\n\r\n# edoc-1.5\r\n\r\n## Improvements and New Features\r\n\r\n- Changed behavior of EDoc so that when a module defines a private type and a private function spec uses it, that type no longer gets included in the EDoc chunk.\r\n\r\n  Own Id: OTP-20030\\\r\n  Related Id(s): [PR-10770]\r\n\r\n- Added support for `-unsafe` attributes, which is used to mark functions as unsafe to use.\r\n\r\n  This is similar to but separate from deprecation, and the compiler will by default now generate warnings for calls to functions in Erlang/OTP that are known to be always unsafe.\r\n\r\n  Furthermore, [`xref`] can now be used to find calls to functions in another application that lack a `-doc` attribute (`undocumented_function_calls`), calls to functions in another application marked `-doc false.` (`private_function_calls`), as well as calls to unsafe functions (`unsafe_function_calls`).\r\n\r\n  Own Id: OTP-20066\\\r\n  Related Id(s): [PR-10839]\r\n\r\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\r\n\r\n> #### Full runtime dependencies of edoc-1.5\r\n>\r\n> erts-11.0, inets-5.10, kernel-7.0, stdlib-4.0, syntax_tools-2.0, xmerl-1.3.7\r\n\r\n# eldap-1.3\r\n\r\n## Improvements and New Features\r\n\r\n- Only minor internal changes.\r\n\r\n  Own Id: OTP-19964\r\n\r\n> #### Full runtime dependencies of eldap-1.3\r\n>\r\n> asn1-3.0, erts-6.0, kernel-3.0, ssl-5.3.4, stdlib-3.4\r\n\r\n# erl_interface-5.7\r\n\r\n## Improvements and New Features\r\n\r\n- Improved name consistency of EPMD protocol messages in documentation and code. Renamed `PORT_PLEASE2_REQ` to `PORT2_REQ` and added prefix `EPMD_`.\r\n\r\n  Own Id: OTP-19734\\\r\n  Related Id(s): [GH-10071], [PR-10078]\r\n\r\n- Replaced embedded OpenSSL MD5 implementation.\r\n\r\n  Own Id: OTP-20045\\\r\n  Related Id(s): [PR-10870]\r\n\r\n## Known Bugs and Problems\r\n\r\n- The `ei` API for decoding/encoding terms is not fully 64-bit compatible since terms that have a representation on the external term format larger than 2 GB cannot be handled.\r\n\r\n  Own Id: OTP-16607\\\r\n  Related Id(s): OTP-16608\r\n\r\n# erts-17.0\r\n\r\n## Fixed Bugs and Malfunctions\r\n\r\n- For a function such as the following:\r\n\r\n  ```\r\n  bar(S0) ->\r\n      S1 = setelement(8, S0, a),\r\n      S2 = setelement(7, S1, b),\r\n      setelement(5, S2, c).\r\n  ```\r\n\r\n  the compiler would keep all of the calls to `setelement/3` and emit extra unnecessary `set_tuple_element` instructions.\r\n\r\n  This has been corrected so that the compiler will never emit code that uses the `set_tuple_element` instruction. In a future release, support for the `set_tuple_element` will be removed from the runtime system.\r\n\r\n  Own Id: OTP-19751\\\r\n  Related Id(s): [GH-10125], [PR-10144]\r\n\r\n- Improved the handling of the logging directory for the start script on Unix-like systems, so that it no longer crashes when `$ROOTDIR/log` is not writable.\r\n\r\n  Own Id: OTP-19874\\\r\n  Related Id(s): [GH-10341], [PR-10348]\r\n\r\n- The `-nocookie` option for `erl` is now documented.\r\n\r\n  Own Id: OTP-19935\\\r\n  Related Id(s): [PR-10549]\r\n\r\n- `beam_lib:strip/1` will now retain the Beam debug information chunk produced by the `beam_debug_info` option. The chunk will also be retained when combing the `beam_debug_info` option with the undocumented `slim` option.\r\n\r\n  The runtime system will no longer crash when attempting to load modules that have been compiled with `beam_debug_info` but lack the actual Beam debug info chunk.\r\n\r\n  Own Id: OTP-19991\\\r\n  Related Id(s): [GH-10557], [PR-10735]\r\n\r\n- Fixed potential symbol clashing on MacOS by passing `RTLD_LOCAL` to `dlopen`. This will make symbols to not be resolvable between subsequently loaded NIF/drivers, which is the default behavior on Linux and BSD.\r\n\r\n  Own Id: OTP-20026\\\r\n  Related Id(s): [PR-10805]\r\n\r\n- The `configure` script used to call `isfinite()` with argument `0`. That could fail on some platforms. This has been changed to call `isfinite()` with `1.0` instead.\r\n\r\n  Own Id: OTP-20088\\\r\n  Related Id(s): [PR-10965]\r\n\r\n## Improvements and New Features\r\n\r\n- The exported name space of the `beam` executable has been cleaned to only expose symbols of documented interfaces like NIF and driver APIs. This will avoid accidental name clashes with, for example, our statically linked variants of PCRE2 and ZSTD. NIFs and drivers that abuse undocumented internal interfaces will fail to load due to this change.\r\n\r\n  Own Id: OTP-19643\\\r\n  Related Id(s): [PR-9864]\r\n\r\n- Improved name consistency of EPMD protocol messages in documentation and code. Renamed `PORT_PLEASE2_REQ` to `PORT2_REQ` and added prefix `EPMD_`.\r\n\r\n  Own Id: OTP-19734\\\r\n  Related Id(s): [GH-10071], [PR-10078]\r\n\r\n- The JIT now generates better code for matching or creating binaries with multiple little-endian segments.\r\n\r\n  Own Id: OTP-19747\\\r\n  Related Id(s): [PR-10126]\r\n\r\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\r\n\r\n- In the documentation for the [`compile`] module, a section has been added with recommendations for implementors of languages running on the BEAM. Documentation has also been added for the `to_abstr`, `to_exp`, and `from_abstr` options.\r\n\r\n  The documentation for [erlc] now lists `.abstr` as one of the supported options.\r\n\r\n  When compiling with the `to_abstr` option, the resulting `.abstr` file now retains any `-doc` attributes present in the source code.\r\n\r\n  Own Id: OTP-19784\\\r\n  Related Id(s): [PR-10230], [PR-10234]\r\n\r\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\r\n\r\n- Native records as described in [EEP-79] has been implemented.\r\n\r\n  A native record is a data structure similar to the traditional tuple-based records, except that is a true data type.\r\n\r\n  Native records are considered experimental in Erlang/OTP 29 and possibly also in Erlang/OTP 30, meaning that their behavior may change, potentially requiring updates to applications that use them.\r\n\r\n  Own Id: OTP-19785\\\r\n  Related Id(s): [PR-10617]\r\n\r\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\r\n\r\n- Task stealing between schedulers has been further optimized.\r\n\r\n  Own Id: OTP-19793\\\r\n  Related Id(s): [PR-9984]\r\n\r\n- The guard BIF `is_integer/3` has been added. It follows the design of the original EEP-16, only changing the name from `is_between` to `is_integer`. This BIF takes in 3 parameters, `Term`, `LowerBound`, and `UpperBound`.\r\n\r\n  It returns `true` if `Term`, `LowerBound`, and `UpperBound` are all integers, and `LowerBound =< Term =< UpperBound`; otherwise, it returns false.\r\n\r\n  Example:\r\n\r\n  ```erlang\r\n  1> I = 42.\r\n  2> is_integer(I, 0, 100).\r\n  true\r\n  ```\r\n\r\n  Own Id: OTP-19809\\\r\n  Related Id(s): [PR-10276]\r\n\r\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\r\n\r\n- Calls to `trace:info(_, {M,F,A}, Item)`, with `Item` as `call_time`, `call_memory`, or `all`, will no longer block all scheduler threads from running.\r\n\r\n  Own Id: OTP-19811\\\r\n  Related Id(s): [PR-10207]\r\n\r\n- Full support for SCTP in [`socket`]. Not (yet) supported for FreeBSD.\r\n\r\n  Own Id: OTP-19834\r\n\r\n- In the default code path for the Erlang system, the current working directory (`.`) is now in the last position instead of the first.\r\n\r\n  Own Id: OTP-19842\\\r\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\r\n\r\n  \\*\\*\\* POTENTIAL INCOMPATIBILITY \\*\\*\\*\r\n\r\n- Tools such as the debugger, [`beam_lib`], and [`xref`] no longer support BEAM files created before OTP 13B.\r\n\r\n  Own Id: OTP-19906\\\r\n  Related Id(s): [PR-10519]\r\n\r\n- Optimized ETS named table lookup scalability by replacing read locks with lockless atomic operations.\r\n\r\n  Own Id: OTP-19919\\\r\n  Related Id(s): [PR-7118]\r\n\r\n- Removed the undocumented `dyn_erl` utility.\r\n\r\n  Own Id: OTP-19933\\\r\n  Related Id(s): [PR-10573]\r\n\r\n- Added `zstd:flush/2` for flushing compressed data without closing the compression context.\r\n\r\n  Own Id: OTP-19936\\\r\n  Related Id(s): [GH-10345], [PR-10511]\r\n\r\n- While the iteration order for maps is undefined, it is now guaranteed that all ways of iterating over maps provides the elements in the same order. That is, all of the following ways of iterating will produce the elements in the same order:\r\n\r\n  - `maps:keys/1`\r\n  - `maps:values/1`\r\n  - `maps:to_list/1`\r\n  - `maps:to_list(maps:iterator(M))`\r\n  - Map comprehension: `[{K,V} || K := V <- M]`\r\n\r\n  Own Id: OTP-19963\\\r\n  Related Id(s): [PR-10626]\r\n\r\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\r\n\r\n- Improved the performance of code loading.\r\n\r\n  Own Id: OTP-19966\\\r\n  Related Id(s): [PR-10615]\r\n\r\n- Changed `ets:update_counter/4` and `ets:update_element/4` to _always_ reject default tuples smaller than the `keypos` of the table. Such keyless tuples are now rejected even if the key exists in the table and the default tuple would not be used. This is a subtle semantic change but is a nicer behavior for development and testing as it will detect faulty default tuple arguments earlier.\r\n\r\n  Own Id: OTP-19975\\\r\n  Related Id(s): [PR-10674]\r\n\r\n  \\*\\*\\* POTENTIAL INCOMPATIBILITY \\*\\*\\*\r\n\r\n- Improved compatibility with systems that lack certain shell utilities.\r\n\r\n  Own Id: OTP-20002\\\r\n  Related Id(s): [PR-10647]\r\n\r\n- It was previously not possible to check on the socket nif load result. A successful load was self-evident, but a failure was only visible from the fact that most [`socket`] functions failed with `notsup`. This has now been improved such that the (socket nif) load result is visible in the info map (from `socket:info/0`).\r\n\r\n  Own Id: OTP-20003\r\n\r\n- A new `configure` option `--enable-use-embedded-3pp-alternatives`/ `--disable-use-embedded-3pp-alternatives` has been added. When enabled `configure` is forced to find alternatives to the embedded third-party products (_3pps_) in the runtime system on the OS and when disabled `configure` will use of all internal embedded 3pps. Currently these options affect `zstd`, `zlib` and `ryu` (with `STL`). As of OTP 29 the default is to try to find alternatives for `zstd` and `zlib` on the OS and otherwise use the built-in versions. `zstd` needs to be of at least version 1.5.6 to be used and `zlib` needs to be of at least 1.2.5 to be used.\r\n\r\n  The OS alternative to `ryu` needs a C++ compiler with C++17 support. Currently the alternative to `ryu` may cause float to string conversions to produce slightly different (but correct) results compared to `ryu`.\r\n\r\n  The argument [`embedded_3pps`] has been added to `erlang:system_info/1`. It returns a map with information about the use of embedded 3pps in the runtime system.\r\n\r\n  Own Id: OTP-20013\\\r\n  Related Id(s): [PR-10894], [PR-10986]\r\n\r\n- Added support for socket functions `recvmmsg()` and `sendmmsg()`.\r\n\r\n  Own Id: OTP-20015\\\r\n  Related Id(s): [PR-10564]\r\n\r\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\r\n\r\n- There is a new NIF function `enif_term_size()`.\r\n\r\n  Own Id: OTP-20016\\\r\n  Related Id(s): [PR-10782]\r\n\r\n- Call trace match specs can use `[Arg1, Arg2 | '_']` syntax to match functions with at least N number of arguments.\r\n\r\n  Own Id: OTP-20017\\\r\n  Related Id(s): [PR-10754]\r\n\r\n- Replaced embedded OpenSSL MD5 implementation.\r\n\r\n  Own Id: OTP-20045\\\r\n  Related Id(s): [PR-10870]\r\n\r\n- The format of the debug information stored by the `beam_debug_info` option (used by the [edb debugger]) has been updated to more easily extendible and to contain more information about call targets. (See the linked PR for more details.)\r\n\r\n  Own Id: OTP-20048\\\r\n  Related Id(s): [PR-9814]\r\n\r\n- There are new functions `erlang:exit_signal/2,3` replacing the old `erlang:exit/2,3`. The primary purpose is better naming to distinguish between exit _exceptions_ and exit _signals_. The new `exit_signal` functions will also avoid a historical quirk when a process sends an exit signal to itself with reason `normal`.\r\n\r\n  The old `erlang:exit/2,3` will work as before, but it is recommended to use the new `exit:signal/2,3` functions for new or modified code. Deprecation of `erlang:exit/2,3` with a compiler warning is planned for OTP 30.\r\n\r\n  Own Id: OTP-20069\\\r\n  Related Id(s): [PR-10801]\r\n\r\n- The old Tcl-based implementation of `erl_errno_id()` has been replaced by our own implementation now supporting more `errno` values on modern operating systems. It now also returns the string `\"errno_<ERRNO_INTEGER>\"` corresponding to the integer given as argument if the `errno` integer is unknown instead of as previously just return the string `\"unknown\"`.\r\n\r\n  The result of `erl_errno_id()` is often converted into an atom and passed as an error from a driver or a NIF.\r\n\r\n  Own Id: OTP-20076\\\r\n  Related Id(s): [PR-10958], [PR-10969]\r\n\r\n  \\*\\*\\* POTENTIAL INCOMPATIBILITY \\*\\*\\*\r\n\r\n- When implementing an [alternate distribution] implementors can now use an alternate [*handshake complete* fun of arity 4] if needed.\r\n\r\n  Own Id: OTP-20090\\\r\n  Related Id(s): [PR-10478]\r\n\r\n- The `erlang:suspend_process/1` and `erlang:suspend_process/2` BIFs now also suspend BIF timers that will send messages to the process if the timer was created using the PID of the process as destination. Timers created using registered names are not affected.\r\n\r\n  Own Id: OTP-20095\\\r\n  Related Id(s): [PR-10619], [PR-11004]\r\n\r\n  \\*\\*\\* POTENTIAL INCOMPATIBILITY \\*\\*\\*\r\n\r\n> #### Full runtime dependencies of erts-17.0\r\n>\r\n> kernel-9.0, sasl-3.3, stdlib-4.1\r\n\r\n# et-1.8\r\n\r\n## Improvements and New Features\r\n\r\n- Only minor internal changes.\r\n\r\n  Own Id: OTP-19964\r\n\r\n> #### Full runtime dependencies of et-1.8\r\n>\r\n> erts-9.0, kernel-5.3, runtime_tools-1.10, stdlib-3.4, wx-1.2\r\n\r\n# eunit-2.11\r\n\r\n## Improvements and New Features\r\n\r\n- Added `randomDelay` macro.\r\n\r\n  Own Id: OTP-19997\\\r\n  Related Id(s): [PR-10614]\r\n\r\n- Added support for `-unsafe` attributes, which is used to mark functions as unsafe to use.\r\n\r\n  This is similar to but separate from deprecation, and the compiler will by default now generate warnings for calls to functions in Erlang/OTP that are known to be always unsafe.\r\n\r\n  Furthermore, [`xref`] can now be used to find calls to functions in another application that lack a `-doc` attribute (`undocumented_function_calls`), calls to functions in another application marked `-doc false.` (`private_function_calls`), as well as calls to unsafe functions (`unsafe_function_calls`).\r\n\r\n  Own Id: OTP-20066\\\r\n  Related Id(s): [PR-10839]\r\n\r\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\r\n\r\n> #### Full runtime dependencies of eunit-2.11\r\n>\r\n> erts-9.0, kernel-11.0, stdlib-6.0\r\n\r\n# ftp-1.2.5\r\n\r\n## Fixed Bugs and Malfunctions\r\n\r\n- The `odbc` application is now deprecated and is planned to be removed in Erlang/OTP 30.\r\n\r\n  The [`ftp`] and [`ct_ftp`] modules are now deprecated and are planned to be removed in Erlang/OTP 30.\r\n\r\n  Own Id: OTP-19980\\\r\n  Related Id(s): [PR-10804]\r\n\r\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\r\n\r\n> #### Full runtime dependencies of ftp-1.2.5\r\n>\r\n> erts-7.0, kernel-6.0, runtime_tools-1.15.1, ssl-10.2, stdlib-3.5\r\n\r\n# inets-9.7\r\n\r\n## Improvements and New Features\r\n\r\n- A new option `max_connections_open` has been added to the [`httpc`] HTTP client profile configuration. It limits the maximum number of concurrent HTTP handler processes that can be open simultaneously.\r\n\r\n  When the limit is reached, new requests are queued internally and started automatically as existing handlers complete. This prevents bandwidth exhaustion in high-load scenarios where too many parallel connections cause remote servers to close sockets before transfers finish (the socket_closed_remotely error).\r\n\r\n  The option can be set via `httpc:set_options([{max_connections_open, 10}], Profile).`\r\n\r\n  The default value is `infinity` (unlimited), preserving backward compatibility. The value must be a positive integer or `infinity` and must be greater than or equal to `max_sessions`.\r\n\r\n  Own Id: OTP-19587\\\r\n  Related Id(s): [GH-8841], [PR-9712]\r\n\r\n- The legacy `and` and `or` operators have been replaced with other language constructs.\r\n\r\n  Own Id: OTP-19744\\\r\n  Related Id(s): [PR-10114], [PR-10554], [PR-10568], [PR-10579], [PR-10580], [PR-10585], [PR-10598], [PR-10710], [PR-10718], [PR-10730]\r\n\r\n- Added support for `-unsafe` attributes, which is used to mark functions as unsafe to use.\r\n\r\n  This is similar to but separate from deprecation, and the compiler will by default now generate warnings for calls to functions in Erlang/OTP that are known to be always unsafe.\r\n\r\n  Furthermore, [`xref`] can now be used to find calls to functions in another application that lack a `-doc` attribute (`undocumented_function_calls`), calls to functions in another application marked `-doc false.` (`private_function_calls`), as well as calls to unsafe functions (`unsafe_function_calls`).\r\n\r\n  Own Id: OTP-20066\\\r\n  Related Id(s): [PR-10839]\r\n\r\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\r\n\r\n- Deprecated `mod_cgi` and `mod_actions`. Scheduled to be removed in OTP 30\r\n\r\n  Own Id: OTP-20071\\\r\n  Related Id(s): [PR-10950]\r\n\r\n> #### Full runtime dependencies of inets-9.7\r\n>\r\n> erts-14.0, kernel-9.0, mnesia-4.12, public_key-1.13, runtime_tools-1.8.14, ssl-9.0, stdlib-5.0, stdlib-6.0\r\n\r\n# jinterface-1.16\r\n\r\n## Improvements and New Features\r\n\r\n- The `jinterface` build now honors `SOURCE_DATE_EPOCH` for deterministic build of `OtpErlang.jar`.\r\n\r\n  Own Id: OTP-19956\\\r\n  Related Id(s): [PR-10556]\r\n\r\n- Removed prebuilt java files from source tar file to avoid issues with different version of the java runtime.\r\n\r\n  Own Id: OTP-20073\\\r\n  Related Id(s): [PR-10951]\r\n\r\n# kernel-11.0\r\n\r\n## Fixed Bugs and Malfunctions\r\n\r\n- Fixed (`inet`) module selection when calling (`gen_tcp`) listen and connect and (`gen_udp`) open. Depending on the order of the options, the module option (`tcp_module` or `udp_module`) was sometimes ignored.\r\n\r\n  Own Id: OTP-19695\\\r\n  Related Id(s): [GH-9822], [PR-10013]\r\n\r\n  \\*\\*\\* POTENTIAL INCOMPATIBILITY \\*\\*\\*\r\n\r\n- The TCP/UDP compatibility layer has been fixed so that `inet_backend = socket` now supports socket options `reuseport` and `reuseport_lb` for `gen_tcp` and `gen_udp`.\r\n\r\n  Own Id: OTP-19917\\\r\n  Related Id(s): [PR-10514]\r\n\r\n- Some errors in config files for the application controller would result in very cryptic crashes. Error handling has been improved to ensure that the file name and line number of the offending token are now printed.\r\n\r\n  Own Id: OTP-20054\\\r\n  Related Id(s): [GH-10214], [PR-10259]\r\n\r\n## Improvements and New Features\r\n\r\n- Added an option to set the `erl_boot_server` listen port.\r\n\r\n  Own Id: OTP-19708\\\r\n  Related Id(s): [PR-9894]\r\n\r\n- The memory footprint of some supervisors has been reduced by purging obsoleted data when the supervisor is transitioning to and from hibernation.\r\n\r\n  Own Id: OTP-19713\\\r\n  Related Id(s): [PR-9866]\r\n\r\n- Improved name consistency of EPMD protocol messages in documentation and code. Renamed `PORT_PLEASE2_REQ` to `PORT2_REQ` and added prefix `EPMD_`.\r\n\r\n  Own Id: OTP-19734\\\r\n  Related Id(s): [GH-10071], [PR-10078]\r\n\r\n- The legacy `and` and `or` operators have been replaced with other language constructs.\r\n\r\n  Own Id: OTP-19744\\\r\n  Related Id(s): [PR-10114], [PR-10554], [PR-10568], [PR-10579], [PR-10580], [PR-10585], [PR-10598], [PR-10710], [PR-10718], [PR-10730]\r\n\r\n- Refactored a `kernel_load_completed` clause in the `init` module for conciseness.\r\n\r\n  Own Id: OTP-19786\\\r\n  Related Id(s): [PR-10134]\r\n\r\n- Full support for SCTP in [`socket`]. Not (yet) supported for FreeBSD.\r\n\r\n  Own Id: OTP-19834\r\n\r\n- In the default code path for the Erlang system, the current working directory (`.`) is now in the last position instead of the first.\r\n\r\n  Own Id: OTP-19842\\\r\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\r\n\r\n  \\*\\*\\* POTENTIAL INCOMPATIBILITY \\*\\*\\*\r\n\r\n- It was previously not possible to check on the socket nif load result. A successful load was self-evident, but a failure was only visible from the fact that most [`socket`] functions failed with `notsup`. This has now been improved such that the (socket nif) load result is visible in the info map (from `socket:info/0`).\r\n\r\n  Own Id: OTP-20003\r\n\r\n- Added support for socket functions `recvmmsg()` and `sendmmsg()`.\r\n\r\n  Own Id: OTP-20015\\\r\n  Related Id(s): [PR-10564]\r\n\r\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\r\n\r\n- Added a new module called `io_ansi` that allows the user to emit Virtual Terminal Sequences (a.k.a. ANSI sequences) to the terminal in order to add colors/styling to text or create fully-fledged terminal applications.\r\n\r\n  `io_ansi` uses the local terminfo database in order to be as cross-platform compatible as possible.\r\n\r\n  It also works across nodes so that if functions on a remote node call `io_ansi:fwrite/1` it will use the destination terminal's terminfo database to determine which sequences to emit. In practice, this means that you can call functions in a remote shell session that use `io_ansi` and it will properly detect the terminal sequences the target terminal can handle and will print using them correctly.\r\n\r\n  Own Id: OTP-20028\\\r\n  Related Id(s): [PR-9940]\r\n\r\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\r\n\r\n- Polished the documentation groups, essentially removed groups that did nothing but obscure the documentation.\r\n\r\n  Own Id: OTP-20029\\\r\n  Related Id(s): [PR-10755]\r\n\r\n- Added a new behavior, `data_publisher`, for building eventually consistent, replicated data stores across distributed nodes. This is a generalization of the `pg` module.\r\n\r\n  Own Id: OTP-20055\\\r\n  Related Id(s): [PR-10426]\r\n\r\n- Added support for `-unsafe` attributes, which is used to mark functions as unsafe to use.\r\n\r\n  This is similar to but separate from deprecation, and the compiler will by default now generate warnings for calls to functions in Erlang/OTP that are known to be always unsafe.\r\n\r\n  Furthermore, [`xref`] can now be used to find calls to functions in another application that lack a `-doc` attribute (`undocumented_function_calls`), calls to functions in another application marked `-doc false.` (`private_function_calls`), as well as calls to unsafe functions (`unsafe_function_calls`).\r\n\r\n  Own Id: OTP-20066\\\r\n  Related Id(s): [PR-10839]\r\n\r\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\r\n\r\n- When implementing an [alternate distribution] implementors can now use an alternate [*handshake complete* fun of arity 4] if needed.\r\n\r\n  Own Id: OTP-20090\\\r\n  Related Id(s): [PR-10478]\r\n\r\n> #### Full runtime dependencies of kernel-11.0\r\n>\r\n> crypto-5.8, erts-17.0, sasl-3.0, stdlib-8.0\r\n\r\n# megaco-4.9\r\n\r\n## Improvements and New Features\r\n\r\n- Only minor internal changes.\r\n\r\n  Own Id: OTP-19964\r\n\r\n- Added support for `-unsafe` attributes, which is used to mark functions as unsafe to use.\r\n\r\n  This is similar to but separate from deprecation, and the compiler will by default now generate warnings for calls to functions in Erlang/OTP that are known to be always unsafe.\r\n\r\n  Furthermore, [`xref`] can now be used to find calls to functions in another application that lack a `-doc` attribute (`undocumented_function_calls`), calls to functions in another application marked `-doc false.` (`private_function_calls`), as well as calls to unsafe functions (`unsafe_function_calls`).\r\n\r\n  Own Id: OTP-20066\\\r\n  Related Id(s): [PR-10839]\r\n\r\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\r\n\r\n> #### Full runtime dependencies of megaco-4.9\r\n>\r\n> asn1-3.0, debugger-4.0, erts-12.0, et-1.5, kernel-8.0, runtime_tools-1.8.14, stdlib-2.5\r\n\r\n# mnesia-4.26\r\n\r\n## Improvements and New Features\r\n\r\n- `mnesia` now has new functions `select_reverse/1-6` supporting iteration over tables in reverse order.\r\n\r\n  Own Id: OTP-19611\\\r\n  Related Id(s): [GH-8993], [PR-9475]\r\n\r\n- The `mnesia_registry` module has been removed.\r\n\r\n  Own Id: OTP-19807\\\r\n  Related Id(s): [PR-7315]\r\n\r\n  \\*\\*\\* POTENTIAL INCOMPATIBILITY \\*\\*\\*\r\n\r\n- Added support for `-unsafe` attributes, which is used to mark functions as unsafe to use.\r\n\r\n  This is similar to but separate from deprecation, and the compiler will by default now generate warnings for calls to functions in Erlang/OTP that are known to be always unsafe.\r\n\r\n  Furthermore, [`xref`] can now be used to find calls to functions in another application that lack a `-doc` attribute (`undocumented_function_calls`), calls to functions in another application marked `-doc false.` (`private_function_calls`), as well as calls to unsafe functions (`unsafe_function_calls`).\r\n\r\n  Own Id: OTP-20066\\\r\n  Related Id(s): [PR-10839]\r\n\r\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\r\n\r\n> #### Full runtime dependencies of mnesia-4.26\r\n>\r\n> erts-9.0, kernel-5.3, stdlib-5.0\r\n\r\n# observer-2.19\r\n\r\n## Improvements and New Features\r\n\r\n- Only minor internal changes.\r\n\r\n  Own Id: OTP-19964\r\n\r\n- Added support for `-unsafe` attributes, which is used to mark functions as unsafe to use.\r\n\r\n  This is similar to but separate from deprecation, and the compiler will by default now generate warnings for calls to functions in Erlang/OTP that are known to be always unsafe.\r\n\r\n  Furthermore, [`xref`] can now be used to find calls to functions in another application that lack a `-doc` attribute (`undocumented_function_calls`), calls to functions in another application marked `-doc false.` (`private_function_calls`), as well as calls to unsafe functions (`unsafe_function_calls`).\r\n\r\n  Own Id: OTP-20066\\\r\n  Related Id(s): [PR-10839]\r\n\r\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\r\n\r\n> #### Full runtime dependencies of observer-2.19\r\n>\r\n> erts-15.0, et-1.5, kernel-10.0, runtime_tools-2.1, stdlib-5.0, wx-2.3\r\n\r\n# odbc-2.17\r\n\r\n## Fixed Bugs and Malfunctions\r\n\r\n- The `odbc` application is now deprecated and is planned to be removed in Erlang/OTP 30.\r\n\r\n  The [`ftp`] and [`ct_ftp`] modules are now deprecated and are planned to be removed in Erlang/OTP 30.\r\n\r\n  Own Id: OTP-19980\\\r\n  Related Id(s): [PR-10804]\r\n\r\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\r\n\r\n## Improvements and New Features\r\n\r\n- Added support for `-unsafe` attributes, which is used to mark functions as unsafe to use.\r\n\r\n  This is similar to but separate from deprecation, and the compiler will by default now generate warnings for calls to functions in Erlang/OTP that are known to be always unsafe.\r\n\r\n  Furthermore, [`xref`] can now be used to find calls to functions in another application that lack a `-doc` attribute (`undocumented_function_calls`), calls to functions in another application marked `-doc false.` (`private_function_calls`), as well as calls to unsafe functions (`unsafe_function_calls`).\r\n\r\n  Own Id: OTP-20066\\\r\n  Related Id(s): [PR-10839]\r\n\r\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\r\n\r\n> #### Full runtime dependencies of odbc-2.17\r\n>\r\n> erts-6.0, kernel-3.0, stdlib-2.0\r\n\r\n# os_mon-2.12\r\n\r\n## Improvements and New Features\r\n\r\n- Only minor internal changes.\r\n\r\n  Own Id: OTP-19964\r\n\r\n- Added support for `-unsafe` attributes, which is used to mark functions as unsafe to use.\r\n\r\n  This is similar to but separate from deprecation, and the compiler will by default now generate warnings for calls to functions in Erlang/OTP that are known to be always unsafe.\r\n\r\n  Furthermore, [`xref`] can now be used to find calls to functions in another application that lack a `-doc` attribute (`undocumented_function_calls`), calls to functions in another application marked `-doc false.` (`private_function_calls`), as well as calls to unsafe functions (`unsafe_function_calls`).\r\n\r\n  Own Id: OTP-20066\\\r\n  Related Id(s): [PR-10839]\r\n\r\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\r\n\r\n> #### Full runtime dependencies of os_mon-2.12\r\n>\r\n> erts-14.0, kernel-9.0, sasl-4.2.1, stdlib-5.0\r\n\r\n# parsetools-2.8\r\n\r\n## Improvements and New Features\r\n\r\n- Only minor internal changes.\r\n\r\n  Own Id: OTP-19964\r\n\r\n- Added support for `-unsafe` attributes, which is used to mark functions as unsafe to use.\r\n\r\n  This is similar to but separate from deprecation, and the compiler will by default now generate warnings for calls to functions in Erlang/OTP that are known to be always unsafe.\r\n\r\n  Furthermore, [`xref`] can now be used to find calls to functions in another application that lack a `-doc` attribute (`undocumented_function_calls`), calls to functions in another application marked `-doc false.` (`private_function_calls`), as well as calls to unsafe functions (`unsafe_function_calls`).\r\n\r\n  Own Id: OTP-20066\\\r\n  Related Id(s): [PR-10839]\r\n\r\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\r\n\r\n> #### Full runtime dependencies of parsetools-2.8\r\n>\r\n> erts-6.0, kernel-3.0, stdlib-3.4\r\n\r\n# public_key-1.21\r\n\r\n## Improvements and New Features\r\n\r\n- The legacy `and` and `or` operators have been replaced with other language constructs.\r\n\r\n  Own Id: OTP-19744\\\r\n  Related Id(s): [PR-10114], [PR-10554], [PR-10568], [PR-10579], [PR-10580], [PR-10585], [PR-10598], [PR-10710], [PR-10718], [PR-10730]\r\n\r\n- Added an option for relaxed encoding of certificates to allow some values to be empty. This may be used by other applications for interoperability reasons. This option is not used by the `ssl` application.\r\n\r\n  Own Id: OTP-19822\\\r\n  Related Id(s): [PR-10033]\r\n\r\n- Added support for `-unsafe` attributes, which is used to mark functions as unsafe to use.\r\n\r\n  This is similar to but separate from deprecation, and the compiler will by default now generate warnings for calls to functions in Erlang/OTP that are known to be always unsafe.\r\n\r\n  Furthermore, [`xref`] can now be used to find calls to functions in another application that lack a `-doc` attribute (`undocumented_function_calls`), calls to functions in another application marked `-doc false.` (`private_function_calls`), as well as calls to unsafe functions (`unsafe_function_calls`).\r\n\r\n  Own Id: OTP-20066\\\r\n  Related Id(s): [PR-10839]\r\n\r\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\r\n\r\n> #### Full runtime dependencies of public_key-1.21\r\n>\r\n> asn1-5.0, crypto-5.8, erts-13.0, kernel-8.0, stdlib-4.0\r\n\r\n# reltool-1.1\r\n\r\n## Improvements and New Features\r\n\r\n- Removed the undocumented `dyn_erl` utility.\r\n\r\n  Own Id: OTP-19933\\\r\n  Related Id(s): [PR-10573]\r\n\r\n- Added support for `-unsafe` attributes, which is used to mark functions as unsafe to use.\r\n\r\n  This is similar to but separate from deprecation, and the compiler will by default now generate warnings for calls to functions in Erlang/OTP that are known to be always unsafe.\r\n\r\n  Furthermore, [`xref`] can now be used to find calls to functions in another application that lack a `-doc` attribute (`undocumented_function_calls`), calls to functions in another application marked `-doc false.` (`private_function_calls`), as well as calls to unsafe functions (`unsafe_function_calls`).\r\n\r\n  Own Id: OTP-20066\\\r\n  Related Id(s): [PR-10839]\r\n\r\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\r\n\r\n> #### Full runtime dependencies of reltool-1.1\r\n>\r\n> erts-15.0, kernel-9.0, sasl-4.2.1, stdlib-5.0, tools-2.6.14, wx-2.3\r\n\r\n# runtime_tools-2.4\r\n\r\n## Improvements and New Features\r\n\r\n- Only minor internal changes.\r\n\r\n  Own Id: OTP-19964\r\n\r\n- Added support for `-unsafe` attributes, which is used to mark functions as unsafe to use.\r\n\r\n  This is similar to but separate from deprecation, and the compiler will by default now generate warnings for calls to functions in Erlang/OTP that are known to be always unsafe.\r\n\r\n  Furthermore, [`xref`] can now be used to find calls to functions in another application that lack a `-doc` attribute (`undocumented_function_calls`), calls to functions in another application marked `-doc false.` (`private_function_calls`), as well as calls to unsafe functions (`unsafe_function_calls`).\r\n\r\n  Own Id: OTP-20066\\\r\n  Related Id(s): [PR-10839]\r\n\r\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\r\n\r\n> #### Full runtime dependencies of runtime_tools-2.4\r\n>\r\n> erts-16.0, kernel-10.0, mnesia-4.12, stdlib-6.0\r\n\r\n# sasl-4.4\r\n\r\n## Fixed Bugs and Malfunctions\r\n\r\n- UNC paths are now handled on Windows.\r\n\r\n  Own Id: OTP-19949\\\r\n  Related Id(s): [PR-10601]\r\n\r\n## Improvements and New Features\r\n\r\n- Removed the undocumented `dyn_erl` utility.\r\n\r\n  Own Id: OTP-19933\\\r\n  Related Id(s): [PR-10573]\r\n\r\n- Added support for `-unsafe` attributes, which is used to mark functions as unsafe to use.\r\n\r\n  This is similar to but separate from deprecation, and the compiler will by default now generate warnings for calls to functions in Erlang/OTP that are known to be always unsafe.\r\n\r\n  Furthermore, [`xref`] can now be used to find calls to functions in another application that lack a `-doc` attribute (`undocumented_function_calls`), calls to functions in another application marked `-doc false.` (`private_function_calls`), as well as calls to unsafe functions (`unsafe_function_calls`).\r\n\r\n  Own Id: OTP-20066\\\r\n  Related Id(s): [PR-10839]\r\n\r\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\r\n\r\n> #### Full runtime dependencies of sasl-4.4\r\n>\r\n> erts-15.0, kernel-6.0, stdlib-4.0, tools-2.6.14\r\n\r\n# snmp-5.20.3\r\n\r\n## Improvements and New Features\r\n\r\n- The legacy `and` and `or` operators have been replaced with other language constructs.\r\n\r\n  Own Id: OTP-19744\\\r\n  Related Id(s): [PR-10114], [PR-10554], [PR-10568], [PR-10579], [PR-10580], [PR-10585], [PR-10598], [PR-10710], [PR-10718], [PR-10730]\r\n\r\n> #### Full runtime dependencies of snmp-5.20.3\r\n>\r\n> asn1-5.4, crypto-4.6, erts-12.0, kernel-8.0, mnesia-4.12, runtime_tools-1.8.14, stdlib-5.0\r\n\r\n# ssh-6.0\r\n\r\n## Fixed Bugs and Malfunctions\r\n\r\n- Password-based authentication has been updated to follow current security best practices. Key-based authentication remains recommended for production systems.\r\n\r\n  Own Id: OTP-19982\\\r\n  Related Id(s): [PR-10571]\r\n\r\n- Added explicit size validation guards for pre-authentication SSH messages to improve defense-in-depth against DoS attacks. Messages now have per-field size limits based on RFC specifications:\r\n\r\n  - Transport layer messages (DISCONNECT, IGNORE, DEBUG)\r\n  - Key exchange messages (DH, ECDH, DH-GEX)\r\n  - Service request messages (SERVICE_REQUEST, SERVICE_ACCEPT, EXT_INFO)\r\n\r\n  This change enhances the existing 256KB global packet size limit with granular per-message validation. Compliant implementations are not affected.\r\n\r\n  Own Id: OTP-19995\\\r\n  Related Id(s): [PR-10739]\r\n\r\n  \\*\\*\\* POTENTIAL INCOMPATIBILITY \\*\\*\\*\r\n\r\n- The SFTP subsystem `root` option now properly rejects relative paths at daemon startup. Previously, relative paths would cause unpredictable behavior as file operations resolved relative to the Erlang VM's current working directory. The option now requires an absolute path or empty string.\r\n\r\n  Own Id: OTP-20019\\\r\n  Related Id(s): [PR-10820]\r\n\r\n  \\*\\*\\* POTENTIAL INCOMPATIBILITY \\*\\*\\*\r\n\r\n## Improvements and New Features\r\n\r\n- Using KEX strict extension names as specified in draft-ietf-sshm-strict-kex-00. Pre standard names are still supported.\r\n\r\n  Own Id: OTP-19709\\\r\n  Related Id(s): [PR-10115]\r\n\r\n- Added an `alive` option to detect and terminate dead SSH connections. Functionally equivalent to OpenSSH's ClientAlive\\*/ServerAlive\\* settings.\r\n\r\n  Own Id: OTP-19750\\\r\n  Related Id(s): [PR-10372], [PR-9125]\r\n\r\n- `ssh:stop_deamon` now uses `supervisor:stop` for shutting down daemons. With this change, the scenario when `ssh:stop_daemon` is called for a non-existing process results in calling process exiting. Previously an error tuple was returned (which was not documented).\r\n\r\n  Own Id: OTP-19801\\\r\n  Related Id(s): [PR-10253]\r\n\r\n  \\*\\*\\* POTENTIAL INCOMPATIBILITY \\*\\*\\*\r\n\r\n- The default key exchange algorithm is now mlkem768x25519-sha256, a hybrid quantum-resistant algorithm combining ML-KEM-768 with X25519. This provides protection against both classical and quantum computer attacks while maintaining backward compatibility through automatic fallback to other algorithms when peers don't support it.\r\n\r\n  Own Id: OTP-19965\\\r\n  Related Id(s): [PR-10656]\r\n\r\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\r\n\r\n  \\*\\*\\* POTENTIAL INCOMPATIBILITY \\*\\*\\*\r\n\r\n- The SSH daemon now defaults to disabled for shell and exec services, implementing the \"secure by default\" principle. This prevents authenticated users from executing arbitrary Erlang code unless explicitly configured.\r\n\r\n  Applications requiring shell or exec functionality must now explicitly enable:\r\n\r\n  ```erlang\r\n    %% Enable Erlang shell\r\n    ssh:daemon(Port, [{shell, {shell, start, []}} | Options])\r\n\r\n    %% Enable Erlang term evaluation via exec\r\n    ssh:daemon(Port, [{exec, erlang_eval} | Options])\r\n\r\n    %% Restore complete old behavior\r\n    ssh:daemon(Port, [{shell, {shell, start, []}},\r\n                      {exec, erlang_eval}\r\n                      | Options])\r\n  ```\r\n\r\n  Own Id: OTP-19969\\\r\n  Related Id(s): [PR-10970]\r\n\r\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\r\n\r\n  \\*\\*\\* POTENTIAL INCOMPATIBILITY \\*\\*\\*\r\n\r\n- Added SFTP resource limits section to hardening guide covering `max_handles`, `max_path`, and `max_files` with deployment recommendations.\r\n\r\n  Own Id: OTP-20031\\\r\n  Related Id(s): [PR-10838]\r\n\r\n- Added support for `-unsafe` attributes, which is used to mark functions as unsafe to use.\r\n\r\n  This is similar to but separate from deprecation, and the compiler will by default now generate warnings for calls to functions in Erlang/OTP that are known to be always unsafe.\r\n\r\n  Furthermore, [`xref`] can now be used to find calls to functions in another application that lack a `-doc` attribute (`undocumented_function_calls`), calls to functions in another application marked `-doc false.` (`private_function_calls`), as well as calls to unsafe functions (`unsafe_function_calls`).\r\n\r\n  Own Id: OTP-20066\\\r\n  Related Id(s): [PR-10839]\r\n\r\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\r\n\r\n- The SFTP subsystem is no longer enabled by default when starting an SSH daemon. To enable it, add the subsystems option explicitly:\r\n\r\n  ```erlang\r\n  ssh:daemon(Port, [{subsystems, [ssh_sftpd:subsystem_spec([])]} | Options])\r\n  ```\r\n\r\n  Own Id: OTP-20078\\\r\n  Related Id(s): [PR-10970]\r\n\r\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\r\n\r\n  \\*\\*\\* POTENTIAL INCOMPATIBILITY \\*\\*\\*\r\n\r\n- The SSH hardening guide has been improved with a timeout overview table replacing the previous image, corrected terminology (\"authenticated\" instead of \"authorized\"), and new examples for loopback binding, public key user checking, and password lockout using ETS.\r\n\r\n  Own Id: OTP-20079\\\r\n  Related Id(s): [PR-10970]\r\n\r\n- With this change usage of `zlib` compression algorithm in SSH is deprecated and scheduled for removal in OTP 30.0\r\n\r\n  Own Id: OTP-20099\\\r\n  Related Id(s): [PR-11010]\r\n\r\n> #### Full runtime dependencies of ssh-6.0\r\n>\r\n> crypto-5.7, erts-14.0, kernel-10.3, public_key-1.6.1, runtime_tools-1.15.1, stdlib-8.0\r\n\r\n# ssl-11.6\r\n\r\n## Improvements and New Features\r\n\r\n- The legacy `and` and `or` operators have been replaced with other language constructs.\r\n\r\n  Own Id: OTP-19744\\\r\n  Related Id(s): [PR-10114], [PR-10554], [PR-10568], [PR-10579], [PR-10580], [PR-10585], [PR-10598], [PR-10710], [PR-10718], [PR-10730]\r\n\r\n- Added support for `-unsafe` attributes, which is used to mark functions as unsafe to use.\r\n\r\n  This is similar to but separate from deprecation, and the compiler will by default now generate warnings for calls to functions in Erlang/OTP that are known to be always unsafe.\r\n\r\n  Furthermore, [`xref`] can now be used to find calls to functions in another application that lack a `-doc` attribute (`undocumented_function_calls`), calls to functions in another application marked `-doc false.` (`private_function_calls`), as well as calls to unsafe functions (`unsafe_function_calls`).\r\n\r\n  Own Id: OTP-20066\\\r\n  Related Id(s): [PR-10839]\r\n\r\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\r\n\r\n- Post quantum hybrid algorithm x25519mlkem768 is now the most preferred key exchange group in the default configuration.\r\n\r\n  Post-quantum hybrid algorithms secp384r1mlkem1024 and secp256r1mlkem768 are supported but have to be configured. The same goes for the plain post-quantum algorithms mlkem1024, mlkem768, and mlkem512.\r\n\r\n  The most preferred signature algorithms are now post-quantum algorithms ML-DSA and SLH-DSA if such certs are available in the configuration.\r\n\r\n  All these algorithms where available in OTP-28.4 but none of them preferred and some of them changed default status.\r\n\r\n  Own Id: OTP-20070\\\r\n  Related Id(s): [PR-10949]\r\n\r\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\r\n\r\n  \\*\\*\\* POTENTIAL INCOMPATIBILITY \\*\\*\\*\r\n\r\n- Always use secure renegotiation for TLS-1.2 specified in RFC 5746 from 2010. Interoperability fallback option should no longer be needed.\r\n\r\n  Own Id: OTP-20080\\\r\n  Related Id(s): [PR-10979]\r\n\r\n  \\*\\*\\* POTENTIAL INCOMPATIBILITY \\*\\*\\*\r\n\r\n> #### Full runtime dependencies of ssl-11.6\r\n>\r\n> crypto-5.8, erts-16.0, inets-5.10.7, kernel-10.3, public_key-1.20.3, runtime_tools-1.15.1, stdlib-7.0\r\n\r\n# stdlib-8.0\r\n\r\n## Fixed Bugs and Malfunctions\r\n\r\n- Fixed an issue in `digraph_utils:roots/1` where roots could be missed in some cases.\r\n\r\n  Own Id: OTP-19932\\\r\n  Related Id(s): [PR-10510]\r\n\r\n- `beam_lib:strip/1` will now retain the Beam debug information chunk produced by the `beam_debug_info` option. The chunk will also be retained when combing the `beam_debug_info` option with the undocumented `slim` option.\r\n\r\n  The runtime system will no longer crash when attempting to load modules that have been compiled with `beam_debug_info` but lack the actual Beam debug info chunk.\r\n\r\n  Own Id: OTP-19991\\\r\n  Related Id(s): [GH-10557], [PR-10735]\r\n\r\n- Fixed a crash when `zstd:compress/2` was asked to compress empty data.\r\n\r\n  Own Id: OTP-20001\\\r\n  Related Id(s): [GH-10650], [PR-10653]\r\n\r\n## Improvements and New Features\r\n\r\n- Error return values from functions in [`zip`] now also specify which file in the archive the error belongs to.\r\n\r\n  Own Id: OTP-19663\\\r\n  Related Id(s): [PR-9899]\r\n\r\n- The legacy `and` and `or` operators have been replaced with other language constructs.\r\n\r\n  Own Id: OTP-19744\\\r\n  Related Id(s): [PR-10114], [PR-10554], [PR-10568], [PR-10579], [PR-10580], [PR-10585], [PR-10598], [PR-10710], [PR-10718], [PR-10730]\r\n\r\n- The undocumented and unsupported function `lists:zf/2` is now deprecated.\r\n\r\n  Own Id: OTP-19783\\\r\n  Related Id(s): [PR-10161]\r\n\r\n- Native records as described in [EEP-79] has been implemented.\r\n\r\n  A native record is a data structure similar to the traditional tuple-based records, except that is a true data type.\r\n\r\n  Native records are considered experimental in Erlang/OTP 29 and possibly also in Erlang/OTP 30, meaning that their behavior may change, potentially requiring updates to applications that use them.\r\n\r\n  Own Id: OTP-19785\\\r\n  Related Id(s): [PR-10617]\r\n\r\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\r\n\r\n- The new `supervior:stop/1,2` functions can be used to manage the dynamic parts of a supervisor tree in an application from outside the tree but in the same application.\r\n\r\n  Own Id: OTP-19800\\\r\n  Related Id(s): [PR-9209]\r\n\r\n- Added a new constructor `array:from/2`.\r\n\r\n  Own Id: OTP-19815\\\r\n  Related Id(s): [PR-10304]\r\n\r\n- There are new functions for random permutation of a list: `rand:shuffle/1` and `rand:shuffle_s/2`. They are inspired by a suggestion and discussion on ErlangForums.\r\n\r\n  Own Id: OTP-19826\\\r\n  Related Id(s): [PR-10281]\r\n\r\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\r\n\r\n- The undocumented functions `erl_eval:extended_parse_exprs/1` and `erl_eval:extended_parse_term/1` will now be faster when called with a long list of tokens. (These functions are used by [`qlc`] and the shell.)\r\n\r\n  Own Id: OTP-19838\\\r\n  Related Id(s): [PR-10338]\r\n\r\n- The [`unicode`] module now supports the Unicode 17 standard.\r\n\r\n  Own Id: OTP-19853\\\r\n  Related Id(s): [PR-10382]\r\n\r\n- Added functions to [`unicode`] for recognizing whitespaces and identifiers.\r\n\r\n  Own Id: OTP-19858\\\r\n  Related Id(s): [PR-10387]\r\n\r\n- The `rand:bytes/1` and `rand:bytes_s/2` functions have been optimized by implementing a new internal callback function that `crypto:rand_seed_alg/1` and `crypto:alg_seed_alg_s/1` have been updated to use.\r\n\r\n  A new algorithm `crypto_prng1`, which also takes advantage of this new internal callback, has been added to `crypto:rand_seed_alg/2` and `crypto:rand_seed_alg_s/2`. It is much faster then the existing `crypto_aes`, in particular for generating bytes.\r\n\r\n  Own Id: OTP-19882\\\r\n  Related Id(s): [PR-10453], OTP-19827\r\n\r\n- There will now be a warning when exporting variables out of a subexpression. For example:\r\n\r\n  ```\r\n  case file:open(File, AllOpts = [write,{encoding,utf8}]) of\r\n      {ok,Fd} ->\r\n          {Fd,AllOpts}\r\n  end\r\n  ```\r\n\r\n  To avoid the warning, this can be rewritten to:\r\n\r\n  ```\r\n  AllOpts = [write,{encoding,utf8}],\r\n  case file:open(File, AllOpts) of\r\n      {ok,Fd} ->\r\n          {Fd,AllOpts}\r\n  end\r\n  ```\r\n\r\n  The warning can be suppressed by giving option `nowarn_export_var_subexpr` to the compiler.\r\n\r\n  Own Id: OTP-19898\\\r\n  Related Id(s): [PR-9134]\r\n\r\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\r\n\r\n- There are new functions in the shell for returning process information.\r\n\r\n  The `pi/1` function is shortcut for `erlang:process_info/1`. The `pi/3` function takes the three numbers from a pid, constructs a pid, and calls `process_info/1`.\r\n\r\n  Examples:\r\n\r\n  ```\r\n  1> pi(<0.90.0>).\r\n  [{current_function,{c,pinfo,1}},\r\n  {initial_call,{erlang,apply,2}},\r\n  {status,running},\r\n  ...\r\n  2> pi(0, 90, 0).\r\n  [{current_function,{c,pinfo,1}},\r\n  {initial_call,{erlang,apply,2}},\r\n  {status,running},\r\n  ...\r\n  ```\r\n\r\n  Own Id: OTP-19903\\\r\n  Related Id(s): [PR-10422]\r\n\r\n- Tools such as the debugger, [`beam_lib`], and [`xref`] no longer support BEAM files created before OTP 13B.\r\n\r\n  Own Id: OTP-19906\\\r\n  Related Id(s): [PR-10519]\r\n\r\n- The `mcalendar` module has been updated to use the much faster than before Neri-Schneider algorithm for Gregorian calendar calculations, and been extended to handle negative years.\r\n\r\n  Own Id: OTP-19912\\\r\n  Related Id(s): [PR-10449]\r\n\r\n- `graph` is a new module that is a functional equivalent of the [`digraph`] and [`digraph_utils`] modules.\r\n\r\n  Own Id: OTP-19922\\\r\n  Related Id(s): [PR-10532]\r\n\r\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\r\n\r\n- Before Erlang/OTP 29, attempting to bind variables in a comprehension would compile successfully but fail at runtime. Example:\r\n\r\n  ```\r\n  1> fh(List) -> [H || E <- List, H = erlang:phash2(E), H rem 10 =:= 0].\r\n  ok\r\n  2> fh(lists:seq(1, 10)).\r\n  * exception error: bad filter 2614250\r\n  ```\r\n\r\n  In Erlang/OTP 29, attempting to bind a variable in a comprehension will fail by default:\r\n\r\n  ```\r\n  1> fh(List) -> [H || E <- List, H = erlang:phash2(E), H rem 10 =:= 0].\r\n  * 5:14: matches using '=' are not allowed in comprehension qualifiers\r\n  unless the experimental 'compr_assign' language feature is enabled.\r\n  With 'compr_assign' enabled, a match 'P = E' will behave as a\r\n  strict generator 'P <-:- [E]'.\"\r\n  ```\r\n\r\n  However, this example will work as expected if the `compr_assign` feature is enabled when starting the runtime system:\r\n\r\n  ```\r\n  $ erl -enable-feature compr_assign\r\n  . . .\r\n  1> fh(List) -> [H || E <- List, H = erlang:phash2(E), H rem 10 =:= 0].\r\n  ok\r\n  2> fh(lists:seq(1, 10)).\r\n  [2614250]\r\n  ```\r\n\r\n  Here is another example how `compr_assign` can be used:\r\n\r\n  ```\r\n  -module(example).\r\n  -feature(compr_assign, enable).\r\n  -export([cat/1]).\r\n\r\n  cat(Files) ->\r\n      [Char || F <- Files,\r\n               {ok, Bin} = file:read_file(F),\r\n               Char <- unicode:characters_to_list(Bin)].\r\n  ```\r\n\r\n  Own Id: OTP-19927\\\r\n  Related Id(s): [PR-9153]\r\n\r\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\r\n\r\n  \\*\\*\\* POTENTIAL INCOMPATIBILITY \\*\\*\\*\r\n\r\n- Removed the undocumented `dyn_erl` utility.\r\n\r\n  Own Id: OTP-19933\\\r\n  Related Id(s): [PR-10573]\r\n\r\n- The functions `erl_tar:add/3` and `erl_tar:add/4` now accepts the `{mode,Mode}` option for setting the permission of the file.\r\n\r\n  Own Id: OTP-19934\\\r\n  Related Id(s): [PR-10524]\r\n\r\n- Added `zstd:flush/2` for flushing compressed data without closing the compression context.\r\n\r\n  Own Id: OTP-19936\\\r\n  Related Id(s): [GH-10345], [PR-10511]\r\n\r\n- There will now be a warning when using the `catch` operator, which has been deprecated for a long time.\r\n\r\n  It is recommended to instead use `try`...`catch`...`end` but is also possible to disable the warning by using the `nowarn_deprecated_catch` option.\r\n\r\n  Own Id: OTP-19938\\\r\n  Related Id(s): [PR-10421]\r\n\r\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\r\n\r\n- Multi-valued comprehensions according to [EEP 78] has been implemented.\r\n\r\n  Example:\r\n\r\n  ```erlang\r\n  > [I, -I || I <- lists:seq(1, 5)].\r\n  [1,-1,2,-2,3,-3,4,-4,5,-5]\r\n  ```\r\n\r\n  Own Id: OTP-19942\\\r\n  Related Id(s): [PR-9374]\r\n\r\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\r\n\r\n- There will now be a warning for matches that unify constructors, such as the following:\r\n\r\n  ```\r\n  m({a,B} = {Y,Z}) -> . . .\r\n  ```\r\n\r\n  Such a match can be rewritten to:\r\n\r\n  ```\r\n  m({a=Y,B=B}) -> . . .\r\n  ```\r\n\r\n  The compiler option `nowarn_match_alias_pats` can be used to disable the warning.\r\n\r\n  Own Id: OTP-19943\\\r\n  Related Id(s): [PR-10433]\r\n\r\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\r\n\r\n- The `array` module have been extended with several new functions. The internal representation have been changed to allow the new functionality and optimizations. Arrays serialized with `term_to_binary/1` in previous releases are not compatible.\r\n\r\n  Own Id: OTP-20004\\\r\n  Related Id(s): [PR-10578]\r\n\r\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\r\n\r\n  \\*\\*\\* POTENTIAL INCOMPATIBILITY \\*\\*\\*\r\n\r\n- `m:erl_tar` will use less memory when extracting large tar entries to disk. Instead of reading each tar entry into memory, [`erl_tar`] will now stream data in chunks of 64KB. The chunk size is settable using the new `{chunks,ChunkSize}` option.\r\n\r\n  The new `{max_size,Size}` option will set a limit on the total size of extracted data to protect against filling up the disk.\r\n\r\n  Checking of symlinks has been improved. Some symlinks that were safe (such as `dir/link -> ../file`) used to be rejected.\r\n\r\n  Own Id: OTP-20023\\\r\n  Related Id(s): [PR-10814], [PR-10818], [PR-10821]\r\n\r\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\r\n\r\n- Added a new module called `io_ansi` that allows the user to emit Virtual Terminal Sequences (a.k.a. ANSI sequences) to the terminal in order to add colors/styling to text or create fully-fledged terminal applications.\r\n\r\n  `io_ansi` uses the local terminfo database in order to be as cross-platform compatible as possible.\r\n\r\n  It also works across nodes so that if functions on a remote node call `io_ansi:fwrite/1` it will use the destination terminal's terminfo database to determine which sequences to emit. In practice, this means that you can call functions in a remote shell session that use `io_ansi` and it will properly detect the terminal sequences the target terminal can handle and will print using them correctly.\r\n\r\n  Own Id: OTP-20028\\\r\n  Related Id(s): [PR-9940]\r\n\r\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\r\n\r\n- Polished the documentation groups, essentially removed groups that did nothing but obscure the documentation.\r\n\r\n  Own Id: OTP-20029\\\r\n  Related Id(s): [PR-10755]\r\n\r\n- The `gb_sets:from_ordset/1` and `gb_trees:from_orddict/1` functions would trust their inputs. If the input contained duplicates or was not properly sorted, the resulting gb_set or gb_tree would be invalid, and any number of interesting problems could occur.\r\n\r\n  In this release, these functions will raise an exception if their input is not valid. That could mean that incorrect programs that **seemed** to work could now stop working altogether.\r\n\r\n  There is also a new `gb_trees:from_list/1` function for directly creating a gb_tree from a list.\r\n\r\n  Own Id: OTP-20061\\\r\n  Related Id(s): [PR-10910]\r\n\r\n  \\*\\*\\* POTENTIAL INCOMPATIBILITY \\*\\*\\*\r\n\r\n- Added support for `-unsafe` attributes, which is used to mark functions as unsafe to use.\r\n\r\n  This is similar to but separate from deprecation, and the compiler will by default now generate warnings for calls to functions in Erlang/OTP that are known to be always unsafe.\r\n\r\n  Furthermore, [`xref`] can now be used to find calls to functions in another application that lack a `-doc` attribute (`undocumented_function_calls`), calls to functions in another application marked `-doc false.` (`private_function_calls`), as well as calls to unsafe functions (`unsafe_function_calls`).\r\n\r\n  Own Id: OTP-20066\\\r\n  Related Id(s): [PR-10839]\r\n\r\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\r\n\r\n- The [`json`] module now encodes and decodes quoted strings faster. Improvements of up to 55 percent has been measured when decoding JSON data with long strings.\r\n\r\n  The `string:length/1`, `string:slice/2`, and `string:slice/3` functions have been optimized. For some strings, they can be up to twice as fast.\r\n\r\n  Own Id: OTP-20072\\\r\n  Related Id(s): [PR-10938], [PR-10948]\r\n\r\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\r\n\r\n> #### Full runtime dependencies of stdlib-8.0\r\n>\r\n> compiler-5.0, crypto-4.5, erts-16.0.3, kernel-11.0, sasl-3.0, syntax_tools-3.2.1\r\n\r\n# syntax_tools-4.1\r\n\r\n## Fixed Bugs and Malfunctions\r\n\r\n- `merl:compile_and_load/1` could crash when compiling code containing comments.\r\n\r\n  `merl:quote/2` would fail to handle literal UTF-8 encoded binaries.\r\n\r\n  Own Id: OTP-20077\\\r\n  Related Id(s): [PR-10243], [PR-10962]\r\n\r\n## Improvements and New Features\r\n\r\n- The legacy `and` and `or` operators have been replaced with other language constructs.\r\n\r\n  Own Id: OTP-19744\\\r\n  Related Id(s): [PR-10114], [PR-10554], [PR-10568], [PR-10579], [PR-10580], [PR-10585], [PR-10598], [PR-10710], [PR-10718], [PR-10730]\r\n\r\n- Multi-valued comprehensions according to [EEP 78] has been implemented.\r\n\r\n  Example:\r\n\r\n  ```erlang\r\n  > [I, -I || I <- lists:seq(1, 5)].\r\n  [1,-1,2,-2,3,-3,4,-4,5,-5]\r\n  ```\r\n\r\n  Own Id: OTP-19942\\\r\n  Related Id(s): [PR-9374]\r\n\r\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\r\n\r\n- Added support for `-unsafe` attributes, which is used to mark functions as unsafe to use.\r\n\r\n  This is similar to but separate from deprecation, and the compiler will by default now generate warnings for calls to functions in Erlang/OTP that are known to be always unsafe.\r\n\r\n  Furthermore, [`xref`] can now be used to find calls to functions in another application that lack a `-doc` attribute (`undocumented_function_calls`), calls to functions in another application marked `-doc false.` (`private_function_calls`), as well as calls to unsafe functions (`unsafe_function_calls`).\r\n\r\n  Own Id: OTP-20066\\\r\n  Related Id(s): [PR-10839]\r\n\r\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\r\n\r\n> #### Full runtime dependencies of syntax_tools-4.1\r\n>\r\n> compiler-9.0, erts-16.0, kernel-10.3, stdlib-8.0\r\n\r\n# tftp-1.3\r\n\r\n## Improvements and New Features\r\n\r\n- The legacy `and` and `or` operators have been replaced with other language constructs.\r\n\r\n  Own Id: OTP-19744\\\r\n  Related Id(s): [PR-10114], [PR-10554], [PR-10568], [PR-10579], [PR-10580], [PR-10585], [PR-10598], [PR-10710], [PR-10718], [PR-10730]\r\n\r\n- All use of legacy `catch` in the TFTP application has been rewritten.\r\n\r\n  In the process, deep return using `exit/1` or `throw/1` from callbacks has been changed to only work with `throw/1`, as customary. This was considered a misfeature.\r\n\r\n  Explicit loading of callback module or logger module has been removed, since that was against what one would expect for embedded mode.\r\n\r\n  Own Id: OTP-19996\\\r\n  Related Id(s): [PR-10753]\r\n\r\n- Added support for `-unsafe` attributes, which is used to mark functions as unsafe to use.\r\n\r\n  This is similar to but separate from deprecation, and the compiler will by default now generate warnings for calls to functions in Erlang/OTP that are known to be always unsafe.\r\n\r\n  Furthermore, [`xref`] can now be used to find calls to functions in another application that lack a `-doc` attribute (`undocumented_function_calls`), calls to functions in another application marked `-doc false.` (`private_function_calls`), as well as calls to unsafe functions (`unsafe_function_calls`).\r\n\r\n  Own Id: OTP-20066\\\r\n  Related Id(s): [PR-10839]\r\n\r\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\r\n\r\n> #### Full runtime dependencies of tftp-1.3\r\n>\r\n> erts-6.0, kernel-6.0, stdlib-5.0\r\n\r\n# tools-4.2\r\n\r\n## Fixed Bugs and Malfunctions\r\n\r\n- Fixed \"unbalanced parenthesis\" issue when pressing TAB in emacs erlang shell.\r\n\r\n  Own Id: OTP-19921\\\r\n  Related Id(s): [GH-8569], [PR-10642]\r\n\r\n- The minimum supported Emacs version for `erlang-mode` has been raised from 24.3 to 27.1. Compatibility shims for older Emacs versions have been removed.\r\n\r\n  The `erlang-mode` package version now tracks the Erlang/OTP release version (29.0) for consistent version numbers across package managers.\r\n\r\n  Own Id: OTP-20059\\\r\n  Related Id(s): [PR-10892]\r\n\r\n## Improvements and New Features\r\n\r\n- Tools such as the debugger, [`beam_lib`], and [`xref`] no longer support BEAM files created before OTP 13B.\r\n\r\n  Own Id: OTP-19906\\\r\n  Related Id(s): [PR-10519]\r\n\r\n- The `ignore_xref` attribute has been handled as a post-analysis filter by build tools such as Rebar3. In this release, [`xref`] itself does the filtering, ensuring that all tooling that calls `xref` for any purpose can rely on these declarations to just work.\r\n\r\n  Own Id: OTP-20032\\\r\n  Related Id(s): [PR-10592]\r\n\r\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\r\n\r\n- Added support for `-unsafe` attributes, which is used to mark functions as unsafe to use.\r\n\r\n  This is similar to but separate from deprecation, and the compiler will by default now generate warnings for calls to functions in Erlang/OTP that are known to be always unsafe.\r\n\r\n  Furthermore, [`xref`] can now be used to find calls to functions in another application that lack a `-doc` attribute (`undocumented_function_calls`), calls to functions in another application marked `-doc false.` (`private_function_calls`), as well as calls to unsafe functions (`unsafe_function_calls`).\r\n\r\n  Own Id: OTP-20066\\\r\n  Related Id(s): [PR-10839]\r\n\r\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\r\n\r\n> #### Full runtime dependencies of tools-4.2\r\n>\r\n> compiler-8.5, erts-15.0, erts-15.0, kernel-10.0, runtime_tools-2.1, stdlib-6.0\r\n\r\n# wx-2.6\r\n\r\n## Improvements and New Features\r\n\r\n- Documentation about how to validate the SBOM using sigstore has been added.\r\n\r\n  Own Id: OTP-19766\\\r\n  Related Id(s): [GH-10151], [PR-10187]\r\n\r\n- Added support for `-unsafe` attributes, which is used to mark functions as unsafe to use.\r\n\r\n  This is similar to but separate from deprecation, and the compiler will by default now generate warnings for calls to functions in Erlang/OTP that are known to be always unsafe.\r\n\r\n  Furthermore, [`xref`] can now be used to find calls to functions in another application that lack a `-doc` attribute (`undocumented_function_calls`), calls to functions in another application marked `-doc false.` (`private_function_calls`), as well as calls to unsafe functions (`unsafe_function_calls`).\r\n\r\n  Own Id: OTP-20066\\\r\n  Related Id(s): [PR-10839]\r\n\r\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\r\n\r\n> #### Full runtime dependencies of wx-2.6\r\n>\r\n> erts-12.0, kernel-8.0, stdlib-5.0\r\n\r\n# xmerl-2.2\r\n\r\n## Improvements and New Features\r\n\r\n- Only minor internal changes.\r\n\r\n  Own Id: OTP-19964\r\n\r\n- Added support for `-unsafe` attributes, which is used to mark functions as unsafe to use.\r\n\r\n  This is similar to but separate from deprecation, and the compiler will by default now generate warnings for calls to functions in Erlang/OTP that are known to be always unsafe.\r\n\r\n  Furthermore, [`xref`] can now be used to find calls to functions in another application that lack a `-doc` attribute (`undocumented_function_calls`), calls to functions in another application marked `-doc false.` (`private_function_calls`), as well as calls to unsafe functions (`unsafe_function_calls`).\r\n\r\n  Own Id: OTP-20066\\\r\n  Related Id(s): [PR-10839]\r\n\r\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\r\n\r\n> #### Full runtime dependencies of xmerl-2.2\r\n>\r\n> erts-6.0, kernel-8.4, stdlib-2.5\r\n\r\n# Thanks to\r\n\r\nAlexandre Rodrigues, Alex Mickelson, Andreas Hasselberg, Andrew Bennett, Bentheburrito, Bernhard M. Wiedemann, Bozhidar Batsov, Claes Nästén, Daniel Gorin, Daniel Kukula, dependabot[bot], Eksperimental, Eric Meadows-Jönsson, erlang-bot-app[bot], felipe stival, Fernando Areias, Holger Weiß, Ievgen Pyrogov, Ilya Averyanov, Ilya Klyuchnikov, Jan Uhlig, Jérôme de Bretagne, João Henrique Ferreira de Freitas, Johannes Christ, Jonatan Männchen, José Valim, krishnadas, Loïc Hoguin, loscher, Maria Scott, Marko Mindek, matt, Mend Renovate, Michael Daniels, Michał Muskała, Nelson Vides, Nick Vatamaniuc, Olexandr88, Paul Guyot, Paulo F. Oliveira, Paulo Tomé, Petr Sumbera, Preet, Radek Szymczyszyn, Rasmus Précenth, Richard Carlsson, Robert Ismo, Robin Morisset, Sam Weaver, Sébastien Saint-Sevin, Sergey Fedorov, siiky, Simon Cornish, spoo, Stefan Grundmann, Takeru Ohta, Vadim Yanitskiy, Vance Shipley, Wade Mealing, Wei Huang, williamthome, yagogarea, Zabrane, Zeyu Zhang, наб\r\n\r\n[*handshake complete* fun of arity 4]: https://erlang.org/doc/apps/erts/alt_dist.html#hs_data_f_handshake_complete\r\n[alternate distribution]: https://erlang.org/doc/apps/erts/alt_dist.html\r\n[edb debugger]: https://github.com/WhatsApp/edb\r\n[eep 78]: https://www.erlang.org/eeps/eep-0078\r\n[eep-79]: https://www.erlang.org/eeps/eep-0079\r\n[erlc]: https://erlang.org/doc/apps/erts/erlc_cmd.html\r\n[gh-10071]: https://github.com/erlang/otp/issues/10071\r\n[gh-10125]: https://github.com/erlang/otp/issues/10125\r\n[gh-10151]: https://github.com/erlang/otp/issues/10151\r\n[gh-10214]: https://github.com/erlang/otp/issues/10214\r\n[gh-10260]: https://github.com/erlang/otp/issues/10260\r\n[gh-10341]: https://github.com/erlang/otp/issues/10341\r\n[gh-10345]: https://github.com/erlang/otp/issues/10345\r\n[gh-10557]: https://github.com/erlang/otp/issues/10557\r\n[gh-10650]: https://github.com/erlang/otp/issues/10650\r\n[gh-10807]: https://github.com/erlang/otp/issues/10807\r\n[gh-8569]: https://github.com/erlang/otp/issues/8569\r\n[gh-8841]: https://github.com/erlang/otp/issues/8841\r\n[gh-8993]: https://github.com/erlang/otp/issues/8993\r\n[gh-9822]: https://github.com/erlang/otp/issues/9822\r\n[openvex]: https://openssf.org/projects/openvex/\r\n[pr-10013]: https://github.com/erlang/otp/pull/10013\r\n[pr-10033]: https://github.com/erlang/otp/pull/10033\r\n[pr-10078]: https://github.com/erlang/otp/pull/10078\r\n[pr-10114]: https://github.com/erlang/otp/pull/10114\r\n[pr-10115]: https://github.com/erlang/otp/pull/10115\r\n[pr-10126]: https://github.com/erlang/otp/pull/10126\r\n[pr-10134]: https://github.com/erlang/otp/pull/10134\r\n[pr-10144]: https://github.com/erlang/otp/pull/10144\r\n[pr-10145]: https://github.com/erlang/otp/pull/10145\r\n[pr-10161]: https://github.com/erlang/otp/pull/10161\r\n[pr-10166]: https://github.com/erlang/otp/pull/10166\r\n[pr-10168]: https://github.com/erlang/otp/pull/10168\r\n[pr-10187]: https://github.com/erlang/otp/pull/10187\r\n[pr-10189]: https://github.com/erlang/otp/pull/10189\r\n[pr-10193]: https://github.com/erlang/otp/pull/10193\r\n[pr-10195]: https://github.com/erlang/otp/pull/10195\r\n[pr-10197]: https://github.com/erlang/otp/pull/10197\r\n[pr-10202]: https://github.com/erlang/otp/pull/10202\r\n[pr-10207]: https://github.com/erlang/otp/pull/10207\r\n[pr-10230]: https://github.com/erlang/otp/pull/10230\r\n[pr-10234]: https://github.com/erlang/otp/pull/10234\r\n[pr-10243]: https://github.com/erlang/otp/pull/10243\r\n[pr-10253]: https://github.com/erlang/otp/pull/10253\r\n[pr-10259]: https://github.com/erlang/otp/pull/10259\r\n[pr-10269]: https://github.com/erlang/otp/pull/10269\r\n[pr-10276]: https://github.com/erlang/otp/pull/10276\r\n[pr-10277]: https://github.com/erlang/otp/pull/10277\r\n[pr-10281]: https://github.com/erlang/otp/pull/10281\r\n[pr-10304]: https://github.com/erlang/otp/pull/10304\r\n[pr-10338]: https://github.com/erlang/otp/pull/10338\r\n[pr-10348]: https://github.com/erlang/otp/pull/10348\r\n[pr-10372]: https://github.com/erlang/otp/pull/10372\r\n[pr-10382]: https://github.com/erlang/otp/pull/10382\r\n[pr-10387]: https://github.com/erlang/otp/pull/10387\r\n[pr-10417]: https://github.com/erlang/otp/pull/10417\r\n[pr-10421]: https://github.com/erlang/otp/pull/10421\r\n[pr-10422]: https://github.com/erlang/otp/pull/10422\r\n[pr-10426]: https://github.com/erlang/otp/pull/10426\r\n[pr-10433]: https://github.com/erlang/otp/pull/10433\r\n[pr-10449]: https://github.com/erlang/otp/pull/10449\r\n[pr-10453]: https://github.com/erlang/otp/pull/10453\r\n[pr-10478]: https://github.com/erlang/otp/pull/10478\r\n[pr-10510]: https://github.com/erlang/otp/pull/10510\r\n[pr-10511]: https://github.com/erlang/otp/pull/10511\r\n[pr-10514]: https://github.com/erlang/otp/pull/10514\r\n[pr-10519]: https://github.com/erlang/otp/pull/10519\r\n[pr-10524]: https://github.com/erlang/otp/pull/10524\r\n[pr-10532]: https://github.com/erlang/otp/pull/10532\r\n[pr-10549]: https://github.com/erlang/otp/pull/10549\r\n[pr-10554]: https://github.com/erlang/otp/pull/10554\r\n[pr-10556]: https://github.com/erlang/otp/pull/10556\r\n[pr-10564]: https://github.com/erlang/otp/pull/10564\r\n[pr-10568]: https://github.com/erlang/otp/pull/10568\r\n[pr-10571]: https://github.com/erlang/otp/pull/10571\r\n[pr-10573]: https://github.com/erlang/otp/pull/10573\r\n[pr-10578]: https://github.com/erlang/otp/pull/10578\r\n[pr-10579]: https://github.com/erlang/otp/pull/10579\r\n[pr-10580]: https://github.com/erlang/otp/pull/10580\r\n[pr-10585]: https://github.com/erlang/otp/pull/10585\r\n[pr-10592]: https://github.com/erlang/otp/pull/10592\r\n[pr-10598]: https://github.com/erlang/otp/pull/10598\r\n[pr-10601]: https://github.com/erlang/otp/pull/10601\r\n[pr-10614]: https://github.com/erlang/otp/pull/10614\r\n[pr-10615]: https://github.com/erlang/otp/pull/10615\r\n[pr-10617]: https://github.com/erlang/otp/pull/10617\r\n[pr-10619]: https://github.com/erlang/otp/pull/10619\r\n[pr-10626]: https://github.com/erlang/otp/pull/10626\r\n[pr-10642]: https://github.com/erlang/otp/pull/10642\r\n[pr-10646]: https://github.com/erlang/otp/pull/10646\r\n[pr-10647]: https://github.com/erlang/otp/pull/10647\r\n[pr-10653]: https://github.com/erlang/otp/pull/10653\r\n[pr-10656]: https://github.com/erlang/otp/pull/10656\r\n[pr-10674]: https://github.com/erlang/otp/pull/10674\r\n[pr-10710]: https://github.com/erlang/otp/pull/10710\r\n[pr-10718]: https://github.com/erlang/otp/pull/10718\r\n[pr-10730]: https://github.com/erlang/otp/pull/10730\r\n[pr-10735]: https://github.com/erlang/otp/pull/10735\r\n[pr-10739]: https://github.com/erlang/otp/pull/10739\r\n[pr-10753]: https://github.com/erlang/otp/pull/10753\r\n[pr-10754]: https://github.com/erlang/otp/pull/10754\r\n[pr-10755]: https://github.com/erlang/otp/pull/10755\r\n[pr-10770]: https://github.com/erlang/otp/pull/10770\r\n[pr-10782]: https://github.com/erlang/otp/pull/10782\r\n[pr-10783]: https://github.com/erlang/otp/pull/10783\r\n[pr-10801]: https://github.com/erlang/otp/pull/10801\r\n[pr-10804]: https://github.com/erlang/otp/pull/10804\r\n[pr-10805]: https://github.com/erlang/otp/pull/10805\r\n[pr-10814]: https://github.com/erlang/otp/pull/10814\r\n[pr-10817]: https://github.com/erlang/otp/pull/10817\r\n[pr-10818]: https://github.com/erlang/otp/pull/10818\r\n[pr-10819]: https://github.com/erlang/otp/pull/10819\r\n[pr-10820]: https://github.com/erlang/otp/pull/10820\r\n[pr-10821]: https://github.com/erlang/otp/pull/10821\r\n[pr-10824]: https://github.com/erlang/otp/pull/10824\r\n[pr-10830]: https://github.com/erlang/otp/pull/10830\r\n[pr-10836]: https://github.com/erlang/otp/pull/10836\r\n[pr-10838]: https://github.com/erlang/otp/pull/10838\r\n[pr-10839]: https://github.com/erlang/otp/pull/10839\r\n[pr-10870]: https://github.com/erlang/otp/pull/10870\r\n[pr-10892]: https://github.com/erlang/otp/pull/10892\r\n[pr-10894]: https://github.com/erlang/otp/pull/10894\r\n[pr-10910]: https://github.com/erlang/otp/pull/10910\r\n[pr-10938]: https://github.com/erlang/otp/pull/10938\r\n[pr-10948]: https://github.com/erlang/otp/pull/10948\r\n[pr-10949]: https://github.com/erlang/otp/pull/10949\r\n[pr-10950]: https://github.com/erlang/otp/pull/10950\r\n[pr-10951]: https://github.com/erlang/otp/pull/10951\r\n[pr-10958]: https://github.com/erlang/otp/pull/10958\r\n[pr-10962]: https://github.com/erlang/otp/pull/10962\r\n[pr-10965]: https://github.com/erlang/otp/pull/10965\r\n[pr-10969]: https://github.com/erlang/otp/pull/10969\r\n[pr-10970]: https://github.com/erlang/otp/pull/10970\r\n[pr-10979]: https://github.com/erlang/otp/pull/10979\r\n[pr-10986]: https://github.com/erlang/otp/pull/10986\r\n[pr-10998]: https://github.com/erlang/otp/pull/10998\r\n[pr-11004]: https://github.com/erlang/otp/pull/11004\r\n[pr-11010]: https://github.com/erlang/otp/pull/11010\r\n[pr-7118]: https://github.com/erlang/otp/pull/7118\r\n[pr-7315]: https://github.com/erlang/otp/pull/7315\r\n[pr-9115]: https://github.com/erlang/otp/pull/9115\r\n[pr-9125]: https://github.com/erlang/otp/pull/9125\r\n[pr-9134]: https://github.com/erlang/otp/pull/9134\r\n[pr-9153]: https://github.com/erlang/otp/pull/9153\r\n[pr-9209]: https://github.com/erlang/otp/pull/9209\r\n[pr-9223]: https://github.com/erlang/otp/pull/9223\r\n[pr-9315]: https://github.com/erlang/otp/pull/9315\r\n[pr-9374]: https://github.com/erlang/otp/pull/9374\r\n[pr-9475]: https://github.com/erlang/otp/pull/9475\r\n[pr-9712]: https://github.com/erlang/otp/pull/9712\r\n[pr-9814]: https://github.com/erlang/otp/pull/9814\r\n[pr-9864]: https://github.com/erlang/otp/pull/9864\r\n[pr-9866]: https://github.com/erlang/otp/pull/9866\r\n[pr-9894]: https://github.com/erlang/otp/pull/9894\r\n[pr-9899]: https://github.com/erlang/otp/pull/9899\r\n[pr-9934]: https://github.com/erlang/otp/pull/9934\r\n[pr-9940]: https://github.com/erlang/otp/pull/9940\r\n[pr-9984]: https://github.com/erlang/otp/pull/9984\r\n[upcoming potential incompatibilities]: https://www.erlang.org/doc/upcoming_incompatibilities.html\r\n[`beam_lib`]: https://erlang.org/doc/man/beam_lib\r\n[`compile`]: https://erlang.org/doc/man/compile\r\n[`crypto`]: https://erlang.org/doc/man/crypto\r\n[`ct_ftp`]: https://erlang.org/doc/man/ct_ftp\r\n[`digraph_utils`]: https://erlang.org/doc/man/digraph_utils\r\n[`digraph`]: https://erlang.org/doc/man/digraph\r\n[`embedded_3pps`]: https://erlang.org/doc/man/erlang#system_info_embedded_3pps\r\n[`erl_tar`]: https://erlang.org/doc/man/erl_tar\r\n[`ftp`]: https://erlang.org/doc/man/ftp\r\n[`httpc`]: https://erlang.org/doc/man/httpc\r\n[`json`]: https://erlang.org/doc/man/json\r\n[`qlc`]: https://erlang.org/doc/man/qlc\r\n[`socket`]: https://erlang.org/doc/man/socket\r\n[`unicode`]: https://erlang.org/doc/man/unicode\r\n[`xref`]: https://erlang.org/doc/man/xref\r\n[`zip`]: https://erlang.org/doc/man/zip\r\n","reactions":{"url":"https://api.github.com/repos/erlang/otp/releases/309207127/reactions","total_count":3,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":3,"eyes":0}},{"url":"https://api.github.com/repos/erlang/otp/releases/306009032","assets_url":"https://api.github.com/repos/erlang/otp/releases/306009032/assets","upload_url":"https://uploads.github.com/repos/erlang/otp/releases/306009032/assets{?name,label}","html_url":"https://github.com/erlang/otp/releases/tag/OTP-28.4.2","id":306009032,"author":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"node_id":"RE_kwDOAAW4j84SPVPI","tag_name":"OTP-28.4.2","target_commitish":"master","name":"OTP 28.4.2","draft":false,"immutable":false,"prerelease":false,"created_at":"2026-04-07T07:33:27Z","updated_at":"2026-04-09T15:06:30Z","published_at":"2026-04-07T09:39:57Z","assets":[{"url":"https://api.github.com/repos/erlang/otp/releases/assets/390721909","id":390721909,"node_id":"RA_kwDOAAW4j84XSfF1","name":"bom.spdx.json","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/json","state":"uploaded","size":5769935,"digest":"sha256:a32ca98d8e7ab4e9b9c66029c89daf304d6635917d4a12f426bfcfed03167c3a","download_count":37,"created_at":"2026-04-07T10:35:24Z","updated_at":"2026-04-07T10:35:25Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.4.2/bom.spdx.json"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/390721911","id":390721911,"node_id":"RA_kwDOAAW4j84XSfF3","name":"bom.spdx.json.sigstore","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":5589476,"digest":"sha256:7d39afa3624bd69f9152a8ca4e787ab948fe2318a8579e3621dafeefaadbc4d0","download_count":31,"created_at":"2026-04-07T10:35:24Z","updated_at":"2026-04-07T10:35:25Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.4.2/bom.spdx.json.sigstore"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/390721902","id":390721902,"node_id":"RA_kwDOAAW4j84XSfFu","name":"MD5.txt","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"text/plain","state":"uploaded","size":177,"digest":"sha256:605bc8c8f942efbff39854581d2b230d42466c19ee376964ac01cb36a9663c11","download_count":30,"created_at":"2026-04-07T10:35:24Z","updated_at":"2026-04-07T10:35:24Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.4.2/MD5.txt"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/390690691","id":390690691,"node_id":"RA_kwDOAAW4j84XSXeD","name":"OTP-28.4.2.README","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"text","state":"uploaded","size":11454,"digest":"sha256:aa0eeaf1d6a0898dda0c2cf348bfdaf1c8c16dea243493f4323fcdab6f175424","download_count":983,"created_at":"2026-04-07T09:40:01Z","updated_at":"2026-04-07T09:40:01Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.4.2/OTP-28.4.2.README"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/390690694","id":390690694,"node_id":"RA_kwDOAAW4j84XSXeG","name":"OTP-28.4.2.README.md","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"text","state":"uploaded","size":12876,"digest":"sha256:9e34acdc63ecf69d93a32faafeced020ae126c44f9df3ffd2b0c989e954a87c6","download_count":31,"created_at":"2026-04-07T09:40:02Z","updated_at":"2026-04-07T09:40:02Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.4.2/OTP-28.4.2.README.md"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/390721904","id":390721904,"node_id":"RA_kwDOAAW4j84XSfFw","name":"otp_doc_html_28.4.2.tar.gz","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":27813549,"digest":"sha256:d9892dbabc60ccd84d6918f1dfb7fa70a6ac15bb8398411d5ea518c780c9f354","download_count":1383,"created_at":"2026-04-07T10:35:24Z","updated_at":"2026-04-07T10:35:26Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.4.2/otp_doc_html_28.4.2.tar.gz"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/390721906","id":390721906,"node_id":"RA_kwDOAAW4j84XSfFy","name":"otp_doc_html_28.4.2.tar.gz.sigstore","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":5589476,"digest":"sha256:7d39afa3624bd69f9152a8ca4e787ab948fe2318a8579e3621dafeefaadbc4d0","download_count":31,"created_at":"2026-04-07T10:35:24Z","updated_at":"2026-04-07T10:35:25Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.4.2/otp_doc_html_28.4.2.tar.gz.sigstore"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/390721903","id":390721903,"node_id":"RA_kwDOAAW4j84XSfFv","name":"otp_doc_man_28.4.2.tar.gz","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":1890100,"digest":"sha256:7c01e68f9b7cdcb9068f81abf9a997aba6b69c1f5a6f706caf06bdab70e1cf2f","download_count":936,"created_at":"2026-04-07T10:35:24Z","updated_at":"2026-04-07T10:35:25Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.4.2/otp_doc_man_28.4.2.tar.gz"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/390721910","id":390721910,"node_id":"RA_kwDOAAW4j84XSfF2","name":"otp_doc_man_28.4.2.tar.gz.sigstore","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":5589476,"digest":"sha256:7d39afa3624bd69f9152a8ca4e787ab948fe2318a8579e3621dafeefaadbc4d0","download_count":30,"created_at":"2026-04-07T10:35:24Z","updated_at":"2026-04-07T10:35:25Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.4.2/otp_doc_man_28.4.2.tar.gz.sigstore"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/390721907","id":390721907,"node_id":"RA_kwDOAAW4j84XSfFz","name":"otp_src_28.4.2.tar.gz","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":105195270,"digest":"sha256:0c44346dd939f9d264860e5bdf4df8cd35e165b628a838d5d104c3b4cf65b9b0","download_count":10783,"created_at":"2026-04-07T10:35:24Z","updated_at":"2026-04-07T10:35:28Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.4.2/otp_src_28.4.2.tar.gz"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/390721908","id":390721908,"node_id":"RA_kwDOAAW4j84XSfF0","name":"otp_src_28.4.2.tar.gz.sigstore","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":5589476,"digest":"sha256:7d39afa3624bd69f9152a8ca4e787ab948fe2318a8579e3621dafeefaadbc4d0","download_count":26,"created_at":"2026-04-07T10:35:24Z","updated_at":"2026-04-07T10:35:25Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.4.2/otp_src_28.4.2.tar.gz.sigstore"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/390690702","id":390690702,"node_id":"RA_kwDOAAW4j84XSXeO","name":"otp_win32_28.4.2.exe","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/x-msdownload","state":"uploaded","size":130807752,"digest":"sha256:197b9fa9eeb89a3302aca3d3162610f7d103cb65685fb566b1ac2788304ba18c","download_count":1913,"created_at":"2026-04-07T09:40:02Z","updated_at":"2026-04-07T09:40:08Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.4.2/otp_win32_28.4.2.exe"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/390718145","id":390718145,"node_id":"RA_kwDOAAW4j84XSeLB","name":"otp_win32_28.4.2.zip","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/zip","state":"uploaded","size":168192408,"digest":"sha256:404fa6d9e3f0576a88787ef17f48e989d5b7a25616607d3fb2065754252f28a9","download_count":796,"created_at":"2026-04-07T10:27:35Z","updated_at":"2026-04-07T10:27:40Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.4.2/otp_win32_28.4.2.zip"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/390690847","id":390690847,"node_id":"RA_kwDOAAW4j84XSXgf","name":"otp_win64_28.4.2.exe","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/x-msdownload","state":"uploaded","size":149558640,"digest":"sha256:9c9320f5077f196d796d8af1b35629d646c02189e7bb5f020d80a8e677d46990","download_count":19042,"created_at":"2026-04-07T09:40:09Z","updated_at":"2026-04-07T09:40:15Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.4.2/otp_win64_28.4.2.exe"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/390717756","id":390717756,"node_id":"RA_kwDOAAW4j84XSeE8","name":"otp_win64_28.4.2.zip","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/zip","state":"uploaded","size":178606055,"digest":"sha256:b1ecaf168f3bce8f5524ae93dd06b65fe030983fbc33fca8b19180c3b82b4352","download_count":1263,"created_at":"2026-04-07T10:26:49Z","updated_at":"2026-04-07T10:26:54Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.4.2/otp_win64_28.4.2.zip"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/390721905","id":390721905,"node_id":"RA_kwDOAAW4j84XSfFx","name":"SHA256.txt","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"text/plain","state":"uploaded","size":273,"digest":"sha256:e2a3bcdfd005ea435db203edbfb9ba81260e64e79be261a93ee54881b6844f9e","download_count":235,"created_at":"2026-04-07T10:35:24Z","updated_at":"2026-04-07T10:35:24Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.4.2/SHA256.txt"}],"tarball_url":"https://api.github.com/repos/erlang/otp/tarball/OTP-28.4.2","zipball_url":"https://api.github.com/repos/erlang/otp/zipball/OTP-28.4.2","body":"```\r\nPatch Package:           OTP 28.4.2\r\nGit Tag:                 OTP-28.4.2\r\nDate:                    2026-04-07\r\nTrouble Report Id:       OTP-19506, OTP-19889, OTP-19931, OTP-20027,\r\n                         OTP-20037, OTP-20042, OTP-20044, OTP-20046,\r\n                         OTP-20047, OTP-20049, OTP-20050, OTP-20052,\r\n                         OTP-20053, OTP-20056, OTP-20060, OTP-20064,\r\n                         OTP-20065, OTP-20068\r\nSeq num:                 CVE-2026-28810, CVE-2026-32144, ERIERL-1310,\r\n                         ERIERL-1311, ERIERL-1312, GH-10454, GH-10562,\r\n                         GH-10606, GH-10785, GH-10876, GH-10901,\r\n                         GH-7156, GH-9476, PR-10456, PR-10569,\r\n                         PR-10620, PR-10788, PR-10864, PR-10866,\r\n                         PR-10867, PR-10873, PR-10874, PR-10889,\r\n                         PR-10893, PR-10899, PR-10904, PR-10906,\r\n                         PR-10911, PR-10941, PR-9481\r\nSystem:                  OTP\r\nRelease:                 28\r\nApplication:             compiler-9.0.6, erts-16.3.1, eunit-2.10.3,\r\n                         inets-9.6.2, kernel-10.6.2,\r\n                         public_key-1.20.3, sasl-4.3.2, snmp-5.20.2,\r\n                         ssl-11.5.4\r\nPredecessor:             OTP 28.4.1\r\n```\r\n\r\nCheck out the git tag OTP-28.4.2, and build a full OTP system including documentation. Apply one or more applications from this build as patches to your installation using the 'otp_patch_apply' tool. For information on install requirements, see descriptions for each application version below.\r\n\r\n# POTENTIAL INCOMPATIBILITIES\r\n\r\n- When OCSP stapling is enabled via the {stapling, staple} or {stapling, #{...}} options, the handshake now fails if the server does not provide an OCSP stapled response.\r\n\r\n  Previously, a missing OCSP staple was silently accepted (soft-fail). Since Erlang/OTP only supports OCSP via stapling with no fallback to direct OCSP queries or CRL checking, soft-fail meant no revocation check at all.\r\n\r\n  Applications that need the previous soft-fail behavior can use a custom verify_fun that accepts {bad_cert, missing_ocsp_staple}.\r\n\r\n  Own Id: OTP-20064\\\r\n  Application(s): ssl\\\r\n  Related Id(s): [PR-10941], [CVE-2026-32144]\r\n\r\n# compiler-9.0.6\r\n\r\nThe compiler-9.0.6 application can be applied independently of other applications on a full OTP 28 installation.\r\n\r\n## Fixed Bugs and Malfunctions\r\n\r\n- The type inference for `maps:from_list/1` was incorrect: when the provided list was statically known to be bogus when non-empty (e.g. a list of atoms), the compiler assumed it would also fail when the list was empty.\r\n\r\n  Own Id: OTP-19506\\\r\n  Related Id(s): [GH-9476], [PR-9481]\r\n\r\n- Fixed a bug in the type analysis pass that could erroneously eliminate code blocks.\r\n\r\n  Own Id: OTP-19931\\\r\n  Related Id(s): [GH-10562], [PR-10569]\r\n\r\n- A binary as the value of a `-moduledoc()` attribute would be silently ignored.\r\n\r\n  Own Id: OTP-20065\\\r\n  Related Id(s): [GH-10901], [PR-10904]\r\n\r\n> #### Full runtime dependencies of compiler-9.0.6\r\n>\r\n> crypto-5.1, erts-13.0, kernel-8.4, stdlib-6.0\r\n\r\n# erts-16.3.1\r\n\r\nThe erts-16.3.1 application can be applied independently of other applications on a full OTP 28 installation.\r\n\r\n## Fixed Bugs and Malfunctions\r\n\r\n- Fixed a JIT bug that miscompiled expressions like `X * X + X * X`.\r\n\r\n  Own Id: OTP-19889\\\r\n  Related Id(s): [GH-10454], [PR-10456]\r\n\r\n- Fixed bug on windows that made tools dialyzer, erlc and typer unusable in powershell or cmd.exe, when there are spaces in the installation path.\r\n\r\n  Own Id: OTP-20027\\\r\n  Related Id(s): [PR-10620]\r\n\r\n- Fixed a bug with prim_tty that could occur on windows if we cannot get the console mode, mark the TTY as unavailable. This can happen when the input handle is a pipe, but the output handle is a console.\r\n\r\n  Own Id: OTP-20060\\\r\n  Related Id(s): [PR-10899]\r\n\r\n> #### Full runtime dependencies of erts-16.3.1\r\n>\r\n> kernel-9.0, sasl-3.3, stdlib-4.1\r\n\r\n# eunit-2.10.3\r\n\r\nThe eunit-2.10.3 application can be applied independently of other applications on a full OTP 28 installation.\r\n\r\n## Fixed Bugs and Malfunctions\r\n\r\n- Fixed EUnit {node, ...} instantiation by passing node name (instead of pid) and restored net_kernel auto-start for non-distributed nodes.\r\n\r\n  Own Id: OTP-20047\\\r\n  Related Id(s): [PR-10788]\r\n\r\n> #### Full runtime dependencies of eunit-2.10.3\r\n>\r\n> erts-9.0, kernel-8.3, stdlib-6.0\r\n\r\n# inets-9.6.2\r\n\r\nThe inets-9.6.2 application can be applied independently of other applications on a full OTP 28 installation.\r\n\r\n## Fixed Bugs and Malfunctions\r\n\r\n- Fixed authentication bypass in `httpd` when `script_alias` maps a URL to a directory outside `document_root` with `mod_auth` directory-based access controls. The `mod_alias:which_alias/1` function now includes `script_alias` entries so authorization is evaluated against the correct path before CGI execution. CVE-2026-28808.\r\n\r\n  Own Id: OTP-20068\r\n\r\n## Improvements and New Features\r\n\r\n- Fixed typo in `http_server.md` guide\r\n\r\n  Own Id: OTP-20044\\\r\n  Related Id(s): [GH-10785], [PR-10867]\r\n\r\n- Expected error `accept_socket_timeout` in httpd_request_handler now exits gracefully, without generating a crash and supervisor reports.\r\n\r\n  Own Id: OTP-20052\\\r\n  Related Id(s): ERIERL-1310, [PR-10893]\r\n\r\n> #### Full runtime dependencies of inets-9.6.2\r\n>\r\n> erts-14.0, kernel-9.0, mnesia-4.12, public_key-1.13, runtime_tools-1.8.14, ssl-9.0, stdlib-5.0, stdlib-6.0\r\n\r\n# kernel-10.6.2\r\n\r\nThe kernel-10.6.2 application can be applied independently of other applications on a full OTP 28 installation.\r\n\r\n## Fixed Bugs and Malfunctions\r\n\r\n- Before this patch, the Erlang/OTP built-in DNS resolver (`inet_res`) used a sequential, process-global 16-bit transaction ID for UDP queries and did not implement source port randomization. Response validation relied almost entirely on this ID. Together, this made DNS cache poisoning practical for an attacker who can observe one query or predict the next ID. The design conflicted with RFC 5452 recommendations for mitigating forged DNS answers.\r\n\r\n  `inet_res` is intended for use in trusted network environments and with trusted recursive resolvers. Earlier documentation did not clearly state this deployment assumption, which could lead users to deploy the resolver in environments where faked DNS responses are possible.\r\n\r\n  Therefore, the documentation is been updated to clarify that `inet_res` should only be used in trusted networks and with trusted recursive resolvers.\r\n\r\n  The implementation is also improved to use strong random DNS transaction IDs and source ports for every DNS transaction. This should give ample protection against brute forcing fake DNS replies, known as DNS cache poisoning, but it still does not protect against, for example, an adversary in the path of the DNS transaction that can observe the random values before faking malicious replies, an attack known as DNS spoofing.\r\n\r\n  For randomization to happen, the Crypto application has to be loaded, which most probably already should be the case for an Erlang node in an exposed network.\r\n\r\n  If performance should become an issue, for applications within safe network environments, the previous light weight behaviour can be configured by setting the resolver option `random` to `false`.\r\n\r\n  Own Id: OTP-20037\\\r\n  Related Id(s): [PR-10864], [CVE-2026-28810]\r\n\r\n> #### Full runtime dependencies of kernel-10.6.2\r\n>\r\n> crypto-5.0, erts-15.2.5, sasl-3.0, stdlib-7.0\r\n\r\n# public_key-1.20.3\r\n\r\nNote! The public_key-1.20.3 application _cannot_ be applied independently of other applications on an arbitrary OTP 28 installation.\r\n\r\n```\r\n   On a full OTP 28 installation, also the following runtime\r\n   dependency has to be satisfied:\r\n   -- crypto-5.8 (first satisfied in OTP 28.3)\r\n```\r\n\r\n## Fixed Bugs and Malfunctions\r\n\r\n- OCSP designated responder certificate verification now checks the CA's cryptographic signature on the responder certificate. Previously, only the issuer DN match and id-kp-OCSPSigning EKU were verified, which meant a forged self-signed certificate with the CA's subject DN would be accepted as a valid designated responder (Case 2 in RFC 6960 §4.2.2.2).\r\n\r\n  Own Id: OTP-20042\\\r\n  Related Id(s): [PR-10873], [CVE-2026-32144]\r\n\r\n- Update handling of encoding 'OTPSubjectPublicKeyInfo' in public_key:pkix_encode/3, so that it works for update spec added in OTP-28.\r\n\r\n  Own Id: OTP-20050\\\r\n  Related Id(s): [GH-10876], [PR-10889]\r\n\r\n## Improvements and New Features\r\n\r\n- Relax upper bound of common names in certificates for pragmatic interoperability reasons.\r\n\r\n  Own Id: OTP-20049\\\r\n  Related Id(s): [GH-10606], [PR-10866]\r\n\r\n> #### Full runtime dependencies of public_key-1.20.3\r\n>\r\n> asn1-5.0, crypto-5.8, erts-13.0, kernel-8.0, stdlib-4.0\r\n\r\n# sasl-4.3.2\r\n\r\nThe sasl-4.3.2 application can be applied independently of other applications on a full OTP 28 installation.\r\n\r\n## Fixed Bugs and Malfunctions\r\n\r\n- Fixed the typespec of release_handler:eval_appup_script/4.\r\n\r\n  Own Id: OTP-20053\\\r\n  Related Id(s): [PR-10906]\r\n\r\n> #### Full runtime dependencies of sasl-4.3.2\r\n>\r\n> erts-15.0, kernel-6.0, stdlib-4.0, tools-2.6.14\r\n\r\n# snmp-5.20.2\r\n\r\nThe snmp-5.20.2 application can be applied independently of other applications on a full OTP 28 installation.\r\n\r\n## Improvements and New Features\r\n\r\n- The SNMP manager now propagates `msgAuthoritativeEngineID` and `msgUserName` from USM security parameters through to the `snmpm_user:handle_error/3` callback when an incoming message is discarded due to an unknown EngineID (`usmStatsUnknownEngineIDs`).\r\n\r\n  This enables users to programmatically discover the correct authoritative EngineID from the error callback and re-register USM credentials, supporting SNMPv3 USM EngineID discovery as described in RFC 3414, Section 4. The failed_processing_message variant has been added to the `snmpm:user:handle_error/3` callback type specification.\r\n\r\n  Own Id: OTP-20056\\\r\n  Related Id(s): ERIERL-1312, [GH-7156], [PR-10911]\r\n\r\n> #### Full runtime dependencies of snmp-5.20.2\r\n>\r\n> asn1-5.4, crypto-4.6, erts-12.0, kernel-8.0, mnesia-4.12, runtime_tools-1.8.14, stdlib-5.0\r\n\r\n# ssl-11.5.4\r\n\r\nNote! The ssl-11.5.4 application _cannot_ be applied independently of other applications on an arbitrary OTP 28 installation.\r\n\r\n```\r\n   On a full OTP 28 installation, also the following runtime\r\n   dependencies have to be satisfied:\r\n   -- crypto-5.8 (first satisfied in OTP 28.3)\r\n   -- public_key-1.20.3 (first satisfied in OTP 28.4.2)\r\n```\r\n\r\n## Fixed Bugs and Malfunctions\r\n\r\n- Server supporting TLS-1.3 and TLS-1.2, with SLH-DSA algorithms for TLS-1.3, now correctly filter out those algorithms if client is TLS-1.2 only, instead of failing with internal error.\r\n\r\n  Own Id: OTP-20046\\\r\n  Related Id(s): ERIERL-1311, [PR-10874]\r\n\r\n- When OCSP stapling is enabled via the {stapling, staple} or {stapling, #{...}} options, the handshake now fails if the server does not provide an OCSP stapled response.\r\n\r\n  Previously, a missing OCSP staple was silently accepted (soft-fail). Since Erlang/OTP only supports OCSP via stapling with no fallback to direct OCSP queries or CRL checking, soft-fail meant no revocation check at all.\r\n\r\n  Applications that need the previous soft-fail behavior can use a custom verify_fun that accepts {bad_cert, missing_ocsp_staple}.\r\n\r\n  Own Id: OTP-20064\\\r\n  Related Id(s): [PR-10941], [CVE-2026-32144]\r\n\r\n  \\*\\*\\* POTENTIAL INCOMPATIBILITY \\*\\*\\*\r\n\r\n> #### Full runtime dependencies of ssl-11.5.4\r\n>\r\n> crypto-5.8, erts-16.0, inets-5.10.7, kernel-10.3, public_key-1.20.3, runtime_tools-1.15.1, stdlib-7.0\r\n\r\n# Thanks to\r\n\r\nLinus Marton, williamthome\r\n\r\n[cve-2026-28810]: https://nvd.nist.gov/vuln/detail/CVE-2026-28810\r\n[cve-2026-32144]: https://nvd.nist.gov/vuln/detail/CVE-2026-32144\r\n[gh-10454]: https://github.com/erlang/otp/issues/10454\r\n[gh-10562]: https://github.com/erlang/otp/issues/10562\r\n[gh-10606]: https://github.com/erlang/otp/issues/10606\r\n[gh-10785]: https://github.com/erlang/otp/issues/10785\r\n[gh-10876]: https://github.com/erlang/otp/issues/10876\r\n[gh-10901]: https://github.com/erlang/otp/issues/10901\r\n[gh-7156]: https://github.com/erlang/otp/issues/7156\r\n[gh-9476]: https://github.com/erlang/otp/issues/9476\r\n[pr-10456]: https://github.com/erlang/otp/pull/10456\r\n[pr-10569]: https://github.com/erlang/otp/pull/10569\r\n[pr-10620]: https://github.com/erlang/otp/pull/10620\r\n[pr-10788]: https://github.com/erlang/otp/pull/10788\r\n[pr-10864]: https://github.com/erlang/otp/pull/10864\r\n[pr-10866]: https://github.com/erlang/otp/pull/10866\r\n[pr-10867]: https://github.com/erlang/otp/pull/10867\r\n[pr-10873]: https://github.com/erlang/otp/pull/10873\r\n[pr-10874]: https://github.com/erlang/otp/pull/10874\r\n[pr-10889]: https://github.com/erlang/otp/pull/10889\r\n[pr-10893]: https://github.com/erlang/otp/pull/10893\r\n[pr-10899]: https://github.com/erlang/otp/pull/10899\r\n[pr-10904]: https://github.com/erlang/otp/pull/10904\r\n[pr-10906]: https://github.com/erlang/otp/pull/10906\r\n[pr-10911]: https://github.com/erlang/otp/pull/10911\r\n[pr-10941]: https://github.com/erlang/otp/pull/10941\r\n[pr-9481]: https://github.com/erlang/otp/pull/9481\r\n","reactions":{"url":"https://api.github.com/repos/erlang/otp/releases/306009032/reactions","total_count":3,"+1":2,"-1":0,"laugh":0,"hooray":1,"confused":0,"heart":0,"rocket":0,"eyes":0}},{"url":"https://api.github.com/repos/erlang/otp/releases/306013033","assets_url":"https://api.github.com/repos/erlang/otp/releases/306013033/assets","upload_url":"https://uploads.github.com/repos/erlang/otp/releases/306013033/assets{?name,label}","html_url":"https://github.com/erlang/otp/releases/tag/OTP-27.3.4.10","id":306013033,"author":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"node_id":"RE_kwDOAAW4j84SPWNp","tag_name":"OTP-27.3.4.10","target_commitish":"master","name":"OTP 27.3.4.10","draft":false,"immutable":false,"prerelease":false,"created_at":"2026-04-07T07:37:05Z","updated_at":"2026-04-07T12:35:48Z","published_at":"2026-04-07T09:50:22Z","assets":[{"url":"https://api.github.com/repos/erlang/otp/releases/assets/390696612","id":390696612,"node_id":"RA_kwDOAAW4j84XSY6k","name":"MD5.txt","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"text/plain","state":"uploaded","size":186,"digest":"sha256:15fa6dbcf0584cf3f50704a784aecf3575929fa2e80d325933c7f6477061b69f","download_count":12,"created_at":"2026-04-07T09:50:17Z","updated_at":"2026-04-07T09:50:17Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-27.3.4.10/MD5.txt"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/390717127","id":390717127,"node_id":"RA_kwDOAAW4j84XSd7H","name":"OTP-27.3.4.10.README","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"text","state":"uploaded","size":8884,"digest":"sha256:18cd11d7561996a4b488ad3252ccf9b180296e6df901978bdeff9c48c9f55f6b","download_count":179,"created_at":"2026-04-07T10:25:24Z","updated_at":"2026-04-07T10:25:24Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-27.3.4.10/OTP-27.3.4.10.README"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/390717137","id":390717137,"node_id":"RA_kwDOAAW4j84XSd7R","name":"OTP-27.3.4.10.README.md","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"text","state":"uploaded","size":9842,"digest":"sha256:2e0a63c6af98b9f091a1a185530a0ecad44b1d141beebb5aa7227c182ee19cfd","download_count":17,"created_at":"2026-04-07T10:25:24Z","updated_at":"2026-04-07T10:25:25Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-27.3.4.10/OTP-27.3.4.10.README.md"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/390696613","id":390696613,"node_id":"RA_kwDOAAW4j84XSY6l","name":"otp_doc_html_27.3.4.10.tar.gz","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":26232049,"digest":"sha256:5cff4d5023d3162a09368654f1dd958081b4d27ef682d4f722648c515ae3921e","download_count":74,"created_at":"2026-04-07T09:50:17Z","updated_at":"2026-04-07T09:50:18Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-27.3.4.10/otp_doc_html_27.3.4.10.tar.gz"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/390696611","id":390696611,"node_id":"RA_kwDOAAW4j84XSY6j","name":"otp_doc_man_27.3.4.10.tar.gz","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":45193,"digest":"sha256:65b42c04bf8ce04444dea501a2e7d4e487d07834dc3e9d9753b264f68cda15b0","download_count":65,"created_at":"2026-04-07T09:50:17Z","updated_at":"2026-04-07T09:50:17Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-27.3.4.10/otp_doc_man_27.3.4.10.tar.gz"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/390696610","id":390696610,"node_id":"RA_kwDOAAW4j84XSY6i","name":"otp_src_27.3.4.10.tar.gz","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":101494778,"digest":"sha256:c93905c73ddb7afdfc7f0a46c33f95590eeffe9c2a8c75086d24bb9fe8abe029","download_count":3139,"created_at":"2026-04-07T09:50:17Z","updated_at":"2026-04-07T09:50:22Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-27.3.4.10/otp_src_27.3.4.10.tar.gz"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/390753205","id":390753205,"node_id":"RA_kwDOAAW4j84XSmu1","name":"otp_win32_27.3.4.10.exe","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/x-msdownload","state":"uploaded","size":122253896,"digest":"sha256:c8855e4e95df70b20fdc89863fecba17912c268ab504b0a44e4ee7fdb936ccdc","download_count":231,"created_at":"2026-04-07T11:33:53Z","updated_at":"2026-04-07T11:33:59Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-27.3.4.10/otp_win32_27.3.4.10.exe"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/390793004","id":390793004,"node_id":"RA_kwDOAAW4j84XSwcs","name":"otp_win32_27.3.4.10.zip","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/zip","state":"uploaded","size":137440402,"digest":"sha256:d0f3ca6ea067e5321c437139a35d3477ed429cdda3b592a08ec15885b1ee8e3f","download_count":35,"created_at":"2026-04-07T12:35:43Z","updated_at":"2026-04-07T12:35:48Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-27.3.4.10/otp_win32_27.3.4.10.zip"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/390753275","id":390753275,"node_id":"RA_kwDOAAW4j84XSmv7","name":"otp_win64_27.3.4.10.exe","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/x-msdownload","state":"uploaded","size":139819992,"digest":"sha256:b90f1e02a5d2d0c844817138b4a3cd4dce2b7a6b02e7343caffc8afefee4b934","download_count":5942,"created_at":"2026-04-07T11:34:00Z","updated_at":"2026-04-07T11:34:06Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-27.3.4.10/otp_win64_27.3.4.10.exe"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/390793022","id":390793022,"node_id":"RA_kwDOAAW4j84XSwc-","name":"otp_win64_27.3.4.10.zip","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/zip","state":"uploaded","size":156099813,"digest":"sha256:c9f5a3ca8a2906f96e63db2b0d49b27dcdfbd6cd88a01ab324ee5a9e38d10b52","download_count":209,"created_at":"2026-04-07T12:35:44Z","updated_at":"2026-04-07T12:35:48Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-27.3.4.10/otp_win64_27.3.4.10.zip"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/390696608","id":390696608,"node_id":"RA_kwDOAAW4j84XSY6g","name":"SHA256.txt","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"text/plain","state":"uploaded","size":282,"digest":"sha256:88f64ce5d6f3a74a8dd74541db69cf7ec75880c4da4004f830725eee8013ab05","download_count":270,"created_at":"2026-04-07T09:50:17Z","updated_at":"2026-04-07T09:50:17Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-27.3.4.10/SHA256.txt"}],"tarball_url":"https://api.github.com/repos/erlang/otp/tarball/OTP-27.3.4.10","zipball_url":"https://api.github.com/repos/erlang/otp/zipball/OTP-27.3.4.10","body":null,"reactions":{"url":"https://api.github.com/repos/erlang/otp/releases/306013033/reactions","total_count":1,"+1":1,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0}},{"url":"https://api.github.com/repos/erlang/otp/releases/306051794","assets_url":"https://api.github.com/repos/erlang/otp/releases/306051794/assets","upload_url":"https://uploads.github.com/repos/erlang/otp/releases/306051794/assets{?name,label}","html_url":"https://github.com/erlang/otp/releases/tag/OTP-26.2.5.19","id":306051794,"author":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"node_id":"RE_kwDOAAW4j84SPfrS","tag_name":"OTP-26.2.5.19","target_commitish":"master","name":"OTP 26.2.5.19","draft":false,"immutable":false,"prerelease":false,"created_at":"2026-04-07T06:37:12Z","updated_at":"2026-04-07T13:37:31Z","published_at":"2026-04-07T11:33:48Z","assets":[{"url":"https://api.github.com/repos/erlang/otp/releases/assets/390762230","id":390762230,"node_id":"RA_kwDOAAW4j84XSo72","name":"MD5.txt","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"text/plain","state":"uploaded","size":186,"digest":"sha256:497a90760e90b131f52e13d1a73bf41ae30eb5decd104fb1f1cd7bf992749bbc","download_count":14,"created_at":"2026-04-07T11:49:01Z","updated_at":"2026-04-07T11:49:01Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-26.2.5.19/MD5.txt"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/390792105","id":390792105,"node_id":"RA_kwDOAAW4j84XSwOp","name":"OTP-26.2.5.19.README","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"text","state":"uploaded","size":4580,"digest":"sha256:39c8ccbc7305122d4b9381755f0b151e6cf25bb622625888a3b2a0fe4c1200a3","download_count":144,"created_at":"2026-04-07T12:34:10Z","updated_at":"2026-04-07T12:34:10Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-26.2.5.19/OTP-26.2.5.19.README"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/390762231","id":390762231,"node_id":"RA_kwDOAAW4j84XSo73","name":"otp_doc_html_26.2.5.19.tar.gz","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":37611532,"digest":"sha256:328e60b9b14d95da601fd29e2230536d85931852c796fe6d7fe646d6aa32bb22","download_count":105,"created_at":"2026-04-07T11:49:01Z","updated_at":"2026-04-07T11:49:03Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-26.2.5.19/otp_doc_html_26.2.5.19.tar.gz"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/390762233","id":390762233,"node_id":"RA_kwDOAAW4j84XSo75","name":"otp_doc_man_26.2.5.19.tar.gz","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":1753732,"digest":"sha256:40b6e750ecf7cc5f9bcb67fd4735ad09f57f2cf66e857b596f4a8cc9fc3fd735","download_count":151,"created_at":"2026-04-07T11:49:01Z","updated_at":"2026-04-07T11:49:02Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-26.2.5.19/otp_doc_man_26.2.5.19.tar.gz"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/390762232","id":390762232,"node_id":"RA_kwDOAAW4j84XSo74","name":"otp_src_26.2.5.19.tar.gz","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":106342696,"digest":"sha256:7fcfef4a838f15fea74f92ed498cad47bfe937d1cbda1e6471b0fcf98e56f3e8","download_count":1675,"created_at":"2026-04-07T11:49:01Z","updated_at":"2026-04-07T11:49:05Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-26.2.5.19/otp_src_26.2.5.19.tar.gz"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/390792106","id":390792106,"node_id":"RA_kwDOAAW4j84XSwOq","name":"otp_win32_26.2.5.19.exe","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/x-msdownload","state":"uploaded","size":135909088,"digest":"sha256:59d6c62c05df07dbc61ac354d7eca12fd60355805baa38410647e57af8707fe6","download_count":161,"created_at":"2026-04-07T12:34:11Z","updated_at":"2026-04-07T12:34:16Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-26.2.5.19/otp_win32_26.2.5.19.exe"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/390827772","id":390827772,"node_id":"RA_kwDOAAW4j84XS478","name":"otp_win32_26.2.5.19.zip","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/zip","state":"uploaded","size":148169313,"digest":"sha256:20c280b4d0b46cb4ae5d087556d51cc2b7398d17ce82f01d15383a72f03a5264","download_count":36,"created_at":"2026-04-07T13:37:26Z","updated_at":"2026-04-07T13:37:31Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-26.2.5.19/otp_win32_26.2.5.19.zip"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/390792132","id":390792132,"node_id":"RA_kwDOAAW4j84XSwPE","name":"otp_win64_26.2.5.19.exe","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/x-msdownload","state":"uploaded","size":153193768,"digest":"sha256:541034ceaafd1e979e1fe83f39c04a2a09071220e61b93451cace76a94635d8c","download_count":3258,"created_at":"2026-04-07T12:34:17Z","updated_at":"2026-04-07T12:34:23Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-26.2.5.19/otp_win64_26.2.5.19.exe"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/390827548","id":390827548,"node_id":"RA_kwDOAAW4j84XS44c","name":"otp_win64_26.2.5.19.zip","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/zip","state":"uploaded","size":166276267,"digest":"sha256:2ec4848cdfaca4b89c61b4efaf5730445023ccdb72249031bae10dd35217992a","download_count":117,"created_at":"2026-04-07T13:36:57Z","updated_at":"2026-04-07T13:37:03Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-26.2.5.19/otp_win64_26.2.5.19.zip"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/390762229","id":390762229,"node_id":"RA_kwDOAAW4j84XSo71","name":"SHA256.txt","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"text/plain","state":"uploaded","size":282,"digest":"sha256:617f6be5709b8febcd577f213f11a0c7371aef8de6b74e8a7e36e23fd932506b","download_count":177,"created_at":"2026-04-07T11:49:01Z","updated_at":"2026-04-07T11:49:01Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-26.2.5.19/SHA256.txt"}],"tarball_url":"https://api.github.com/repos/erlang/otp/tarball/OTP-26.2.5.19","zipball_url":"https://api.github.com/repos/erlang/otp/zipball/OTP-26.2.5.19","body":null,"reactions":{"url":"https://api.github.com/repos/erlang/otp/releases/306051794/reactions","total_count":1,"+1":1,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0}},{"url":"https://api.github.com/repos/erlang/otp/releases/298372857","assets_url":"https://api.github.com/repos/erlang/otp/releases/298372857/assets","upload_url":"https://uploads.github.com/repos/erlang/otp/releases/298372857/assets{?name,label}","html_url":"https://github.com/erlang/otp/releases/tag/OTP-29.0-rc2","id":298372857,"author":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"node_id":"RE_kwDOAAW4j84RyM75","tag_name":"OTP-29.0-rc2","target_commitish":"master","name":"OTP 29.0-rc2","draft":false,"immutable":false,"prerelease":true,"created_at":"2026-03-18T09:55:58Z","updated_at":"2026-03-19T09:50:39Z","published_at":"2026-03-18T10:23:10Z","assets":[{"url":"https://api.github.com/repos/erlang/otp/releases/assets/377067431","id":377067431,"node_id":"RA_kwDOAAW4j84WeZen","name":"bom.spdx.json","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/json","state":"uploaded","size":5815645,"digest":"sha256:39b031b4da09e24ef61c86add2a8d6da928320b3f15d775fb73098dde1030764","download_count":49,"created_at":"2026-03-19T09:50:36Z","updated_at":"2026-03-19T09:50:36Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-29.0-rc2/bom.spdx.json"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/377067437","id":377067437,"node_id":"RA_kwDOAAW4j84WeZet","name":"bom.spdx.json.sigstore","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":5638249,"digest":"sha256:d23b8fc6aeecbe1c3de344866f2e281bb210d5a6c665d1c1f8f4349ed955b43b","download_count":49,"created_at":"2026-03-19T09:50:36Z","updated_at":"2026-03-19T09:50:37Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-29.0-rc2/bom.spdx.json.sigstore"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/377067432","id":377067432,"node_id":"RA_kwDOAAW4j84WeZeo","name":"MD5.txt","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"text/plain","state":"uploaded","size":183,"digest":"sha256:28a3cf7b4d8cd6d79433e603c841d89305b89822f0f54ee69d013ca3347a45ac","download_count":44,"created_at":"2026-03-19T09:50:36Z","updated_at":"2026-03-19T09:50:36Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-29.0-rc2/MD5.txt"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/376384439","id":376384439,"node_id":"RA_kwDOAAW4j84Wbyu3","name":"OTP-29.0-rc2.README","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"text","state":"uploaded","size":68599,"digest":"sha256:5844ee2f502bceb093e568580a3b451e354a87af1175b2aa1283515e15e1f512","download_count":56,"created_at":"2026-03-18T11:30:55Z","updated_at":"2026-03-18T11:30:56Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-29.0-rc2/OTP-29.0-rc2.README"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/376384449","id":376384449,"node_id":"RA_kwDOAAW4j84WbyvB","name":"OTP-29.0-rc2.README.md","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"text","state":"uploaded","size":77934,"digest":"sha256:fd038c6cefc5c2e77bdb79b5ebac6ffdd09b37dada9ff2303cd02f1ce8d5f6e6","download_count":48,"created_at":"2026-03-18T11:30:56Z","updated_at":"2026-03-18T11:30:56Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-29.0-rc2/OTP-29.0-rc2.README.md"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/377067441","id":377067441,"node_id":"RA_kwDOAAW4j84WeZex","name":"otp_doc_html_29.0-rc2.tar.gz","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":28156815,"digest":"sha256:a9cda91a9d6bc60fd37eae7e4be7dfdce56c576467d2493fe716dd39adf9efcc","download_count":56,"created_at":"2026-03-19T09:50:36Z","updated_at":"2026-03-19T09:50:37Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-29.0-rc2/otp_doc_html_29.0-rc2.tar.gz"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/377067434","id":377067434,"node_id":"RA_kwDOAAW4j84WeZeq","name":"otp_doc_html_29.0-rc2.tar.gz.sigstore","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":5638249,"digest":"sha256:d23b8fc6aeecbe1c3de344866f2e281bb210d5a6c665d1c1f8f4349ed955b43b","download_count":43,"created_at":"2026-03-19T09:50:36Z","updated_at":"2026-03-19T09:50:36Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-29.0-rc2/otp_doc_html_29.0-rc2.tar.gz.sigstore"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/377067440","id":377067440,"node_id":"RA_kwDOAAW4j84WeZew","name":"otp_doc_man_29.0-rc2.tar.gz","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":1927501,"digest":"sha256:9801265efda3cb00f440600d02f789c5882b56a0665c92cdda1e8c5269ee3334","download_count":59,"created_at":"2026-03-19T09:50:36Z","updated_at":"2026-03-19T09:50:36Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-29.0-rc2/otp_doc_man_29.0-rc2.tar.gz"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/377067435","id":377067435,"node_id":"RA_kwDOAAW4j84WeZer","name":"otp_doc_man_29.0-rc2.tar.gz.sigstore","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":5638249,"digest":"sha256:d23b8fc6aeecbe1c3de344866f2e281bb210d5a6c665d1c1f8f4349ed955b43b","download_count":43,"created_at":"2026-03-19T09:50:36Z","updated_at":"2026-03-19T09:50:36Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-29.0-rc2/otp_doc_man_29.0-rc2.tar.gz.sigstore"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/377067439","id":377067439,"node_id":"RA_kwDOAAW4j84WeZev","name":"otp_src_29.0-rc2.tar.gz","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":106488224,"digest":"sha256:47ca12d2278f54c412e637bb105c58730dbca91e0d361391e524d7aadd451a00","download_count":252,"created_at":"2026-03-19T09:50:36Z","updated_at":"2026-03-19T09:50:39Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-29.0-rc2/otp_src_29.0-rc2.tar.gz"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/377067433","id":377067433,"node_id":"RA_kwDOAAW4j84WeZep","name":"otp_src_29.0-rc2.tar.gz.sigstore","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":5638249,"digest":"sha256:d23b8fc6aeecbe1c3de344866f2e281bb210d5a6c665d1c1f8f4349ed955b43b","download_count":46,"created_at":"2026-03-19T09:50:36Z","updated_at":"2026-03-19T09:50:36Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-29.0-rc2/otp_src_29.0-rc2.tar.gz.sigstore"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/376384519","id":376384519,"node_id":"RA_kwDOAAW4j84WbywH","name":"otp_win64_29.0-rc2.exe","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/x-msdownload","state":"uploaded","size":150951624,"digest":"sha256:b4fcaf62eeb6115a04d27b2ca6f08659cc3efbd7f87fbcc7b7dccea08d44df04","download_count":134,"created_at":"2026-03-18T11:31:04Z","updated_at":"2026-03-18T11:31:10Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-29.0-rc2/otp_win64_29.0-rc2.exe"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/376408008","id":376408008,"node_id":"RA_kwDOAAW4j84Wb4fI","name":"otp_win64_29.0-rc2.zip","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/zip","state":"uploaded","size":180143206,"digest":"sha256:6a7a5cbb42da1f57e5208c11901b4812e0e417d10654208518b6066da67f6626","download_count":89,"created_at":"2026-03-18T12:21:29Z","updated_at":"2026-03-18T12:21:35Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-29.0-rc2/otp_win64_29.0-rc2.zip"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/377067436","id":377067436,"node_id":"RA_kwDOAAW4j84WeZes","name":"SHA256.txt","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"text/plain","state":"uploaded","size":279,"digest":"sha256:ac19c10fb2002a7d1486dc99f695225e8ac9d0c09803e1daddb70b62c9d13328","download_count":194,"created_at":"2026-03-19T09:50:36Z","updated_at":"2026-03-19T09:50:36Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-29.0-rc2/SHA256.txt"}],"tarball_url":"https://api.github.com/repos/erlang/otp/tarball/OTP-29.0-rc2","zipball_url":"https://api.github.com/repos/erlang/otp/zipball/OTP-29.0-rc2","body":"## OTP 29.0-rc2\n\nErlang/OTP 29.0-rc2 is the second release candidate of three before the OTP 29.0 release.\n\nThe intention with this release is to get feedback from our users. All feedback is welcome, even if it is only to say that it works for you. We encourage users to try it out and give us feedback either by creating an issue at [https://github.com/erlang/otp/issues](https://github.com/erlang/otp/issues) or by posting to [Erlang Forums](https://erlangforums.com/).\n\nAll artifacts for the release can be downloaded from the [Erlang/OTP Github](https://github.com/erlang/otp/releases/tag/OTP-29.0-rc2) release and you can view the new documentation at [https://erlang.org/documentation/doc-17.0-rc2/doc](https://erlang.org/documentation/doc-17.0-rc2/doc/). You can also install the latest release using [kerl](https://github.com/kerl/kerl) like this:\n\n```\nkerl build 29.0-rc2 29.0-rc2.\n```\n\nErlang/OTP 29 is a new major release with new features, improvements as well as a few incompatibilities. Some of the new features are highlighted below.\n\nMany thanks to all contributors!\n\n# Highlights for RC2\n\n- The module `io_ansi` allows the user to emit Virtual Terminal Sequences (also known as ANSI sequences) to the terminal in order to add colors/styling to text or to create fully fledged terminal applications.\n\n- The new `ct_doctest` module allows the user to test documentation examples in Erlang module docs and documentation files.\n\n- The `ignore_xref` attribute has been handled as a post-analysis filter by build tools such as Rebar3. In this release, \\[`xref`\\] itself does the filtering, ensuring that all tooling that calls `xref` for any purpose can rely on these declarations to just work.\n\n# Highlights for RC1\n\n## General\n\n- In the default code path for the Erlang system, the current working directory (`.`) is now in the last position instead of the first.\n\n- There is no longer a 32-bit Erlang/OTP build for Windows.\n\n## New language features\n\n- Native records as described in [EEP-79](https://github.com/erlang/eep/pull/81) has been implemented. A native record is a data structure similar to the traditional tuple-based records, except that is a true data type. Native records are considered experimental in Erlang/OTP 29 and possibly also in Erlang/OTP 30.\n\n- The new `is_integer/3` guard BIF makes it possible to easily verify that a value is both an integer and within a certain range. For example: `is_integer(I, 0, 100)`\n\n- Multi-valued comprehensions according to [EEP 78](https://www.erlang.org/eeps/eep-0078) are now supported. For example, `[-I, I || I <- [1, 2, 3]]` will produce `[-1,1,-2,2,-3,3]`.\n\n- By enabling the `compr_assign` feature, it is now possible to bind variables in a comprehensions. For example: `[H || E <- List, H = erlang:phash2(E), H rem 10 =:= 0]`\n\n## Compiler and JIT improvements\n\n- In the documentation for the \\[`compile`\\] module, there is now a section with recommendations for implementors of languages running on the BEAM.\n\n- The JIT now generates better code for matching or creating binaries with multiple little-endian segments.\n\n- The compiler will generate more efficient code for map comprehensions with constant values that don't depend on the generator. Example: `#{K => 42 || K <- List}`\n\n## Compiler warnings\n\nThere are several new compiler warnings enabled by default. For each such warning, there is an option to disable it.\n\n- There will now be a warning when using the `catch` operator, which has been deprecated for a long time. It is recommended to instead use `try`...`catch` but is also possible to disable the warning by using the `nowarn_deprecated_catch` option.\n\n- There will now be a warning when exporting variables out of a subexpression. For example: `file:open(File, AllOpts = [write, {encoding,utf8}])`. This warning can be disabled using the `nowarn_export_var_subexpr` compiler option.\n\n- The compiler will now warn for uses of the `and` and `or` operators. This warning can be disabled using the `nowarn_obsolete_bool_op` compiler option.\n\n- The compiler will now warn for matches such as `{a,B} = {X,Y}`, which is better written as `{a=X,B=Y}`. This warning can be disabled using the `nowarn_match_alias_pats` option.\n\nFor a long time, there has been a warning for using the obsolete guard tests (such as `list(L)` instead of `is_list(L)`. In Erlang/OTP 30, the old guards will be removed from the language.\n\n## STDLIB\n\n- There are new functions for randomly permutating a list: `rand:shuffle/1` and `rand:shuffle_s/2`.\n\n## SSH\n\n- The default key exchange algorithm is now mlkem768x25519-sha256, a hybrid quantum-resistant algorithm combining ML-KEM-768 with X25519. This provides protection against both classical and quantum computer attacks while maintaining backward compatibility through automatic fallback to other algorithms when peers don't support it.\n","reactions":{"url":"https://api.github.com/repos/erlang/otp/releases/298372857/reactions","total_count":8,"+1":3,"-1":0,"laugh":0,"hooray":3,"confused":0,"heart":0,"rocket":2,"eyes":0}},{"url":"https://api.github.com/repos/erlang/otp/releases/296340055","assets_url":"https://api.github.com/repos/erlang/otp/releases/296340055/assets","upload_url":"https://uploads.github.com/repos/erlang/otp/releases/296340055/assets{?name,label}","html_url":"https://github.com/erlang/otp/releases/tag/OTP-28.4.1","id":296340055,"author":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"node_id":"RE_kwDOAAW4j84RqcpX","tag_name":"OTP-28.4.1","target_commitish":"master","name":"OTP 28.4.1","draft":false,"immutable":false,"prerelease":false,"created_at":"2026-03-12T15:54:38Z","updated_at":"2026-03-13T10:15:56Z","published_at":"2026-03-12T18:31:50Z","assets":[{"url":"https://api.github.com/repos/erlang/otp/releases/assets/372558027","id":372558027,"node_id":"RA_kwDOAAW4j84WNMjL","name":"bom.spdx.json","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/json","state":"uploaded","size":5768504,"digest":"sha256:0774488b2b5486f5c6e448121bc04e2eb9e76b7d093d51c7abef64dfe5eb8125","download_count":21,"created_at":"2026-03-12T19:19:21Z","updated_at":"2026-03-12T19:19:21Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.4.1/bom.spdx.json"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/372558026","id":372558026,"node_id":"RA_kwDOAAW4j84WNMjK","name":"bom.spdx.json.sigstore","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":5587690,"digest":"sha256:e59c187273728b9590342d317de9fac904ae905e77d1074f17b4aa599c6fb8d1","download_count":15,"created_at":"2026-03-12T19:19:21Z","updated_at":"2026-03-12T19:19:21Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.4.1/bom.spdx.json.sigstore"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/372558022","id":372558022,"node_id":"RA_kwDOAAW4j84WNMjG","name":"MD5.txt","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"text/plain","state":"uploaded","size":177,"digest":"sha256:e31edcb2d0e31f7a4d46a84b283bf188fc96f6e3864968b0a2f79c1026fb5b28","download_count":17,"created_at":"2026-03-12T19:19:21Z","updated_at":"2026-03-12T19:19:21Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.4.1/MD5.txt"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/372530825","id":372530825,"node_id":"RA_kwDOAAW4j84WNF6J","name":"OTP-28.4.1.README","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"text","state":"uploaded","size":5791,"digest":"sha256:a103fc4ede5534f10ad0530daf8a01da083aaf9ca609123378e6990ec59d9424","download_count":700,"created_at":"2026-03-12T18:31:55Z","updated_at":"2026-03-12T18:31:55Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.4.1/OTP-28.4.1.README"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/372530830","id":372530830,"node_id":"RA_kwDOAAW4j84WNF6O","name":"OTP-28.4.1.README.md","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"text","state":"uploaded","size":6382,"digest":"sha256:4ebc9269ba3e4d715603344488b8aa627f0d43afe2c38eed8c0375a0f1a408fc","download_count":16,"created_at":"2026-03-12T18:31:55Z","updated_at":"2026-03-12T18:31:55Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.4.1/OTP-28.4.1.README.md"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/372558029","id":372558029,"node_id":"RA_kwDOAAW4j84WNMjN","name":"otp_doc_html_28.4.1.tar.gz","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":27721200,"digest":"sha256:2f46c7faba46c8c03b795444af937c4297aefc21499926886a211f7cb449193f","download_count":1430,"created_at":"2026-03-12T19:19:21Z","updated_at":"2026-03-12T19:19:22Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.4.1/otp_doc_html_28.4.1.tar.gz"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/372558028","id":372558028,"node_id":"RA_kwDOAAW4j84WNMjM","name":"otp_doc_html_28.4.1.tar.gz.sigstore","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":5587690,"digest":"sha256:e59c187273728b9590342d317de9fac904ae905e77d1074f17b4aa599c6fb8d1","download_count":13,"created_at":"2026-03-12T19:19:21Z","updated_at":"2026-03-12T19:19:21Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.4.1/otp_doc_html_28.4.1.tar.gz.sigstore"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/372558023","id":372558023,"node_id":"RA_kwDOAAW4j84WNMjH","name":"otp_doc_man_28.4.1.tar.gz","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":1888440,"digest":"sha256:121056eb3bf81ef88614699ecb83591a7de77595e7e470acd6e3e30046ac5103","download_count":696,"created_at":"2026-03-12T19:19:21Z","updated_at":"2026-03-12T19:19:21Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.4.1/otp_doc_man_28.4.1.tar.gz"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/372558030","id":372558030,"node_id":"RA_kwDOAAW4j84WNMjO","name":"otp_doc_man_28.4.1.tar.gz.sigstore","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":5587690,"digest":"sha256:e59c187273728b9590342d317de9fac904ae905e77d1074f17b4aa599c6fb8d1","download_count":18,"created_at":"2026-03-12T19:19:21Z","updated_at":"2026-03-12T19:19:21Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.4.1/otp_doc_man_28.4.1.tar.gz.sigstore"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/372558021","id":372558021,"node_id":"RA_kwDOAAW4j84WNMjF","name":"otp_src_28.4.1.tar.gz","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":105181818,"digest":"sha256:fb2aa0bd8d4118a275895d4a0ea5b24e40e9e1e27a7b29e001377d7660fd9ecf","download_count":14481,"created_at":"2026-03-12T19:19:21Z","updated_at":"2026-03-12T19:19:25Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.4.1/otp_src_28.4.1.tar.gz"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/372558025","id":372558025,"node_id":"RA_kwDOAAW4j84WNMjJ","name":"otp_src_28.4.1.tar.gz.sigstore","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":5587690,"digest":"sha256:e59c187273728b9590342d317de9fac904ae905e77d1074f17b4aa599c6fb8d1","download_count":12,"created_at":"2026-03-12T19:19:21Z","updated_at":"2026-03-12T19:19:21Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.4.1/otp_src_28.4.1.tar.gz.sigstore"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/372530836","id":372530836,"node_id":"RA_kwDOAAW4j84WNF6U","name":"otp_win32_28.4.1.exe","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/x-msdownload","state":"uploaded","size":130808016,"digest":"sha256:c7c4d7df770c0199496e9084e9498d9bab629dda347b904b9e7fdaddb25ca358","download_count":1670,"created_at":"2026-03-12T18:31:56Z","updated_at":"2026-03-12T18:32:01Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.4.1/otp_win32_28.4.1.exe"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/372569526","id":372569526,"node_id":"RA_kwDOAAW4j84WNPW2","name":"otp_win32_28.4.1.zip","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/zip","state":"uploaded","size":168201304,"digest":"sha256:118780cac412ee763f3fbde3060782ad3e7459b8e20af1f6c9ebf9c5cdb93393","download_count":726,"created_at":"2026-03-12T19:39:51Z","updated_at":"2026-03-12T19:39:55Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.4.1/otp_win32_28.4.1.zip"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/372530877","id":372530877,"node_id":"RA_kwDOAAW4j84WNF69","name":"otp_win64_28.4.1.exe","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/x-msdownload","state":"uploaded","size":149732040,"digest":"sha256:8e478c277f2e25520fac72b50497966be46d12e09270c5f8e96cd8fdcae78031","download_count":17024,"created_at":"2026-03-12T18:32:02Z","updated_at":"2026-03-12T18:32:08Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.4.1/otp_win64_28.4.1.exe"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/372569600","id":372569600,"node_id":"RA_kwDOAAW4j84WNPYA","name":"otp_win64_28.4.1.zip","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/zip","state":"uploaded","size":178881956,"digest":"sha256:8ed30b97e41d56e7e21077ac14083dc230dc79c0724a20a19ba05fa8a423c0eb","download_count":1341,"created_at":"2026-03-12T19:40:01Z","updated_at":"2026-03-12T19:40:06Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.4.1/otp_win64_28.4.1.zip"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/372558024","id":372558024,"node_id":"RA_kwDOAAW4j84WNMjI","name":"SHA256.txt","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"text/plain","state":"uploaded","size":273,"digest":"sha256:0671379244178314dfcc480d9efc955c2330c7348c44466dbf1a3e48cb103c9d","download_count":344,"created_at":"2026-03-12T19:19:21Z","updated_at":"2026-03-12T19:19:21Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.4.1/SHA256.txt"}],"tarball_url":"https://api.github.com/repos/erlang/otp/tarball/OTP-28.4.1","zipball_url":"https://api.github.com/repos/erlang/otp/zipball/OTP-28.4.1","body":"```\r\nPatch Package:           OTP 28.4.1\r\nGit Tag:                 OTP-28.4.1\r\nDate:                    2026-03-12\r\nTrouble Report Id:       OTP-20007, OTP-20009, OTP-20011, OTP-20012,\r\n                         OTP-20014, OTP-20018, OTP-20022\r\nSeq num:                 CVE-2026-23941, CVE-2026-23942,\r\n                         CVE-2026-23943, ERIERL-1303, ERIERL-1305,\r\n                         GH-10694, PR-10707, PR-10798, PR-10809,\r\n                         PR-10811, PR-10813, PR-10825, PR-10833\r\nSystem:                  OTP\r\nRelease:                 28\r\nApplication:             crypto-5.8.3, inets-9.6.1, kernel-10.6.1,\r\n                         ssh-5.5.1, ssl-11.5.3\r\nPredecessor:             OTP 28.4\r\n```\r\n\r\nCheck out the git tag OTP-28.4.1, and build a full OTP system including documentation. Apply one or more applications from this build as patches to your installation using the 'otp_patch_apply' tool. For information on install requirements, see descriptions for each application version below.\r\n\r\n# crypto-5.8.3\r\n\r\nThe crypto-5.8.3 application can be applied independently of other applications on a full OTP 28 installation.\r\n\r\n## Fixed Bugs and Malfunctions\r\n\r\n- Fix memory leak in `crypo:engine_load` if called with incorrect commands.\r\n\r\n  Own Id: OTP-20014\\\r\n  Related Id(s): [PR-10798]\r\n\r\n> #### Full runtime dependencies of crypto-5.8.3\r\n>\r\n> erts-9.0, kernel-6.0, stdlib-3.9\r\n\r\n# inets-9.6.1\r\n\r\nThe inets-9.6.1 application can be applied independently of other applications on a full OTP 28 installation.\r\n\r\n## Fixed Bugs and Malfunctions\r\n\r\n- The httpd server now rejects HTTP requests containing multiple Content-Length headers with different values, returning a 400 Bad Request response. This prevents potential HTTP request smuggling attacks. Thanks Luigino Camastra at Aisle Research for responsibly disclosing this vulnerability\r\n\r\n  Own Id: OTP-20007\\\r\n  Related Id(s): [PR-10833], [CVE-2026-23941]\r\n\r\n> #### Full runtime dependencies of inets-9.6.1\r\n>\r\n> erts-14.0, kernel-9.0, mnesia-4.12, public_key-1.13, runtime_tools-1.8.14, ssl-9.0, stdlib-5.0, stdlib-6.0\r\n\r\n# kernel-10.6.1\r\n\r\nThe kernel-10.6.1 application can be applied independently of other applications on a full OTP 28 installation.\r\n\r\n## Fixed Bugs and Malfunctions\r\n\r\n- A vulnerability has been resolved in the (undocumented, unsupported and unused in OTP) inet_dns_tsig module that leads to a validation bypass.\r\n\r\n  If a request contained an error code (forbidden by spec), it was treated as a response and skipped the verification of the MAC. The user of the module would then receive an \"all ok\" response, depending on the use case, this could lead to such things as AXFR or UPDATE being allowed.\r\n\r\n  The code has also been tightening up of the client side to make sure too large (bad) MAC sizes cannot be selected and the limit is the output size of the algorithm chosen.\r\n\r\n  Own Id: OTP-20012\\\r\n  Related Id(s): [PR-10825]\r\n\r\n> #### Full runtime dependencies of kernel-10.6.1\r\n>\r\n> crypto-5.0, erts-15.2.5, sasl-3.0, stdlib-7.0\r\n\r\n# ssh-5.5.1\r\n\r\nNote! The ssh-5.5.1 application _cannot_ be applied independently of other applications on an arbitrary OTP 28 installation.\r\n\r\n```\r\n   On a full OTP 28 installation, also the following runtime\r\n   dependency has to be satisfied:\r\n   -- crypto-5.7 (first satisfied in OTP 28.1)\r\n```\r\n\r\n## Fixed Bugs and Malfunctions\r\n\r\n- Fixed path traversal vulnerability in SFTP server's root option allowing authenticated users to access sibling directories with matching name prefixes. The root option used string prefix matching instead of path component validation. With {root, \"/home/user1\"}, attackers could access /home/user10/ or /home/user123/. Thanks to Luigino Camastra, Aisle Research.\r\n\r\n  Own Id: OTP-20009\\\r\n  Related Id(s): [PR-10811], [CVE-2026-23942]\r\n\r\n- Fixed excessive memory usage vulnerability in SSH compression allowing attackers to consume system resources through decompression bombs. The 'zlib' and 'zlib@openssh.com' algorithms lacked decompression size limits, allowing 256 KB packets to expand to 255 MB (1029:1 ratio). This could lead to crashes on systems with limited memory.\r\n\r\n  The fix removes zlib from default compression algorithms and implements decompression size limits for both algorithms. Thanks to Igor Morgenstern at Aisle Research\r\n\r\n  Own Id: OTP-20011\\\r\n  Related Id(s): [PR-10813], [CVE-2026-23943]\r\n\r\n> #### Full runtime dependencies of ssh-5.5.1\r\n>\r\n> crypto-5.7, erts-14.0, kernel-10.3, public_key-1.6.1, runtime_tools-1.15.1, stdlib-5.0, stdlib-6.0\r\n\r\n# ssl-11.5.3\r\n\r\nNote! The ssl-11.5.3 application _cannot_ be applied independently of other applications on an arbitrary OTP 28 installation.\r\n\r\n```\r\n   On a full OTP 28 installation, also the following runtime\r\n   dependencies have to be satisfied:\r\n   -- crypto-5.8 (first satisfied in OTP 28.3)\r\n   -- public_key-1.18.3 (first satisfied in OTP 28.1)\r\n```\r\n\r\n## Fixed Bugs and Malfunctions\r\n\r\n- TLS-1.3 certificate request now preserves the order of signature algorithms in certificate request extension to be in the servers preferred order, which might affect the choice made by some TLS clients.\r\n\r\n  Own Id: OTP-20022\\\r\n  Related Id(s): ERIERL-1305, [GH-10694], [PR-10707]\r\n\r\n## Improvements and New Features\r\n\r\n- Document that setting transport protocol specific socket options is not generally expected to work for TLS and if it happens to work it comes with consequences that should be understood an accepted by the user. Also retain some backwards compatibility with such an option that happened to work to buy time for people to come up with better solutions.\r\n\r\n  Own Id: OTP-20018\\\r\n  Related Id(s): ERIERL-1303, [PR-10809]\r\n\r\n> #### Full runtime dependencies of ssl-11.5.3\r\n>\r\n> crypto-5.8, erts-16.0, inets-5.10.7, kernel-10.3, public_key-1.18.3, runtime_tools-1.15.1, stdlib-7.0\r\n\r\n# Thanks to\r\n\r\nAlexander Clouter, Hewwho\r\n\r\n[cve-2026-23941]: https://nvd.nist.gov/vuln/detail/CVE-2026-23941\r\n[cve-2026-23942]: https://nvd.nist.gov/vuln/detail/CVE-2026-23942\r\n[cve-2026-23943]: https://nvd.nist.gov/vuln/detail/CVE-2026-23943\r\n[gh-10694]: https://github.com/erlang/otp/issues/10694\r\n[pr-10707]: https://github.com/erlang/otp/pull/10707\r\n[pr-10798]: https://github.com/erlang/otp/pull/10798\r\n[pr-10809]: https://github.com/erlang/otp/pull/10809\r\n[pr-10811]: https://github.com/erlang/otp/pull/10811\r\n[pr-10813]: https://github.com/erlang/otp/pull/10813\r\n[pr-10825]: https://github.com/erlang/otp/pull/10825\r\n[pr-10833]: https://github.com/erlang/otp/pull/10833\r\n","reactions":{"url":"https://api.github.com/repos/erlang/otp/releases/296340055/reactions","total_count":2,"+1":1,"-1":0,"laugh":0,"hooray":1,"confused":0,"heart":0,"rocket":0,"eyes":0}},{"url":"https://api.github.com/repos/erlang/otp/releases/296345838","assets_url":"https://api.github.com/repos/erlang/otp/releases/296345838/assets","upload_url":"https://uploads.github.com/repos/erlang/otp/releases/296345838/assets{?name,label}","html_url":"https://github.com/erlang/otp/releases/tag/OTP-27.3.4.9","id":296345838,"author":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"node_id":"RE_kwDOAAW4j84RqeDu","tag_name":"OTP-27.3.4.9","target_commitish":"master","name":"OTP 27.3.4.9","draft":false,"immutable":false,"prerelease":false,"created_at":"2026-03-12T15:58:55Z","updated_at":"2026-03-12T20:13:51Z","published_at":"2026-03-12T18:44:26Z","assets":[{"url":"https://api.github.com/repos/erlang/otp/releases/assets/372538228","id":372538228,"node_id":"RA_kwDOAAW4j84WNHt0","name":"MD5.txt","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"text/plain","state":"uploaded","size":183,"digest":"sha256:1da550d8475b23b6ab2fe45ae610d43c5780d160b9023fdc25c3b04f82c67515","download_count":11,"created_at":"2026-03-12T18:44:22Z","updated_at":"2026-03-12T18:44:22Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-27.3.4.9/MD5.txt"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/372568555","id":372568555,"node_id":"RA_kwDOAAW4j84WNPHr","name":"OTP-27.3.4.9.README","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"text","state":"uploaded","size":3956,"digest":"sha256:a99bd90437b13508b2289d97e410d19e3307018ee82371284850559482d04b87","download_count":164,"created_at":"2026-03-12T19:38:25Z","updated_at":"2026-03-12T19:38:25Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-27.3.4.9/OTP-27.3.4.9.README"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/372568565","id":372568565,"node_id":"RA_kwDOAAW4j84WNPH1","name":"OTP-27.3.4.9.README.md","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"text","state":"uploaded","size":4567,"digest":"sha256:241eddacd8f21e2aca875a0f5156dd94f5c764df42b300e376de97685846bd3d","download_count":19,"created_at":"2026-03-12T19:38:26Z","updated_at":"2026-03-12T19:38:26Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-27.3.4.9/OTP-27.3.4.9.README.md"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/372538230","id":372538230,"node_id":"RA_kwDOAAW4j84WNHt2","name":"otp_doc_html_27.3.4.9.tar.gz","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":26187313,"digest":"sha256:799ef496b2c1fca394788e2a4b6a17661e5f4e663099dbe16d5ae6abd8162ae1","download_count":106,"created_at":"2026-03-12T18:44:22Z","updated_at":"2026-03-12T18:44:23Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-27.3.4.9/otp_doc_html_27.3.4.9.tar.gz"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/372538229","id":372538229,"node_id":"RA_kwDOAAW4j84WNHt1","name":"otp_doc_man_27.3.4.9.tar.gz","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":45258,"digest":"sha256:cafaf9bc2aea67e95e15e3d1af60355b553f88cb113a6082f13df70a0633b8ea","download_count":42,"created_at":"2026-03-12T18:44:22Z","updated_at":"2026-03-12T18:44:22Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-27.3.4.9/otp_doc_man_27.3.4.9.tar.gz"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/372538231","id":372538231,"node_id":"RA_kwDOAAW4j84WNHt3","name":"otp_src_27.3.4.9.tar.gz","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":101511962,"digest":"sha256:62e964290041eed1182e1a1dbf934193aacd2e124b315cd5b9ffd9dd0d3b0f8f","download_count":2286,"created_at":"2026-03-12T18:44:22Z","updated_at":"2026-03-12T18:44:26Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-27.3.4.9/otp_src_27.3.4.9.tar.gz"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/372568578","id":372568578,"node_id":"RA_kwDOAAW4j84WNPIC","name":"otp_win32_27.3.4.9.exe","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/x-msdownload","state":"uploaded","size":122256176,"digest":"sha256:c362fb8f356b522a6dfb5370238cb92b1ee4b24a1e8f39de24532cdc9648bf19","download_count":304,"created_at":"2026-03-12T19:38:26Z","updated_at":"2026-03-12T19:38:30Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-27.3.4.9/otp_win32_27.3.4.9.exe"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/372585713","id":372585713,"node_id":"RA_kwDOAAW4j84WNTTx","name":"otp_win32_27.3.4.9.zip","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/zip","state":"uploaded","size":137453967,"digest":"sha256:cbb5b1bf932768a1a5dac686f15ae78ef1f72e2d24cfd6bd52464b356ec035db","download_count":32,"created_at":"2026-03-12T20:13:09Z","updated_at":"2026-03-12T20:13:15Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-27.3.4.9/otp_win32_27.3.4.9.zip"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/372568646","id":372568646,"node_id":"RA_kwDOAAW4j84WNPJG","name":"otp_win64_27.3.4.9.exe","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/x-msdownload","state":"uploaded","size":139858392,"digest":"sha256:218a5ce6c19f9fc3f053f4fb91c4744444e5aef4f9f60cc3a652e91fd03328d2","download_count":7269,"created_at":"2026-03-12T19:38:30Z","updated_at":"2026-03-12T19:38:34Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-27.3.4.9/otp_win64_27.3.4.9.exe"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/372586189","id":372586189,"node_id":"RA_kwDOAAW4j84WNTbN","name":"otp_win64_27.3.4.9.zip","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/zip","state":"uploaded","size":156132566,"digest":"sha256:749e6db4459499e60b6b433da7accca05a9227a844fd1a5e8734308342c5cae4","download_count":363,"created_at":"2026-03-12T20:13:47Z","updated_at":"2026-03-12T20:13:51Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-27.3.4.9/otp_win64_27.3.4.9.zip"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/372538227","id":372538227,"node_id":"RA_kwDOAAW4j84WNHtz","name":"SHA256.txt","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"text/plain","state":"uploaded","size":279,"digest":"sha256:3099e6bd81f3c50cc0b5e665bb9d2a10d76b01c58c13ffcb78f83cdba72db4b8","download_count":365,"created_at":"2026-03-12T18:44:21Z","updated_at":"2026-03-12T18:44:22Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-27.3.4.9/SHA256.txt"}],"tarball_url":"https://api.github.com/repos/erlang/otp/tarball/OTP-27.3.4.9","zipball_url":"https://api.github.com/repos/erlang/otp/zipball/OTP-27.3.4.9","body":null},{"url":"https://api.github.com/repos/erlang/otp/releases/296370698","assets_url":"https://api.github.com/repos/erlang/otp/releases/296370698/assets","upload_url":"https://uploads.github.com/repos/erlang/otp/releases/296370698/assets{?name,label}","html_url":"https://github.com/erlang/otp/releases/tag/OTP-26.2.5.18","id":296370698,"author":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"node_id":"RE_kwDOAAW4j84RqkIK","tag_name":"OTP-26.2.5.18","target_commitish":"master","name":"OTP 26.2.5.18","draft":false,"immutable":false,"prerelease":false,"created_at":"2026-03-12T15:59:35Z","updated_at":"2026-03-12T20:14:04Z","published_at":"2026-03-12T19:38:12Z","assets":[{"url":"https://api.github.com/repos/erlang/otp/releases/assets/372572970","id":372572970,"node_id":"RA_kwDOAAW4j84WNQMq","name":"MD5.txt","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"text/plain","state":"uploaded","size":186,"digest":"sha256:78cdc460f67e98e97f605bdbd122e7355fdb2ca4965c4d789810deb6e6340293","download_count":11,"created_at":"2026-03-12T19:45:45Z","updated_at":"2026-03-12T19:45:45Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-26.2.5.18/MD5.txt"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/372568403","id":372568403,"node_id":"RA_kwDOAAW4j84WNPFT","name":"OTP-26.2.5.18.README","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"text","state":"uploaded","size":5449,"digest":"sha256:fd7de779d8b9d9c1459dd0cfd0c8f1ab6650b9c5e35b3639036ade683b529d9a","download_count":154,"created_at":"2026-03-12T19:38:14Z","updated_at":"2026-03-12T19:38:14Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-26.2.5.18/OTP-26.2.5.18.README"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/372572972","id":372572972,"node_id":"RA_kwDOAAW4j84WNQMs","name":"otp_doc_html_26.2.5.18.tar.gz","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":37635921,"digest":"sha256:25cc4dda891dbb284c5038e0ed94ae9e58fbff289526e204177b83db5046d422","download_count":99,"created_at":"2026-03-12T19:45:45Z","updated_at":"2026-03-12T19:45:47Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-26.2.5.18/otp_doc_html_26.2.5.18.tar.gz"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/372572974","id":372572974,"node_id":"RA_kwDOAAW4j84WNQMu","name":"otp_doc_man_26.2.5.18.tar.gz","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":1752643,"digest":"sha256:8d2cd6090380cbe9cb0853b624db8ab670c4aacbe323646c467fe1c4e2a78068","download_count":43,"created_at":"2026-03-12T19:45:45Z","updated_at":"2026-03-12T19:45:45Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-26.2.5.18/otp_doc_man_26.2.5.18.tar.gz"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/372572973","id":372572973,"node_id":"RA_kwDOAAW4j84WNQMt","name":"otp_src_26.2.5.18.tar.gz","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":106293975,"digest":"sha256:0415793dbca27cf1ceb688f2198ccd669f0039a87309b9e882f14b61c1161f26","download_count":1626,"created_at":"2026-03-12T19:45:45Z","updated_at":"2026-03-12T19:45:49Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-26.2.5.18/otp_src_26.2.5.18.tar.gz"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/372568411","id":372568411,"node_id":"RA_kwDOAAW4j84WNPFb","name":"otp_win32_26.2.5.18.exe","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/x-msdownload","state":"uploaded","size":135885056,"digest":"sha256:e7c1a6bed933c0746ad04b3e988a49d4dabc515e9a4942b5f4b2157a5e8dd01d","download_count":108,"created_at":"2026-03-12T19:38:15Z","updated_at":"2026-03-12T19:38:19Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-26.2.5.18/otp_win32_26.2.5.18.exe"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/372585712","id":372585712,"node_id":"RA_kwDOAAW4j84WNTTw","name":"otp_win32_26.2.5.18.zip","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/zip","state":"uploaded","size":148153264,"digest":"sha256:a74d2931892b3a26a39803ade72ffe919e406c3b4ab9144de15017ca0d93b610","download_count":54,"created_at":"2026-03-12T20:13:09Z","updated_at":"2026-03-12T20:13:14Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-26.2.5.18/otp_win32_26.2.5.18.zip"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/372568476","id":372568476,"node_id":"RA_kwDOAAW4j84WNPGc","name":"otp_win64_26.2.5.18.exe","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/x-msdownload","state":"uploaded","size":153153864,"digest":"sha256:6dd86787d51d4340c1e113c6b110b74cc1815e053a92c2eb7635897dcb2da20c","download_count":6541,"created_at":"2026-03-12T19:38:19Z","updated_at":"2026-03-12T19:38:24Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-26.2.5.18/otp_win64_26.2.5.18.exe"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/372586338","id":372586338,"node_id":"RA_kwDOAAW4j84WNTdi","name":"otp_win64_26.2.5.18.zip","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/zip","state":"uploaded","size":166261194,"digest":"sha256:6202291a30d0ff4f16010df1feb8daed2f57034223a73ef38d666dd3bbf7d5ad","download_count":120,"created_at":"2026-03-12T20:13:57Z","updated_at":"2026-03-12T20:14:04Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-26.2.5.18/otp_win64_26.2.5.18.zip"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/372572971","id":372572971,"node_id":"RA_kwDOAAW4j84WNQMr","name":"SHA256.txt","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"text/plain","state":"uploaded","size":282,"digest":"sha256:db6d8324a64c92bd7c0713b802f8287b84239e68a3aaa531d8a975581d304c8d","download_count":199,"created_at":"2026-03-12T19:45:45Z","updated_at":"2026-03-12T19:45:45Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-26.2.5.18/SHA256.txt"}],"tarball_url":"https://api.github.com/repos/erlang/otp/tarball/OTP-26.2.5.18","zipball_url":"https://api.github.com/repos/erlang/otp/zipball/OTP-26.2.5.18","body":"```\nPatch Package:           OTP 26.2.5.18\nGit Tag:                 OTP-26.2.5.18\nDate:                    2026-03-12\nTrouble Report Id:       OTP-19795, OTP-20007, OTP-20009, OTP-20011,\n                         OTP-20022\nSeq num:                 CVE-2026-23941, CVE-2026-23942,\n                         CVE-2026-23943, ERIERL-1305, GH-10694,\n                         PR-10465, PR-10707, PR-10811, PR-10813,\n                         PR-10833\nSystem:                  OTP\nRelease:                 26\nApplication:             inets-9.1.0.5, ssh-5.1.4.14, ssl-11.1.4.12\nPredecessor:             OTP 26.2.5.17\n\n Check out the git tag OTP-26.2.5.18, and build a full OTP system\n including documentation. Apply one or more applications from this\n build as patches to your installation using the 'otp_patch_apply'\n tool. For information on install requirements, see descriptions for\n each application version below.\n\n ---------------------------------------------------------------------\n --- inets-9.1.0.5 ---------------------------------------------------\n ---------------------------------------------------------------------\n\n The inets-9.1.0.5 application can be applied independently of other\n applications on a full OTP 26 installation.\n\n --- Fixed Bugs and Malfunctions ---\n\n  OTP-20007    Application(s): inets\n               Related Id(s): PR-10833, CVE-2026-23941\n\n               The httpd server now rejects HTTP requests containing\n               multiple Content-Length headers with different values,\n               returning a 400 Bad Request response. This prevents\n               potential HTTP request smuggling attacks. Thanks\n               Luigino Camastra at Aisle Research for responsibly\n               disclosing this vulnerability\n\n\n Full runtime dependencies of inets-9.1.0.5: erts-14.0, kernel-9.0,\n mnesia-4.12, public_key-1.13, runtime_tools-1.8.14, ssl-9.0,\n stdlib-5.0, stdlib-5.0\n\n\n ---------------------------------------------------------------------\n --- ssh-5.1.4.14 ----------------------------------------------------\n ---------------------------------------------------------------------\n\n The ssh-5.1.4.14 application can be applied independently of other\n applications on a full OTP 26 installation.\n\n --- Fixed Bugs and Malfunctions ---\n\n  OTP-20009    Application(s): ssh\n               Related Id(s): PR-10811, CVE-2026-23942\n\n               Fixed path traversal vulnerability in SFTP server's\n               root option allowing authenticated users to access\n               sibling directories with matching name prefixes. The\n               root option used string prefix matching instead of path\n               component validation. With {root, \"/home/user1\"},\n               attackers could access /home/user10/ or /home/user123/.\n               Thanks to Luigino Camastra, Aisle Research.\n\n\n  OTP-20011    Application(s): ssh\n               Related Id(s): PR-10813, CVE-2026-23943\n\n               Fixed excessive memory usage vulnerability in SSH\n               compression allowing attackers to consume system\n               resources through decompression bombs. The 'zlib' and\n               'zlib@openssh.com' algorithms lacked decompression size\n               limits, allowing 256 KB packets to expand to 255 MB\n               (1029:1 ratio). This could lead to crashes on systems\n               with limited memory.\n\n               The fix removes zlib from default compression\n               algorithms and implements decompression size limits for\n               both algorithms. Thanks to Igor Morgenstern at Aisle\n               Research\n\n\n Full runtime dependencies of ssh-5.1.4.14: crypto-5.0, erts-14.0,\n kernel-9.0, public_key-1.6.1, runtime_tools-1.15.1, stdlib-5.0,\n stdlib-5.0\n\n\n ---------------------------------------------------------------------\n --- ssl-11.1.4.12 ---------------------------------------------------\n ---------------------------------------------------------------------\n\n The ssl-11.1.4.12 application can be applied independently of other\n applications on a full OTP 26 installation.\n\n --- Fixed Bugs and Malfunctions ---\n\n  OTP-19795    Application(s): ssl\n               Related Id(s): PR-10465\n\n               Correct TLS-1.3 alert handling so server will always\n               send the alert with the encryption keys that the client\n               is expecting, that is if for instance if client\n               certification fails the alert will be sent using\n               application traffic encryption keys.\n\n\n  OTP-20022    Application(s): ssl\n               Related Id(s): ERIERL-1305, GH-10694, PR-10707\n\n               TLS-1.3 certificate request now preserves the order of\n               signature algorithms in certificate request extension\n               to be in the servers preferred order, which might\n               affect the choice made by some TLS clients.\n\n\n Full runtime dependencies of ssl-11.1.4.12: crypto-5.0, erts-14.0,\n inets-5.10.7, kernel-9.0, public_key-1.11.3, runtime_tools-1.15.1,\n stdlib-4.1\n\n\n ---------------------------------------------------------------------\n --- Thanks to -------------------------------------------------------\n ---------------------------------------------------------------------\n\n Hewwho\n\n\n ---------------------------------------------------------------------\n ---------------------------------------------------------------------\n ---------------------------------------------------------------------\n```\n"},{"url":"https://api.github.com/repos/erlang/otp/releases/292912459","assets_url":"https://api.github.com/repos/erlang/otp/releases/292912459/assets","upload_url":"https://uploads.github.com/repos/erlang/otp/releases/292912459/assets{?name,label}","html_url":"https://github.com/erlang/otp/releases/tag/OTP-28.4","id":292912459,"author":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"node_id":"RE_kwDOAAW4j84RdX1L","tag_name":"OTP-28.4","target_commitish":"master","name":"OTP 28.4","draft":false,"immutable":false,"prerelease":false,"created_at":"2026-03-04T07:46:39Z","updated_at":"2026-03-04T11:37:32Z","published_at":"2026-03-04T10:22:05Z","assets":[{"url":"https://api.github.com/repos/erlang/otp/releases/assets/366727882","id":366727882,"node_id":"RA_kwDOAAW4j84V29LK","name":"bom.spdx.json","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/json","state":"uploaded","size":5768156,"digest":"sha256:ebbd91c4bf6305000d201ec8bddb191f23b7fc4182cb6c851b99b25e15c8f097","download_count":20,"created_at":"2026-03-04T11:37:27Z","updated_at":"2026-03-04T11:37:28Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.4/bom.spdx.json"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/366727883","id":366727883,"node_id":"RA_kwDOAAW4j84V29LL","name":"bom.spdx.json.sigstore","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":5587123,"digest":"sha256:1c52b13d0ad28e7588630ead900b2f14593b1ea0b339e2b940bf2ccbdafa6db3","download_count":21,"created_at":"2026-03-04T11:37:27Z","updated_at":"2026-03-04T11:37:28Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.4/bom.spdx.json.sigstore"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/366727879","id":366727879,"node_id":"RA_kwDOAAW4j84V29LH","name":"MD5.txt","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"text/plain","state":"uploaded","size":171,"digest":"sha256:d08bdedce5fa98a7851db877a201fdc9f66c41dcd5165e882f07c4d934db8b6b","download_count":17,"created_at":"2026-03-04T11:37:27Z","updated_at":"2026-03-04T11:37:28Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.4/MD5.txt"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/366682624","id":366682624,"node_id":"RA_kwDOAAW4j84V2yIA","name":"OTP-28.4.README","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"text","state":"uploaded","size":54220,"digest":"sha256:c3ba7b191c4999f6bb7bb9cd1d6f747a28ea31368116005121f079f37ea663f4","download_count":276,"created_at":"2026-03-04T10:22:08Z","updated_at":"2026-03-04T10:22:09Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.4/OTP-28.4.README"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/366682627","id":366682627,"node_id":"RA_kwDOAAW4j84V2yID","name":"OTP-28.4.README.md","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"text","state":"uploaded","size":56548,"digest":"sha256:f43dafbc3ec4f8118303b5e4af1b3b01dbef8a5ade60b0cbb76c3030b540d8cf","download_count":22,"created_at":"2026-03-04T10:22:09Z","updated_at":"2026-03-04T10:22:09Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.4/OTP-28.4.README.md"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/366727890","id":366727890,"node_id":"RA_kwDOAAW4j84V29LS","name":"otp_doc_html_28.4.tar.gz","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":27689091,"digest":"sha256:88024278d2ebbf54a85cc8be01192ab9c0c62eb068982c12ff15b4d23a135bb1","download_count":537,"created_at":"2026-03-04T11:37:28Z","updated_at":"2026-03-04T11:37:29Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.4/otp_doc_html_28.4.tar.gz"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/366727878","id":366727878,"node_id":"RA_kwDOAAW4j84V29LG","name":"otp_doc_html_28.4.tar.gz.sigstore","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":5587123,"digest":"sha256:1c52b13d0ad28e7588630ead900b2f14593b1ea0b339e2b940bf2ccbdafa6db3","download_count":27,"created_at":"2026-03-04T11:37:27Z","updated_at":"2026-03-04T11:37:28Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.4/otp_doc_html_28.4.tar.gz.sigstore"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/366727889","id":366727889,"node_id":"RA_kwDOAAW4j84V29LR","name":"otp_doc_man_28.4.tar.gz","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":1888103,"digest":"sha256:2a40b2b95fd8180e76c954348b84f14439985fb7e5bd36af2f5b04f0d0117338","download_count":319,"created_at":"2026-03-04T11:37:28Z","updated_at":"2026-03-04T11:37:28Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.4/otp_doc_man_28.4.tar.gz"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/366727886","id":366727886,"node_id":"RA_kwDOAAW4j84V29LO","name":"otp_doc_man_28.4.tar.gz.sigstore","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":5587123,"digest":"sha256:1c52b13d0ad28e7588630ead900b2f14593b1ea0b339e2b940bf2ccbdafa6db3","download_count":24,"created_at":"2026-03-04T11:37:28Z","updated_at":"2026-03-04T11:37:28Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.4/otp_doc_man_28.4.tar.gz.sigstore"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/366727888","id":366727888,"node_id":"RA_kwDOAAW4j84V29LQ","name":"otp_src_28.4.tar.gz","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/gzip","state":"uploaded","size":105165152,"digest":"sha256:5b39ceb3e36de8901dde61e88869e47be1b81bd56928da3986c196d696e1311d","download_count":7518,"created_at":"2026-03-04T11:37:28Z","updated_at":"2026-03-04T11:37:32Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.4/otp_src_28.4.tar.gz"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/366727884","id":366727884,"node_id":"RA_kwDOAAW4j84V29LM","name":"otp_src_28.4.tar.gz.sigstore","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/octet-stream","state":"uploaded","size":5587123,"digest":"sha256:1c52b13d0ad28e7588630ead900b2f14593b1ea0b339e2b940bf2ccbdafa6db3","download_count":15,"created_at":"2026-03-04T11:37:27Z","updated_at":"2026-03-04T11:37:28Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.4/otp_src_28.4.tar.gz.sigstore"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/366682629","id":366682629,"node_id":"RA_kwDOAAW4j84V2yIF","name":"otp_win32_28.4.exe","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/x-msdownload","state":"uploaded","size":130749560,"digest":"sha256:77774c0e0188c69c588f0653fe8476d594b395861bcc99e4ab2a43aece4a99b8","download_count":884,"created_at":"2026-03-04T10:22:09Z","updated_at":"2026-03-04T10:22:13Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.4/otp_win32_28.4.exe"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/366719941","id":366719941,"node_id":"RA_kwDOAAW4j84V27PF","name":"otp_win32_28.4.zip","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/zip","state":"uploaded","size":168063535,"digest":"sha256:8b63416bd6327c8f967cd993866379bfee56640641b7eca0f0451bf06f4dbb18","download_count":238,"created_at":"2026-03-04T11:20:52Z","updated_at":"2026-03-04T11:20:57Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.4/otp_win32_28.4.zip"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/366682662","id":366682662,"node_id":"RA_kwDOAAW4j84V2yIm","name":"otp_win64_28.4.exe","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/x-msdownload","state":"uploaded","size":149494040,"digest":"sha256:3f4f339e69d39117f51f3592dd8fb30da059f9d625759125a227cb2d50fcbffe","download_count":8346,"created_at":"2026-03-04T10:22:13Z","updated_at":"2026-03-04T10:22:18Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.4/otp_win64_28.4.exe"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/366719975","id":366719975,"node_id":"RA_kwDOAAW4j84V27Pn","name":"otp_win64_28.4.zip","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/zip","state":"uploaded","size":178502270,"digest":"sha256:53e48eba1a3f410b22cc89f6409a1d789eabff7e689edc3678ecc04a15245f12","download_count":935,"created_at":"2026-03-04T11:20:57Z","updated_at":"2026-03-04T11:21:04Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.4/otp_win64_28.4.zip"},{"url":"https://api.github.com/repos/erlang/otp/releases/assets/366727876","id":366727876,"node_id":"RA_kwDOAAW4j84V29LE","name":"SHA256.txt","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"text/plain","state":"uploaded","size":267,"digest":"sha256:5778ee3cdd03c271919e3b82345ff8515204ddcf8c263c13bf4b119c552973f6","download_count":191,"created_at":"2026-03-04T11:37:27Z","updated_at":"2026-03-04T11:37:28Z","browser_download_url":"https://github.com/erlang/otp/releases/download/OTP-28.4/SHA256.txt"}],"tarball_url":"https://api.github.com/repos/erlang/otp/tarball/OTP-28.4","zipball_url":"https://api.github.com/repos/erlang/otp/zipball/OTP-28.4","body":"```\nPatch Package:           OTP 28.4\nGit Tag:                 OTP-28.4\nDate:                    2026-03-04\nTrouble Report Id:       OTP-16607, OTP-19824, OTP-19860, OTP-19886,\n                         OTP-19892, OTP-19901, OTP-19904, OTP-19905,\n                         OTP-19907, OTP-19908, OTP-19911, OTP-19913,\n                         OTP-19914, OTP-19920, OTP-19923, OTP-19928,\n                         OTP-19937, OTP-19939, OTP-19940, OTP-19941,\n                         OTP-19948, OTP-19950, OTP-19951, OTP-19952,\n                         OTP-19959, OTP-19972, OTP-19973, OTP-19974,\n                         OTP-19976, OTP-19977, OTP-19979, OTP-19987,\n                         OTP-19988, OTP-19989, OTP-19990, OTP-19992,\n                         OTP-19998, OTP-20006\nSeq num:                 ERIERL-1251, ERIERL-1264, ERIERL-1283,\n                         GH-10351, GH-10371, GH-10470, GH-10474,\n                         GH-10494, GH-10495, GH-10501, GH-10513,\n                         GH-10567, GH-10652, GH-10698, GH-10705,\n                         GH-9681, OTP-16608, PR-10271, PR-10385,\n                         PR-10434, PR-10438, PR-10451, PR-10469,\n                         PR-10484, PR-10486, PR-10496, PR-10512,\n                         PR-10521, PR-10522, PR-10536, PR-10537,\n                         PR-10546, PR-10550, PR-10576, PR-10583,\n                         PR-10586, PR-10588, PR-10599, PR-10602,\n                         PR-10623, PR-10624, PR-10625, PR-10630,\n                         PR-10655, PR-10665, PR-10668, PR-10672,\n                         PR-10673, PR-10675, PR-10678, PR-10684,\n                         PR-10708, PR-10714, PR-10723, PR-10752,\n                         PR-9695\nSystem:                  OTP\nRelease:                 28\nApplication:             asn1-5.4.3, common_test-1.30, compiler-9.0.5,\n                         crypto-5.8.2, diameter-2.6.1,\n                         erl_interface-5.6.4, erts-16.3, et-1.7.3,\n                         eunit-2.10.2, inets-9.6, kernel-10.6,\n                         megaco-4.8.3, mnesia-4.25.2, observer-2.18.2,\n                         odbc-2.16.1, parsetools-2.7.1,\n                         public_key-1.20.2, reltool-1.0.3,\n                         runtime_tools-2.3.1, sasl-4.3.1, snmp-5.20.1,\n                         ssh-5.5, ssl-11.5.2, stdlib-7.3,\n                         syntax_tools-4.0.3, tools-4.1.4, wx-2.5.4,\n                         xmerl-2.1.9\nPredecessor:             OTP 28.3.3\n```\n\nCheck out the git tag OTP-28.4, and build a full OTP system including documentation. Apply one or more applications from this build as patches to your installation using the 'otp_patch_apply' tool. For information on install requirements, see descriptions for each application version below.\n\n# HIGHLIGHTS\n\n- Added support for the PQC key exchange (kex) algorithm mlkem768x25519-sha256, a hybrid quantum-resistant algorithm combining ML-KEM-768 with X25519.\n\n  Own Id: OTP-19824\\\n  Application(s): ssh\\\n  Related Id(s): [PR-10512], [PR-10655]\n\n- Added `persistent_term:put_new/2` that will quickly do nothing if a term with the given name and value already exists, and raise a `badarg` exception if the term exists with a different value.\n\n  Own Id: OTP-19908\\\n  Application(s): erts\\\n  Related Id(s): [GH-9681], [PR-9695]\n\n# POTENTIAL INCOMPATIBILITIES\n\n- Added a new HttpOption `{autoretry, timeout()}` to `httpc:request/4,5`. This option allows the client to decide how to act upon receiving a Retry-After response header. The default behavior changes, as now only one retry is made before returning the error code, instead of retrying infinitely.\n\n  Own Id: OTP-19892\\\n  Application(s): inets\\\n  Related Id(s): ERIERL-1283, [PR-10469]\n\n# OTP-28.4\n\n## Improvements and New Features\n\n- Release applications, tests, and documentation are now placed in their respective directories. Source SBOM with more packages.\n\n  A `make release` application places only the necessary code in the release folder. The main change is that the documentation and examples are not part of the release folder anymore.\n\n  `make release_docs` places the documentation in the released code under the `doc` folder.\n\n  `make release_tests` places the tests in their own directory. It used to be the case that some source code was mixed with the tests, and this should not happen anymore.\n\n  The Software Bill of Materials places the examples folders as if they are part of the `SPDX-otp-<app>-doc` packge, instead of placing examples as if they were running source code.\n\n  Overall, this change cleans up many things that were not quite correct by definition, and everything should still continue to work as expected. To test a release, one can still run `./Install -minimal \\`pwd\\``and add the release to the`PATH`. After that, one can run tests as usual, going into the released tests directory, entering `test_server\\` and running the emulator.\n\n  Improves the source Software-Bill-of-Materials\n\n  - The improvements adds new SPDX relations for `asmjit` and `zlib` to be `optional_components_of` the Erlang/OTP project.\n  - The `autoconf` scripts in `make` and `erts` have now been categorised as `build_tool_of` the Erlang/OTP project.\n  - All remaining `configure`, `configure.ac`, `config.h.in`, `Makefile.in`, `Makefile.src`, `EMakefile`, and `GNUMakefile` are now part of a specific SPDX package with relation `build_tool_of` the Erlang/OTP project.\n\n  Own Id: OTP-19886\\\n  Related Id(s): [PR-10434]\n\n- The GH Actions CI forbids non-maintainers to commit `*.beam` files to the Erlang/OTP repo\n\n  Own Id: OTP-19923\\\n  Related Id(s): [PR-10550]\n\n- Updated `openssl` from `3.6.0` to `3.6.1`.\n\n  This change does not perform any changes in the `md5` vendor implementation from `openssl`. The change merges upstream cosmetic changes from `openssl`. This is necessary to automatically migrate cleanly to the next `openssl` version without conflicts with upstream.\n\n  Own Id: OTP-19959\\\n  Related Id(s): [PR-10630]\n\n- The removal of the [`slave`] and [`slave`] modules have been postponed to Erlang/OTP 31.\n\n  The partial removal of the archive feature has been postponed to Erlang/OTP 30.\n\n  Own Id: OTP-19989\\\n  Related Id(s): [PR-10714]\n\n# asn1-5.4.3\n\nThe asn1-5.4.3 application can be applied independently of other applications on a full OTP 28 installation.\n\n## Improvements and New Features\n\n- Release applications, tests, and documentation are now placed in their respective directories. Source SBOM with more packages.\n\n  A `make release` application places only the necessary code in the release folder. The main change is that the documentation and examples are not part of the release folder anymore.\n\n  `make release_docs` places the documentation in the released code under the `doc` folder.\n\n  `make release_tests` places the tests in their own directory. It used to be the case that some source code was mixed with the tests, and this should not happen anymore.\n\n  The Software Bill of Materials places the examples folders as if they are part of the `SPDX-otp-<app>-doc` packge, instead of placing examples as if they were running source code.\n\n  Overall, this change cleans up many things that were not quite correct by definition, and everything should still continue to work as expected. To test a release, one can still run `./Install -minimal \\`pwd\\``and add the release to the`PATH`. After that, one can run tests as usual, going into the released tests directory, entering `test_server\\` and running the emulator.\n\n  Improves the source Software-Bill-of-Materials\n\n  - The improvements adds new SPDX relations for `asmjit` and `zlib` to be `optional_components_of` the Erlang/OTP project.\n  - The `autoconf` scripts in `make` and `erts` have now been categorised as `build_tool_of` the Erlang/OTP project.\n  - All remaining `configure`, `configure.ac`, `config.h.in`, `Makefile.in`, `Makefile.src`, `EMakefile`, and `GNUMakefile` are now part of a specific SPDX package with relation `build_tool_of` the Erlang/OTP project.\n\n  Own Id: OTP-19886\\\n  Related Id(s): [PR-10434]\n\n> #### Full runtime dependencies of asn1-5.4.3\n>\n> erts-14.0, kernel-9.0, stdlib-5.0\n\n# common_test-1.30\n\nThe common_test-1.30 application can be applied independently of other applications on a full OTP 28 installation.\n\n## Fixed Bugs and Malfunctions\n\n- Added documentation about the behavior of `ct:comment/1` and `ct:comment/2` when executed from processes other than the process running test functions.\n\n  Own Id: OTP-19913\\\n  Related Id(s): ERIERL-1264, [PR-10271]\n\n## Improvements and New Features\n\n- Updated jquery to 4.0.0\n\n  Own Id: OTP-19972\\\n  Related Id(s): [PR-10623], [PR-10624], [PR-10625], [PR-10665]\n\n- The removal of the [`slave`] and [`slave`] modules have been postponed to Erlang/OTP 31.\n\n  The partial removal of the archive feature has been postponed to Erlang/OTP 30.\n\n  Own Id: OTP-19989\\\n  Related Id(s): [PR-10714]\n\n> #### Full runtime dependencies of common_test-1.30\n>\n> compiler-6.0, crypto-4.5, debugger-4.1, erts-7.0, ftp-1.0, inets-6.0, kernel-8.4, observer-2.1, runtime_tools-1.8.16, sasl-2.5, snmp-5.1.2, ssh-4.0, stdlib-4.0, syntax_tools-1.7, tools-3.2, xmerl-1.3.8\n\n# compiler-9.0.5\n\nThe compiler-9.0.5 application can be applied independently of other applications on a full OTP 28 installation.\n\n## Fixed Bugs and Malfunctions\n\n- Fixed a compiler alias analysis bug that could generate unsafe code for repeated binary segments.\n\n  Own Id: OTP-19951\\\n  Related Id(s): [PR-10588]\n\n> #### Full runtime dependencies of compiler-9.0.5\n>\n> crypto-5.1, erts-13.0, kernel-8.4, stdlib-6.0\n\n# crypto-5.8.2\n\nThe crypto-5.8.2 application can be applied independently of other applications on a full OTP 28 installation.\n\n## Fixed Bugs and Malfunctions\n\n- Fixed `crypto:crypto_one_time_aead/4`, which could crash the runtime system if invoked in parallel with the same state.\n\n  Own Id: OTP-19973\\\n  Related Id(s): [GH-10652], [PR-10668]\n\n> #### Full runtime dependencies of crypto-5.8.2\n>\n> erts-9.0, kernel-6.0, stdlib-3.9\n\n# diameter-2.6.1\n\nThe diameter-2.6.1 application can be applied independently of other applications on a full OTP 28 installation.\n\n## Improvements and New Features\n\n- Release applications, tests, and documentation are now placed in their respective directories. Source SBOM with more packages.\n\n  A `make release` application places only the necessary code in the release folder. The main change is that the documentation and examples are not part of the release folder anymore.\n\n  `make release_docs` places the documentation in the released code under the `doc` folder.\n\n  `make release_tests` places the tests in their own directory. It used to be the case that some source code was mixed with the tests, and this should not happen anymore.\n\n  The Software Bill of Materials places the examples folders as if they are part of the `SPDX-otp-<app>-doc` packge, instead of placing examples as if they were running source code.\n\n  Overall, this change cleans up many things that were not quite correct by definition, and everything should still continue to work as expected. To test a release, one can still run `./Install -minimal \\`pwd\\``and add the release to the`PATH`. After that, one can run tests as usual, going into the released tests directory, entering `test_server\\` and running the emulator.\n\n  Improves the source Software-Bill-of-Materials\n\n  - The improvements adds new SPDX relations for `asmjit` and `zlib` to be `optional_components_of` the Erlang/OTP project.\n  - The `autoconf` scripts in `make` and `erts` have now been categorised as `build_tool_of` the Erlang/OTP project.\n  - All remaining `configure`, `configure.ac`, `config.h.in`, `Makefile.in`, `Makefile.src`, `EMakefile`, and `GNUMakefile` are now part of a specific SPDX package with relation `build_tool_of` the Erlang/OTP project.\n\n  Own Id: OTP-19886\\\n  Related Id(s): [PR-10434]\n\n> #### Full runtime dependencies of diameter-2.6.1\n>\n> erts-10.0, kernel-3.2, ssl-9.0, stdlib-5.0\n\n# erl_interface-5.6.4\n\nThe erl_interface-5.6.4 application can be applied independently of other applications on a full OTP 28 installation.\n\n## Improvements and New Features\n\n- Updated `openssl` from `3.6.0` to `3.6.1`.\n\n  This change does not perform any changes in the `md5` vendor implementation from `openssl`. The change merges upstream cosmetic changes from `openssl`. This is necessary to automatically migrate cleanly to the next `openssl` version without conflicts with upstream.\n\n  Own Id: OTP-19959\\\n  Related Id(s): [PR-10630]\n\n## Known Bugs and Problems\n\n- The `ei` API for decoding/encoding terms is not fully 64-bit compatible since terms that have a representation on the external term format larger than 2 GB cannot be handled.\n\n  Own Id: OTP-16607\\\n  Related Id(s): OTP-16608\n\n# erts-16.3\n\nThe erts-16.3 application can be applied independently of other applications on a full OTP 28 installation.\n\n## Fixed Bugs and Malfunctions\n\n- Fixed a documentation build warning when one or more applications failed their configure step and were skipped.\n\n  Own Id: OTP-19914\\\n  Related Id(s): ERIERL-1251, [PR-10537]\n\n- The (IPv6) flowinfo control message header was not properly supported.\n\n  Own Id: OTP-19977\n\n- Fixed NetBSD thread naming, using `pthread_setname_np()`; used for debugging.\n\n  Own Id: OTP-19987\\\n  Related Id(s): [PR-10684]\n\n## Improvements and New Features\n\n- The `erlang:link_option/0` type is now exported.\n\n  Own Id: OTP-19904\\\n  Related Id(s): [PR-10451]\n\n- Added `persistent_term:put_new/2` that will quickly do nothing if a term with the given name and value already exists, and raise a `badarg` exception if the term exists with a different value.\n\n  Own Id: OTP-19908\\\n  Related Id(s): [GH-9681], [PR-9695]\n\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\n\n- The `manifest.xml` file for the Windows build now has version numbers updated to correctly report OS versions on Windows 10, 11, Server 2016, 2019, 2022.\n\n  Own Id: OTP-19920\\\n  Related Id(s): [GH-10371], [PR-10546]\n\n- Improved yielding inside `re:run`. Regular expressions searching for _one_ specific byte character could spin in `memchr()` without any yielding or reduction counting.\n\n  Own Id: OTP-19950\\\n  Related Id(s): [PR-10486]\n\n- Updated `openssl` from `3.6.0` to `3.6.1`.\n\n  This change does not perform any changes in the `md5` vendor implementation from `openssl`. The change merges upstream cosmetic changes from `openssl`. This is necessary to automatically migrate cleanly to the next `openssl` version without conflicts with upstream.\n\n  Own Id: OTP-19959\\\n  Related Id(s): [PR-10630]\n\n- Updated `ryu` implementation used to convert floats to strings.\n\n  Own Id: OTP-19974\\\n  Related Id(s): [PR-10672]\n\n- Upgraded `asmjit` to `v1.18`\n\n  Own Id: OTP-19979\\\n  Related Id(s): [PR-10675]\n\n- Updated zlib to version 1.3.2.\n\n  Own Id: OTP-19998\\\n  Related Id(s): [PR-10752]\n\n> #### Full runtime dependencies of erts-16.3\n>\n> kernel-9.0, sasl-3.3, stdlib-4.1\n\n# et-1.7.3\n\nThe et-1.7.3 application can be applied independently of other applications on a full OTP 28 installation.\n\n## Improvements and New Features\n\n- Release applications, tests, and documentation are now placed in their respective directories. Source SBOM with more packages.\n\n  A `make release` application places only the necessary code in the release folder. The main change is that the documentation and examples are not part of the release folder anymore.\n\n  `make release_docs` places the documentation in the released code under the `doc` folder.\n\n  `make release_tests` places the tests in their own directory. It used to be the case that some source code was mixed with the tests, and this should not happen anymore.\n\n  The Software Bill of Materials places the examples folders as if they are part of the `SPDX-otp-<app>-doc` packge, instead of placing examples as if they were running source code.\n\n  Overall, this change cleans up many things that were not quite correct by definition, and everything should still continue to work as expected. To test a release, one can still run `./Install -minimal \\`pwd\\``and add the release to the`PATH`. After that, one can run tests as usual, going into the released tests directory, entering `test_server\\` and running the emulator.\n\n  Improves the source Software-Bill-of-Materials\n\n  - The improvements adds new SPDX relations for `asmjit` and `zlib` to be `optional_components_of` the Erlang/OTP project.\n  - The `autoconf` scripts in `make` and `erts` have now been categorised as `build_tool_of` the Erlang/OTP project.\n  - All remaining `configure`, `configure.ac`, `config.h.in`, `Makefile.in`, `Makefile.src`, `EMakefile`, and `GNUMakefile` are now part of a specific SPDX package with relation `build_tool_of` the Erlang/OTP project.\n\n  Own Id: OTP-19886\\\n  Related Id(s): [PR-10434]\n\n> #### Full runtime dependencies of et-1.7.3\n>\n> erts-9.0, kernel-5.3, runtime_tools-1.10, stdlib-3.4, wx-1.2\n\n# eunit-2.10.2\n\nThe eunit-2.10.2 application can be applied independently of other applications on a full OTP 28 installation.\n\n## Improvements and New Features\n\n- Release applications, tests, and documentation are now placed in their respective directories. Source SBOM with more packages.\n\n  A `make release` application places only the necessary code in the release folder. The main change is that the documentation and examples are not part of the release folder anymore.\n\n  `make release_docs` places the documentation in the released code under the `doc` folder.\n\n  `make release_tests` places the tests in their own directory. It used to be the case that some source code was mixed with the tests, and this should not happen anymore.\n\n  The Software Bill of Materials places the examples folders as if they are part of the `SPDX-otp-<app>-doc` packge, instead of placing examples as if they were running source code.\n\n  Overall, this change cleans up many things that were not quite correct by definition, and everything should still continue to work as expected. To test a release, one can still run `./Install -minimal \\`pwd\\``and add the release to the`PATH`. After that, one can run tests as usual, going into the released tests directory, entering `test_server\\` and running the emulator.\n\n  Improves the source Software-Bill-of-Materials\n\n  - The improvements adds new SPDX relations for `asmjit` and `zlib` to be `optional_components_of` the Erlang/OTP project.\n  - The `autoconf` scripts in `make` and `erts` have now been categorised as `build_tool_of` the Erlang/OTP project.\n  - All remaining `configure`, `configure.ac`, `config.h.in`, `Makefile.in`, `Makefile.src`, `EMakefile`, and `GNUMakefile` are now part of a specific SPDX package with relation `build_tool_of` the Erlang/OTP project.\n\n  Own Id: OTP-19886\\\n  Related Id(s): [PR-10434]\n\n> #### Full runtime dependencies of eunit-2.10.2\n>\n> erts-9.0, kernel-5.3, stdlib-6.0\n\n# inets-9.6\n\nThe inets-9.6 application can be applied independently of other applications on a full OTP 28 installation.\n\n## Improvements and New Features\n\n- Release applications, tests, and documentation are now placed in their respective directories. Source SBOM with more packages.\n\n  A `make release` application places only the necessary code in the release folder. The main change is that the documentation and examples are not part of the release folder anymore.\n\n  `make release_docs` places the documentation in the released code under the `doc` folder.\n\n  `make release_tests` places the tests in their own directory. It used to be the case that some source code was mixed with the tests, and this should not happen anymore.\n\n  The Software Bill of Materials places the examples folders as if they are part of the `SPDX-otp-<app>-doc` packge, instead of placing examples as if they were running source code.\n\n  Overall, this change cleans up many things that were not quite correct by definition, and everything should still continue to work as expected. To test a release, one can still run `./Install -minimal \\`pwd\\``and add the release to the`PATH`. After that, one can run tests as usual, going into the released tests directory, entering `test_server\\` and running the emulator.\n\n  Improves the source Software-Bill-of-Materials\n\n  - The improvements adds new SPDX relations for `asmjit` and `zlib` to be `optional_components_of` the Erlang/OTP project.\n  - The `autoconf` scripts in `make` and `erts` have now been categorised as `build_tool_of` the Erlang/OTP project.\n  - All remaining `configure`, `configure.ac`, `config.h.in`, `Makefile.in`, `Makefile.src`, `EMakefile`, and `GNUMakefile` are now part of a specific SPDX package with relation `build_tool_of` the Erlang/OTP project.\n\n  Own Id: OTP-19886\\\n  Related Id(s): [PR-10434]\n\n- Added a new HttpOption `{autoretry, timeout()}` to `httpc:request/4,5`. This option allows the client to decide how to act upon receiving a Retry-After response header. The default behavior changes, as now only one retry is made before returning the error code, instead of retrying infinitely.\n\n  Own Id: OTP-19892\\\n  Related Id(s): ERIERL-1283, [PR-10469]\n\n  \\*\\*\\* POTENTIAL INCOMPATIBILITY \\*\\*\\*\n\n- Httpc will not add a Content-Length header for requests, that do not have defined semantics for request content in [RFC9110] and do not include content. The list includes methods: `[GET, HEAD, OPTIONS, TRACE, DELETE]`. The behavior for `headers_as_is` option remains unchanged.\n\n  Own Id: OTP-19928\\\n  Related Id(s): [GH-10513], [PR-10521]\n\n- Improved documentation and specs for `do/1` callback in httpd module.\n\n  Own Id: OTP-19952\\\n  Related Id(s): [GH-10501], [PR-10602]\n\n> #### Full runtime dependencies of inets-9.6\n>\n> erts-14.0, kernel-9.0, mnesia-4.12, public_key-1.13, runtime_tools-1.8.14, ssl-9.0, stdlib-5.0, stdlib-6.0\n\n# kernel-10.6\n\nThe kernel-10.6 application can be applied independently of other applications on a full OTP 28 installation.\n\n## Fixed Bugs and Malfunctions\n\n- The built in DNS resolver `inet_res` has been fixed to do a final request assuming that the request name is absolute, as customary for many DNS resolver client libraries.\n\n  Own Id: OTP-19937\\\n  Related Id(s): [GH-10494], [PR-10576]\n\n## Improvements and New Features\n\n- Added support for `zstd` compression in the [`file`] module.\n\n  Own Id: OTP-19860\\\n  Related Id(s): [PR-10385]\n\n- Release applications, tests, and documentation are now placed in their respective directories. Source SBOM with more packages.\n\n  A `make release` application places only the necessary code in the release folder. The main change is that the documentation and examples are not part of the release folder anymore.\n\n  `make release_docs` places the documentation in the released code under the `doc` folder.\n\n  `make release_tests` places the tests in their own directory. It used to be the case that some source code was mixed with the tests, and this should not happen anymore.\n\n  The Software Bill of Materials places the examples folders as if they are part of the `SPDX-otp-<app>-doc` packge, instead of placing examples as if they were running source code.\n\n  Overall, this change cleans up many things that were not quite correct by definition, and everything should still continue to work as expected. To test a release, one can still run `./Install -minimal \\`pwd\\``and add the release to the`PATH`. After that, one can run tests as usual, going into the released tests directory, entering `test_server\\` and running the emulator.\n\n  Improves the source Software-Bill-of-Materials\n\n  - The improvements adds new SPDX relations for `asmjit` and `zlib` to be `optional_components_of` the Erlang/OTP project.\n  - The `autoconf` scripts in `make` and `erts` have now been categorised as `build_tool_of` the Erlang/OTP project.\n  - All remaining `configure`, `configure.ac`, `config.h.in`, `Makefile.in`, `Makefile.src`, `EMakefile`, and `GNUMakefile` are now part of a specific SPDX package with relation `build_tool_of` the Erlang/OTP project.\n\n  Own Id: OTP-19886\\\n  Related Id(s): [PR-10434]\n\n> #### Full runtime dependencies of kernel-10.6\n>\n> crypto-5.0, erts-15.2.5, sasl-3.0, stdlib-7.0\n\n# megaco-4.8.3\n\nThe megaco-4.8.3 application can be applied independently of other applications on a full OTP 28 installation.\n\n## Improvements and New Features\n\n- Release applications, tests, and documentation are now placed in their respective directories. Source SBOM with more packages.\n\n  A `make release` application places only the necessary code in the release folder. The main change is that the documentation and examples are not part of the release folder anymore.\n\n  `make release_docs` places the documentation in the released code under the `doc` folder.\n\n  `make release_tests` places the tests in their own directory. It used to be the case that some source code was mixed with the tests, and this should not happen anymore.\n\n  The Software Bill of Materials places the examples folders as if they are part of the `SPDX-otp-<app>-doc` packge, instead of placing examples as if they were running source code.\n\n  Overall, this change cleans up many things that were not quite correct by definition, and everything should still continue to work as expected. To test a release, one can still run `./Install -minimal \\`pwd\\``and add the release to the`PATH`. After that, one can run tests as usual, going into the released tests directory, entering `test_server\\` and running the emulator.\n\n  Improves the source Software-Bill-of-Materials\n\n  - The improvements adds new SPDX relations for `asmjit` and `zlib` to be `optional_components_of` the Erlang/OTP project.\n  - The `autoconf` scripts in `make` and `erts` have now been categorised as `build_tool_of` the Erlang/OTP project.\n  - All remaining `configure`, `configure.ac`, `config.h.in`, `Makefile.in`, `Makefile.src`, `EMakefile`, and `GNUMakefile` are now part of a specific SPDX package with relation `build_tool_of` the Erlang/OTP project.\n\n  Own Id: OTP-19886\\\n  Related Id(s): [PR-10434]\n\n> #### Full runtime dependencies of megaco-4.8.3\n>\n> asn1-3.0, debugger-4.0, erts-12.0, et-1.5, kernel-8.0, runtime_tools-1.8.14, stdlib-2.5\n\n# mnesia-4.25.2\n\nThe mnesia-4.25.2 application can be applied independently of other applications on a full OTP 28 installation.\n\n## Improvements and New Features\n\n- Release applications, tests, and documentation are now placed in their respective directories. Source SBOM with more packages.\n\n  A `make release` application places only the necessary code in the release folder. The main change is that the documentation and examples are not part of the release folder anymore.\n\n  `make release_docs` places the documentation in the released code under the `doc` folder.\n\n  `make release_tests` places the tests in their own directory. It used to be the case that some source code was mixed with the tests, and this should not happen anymore.\n\n  The Software Bill of Materials places the examples folders as if they are part of the `SPDX-otp-<app>-doc` packge, instead of placing examples as if they were running source code.\n\n  Overall, this change cleans up many things that were not quite correct by definition, and everything should still continue to work as expected. To test a release, one can still run `./Install -minimal \\`pwd\\``and add the release to the`PATH`. After that, one can run tests as usual, going into the released tests directory, entering `test_server\\` and running the emulator.\n\n  Improves the source Software-Bill-of-Materials\n\n  - The improvements adds new SPDX relations for `asmjit` and `zlib` to be `optional_components_of` the Erlang/OTP project.\n  - The `autoconf` scripts in `make` and `erts` have now been categorised as `build_tool_of` the Erlang/OTP project.\n  - All remaining `configure`, `configure.ac`, `config.h.in`, `Makefile.in`, `Makefile.src`, `EMakefile`, and `GNUMakefile` are now part of a specific SPDX package with relation `build_tool_of` the Erlang/OTP project.\n\n  Own Id: OTP-19886\\\n  Related Id(s): [PR-10434]\n\n> #### Full runtime dependencies of mnesia-4.25.2\n>\n> erts-9.0, kernel-5.3, stdlib-5.0\n\n# observer-2.18.2\n\nThe observer-2.18.2 application can be applied independently of other applications on a full OTP 28 installation.\n\n## Improvements and New Features\n\n- Release applications, tests, and documentation are now placed in their respective directories. Source SBOM with more packages.\n\n  A `make release` application places only the necessary code in the release folder. The main change is that the documentation and examples are not part of the release folder anymore.\n\n  `make release_docs` places the documentation in the released code under the `doc` folder.\n\n  `make release_tests` places the tests in their own directory. It used to be the case that some source code was mixed with the tests, and this should not happen anymore.\n\n  The Software Bill of Materials places the examples folders as if they are part of the `SPDX-otp-<app>-doc` packge, instead of placing examples as if they were running source code.\n\n  Overall, this change cleans up many things that were not quite correct by definition, and everything should still continue to work as expected. To test a release, one can still run `./Install -minimal \\`pwd\\``and add the release to the`PATH`. After that, one can run tests as usual, going into the released tests directory, entering `test_server\\` and running the emulator.\n\n  Improves the source Software-Bill-of-Materials\n\n  - The improvements adds new SPDX relations for `asmjit` and `zlib` to be `optional_components_of` the Erlang/OTP project.\n  - The `autoconf` scripts in `make` and `erts` have now been categorised as `build_tool_of` the Erlang/OTP project.\n  - All remaining `configure`, `configure.ac`, `config.h.in`, `Makefile.in`, `Makefile.src`, `EMakefile`, and `GNUMakefile` are now part of a specific SPDX package with relation `build_tool_of` the Erlang/OTP project.\n\n  Own Id: OTP-19886\\\n  Related Id(s): [PR-10434]\n\n> #### Full runtime dependencies of observer-2.18.2\n>\n> erts-15.0, et-1.5, kernel-10.0, runtime_tools-2.1, stdlib-5.0, wx-2.3\n\n# odbc-2.16.1\n\nThe odbc-2.16.1 application can be applied independently of other applications on a full OTP 28 installation.\n\n## Improvements and New Features\n\n- Corrected specs to eliminate Dialyzer warnings for applications.\n\n  Own Id: OTP-19992\\\n  Related Id(s): [PR-10678]\n\n> #### Full runtime dependencies of odbc-2.16.1\n>\n> erts-6.0, kernel-3.0, stdlib-2.0\n\n# parsetools-2.7.1\n\nThe parsetools-2.7.1 application can be applied independently of other applications on a full OTP 28 installation.\n\n## Fixed Bugs and Malfunctions\n\n- The documentation for the `token/3` and `tokens/3` functions was corrected. The return value when there were too few characters is `{more,Cont}`.\n\n  Own Id: OTP-19901\\\n  Related Id(s): [PR-10484]\n\n> #### Full runtime dependencies of parsetools-2.7.1\n>\n> erts-6.0, kernel-3.0, stdlib-3.4\n\n# public_key-1.20.2\n\nNote! The public_key-1.20.2 application _cannot_ be applied independently of other applications on an arbitrary OTP 28 installation.\n\n```\n   On a full OTP 28 installation, also the following runtime\n   dependency has to be satisfied:\n   -- crypto-5.8 (first satisfied in OTP 28.3)\n```\n\n## Fixed Bugs and Malfunctions\n\n- Added missing mapping for der_encode/decode to handle 'OCSPRequest'.\n\n  Own Id: OTP-19905\\\n  Related Id(s): [GH-10474], [PR-10522]\n\n- `public_key:pkix_crl_verify/2` now handles certificates with EdDSA keys correctly instead of causing a runtime error.\n\n  Own Id: OTP-19907\\\n  Related Id(s): [GH-10495], [PR-10496]\n\n> #### Full runtime dependencies of public_key-1.20.2\n>\n> asn1-5.0, crypto-5.8, erts-13.0, kernel-8.0, stdlib-4.0\n\n# reltool-1.0.3\n\nThe reltool-1.0.3 application can be applied independently of other applications on a full OTP 28 installation.\n\n## Improvements and New Features\n\n- Release applications, tests, and documentation are now placed in their respective directories. Source SBOM with more packages.\n\n  A `make release` application places only the necessary code in the release folder. The main change is that the documentation and examples are not part of the release folder anymore.\n\n  `make release_docs` places the documentation in the released code under the `doc` folder.\n\n  `make release_tests` places the tests in their own directory. It used to be the case that some source code was mixed with the tests, and this should not happen anymore.\n\n  The Software Bill of Materials places the examples folders as if they are part of the `SPDX-otp-<app>-doc` packge, instead of placing examples as if they were running source code.\n\n  Overall, this change cleans up many things that were not quite correct by definition, and everything should still continue to work as expected. To test a release, one can still run `./Install -minimal \\`pwd\\``and add the release to the`PATH`. After that, one can run tests as usual, going into the released tests directory, entering `test_server\\` and running the emulator.\n\n  Improves the source Software-Bill-of-Materials\n\n  - The improvements adds new SPDX relations for `asmjit` and `zlib` to be `optional_components_of` the Erlang/OTP project.\n  - The `autoconf` scripts in `make` and `erts` have now been categorised as `build_tool_of` the Erlang/OTP project.\n  - All remaining `configure`, `configure.ac`, `config.h.in`, `Makefile.in`, `Makefile.src`, `EMakefile`, and `GNUMakefile` are now part of a specific SPDX package with relation `build_tool_of` the Erlang/OTP project.\n\n  Own Id: OTP-19886\\\n  Related Id(s): [PR-10434]\n\n> #### Full runtime dependencies of reltool-1.0.3\n>\n> erts-15.0, kernel-9.0, sasl-4.2.1, stdlib-5.0, tools-2.6.14, wx-2.3\n\n# runtime_tools-2.3.1\n\nThe runtime_tools-2.3.1 application can be applied independently of other applications on a full OTP 28 installation.\n\n## Improvements and New Features\n\n- Release applications, tests, and documentation are now placed in their respective directories. Source SBOM with more packages.\n\n  A `make release` application places only the necessary code in the release folder. The main change is that the documentation and examples are not part of the release folder anymore.\n\n  `make release_docs` places the documentation in the released code under the `doc` folder.\n\n  `make release_tests` places the tests in their own directory. It used to be the case that some source code was mixed with the tests, and this should not happen anymore.\n\n  The Software Bill of Materials places the examples folders as if they are part of the `SPDX-otp-<app>-doc` packge, instead of placing examples as if they were running source code.\n\n  Overall, this change cleans up many things that were not quite correct by definition, and everything should still continue to work as expected. To test a release, one can still run `./Install -minimal \\`pwd\\``and add the release to the`PATH`. After that, one can run tests as usual, going into the released tests directory, entering `test_server\\` and running the emulator.\n\n  Improves the source Software-Bill-of-Materials\n\n  - The improvements adds new SPDX relations for `asmjit` and `zlib` to be `optional_components_of` the Erlang/OTP project.\n  - The `autoconf` scripts in `make` and `erts` have now been categorised as `build_tool_of` the Erlang/OTP project.\n  - All remaining `configure`, `configure.ac`, `config.h.in`, `Makefile.in`, `Makefile.src`, `EMakefile`, and `GNUMakefile` are now part of a specific SPDX package with relation `build_tool_of` the Erlang/OTP project.\n\n  Own Id: OTP-19886\\\n  Related Id(s): [PR-10434]\n\n> #### Full runtime dependencies of runtime_tools-2.3.1\n>\n> erts-16.0, kernel-10.0, mnesia-4.12, stdlib-6.0\n\n# sasl-4.3.1\n\nThe sasl-4.3.1 application can be applied independently of other applications on a full OTP 28 installation.\n\n## Improvements and New Features\n\n- Release applications, tests, and documentation are now placed in their respective directories. Source SBOM with more packages.\n\n  A `make release` application places only the necessary code in the release folder. The main change is that the documentation and examples are not part of the release folder anymore.\n\n  `make release_docs` places the documentation in the released code under the `doc` folder.\n\n  `make release_tests` places the tests in their own directory. It used to be the case that some source code was mixed with the tests, and this should not happen anymore.\n\n  The Software Bill of Materials places the examples folders as if they are part of the `SPDX-otp-<app>-doc` packge, instead of placing examples as if they were running source code.\n\n  Overall, this change cleans up many things that were not quite correct by definition, and everything should still continue to work as expected. To test a release, one can still run `./Install -minimal \\`pwd\\``and add the release to the`PATH`. After that, one can run tests as usual, going into the released tests directory, entering `test_server\\` and running the emulator.\n\n  Improves the source Software-Bill-of-Materials\n\n  - The improvements adds new SPDX relations for `asmjit` and `zlib` to be `optional_components_of` the Erlang/OTP project.\n  - The `autoconf` scripts in `make` and `erts` have now been categorised as `build_tool_of` the Erlang/OTP project.\n  - All remaining `configure`, `configure.ac`, `config.h.in`, `Makefile.in`, `Makefile.src`, `EMakefile`, and `GNUMakefile` are now part of a specific SPDX package with relation `build_tool_of` the Erlang/OTP project.\n\n  Own Id: OTP-19886\\\n  Related Id(s): [PR-10434]\n\n> #### Full runtime dependencies of sasl-4.3.1\n>\n> erts-15.0, kernel-6.0, stdlib-4.0, tools-2.6.14\n\n# snmp-5.20.1\n\nThe snmp-5.20.1 application can be applied independently of other applications on a full OTP 28 installation.\n\n## Improvements and New Features\n\n- Release applications, tests, and documentation are now placed in their respective directories. Source SBOM with more packages.\n\n  A `make release` application places only the necessary code in the release folder. The main change is that the documentation and examples are not part of the release folder anymore.\n\n  `make release_docs` places the documentation in the released code under the `doc` folder.\n\n  `make release_tests` places the tests in their own directory. It used to be the case that some source code was mixed with the tests, and this should not happen anymore.\n\n  The Software Bill of Materials places the examples folders as if they are part of the `SPDX-otp-<app>-doc` packge, instead of placing examples as if they were running source code.\n\n  Overall, this change cleans up many things that were not quite correct by definition, and everything should still continue to work as expected. To test a release, one can still run `./Install -minimal \\`pwd\\``and add the release to the`PATH`. After that, one can run tests as usual, going into the released tests directory, entering `test_server\\` and running the emulator.\n\n  Improves the source Software-Bill-of-Materials\n\n  - The improvements adds new SPDX relations for `asmjit` and `zlib` to be `optional_components_of` the Erlang/OTP project.\n  - The `autoconf` scripts in `make` and `erts` have now been categorised as `build_tool_of` the Erlang/OTP project.\n  - All remaining `configure`, `configure.ac`, `config.h.in`, `Makefile.in`, `Makefile.src`, `EMakefile`, and `GNUMakefile` are now part of a specific SPDX package with relation `build_tool_of` the Erlang/OTP project.\n\n  Own Id: OTP-19886\\\n  Related Id(s): [PR-10434]\n\n> #### Full runtime dependencies of snmp-5.20.1\n>\n> asn1-5.4, crypto-4.6, erts-12.0, kernel-8.0, mnesia-4.12, runtime_tools-1.8.14, stdlib-5.0\n\n# ssh-5.5\n\nNote! The ssh-5.5 application _cannot_ be applied independently of other applications on an arbitrary OTP 28 installation.\n\n```\n   On a full OTP 28 installation, also the following runtime\n   dependency has to be satisfied:\n   -- crypto-5.7 (first satisfied in OTP 28.1)\n```\n\n## Fixed Bugs and Malfunctions\n\n- The type specification for the `CbInitArgs` parameter in `ssh_client_channel:start/4` and `ssh_client_channel:start_link/4` has been relaxed from `[term()]` to `term()`. This eliminates false Dialyzer warnings when passing non-list arguments (such as maps or atoms) to these functions. This change is backward compatible as `term()` includes `[term()`\\].\n\n  Own Id: OTP-19976\\\n  Related Id(s): [GH-10351], [PR-10673]\n\n## Improvements and New Features\n\n- Added support for the PQC key exchange (kex) algorithm mlkem768x25519-sha256, a hybrid quantum-resistant algorithm combining ML-KEM-768 with X25519.\n\n  Own Id: OTP-19824\\\n  Related Id(s): [PR-10512], [PR-10655]\n\n  \\*\\*\\* HIGHLIGHT \\*\\*\\*\n\n> #### Full runtime dependencies of ssh-5.5\n>\n> crypto-5.7, erts-14.0, kernel-10.3, public_key-1.6.1, runtime_tools-1.15.1, stdlib-5.0, stdlib-6.0\n\n# ssl-11.5.2\n\nNote! The ssl-11.5.2 application _cannot_ be applied independently of other applications on an arbitrary OTP 28 installation.\n\n```\n   On a full OTP 28 installation, also the following runtime\n   dependencies have to be satisfied:\n   -- crypto-5.8 (first satisfied in OTP 28.3)\n   -- public_key-1.18.3 (first satisfied in OTP 28.1)\n```\n\n## Fixed Bugs and Malfunctions\n\n- TLS servers that have `early_data` disabled will no longer include the `early_data` extension in its session tickets.\n\n  Own Id: OTP-19940\\\n  Related Id(s): [GH-10567], [PR-10583]\n\n- `ssl:connection_information/2` will now return correct information for TLS-1.2 session resumption.\n\n  Own Id: OTP-19941\\\n  Related Id(s): [GH-10470], [PR-10586]\n\n- When performing renegotiation, in TLS-1.2 or earlier, \\`max_frag_length\\` will no longer be renegotiated. Instead, the connection will adhere to its originally negotiated value, and if a value was not negotiated it will not be negotiated.\n\n  Own Id: OTP-19948\\\n  Related Id(s): [PR-10599]\n\n- The NSS Keylogging refactoring mixed up of Read and Write connection states, could cause wrong NSS keylog labels, or `{error, closed}` returned without keylog.\n\n  Own Id: OTP-19990\\\n  Related Id(s): [GH-10698], [PR-10723]\n\n## Improvements and New Features\n\n- Release applications, tests, and documentation are now placed in their respective directories. Source SBOM with more packages.\n\n  A `make release` application places only the necessary code in the release folder. The main change is that the documentation and examples are not part of the release folder anymore.\n\n  `make release_docs` places the documentation in the released code under the `doc` folder.\n\n  `make release_tests` places the tests in their own directory. It used to be the case that some source code was mixed with the tests, and this should not happen anymore.\n\n  The Software Bill of Materials places the examples folders as if they are part of the `SPDX-otp-<app>-doc` packge, instead of placing examples as if they were running source code.\n\n  Overall, this change cleans up many things that were not quite correct by definition, and everything should still continue to work as expected. To test a release, one can still run `./Install -minimal \\`pwd\\``and add the release to the`PATH`. After that, one can run tests as usual, going into the released tests directory, entering `test_server\\` and running the emulator.\n\n  Improves the source Software-Bill-of-Materials\n\n  - The improvements adds new SPDX relations for `asmjit` and `zlib` to be `optional_components_of` the Erlang/OTP project.\n  - The `autoconf` scripts in `make` and `erts` have now been categorised as `build_tool_of` the Erlang/OTP project.\n  - All remaining `configure`, `configure.ac`, `config.h.in`, `Makefile.in`, `Makefile.src`, `EMakefile`, and `GNUMakefile` are now part of a specific SPDX package with relation `build_tool_of` the Erlang/OTP project.\n\n  Own Id: OTP-19886\\\n  Related Id(s): [PR-10434]\n\n> #### Full runtime dependencies of ssl-11.5.2\n>\n> crypto-5.8, erts-16.0, inets-5.10.7, kernel-10.3, public_key-1.18.3, runtime_tools-1.15.1, stdlib-7.0\n\n# stdlib-7.3\n\nNote! The stdlib-7.3 application _cannot_ be applied independently of other applications on an arbitrary OTP 28 installation.\n\n```\n   On a full OTP 28 installation, also the following runtime\n   dependency has to be satisfied:\n   -- erts-16.0.3 (first satisfied in OTP 28.0.3)\n```\n\n## Fixed Bugs and Malfunctions\n\n- Fixed functions `ets:init_table/2`, `ets:tab2file/2,3`, `ets:table/1,2`, `ets:i/0,1`, `dets:from_ets/2`, and `dets:to_ets/2` to resolve named table arguments only once. This will prevent strange effects if the named table is deleted and recreated by a concurrent process.\n\n  Own Id: OTP-19911\\\n  Related Id(s): [PR-10536]\n\n- Corrected the `af_zip_generator()` type in the parser and `syntax_tools`.\n\n  Own Id: OTP-19939\n\n- For a function that started with a bracket-only pattern (such as `[]`), the `?FUNCTION_ARITY` macro would evaluate to one less than the actual arity.\n\n  Own Id: OTP-19988\\\n  Related Id(s): [GH-10705], [PR-10708]\n\n## Improvements and New Features\n\n- Added support for `zstd` compression in the [`file`] module.\n\n  Own Id: OTP-19860\\\n  Related Id(s): [PR-10385]\n\n- Release applications, tests, and documentation are now placed in their respective directories. Source SBOM with more packages.\n\n  A `make release` application places only the necessary code in the release folder. The main change is that the documentation and examples are not part of the release folder anymore.\n\n  `make release_docs` places the documentation in the released code under the `doc` folder.\n\n  `make release_tests` places the tests in their own directory. It used to be the case that some source code was mixed with the tests, and this should not happen anymore.\n\n  The Software Bill of Materials places the examples folders as if they are part of the `SPDX-otp-<app>-doc` packge, instead of placing examples as if they were running source code.\n\n  Overall, this change cleans up many things that were not quite correct by definition, and everything should still continue to work as expected. To test a release, one can still run `./Install -minimal \\`pwd\\``and add the release to the`PATH`. After that, one can run tests as usual, going into the released tests directory, entering `test_server\\` and running the emulator.\n\n  Improves the source Software-Bill-of-Materials\n\n  - The improvements adds new SPDX relations for `asmjit` and `zlib` to be `optional_components_of` the Erlang/OTP project.\n  - The `autoconf` scripts in `make` and `erts` have now been categorised as `build_tool_of` the Erlang/OTP project.\n  - All remaining `configure`, `configure.ac`, `config.h.in`, `Makefile.in`, `Makefile.src`, `EMakefile`, and `GNUMakefile` are now part of a specific SPDX package with relation `build_tool_of` the Erlang/OTP project.\n\n  Own Id: OTP-19886\\\n  Related Id(s): [PR-10434]\n\n- The removal of the [`slave`] and [`slave`] modules have been postponed to Erlang/OTP 31.\n\n  The partial removal of the archive feature has been postponed to Erlang/OTP 30.\n\n  Own Id: OTP-19989\\\n  Related Id(s): [PR-10714]\n\n> #### Full runtime dependencies of stdlib-7.3\n>\n> compiler-5.0, crypto-4.5, erts-16.0.3, kernel-10.0, sasl-3.0, syntax_tools-3.2.1\n\n# syntax_tools-4.0.3\n\nThe syntax_tools-4.0.3 application can be applied independently of other applications on a full OTP 28 installation.\n\n## Fixed Bugs and Malfunctions\n\n- Corrected the `af_zip_generator()` type in the parser and `syntax_tools`.\n\n  Own Id: OTP-19939\n\n## Improvements and New Features\n\n- Release applications, tests, and documentation are now placed in their respective directories. Source SBOM with more packages.\n\n  A `make release` application places only the necessary code in the release folder. The main change is that the documentation and examples are not part of the release folder anymore.\n\n  `make release_docs` places the documentation in the released code under the `doc` folder.\n\n  `make release_tests` places the tests in their own directory. It used to be the case that some source code was mixed with the tests, and this should not happen anymore.\n\n  The Software Bill of Materials places the examples folders as if they are part of the `SPDX-otp-<app>-doc` packge, instead of placing examples as if they were running source code.\n\n  Overall, this change cleans up many things that were not quite correct by definition, and everything should still continue to work as expected. To test a release, one can still run `./Install -minimal \\`pwd\\``and add the release to the`PATH`. After that, one can run tests as usual, going into the released tests directory, entering `test_server\\` and running the emulator.\n\n  Improves the source Software-Bill-of-Materials\n\n  - The improvements adds new SPDX relations for `asmjit` and `zlib` to be `optional_components_of` the Erlang/OTP project.\n  - The `autoconf` scripts in `make` and `erts` have now been categorised as `build_tool_of` the Erlang/OTP project.\n  - All remaining `configure`, `configure.ac`, `config.h.in`, `Makefile.in`, `Makefile.src`, `EMakefile`, and `GNUMakefile` are now part of a specific SPDX package with relation `build_tool_of` the Erlang/OTP project.\n\n  Own Id: OTP-19886\\\n  Related Id(s): [PR-10434]\n\n> #### Full runtime dependencies of syntax_tools-4.0.3\n>\n> compiler-9.0, erts-16.0, kernel-10.3, stdlib-7.0\n\n# tools-4.1.4\n\nThe tools-4.1.4 application can be applied independently of other applications on a full OTP 28 installation.\n\n## Improvements and New Features\n\n- Release applications, tests, and documentation are now placed in their respective directories. Source SBOM with more packages.\n\n  A `make release` application places only the necessary code in the release folder. The main change is that the documentation and examples are not part of the release folder anymore.\n\n  `make release_docs` places the documentation in the released code under the `doc` folder.\n\n  `make release_tests` places the tests in their own directory. It used to be the case that some source code was mixed with the tests, and this should not happen anymore.\n\n  The Software Bill of Materials places the examples folders as if they are part of the `SPDX-otp-<app>-doc` packge, instead of placing examples as if they were running source code.\n\n  Overall, this change cleans up many things that were not quite correct by definition, and everything should still continue to work as expected. To test a release, one can still run `./Install -minimal \\`pwd\\``and add the release to the`PATH`. After that, one can run tests as usual, going into the released tests directory, entering `test_server\\` and running the emulator.\n\n  Improves the source Software-Bill-of-Materials\n\n  - The improvements adds new SPDX relations for `asmjit` and `zlib` to be `optional_components_of` the Erlang/OTP project.\n  - The `autoconf` scripts in `make` and `erts` have now been categorised as `build_tool_of` the Erlang/OTP project.\n  - All remaining `configure`, `configure.ac`, `config.h.in`, `Makefile.in`, `Makefile.src`, `EMakefile`, and `GNUMakefile` are now part of a specific SPDX package with relation `build_tool_of` the Erlang/OTP project.\n\n  Own Id: OTP-19886\\\n  Related Id(s): [PR-10434]\n\n> #### Full runtime dependencies of tools-4.1.4\n>\n> compiler-8.5, erts-15.0, erts-15.0, kernel-10.0, runtime_tools-2.1, stdlib-6.0\n\n# wx-2.5.4\n\nThe wx-2.5.4 application can be applied independently of other applications on a full OTP 28 installation.\n\n## Improvements and New Features\n\n- Release applications, tests, and documentation are now placed in their respective directories. Source SBOM with more packages.\n\n  A `make release` application places only the necessary code in the release folder. The main change is that the documentation and examples are not part of the release folder anymore.\n\n  `make release_docs` places the documentation in the released code under the `doc` folder.\n\n  `make release_tests` places the tests in their own directory. It used to be the case that some source code was mixed with the tests, and this should not happen anymore.\n\n  The Software Bill of Materials places the examples folders as if they are part of the `SPDX-otp-<app>-doc` packge, instead of placing examples as if they were running source code.\n\n  Overall, this change cleans up many things that were not quite correct by definition, and everything should still continue to work as expected. To test a release, one can still run `./Install -minimal \\`pwd\\``and add the release to the`PATH`. After that, one can run tests as usual, going into the released tests directory, entering `test_server\\` and running the emulator.\n\n  Improves the source Software-Bill-of-Materials\n\n  - The improvements adds new SPDX relations for `asmjit` and `zlib` to be `optional_components_of` the Erlang/OTP project.\n  - The `autoconf` scripts in `make` and `erts` have now been categorised as `build_tool_of` the Erlang/OTP project.\n  - All remaining `configure`, `configure.ac`, `config.h.in`, `Makefile.in`, `Makefile.src`, `EMakefile`, and `GNUMakefile` are now part of a specific SPDX package with relation `build_tool_of` the Erlang/OTP project.\n\n  Own Id: OTP-19886\\\n  Related Id(s): [PR-10434]\n\n> #### Full runtime dependencies of wx-2.5.4\n>\n> erts-12.0, kernel-8.0, stdlib-5.0\n\n# xmerl-2.1.9\n\nThe xmerl-2.1.9 application can be applied independently of other applications on a full OTP 28 installation.\n\n## Fixed Bugs and Malfunctions\n\n- Fixed license headers and links in documentation.\n\n  Own Id: OTP-20006\\\n  Related Id(s): [PR-10438]\n\n> #### Full runtime dependencies of xmerl-2.1.9\n>\n> erts-6.0, kernel-8.4, stdlib-2.5\n\n# Thanks to\n\nBenjamin Philip, Dmytro Lytovchenko, Jan Uhlig, Jonatan Männchen, Luke Bakken, Maria Scott, Mend Renovate, Nelson Vides, Robert Gionea, ryan-duve, Stavros Aronis, Stefan Grundmann, wallacegibbon\n\n[gh-10351]: https://github.com/erlang/otp/issues/10351\n[gh-10371]: https://github.com/erlang/otp/issues/10371\n[gh-10470]: https://github.com/erlang/otp/issues/10470\n[gh-10474]: https://github.com/erlang/otp/issues/10474\n[gh-10494]: https://github.com/erlang/otp/issues/10494\n[gh-10495]: https://github.com/erlang/otp/issues/10495\n[gh-10501]: https://github.com/erlang/otp/issues/10501\n[gh-10513]: https://github.com/erlang/otp/issues/10513\n[gh-10567]: https://github.com/erlang/otp/issues/10567\n[gh-10652]: https://github.com/erlang/otp/issues/10652\n[gh-10698]: https://github.com/erlang/otp/issues/10698\n[gh-10705]: https://github.com/erlang/otp/issues/10705\n[gh-9681]: https://github.com/erlang/otp/issues/9681\n[pr-10271]: https://github.com/erlang/otp/pull/10271\n[pr-10385]: https://github.com/erlang/otp/pull/10385\n[pr-10434]: https://github.com/erlang/otp/pull/10434\n[pr-10438]: https://github.com/erlang/otp/pull/10438\n[pr-10451]: https://github.com/erlang/otp/pull/10451\n[pr-10469]: https://github.com/erlang/otp/pull/10469\n[pr-10484]: https://github.com/erlang/otp/pull/10484\n[pr-10486]: https://github.com/erlang/otp/pull/10486\n[pr-10496]: https://github.com/erlang/otp/pull/10496\n[pr-10512]: https://github.com/erlang/otp/pull/10512\n[pr-10521]: https://github.com/erlang/otp/pull/10521\n[pr-10522]: https://github.com/erlang/otp/pull/10522\n[pr-10536]: https://github.com/erlang/otp/pull/10536\n[pr-10537]: https://github.com/erlang/otp/pull/10537\n[pr-10546]: https://github.com/erlang/otp/pull/10546\n[pr-10550]: https://github.com/erlang/otp/pull/10550\n[pr-10576]: https://github.com/erlang/otp/pull/10576\n[pr-10583]: https://github.com/erlang/otp/pull/10583\n[pr-10586]: https://github.com/erlang/otp/pull/10586\n[pr-10588]: https://github.com/erlang/otp/pull/10588\n[pr-10599]: https://github.com/erlang/otp/pull/10599\n[pr-10602]: https://github.com/erlang/otp/pull/10602\n[pr-10623]: https://github.com/erlang/otp/pull/10623\n[pr-10624]: https://github.com/erlang/otp/pull/10624\n[pr-10625]: https://github.com/erlang/otp/pull/10625\n[pr-10630]: https://github.com/erlang/otp/pull/10630\n[pr-10655]: https://github.com/erlang/otp/pull/10655\n[pr-10665]: https://github.com/erlang/otp/pull/10665\n[pr-10668]: https://github.com/erlang/otp/pull/10668\n[pr-10672]: https://github.com/erlang/otp/pull/10672\n[pr-10673]: https://github.com/erlang/otp/pull/10673\n[pr-10675]: https://github.com/erlang/otp/pull/10675\n[pr-10678]: https://github.com/erlang/otp/pull/10678\n[pr-10684]: https://github.com/erlang/otp/pull/10684\n[pr-10708]: https://github.com/erlang/otp/pull/10708\n[pr-10714]: https://github.com/erlang/otp/pull/10714\n[pr-10723]: https://github.com/erlang/otp/pull/10723\n[pr-10752]: https://github.com/erlang/otp/pull/10752\n[pr-9695]: https://github.com/erlang/otp/pull/9695\n[rfc9110]: https://datatracker.ietf.org/doc/html/rfc9110\n[`file`]: https://erlang.org/doc/man/file\n[`slave`]: https://erlang.org/doc/man/slave\n","reactions":{"url":"https://api.github.com/repos/erlang/otp/releases/292912459/reactions","total_count":12,"+1":4,"-1":0,"laugh":0,"hooray":3,"confused":0,"heart":0,"rocket":5,"eyes":0}}]