Homebrew/homebrew-core

Tracking issue for OpenSSL 4.0 migration

Open

#278366 opened on Apr 19, 2026

View on GitHub
 (7 comments) (0 reactions) (0 assignees)Ruby (15,288 stars) (13,532 forks)batch import
help wantedopenssl-4-migration

Description

openssl@3 to openssl@4 migration tracking

Staging branch process

This migration is now being run through the openssl-4-migration-staging branch. New migration PRs should target that branch and use branches in Homebrew/homebrew-core rather than forks.

Work root-first, then trace down the dependent tree. This avoids the mixed openssl@3 / openssl@4 linkage seen when leaf formulae are migrated directly against main. Use brew deps --tree --include-build <formula> / brew deps --graph --dot --include-build <formula> to order follow-up work.

For staging PRs:

  • use the labels openssl-4-migration, staging-branch-pr, and CI-skip-recursive-dependents
  • skip routine local brew ops; staging CI is the validation path for this migration
  • keep independent formulae split for quick review/merge
  • group formulae only when they are small to build and tightly coupled

Depth 0 roots / prerequisites

Depth 1 dependents

Depth 2 dependents

Depth 3 dependents

614 formulae depend on openssl@3 (including => :build / => :test deps).

Grouped by dependent count, then by build system. Migrate leaves first. If they break, blast radius is limited.

See OpenSSL 4.0 release notes for breaking changes. Common failure modes:

  • C/C++: ASN1_STRING is now opaque; X509 getters now return const pointers.
  • Rust: openssl-sys v0.10.78 (released 2026-04-19) is the first release supporting OpenSSL 4.
  • Some formulae declare depends_on "openssl@3" but do not actually link it. Verify if we can drop the dependency rather than migrate.

Rust (98)

  • ansible@10
  • ansible@9
  • aoe #281020
  • azure-cli
  • bbot
  • anchor #278367
  • btcli
  • c2patool #282112
  • cargo-crev
  • cargo-geiger
  • cargo-instruments #282402
  • cargo-udeps
  • clamav
  • codanna
  • code-cli #282525
  • code2prompt
  • codeberg-cli
  • codex-acp #282533
  • condure
  • cookcli #280274
  • crunchy-cli
  • datadog-static-analyzer
  • dura uses openssl-sys 0.9.72
  • eureka
  • feluda
  • feroxbuster
  • findomain
  • forgejo-cli
  • fw
  • gerust
  • git-series
  • git-trim
  • git-workspace
  • git-xet
  • gitlogue
  • gitnr
  • gittype
  • gitui
  • gurk
  • icann-rdap #282665
  • icp-cli #282802
  • intelli-shell
  • ironclaw
  • keeper-commander
  • lakekeeper
  • leetcode-cli
  • legba
  • localstack
  • lychee
  • magika
  • mavsdk
  • meli
  • netdata
  • nushell
  • pay
  • pdfly
  • pdnsrec
  • pgrx
  • pkgx #282586
  • projectable
  • prowler
  • proxelar #282582
  • prr
  • pushpin
  • rattler-build
  • river
  • rojo
  • rover
  • ruby@3.2
  • ruby@3.3
  • sapling
  • scryer-prolog
  • sem-cli
  • sentry-cli
  • sequoia-chameleon-gnupg
  • sequoia-sq
  • sh4d0wup
  • sheldon
  • sigstore
  • sile
  • sniffnet
  • solana
  • sprocket
  • stellar-cli
  • tabiew #282271
  • tectonic
  • teleport
  • termscp
  • termusic
  • text-embeddings-inference
  • toml-bombadil
  • trunk
  • wally
  • watchman #279297
  • weave
  • yek
  • yozefu
  • zellij

Go (5)

  • aws-sam-cli
  • gocryptfs #278464
  • mender-artifact #278466
  • mender-cli #278465
  • tt

