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, andCI-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
-
cmakehttps://github.com/Homebrew/homebrew-core/pull/280820 -
apr-utilhttps://github.com/Homebrew/homebrew-core/pull/280827 -
asiohttps://github.com/Homebrew/homebrew-core/pull/280828 -
dotnethttps://github.com/Homebrew/homebrew-core/pull/280829 -
erlanghttps://github.com/Homebrew/homebrew-core/pull/280830 -
freetdshttps://github.com/Homebrew/homebrew-core/pull/280831 -
grpchttps://github.com/Homebrew/homebrew-core/pull/280832 -
hiredishttps://github.com/Homebrew/homebrew-core/pull/280833 -
krb5https://github.com/Homebrew/homebrew-core/pull/280834 -
libeventhttps://github.com/Homebrew/homebrew-core/pull/280835 -
libfido2https://github.com/Homebrew/homebrew-core/pull/280836 -
librdkafkahttps://github.com/Homebrew/homebrew-core/pull/280837 -
libsshhttps://github.com/Homebrew/homebrew-core/pull/280838 -
libssh2https://github.com/Homebrew/homebrew-core/pull/278658 (existing open PR) -
mariadb-connector-chttps://github.com/Homebrew/homebrew-core/pull/280839 -
openldaphttps://github.com/Homebrew/homebrew-core/pull/280840 -
opusfilehttps://github.com/Homebrew/homebrew-core/pull/280841 -
python@3.11https://github.com/Homebrew/homebrew-core/pull/280843 -
python@3.12https://github.com/Homebrew/homebrew-core/pull/280844 -
python@3.13https://github.com/Homebrew/homebrew-core/pull/280845 -
python@3.14https://github.com/Homebrew/homebrew-core/pull/280846 -
srthttps://github.com/Homebrew/homebrew-core/pull/280847 -
tcl-tkhttps://github.com/Homebrew/homebrew-core/pull/280848 -
tcl-tk@8https://github.com/Homebrew/homebrew-core/pull/280849 -
wgethttps://github.com/Homebrew/homebrew-core/pull/280850
Depth 1 dependents
-
apache-arrowhttps://github.com/Homebrew/homebrew-core/pull/280851 -
bindhttps://github.com/Homebrew/homebrew-core/pull/280852 -
curlhttps://github.com/Homebrew/homebrew-core/pull/280853 -
ffmpeghttps://github.com/Homebrew/homebrew-core/pull/280854 -
follyhttps://github.com/Homebrew/homebrew-core/pull/280855 -
httpdhttps://github.com/Homebrew/homebrew-core/pull/280856 -
libpqhttps://github.com/Homebrew/homebrew-core/pull/280857 -
nodehttps://github.com/Homebrew/homebrew-core/pull/280858 -
postgresql@17https://github.com/Homebrew/homebrew-core/pull/280859 -
postgresql@18https://github.com/Homebrew/homebrew-core/pull/280860 -
pulseaudiohttps://github.com/Homebrew/homebrew-core/pull/280861 -
qtbasehttps://github.com/Homebrew/homebrew-core/pull/280862 -
rusthttps://github.com/Homebrew/homebrew-core/pull/280863 -
systemdhttps://github.com/Homebrew/homebrew-core/pull/280864 -
unboundhttps://github.com/Homebrew/homebrew-core/pull/280865
Depth 2 dependents
-
cargo-chttps://github.com/Homebrew/homebrew-core/pull/280867 -
cryptographyhttps://github.com/Homebrew/homebrew-core/pull/280868 -
gdalhttps://github.com/Homebrew/homebrew-core/pull/280870 -
phphttps://github.com/Homebrew/homebrew-core/pull/280871 -
rubyhttps://github.com/Homebrew/homebrew-core/pull/280872
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_STRINGis now opaque; X509 getters now returnconstpointers. - 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 -
durausesopenssl-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