C/C++ (CMake) (104)

  • adios2
  • amqp-cpp #284020
  • apib #280196
  • awscurl
  • azure-storage-cpp
  • bareos-client
  • baresip #280198
  • bibtexconv
  • brpc
  • caf #280200
  • cassandra-cpp-driver
  • clickhouse-cpp #280208
  • clickhouse-odbc
  • clipboard #280215
  • cnats #281409
  • colmap
  • cppcms
  • csound
  • dotnet@6
  • dwarfs
  • dxpy
  • ecflow-ui
  • emqx
  • encfs #280220
  • et #280221
  • ettercap
  • fastnetmon
  • fluent-bit #280227
  • freerdp
  • h2o
  • halide
  • httping #279099
  • julia
  • kcov
  • lastpass-cli
  • libcouchbase
  • libdpp #280229
  • libjwt
  • liboqs
  • libpulsar
  • libtins #280230
  • luvit
  • manticoresearch
  • mapnik
  • mariadb
  • mariadb-connector-odbc
  • mariadb@10.11
  • mariadb@10.5
  • mariadb@10.6
  • mariadb@11.4
  • mariadb@11.8
  • monero #280652
  • monetdb
  • mongo-c-driver@1
  • mosquitto
  • musikcube
  • mydumper
  • mysql-client@8.0
  • mysql-client@8.4
  • mysql-connector-c++
  • nemu
  • nmail
  • ntopng
  • nzbget
  • openiked
  • opentelemetry-cpp
  • ortp #280231
  • osslsigncode
  • percona-server@8.0
  • percona-xtrabackup
  • percona-xtrabackup@8.0
  • pgbackrest
  • pistache
  • podofo
  • proxygen
  • qca
  • qxmpp
  • recc
  • retdec
  • rizin
  • root
  • rtags
  • rtl_433
  • sagittarius-scheme #280653
  • sipp #279100
  • snapcast #279107
  • snort
  • ssldump
  • stubby
  • swi-prolog
  • synergy-core
  • tarantool
  • tdlib #280655
  • thors-anvil
  • trafficserver
  • unshield #282543
  • uuu
  • wdc #279102
  • weaviate-cli
  • wownero
  • xmrig
  • yubico-piv-tool
  • zeek
  • znc

C/C++ (autotools) (147)

  • activemq-cpp
  • alpine
  • aqbanking
  • aria2
  • axel #284019
  • bacula-fd
  • bigloo
  • bitchx #282103
  • btfs
  • btpd #282107
  • burp #282400
  • cadaver #28140
  • cfengine
  • citus
  • conserver
  • coturn
  • couchdb
  • dillo #281414
  • dnsdist #281417
  • dnsperf
  • dovecot
  • duo_unix
  • dynomite #282128
  • ejabberd
  • ekg2
  • epic5
  • erlang@25
  • erlang@27 #281658
  • fetchmail
  • ffmpeg@2.8
  • fossil #281418
  • freeradius-server
  • freeswitch
  • gambit-scheme
  • gcli #281420
  • gerbil-scheme
  • gloox
  • gnupg-pkcs11-scd
  • got
  • gsoap
  • gtmess
  • heimdal
  • httrack #279547
  • hydra
  • icecast
  • ike-scan
  • iperf3 #279551
  • ipmitool
  • ircd-hybrid
  • ircii
  • isync
  • john-jumbo
  • lasso
  • ldapvi
  • lftp
  • libcoap
  • libdap
  • libexosip
  • libfreefare
  • libmowgli
  • libp11
  • libpq@16
  • libpq@17
  • libu2f-server
  • lighttpd
  • links #279545
  • lynx #279546
  • memtier_benchmark
  • mfterm
  • midnight-commander
  • minimal-racket
  • monit
  • monitoring-plugins
  • mutt
  • nagios #279105
  • ncrack
  • neomutt
  • nghttp2
  • ngircd
  • nmh
  • nopoll
  • nrpe
  • nsd
  • ntp
  • nut
  • objfw
  • omniorb
  • openfortivpn #279549
  • opensc
  • openvpn
  • ophcrack #282611
  • pam-u2f
  • passenger
  • pdns
  • pgbouncer
  • php@8.1
  • php@8.2
  • php@8.3
  • pjproject
  • pkcs11-tools
  • postgresql@12
  • postgresql@13
  • postgresql@14
  • postgresql@15
  • postgresql@16
  • pure-ftpd
  • pwsafe #279003
  • python-freethreading
  • redwax-tool
  • rethinkdb
  • rpki-client
  • ruby@3.0
  • ruby@3.1
  • s3-backer
  • sblim-sfcc
  • scamper #282348
  • scrypt #282346
  • shairport-sync
  • shellinabox #282345
  • shibboleth-sp
  • siege #282344
  • silk
  • sipsak #279580
  • slowhttptest #282341
  • slrn #282340
  • sngrep #282050
  • snobol4 #282336
  • snownews
  • spice-server
  • sqlcipher #279567
  • squid
  • sstp-client
  • strongswan
  • stunnel
  • sylpheed
  • syslog-ng
  • tcpdump #282259
  • tcpflow #279556
  • tinc #282251
  • tomcat-native
  • urweb #282248
  • varnish
  • virtuoso
  • x3270
  • xaric #282090
  • yafc
  • zabbix #282237

Other (90)

  • aircrack-ng #284021
  • amber
  • argyll-cms
  • arturo
  • borgbackup
  • bozohttpd #279137
  • chawan
  • crystal-icr
  • ctpv
  • cvsync
  • dmg2img
  • dnsviz
  • drogon
  • easy-rsa #279129
  • edbrowse
  • efl
  • electric
  • eralchemy
  • exim
  • fastd
  • fb-client
  • felinks
  • flashrom
  • forbidden
  • getxbook
  • git-crypt
  • gitversion
  • gkrellm
  • haproxy
  • haproxy@2.8
  • hashcash #279516
  • hcxtools
  • hk
  • http_load
  • i2pd
  • imap-uw
  • imapfilter
  • ios-webkit-debug-proxy
  • irssi
  • jose
  • kea
  • keydb
  • kore
  • lanraragi
  • ldid
  • ldid-procursus
  • llgo
  • mailcatcher
  • makepkg
  • megatools
  • min-lang
  • monkeysphere
  • noir
  • nvchecker
  • openrtsp
  • pdfalyzer
  • pgloader
  • picoruby
  • proxytunnel #282581
  • pulledpork
  • pypy3.10
  • pypy3.9
  • rails-mcp-server
  • rakudo-star
  • readpe #282351
  • redict #282355
  • redis@6.2
  • redis@8.2 #282399
  • rpmspectool
  • s-nail
  • s2geometry
  • sgr
  • spiped #282098
  • sslscan
  • sslsplit
  • swtpm
  • teslamate
  • testssl #278463
  • tsduck
  • u-boot-tools
  • uftp #279548
  • uwsgi
  • vineyard
  • vroom
  • webfs #279093
  • wrk #278998
  • x11vnc #282036
  • xidel #279557
  • zchunk
  • zsign

Go (1)

  • gensio (1 dependents)

C/C++ (CMake) (23)

  • apt (1 dependents)
  • azure-storage-common-cpp (1 dependents)
  • dcmtk (1 dependents)
  • gdcm (1 dependents)
  • getdns (1 dependents)
  • libff (1 dependents) #278901
  • libgit2@1.7 (1 dependents)
  • libmsquic (1 dependents)
  • libpaho-mqtt (1 dependents)
  • libre (1 dependents) #282537
  • libvncserver (1 dependents) #282036
  • micromamba (1 dependents)
  • mysql (1 dependents)
  • mysql@8.0 (1 dependents)
  • mysql@8.4 (1 dependents)
  • nuraft (1 dependents)
  • pdal (1 dependents)
  • percona-server (1 dependents)
  • poco (1 dependents)
  • qpid-proton (1 dependents)
  • signalwire-client-c (1 dependents)
  • tiledb (1 dependents)
  • xrootd (1 dependents)

C/C++ (autotools) (23)

  • cups (1 dependents)
  • erlang@24 (1 dependents)
  • gwenhywfar (1 dependents)
  • httperf (1 dependents) #279517
  • jimtcl (1 dependents)
  • liboauth (1 dependents) #279578
  • libslax (1 dependents)
  • libstrophe (1 dependents)
  • libtorrent-rakshasa (1 dependents)
  • md5sha1sum (1 dependents) #279011
  • memcached (1 dependents) #281660
  • nagios-plugins (1 dependents)
  • nginx (1 dependents)
  • node@18 (1 dependents)
  • node@20 (1 dependents)
  • oath-toolkit (1 dependents)
  • opensaml (1 dependents)
  • python@3.9 (1 dependents)
  • sleuthkit (1 dependents)
  • sofia-sip (1 dependents)
  • softhsm (1 dependents)
  • thrift (1 dependents)
  • yara (1 dependents)

Other (11)

  • apache-serf (1 dependents)
  • etcd-cpp-apiv3 (1 dependents)
  • karchive (1 dependents)
  • kmod (1 dependents)
  • libtpms (1 dependents)
  • llama.cpp (1 dependents)
  • mktorrent (1 dependents) #279081
  • pixiewps (1 dependents)
  • redis (1 dependents)
  • spice-gtk (1 dependents)
  • zookeeper (1 dependents)

Rust (1)

  • ruby@3.4 (2 dependents)

C/C++ (CMake) (18)

  • awscli (3 dependents)
  • azure-core-cpp (2 dependents)
  • ccache (2 dependents) #281406
  • cpp-httplib (2 dependents) #278380
  • cpprestsdk (3 dependents)
  • davix (2 dependents)
  • dotnet@8 (2 dependents)
  • dotnet@9 (5 dependents)
  • libks (2 dependents)
  • libtorrent-rasterbar (2 dependents)
  • libwebsockets (3 dependents)
  • mongo-c-driver (4 dependents) #281776
  • mysql-client (3 dependents)
  • qpdf (5 dependents) #281769
  • rabbitmq-c (2 dependents)
  • s2n (2 dependents) #280912
  • ttyd (2 dependents)
  • wabt (3 dependents)

C/C++ (autotools) (34)

  • afflib (2 dependents) #281209
  • cyrus-sasl (2 dependents) #280924
  • erlang@26 (2 dependents) #281659
  • gpac (2 dependents)
  • ldns (4 dependents)
  • libewf (2 dependents)
  • libfixbuf (2 dependents)
  • libimobiledevice (3 dependents)
  • libngtcp2 (4 dependents)
  • libretls (3 dependents)
  • libshout (4 dependents) #281400
  • libtrace (2 dependents)
  • libxmlsec1 (3 dependents)
  • neon (5 dependents)
  • net-snmp (5 dependents) #281292
  • nmap (3 dependents)
  • node@22 (5 dependents)
  • node@24 (3 dependents)
  • openssh (2 dependents)
  • php@8.4 (2 dependents)
  • pkcs11-helper (4 dependents)
  • python@3.10 (2 dependents) #281775
  • riemann-client (2 dependents)
  • rsync (4 dependents)
  • samba (2 dependents)
  • socat (5 dependents)
  • srtp (2 dependents) #281396
  • tarsnap (2 dependents)
  • texlive (4 dependents)
  • tor (3 dependents)
  • w3m (5 dependents)
  • xml-security-c (3 dependents)
  • xml-tooling-c (2 dependents)
  • xmlrpc-c (2 dependents)

Other (14)

  • berkeley-db (3 dependents)
  • crystal (5 dependents)
  • fbthrift (3 dependents)
  • fizz (5 dependents)
  • mupdf (3 dependents)
  • mvfst (5 dependents)
  • node-build (2 dependents)
  • pipewire (2 dependents)
  • pyenv (4 dependents)
  • pypy (2 dependents)
  • rtmpdump (5 dependents) #281398
  • ruby-build (2 dependents)
  • valkey (3 dependents)
  • wangle (3 dependents)

Rust (4)

  • cargo-c (10 dependents) #280867
  • cryptography (110 dependents) #280868
  • gstreamer (12 dependents) #280873
  • ruby (37 dependents) #280872

C/C++ (CMake) (9)

  • apache-arrow (7 dependents) #280851
  • aws-c-cal (7 dependents) #280911
  • dotnet (11 dependents) #280829
  • folly (9 dependents) #280855
  • gdal (9 dependents) #280870
  • grpc (8 dependents) #280832
  • libfido2 (9 dependents) #280836
  • libgit2 (36 dependents) #280914
  • libssh (14 dependents) #280838
  • mariadb-connector-c (15 dependents) #280839
  • srt (7 dependents) #280847

C/C++ (autotools) (28)

  • apr-util (15 dependents) #280827
  • asio (11 dependents) #280828
  • bind (11 dependents) #280852
  • curl (25 dependents) #280853
  • erlang (18 dependents) #280853
  • ffmpeg (75 dependents) #280854
  • freetds (7 dependents) #280831
  • httpd (9 dependents) #280856
  • krb5 (22 dependents) #280834
  • libevent (56 dependents) #280835
  • libpq (51 dependents) #280857
  • librdkafka (6 dependents) #280837
  • libssh2 (24 dependents) #278658
  • node (337 dependents) #280858
  • openldap (11 dependents) #280840
  • opusfile (10 dependents) #280841
  • php (22 dependents) #280871
  • postgresql@17 (12 dependents) #280859
  • postgresql@18 (22 dependents) #280860
  • python@3.11 (6 dependents) #280843
  • python@3.12 (22 dependents) #280844
  • python@3.13 (38 dependents) #280845
  • python@3.14 (806 dependents) #280846
  • rust (941 dependents) #280863
  • tcl-tk (19 dependents) #280848
  • tcl-tk@8 (13 dependents) #280849
  • unbound (7 dependents) #280865
  • wget (12 dependents) #280850

Other (4)

  • hiredis (7 dependents) #280833
  • pulseaudio (31 dependents) #280861
  • qtbase (108 dependents) #280862
  • systemd (69 dependents) #280864

Contributor guide