![]() |
Released Oct 22, 2025. (59th OpenBSD release) Copyright 1997-2025, Theo de Raadt. Artwork by Apsephion.
All applicable copyrights and credits are in the src.tar.gz,
sys.tar.gz, xenocara.tar.gz, ports.tar.gz files, or in the
files fetched via |
This is a partial list of new features and systems included in OpenBSD 7.8. For a comprehensive list, see the changelog leading to 7.8.
hw.cpuspeed
work on Snapdragon X Elite
machines.
PS_NOBTCFI
at
fork(2)
so forked children do not get killed by BTCFI safeguards.
PS_PROFILE
at
fork(2).
This lets child processes
disable/reenable profiling when they deemed appropriate.
fs.posix.setuid
sysctl.
ddb.suspend
sysctl that will force "S0ix"
suspend and skip suspend of inteldrm(4) and amdgpu(4) such that the
display remains on during suspend.
-R
recovers/creates GPT/MBR from a file.
-v
was set.
%z
output in
zic(8), and add DST offset.
-t
and -V
options from tzcode2013d to
zdump(8).
-l
option is not specified, never interpret "name"
command line arguments as absolute or relative path names, not
even for arguments that contain a slash and that do not resolve
to a manual page name.
/bsd
on relink errors.
IPPROTO_IP
/IP_TOS
and
IPPROTO_IPV6
/IPV6_TCLASS
in
pledge(2) "stdio".
Previously these were restricted to "inet".
However, setting TOS is low risk and this way a
lot more attack surface from inet can be removed.
_fc-cache
user to run unprivileged when installing fonts.
IPV6_RECVTCLASS
to the authorized
setsockopt(2)
operations for IPPROTO_IPV6
in
pledge(2)
fixing recent chromium browser with IPv6.
net.inet6.ip6.neighborgcthresh
, which would disable
the limit ND6 entries, and disallow setting negative values for
net.inet6.ip6.maxdynroutes
, which previously allowed
unlimited redirect routes.
net.inet6.ip6.soiikey
sysctl.
-T
with = when arguments are not key=value pairs.
-X
) mode.
-T
alpn=value
in nc(1).
-n
, which was broken in 2022.
-B
.
-m
.
-p
option can be used
to adjust the number of threads.
#ifdef
mess and removing a few
instances of undefined behavior.
OPENSSL_SMALL_FOOTPRINT
and OPENSSL_FIPSAPI
.
SIGILL
-based CPU capability detection was removed.
Instead, capabilities are now detected using a constructor on
library load, which improves the incomplete coverage by calls
to OPENSSL_init_crypto(3) on various entry points.
NULL
for memory BIOs.
WarnWeakCrypto
ssh_config(5)
option, defaulting to on. This option is likely to control
additional weak crypto warnings in the future.
IPQoS
IPQoS
keyword in ssh_config(5) and
sshd_config(5).
-N
option
disables this behaviour.
-U
suppresses the
automatic cleanup of stale sockets when it starts.
-u
forces a cleanup without keeping a running agent,
-uu
forces a cleanup that ignores the hostname.
-T
makes ssh-agent(1) put the socket back in /tmp.
SIGINFO
handlers to log active channel and
session information.
Match host foo RefuseConnection "foo is deprecated, use splork instead"
INFO
when PerSourcePenalties actually
blocks access to a source address range. Previously this was
logged at level VERBOSE
, which hid enforcement
actions under default config settings.
-T
output; fix
-T
instead of its
deprecated alias "without-password".
Many pre-built packages for each architecture:
Some highlights:
Please refer to the following files on the mirror site for extensive details on how to install OpenBSD 7.8 on your machine:
Quick installer information for people familiar with OpenBSD, and the use of the "disklabel -E" command. If you are at all confused when installing OpenBSD, read the relevant INSTALL.* file as listed above!
If your machine can boot from CD, you can write install78.iso or cd78.iso to a CD and boot from it. Refer to INSTALL.alpha for more details.
If your machine can boot from CD, you can write install78.iso or cd78.iso to a CD and boot from it. You may need to adjust your BIOS options first.
If your machine can boot from USB, you can write install78.img or miniroot78.img to a USB stick and boot from it.
If you can't boot from a CD, floppy disk, or USB, you can install across the network using PXE as described in the included INSTALL.amd64 document.
If you are planning to dual boot OpenBSD with another OS, you will need to read INSTALL.amd64.
Depending on your hardware, you can write install78.iso or cd78.iso to a CD and boot from it, or write a system specific miniroot to an SD card and boot from it after connecting to the serial console. Refer to INSTALL.armv64 for more details.
Write a system specific miniroot to an SD card and boot from it after connecting to the serial console. Refer to INSTALL.armv7 for more details.
Boot over the network by following the instructions in INSTALL.hppa or the hppa platform page.
If your machine can boot from CD, you can write install78.iso or cd78.iso to a CD and boot from it. You may need to adjust your BIOS options first.
If your machine can boot from USB, you can write install78.img or miniroot78.img to a USB stick and boot from it.
If you can't boot from a CD, floppy disk, or USB, you can install across the network using PXE as described in the included INSTALL.i386 document.
If you are planning on dual booting OpenBSD with another OS, you will need to read INSTALL.i386.
Write miniroot78.img to the start of the CF or disk, and boot normally.
Write miniroot78.img to a USB stick and boot bsd.rd from it or boot bsd.rd via tftp. Refer to the instructions in INSTALL.loongson for more details.
Copy 'boot' and 'bsd.rd' to a Mach or UniOS partition, and boot the bootloader from the PROM, and then bsd.rd from the bootloader. Refer to the instructions in INSTALL.luna88k for more details.
Burn the install78.iso image from a mirror site to a CDROM, and power on your machine while holding down the C key until the display turns on and shows OpenBSD/macppc boot.
Alternatively, at the Open Firmware prompt, enter boot cd:,ofwboot /7.8/macppc/bsd.rd
After connecting a serial port, boot bsd.rd over the network via DHCP/tftp. Refer to the instructions in INSTALL.octeon for more details.
To install, write install78.img or miniroot78.img to a USB stick, plug it into the machine and choose the OpenBSD install menu item in Petitboot. Refer to the instructions in INSTALL.powerpc64 for more details.
To install, write install78.img or miniroot78.img to a USB stick, and boot with that drive plugged in. Make sure you also have the microSD card plugged in that shipped with the HiFive Unmatched board. Refer to the instructions in INSTALL.riscv64 for more details.
Burn the image from a mirror site to a CDROM, boot from it, and type boot cdrom.
If this doesn't work, or if you don't have a CDROM drive, you can write floppy78.img or floppyB78.img (depending on your machine) to a floppy and boot it with boot floppy. Refer to INSTALL.sparc64 for details.
Make sure you use a properly formatted floppy with NO BAD BLOCKS or your install will most likely fail.
You can also write miniroot78.img to the swap partition on the disk and boot with boot disk:b.
If nothing works, you can boot over the network as described in INSTALL.sparc64.
If you already have an OpenBSD 7.7 system, and do not want to reinstall, upgrade instructions and advice can be found in the Upgrade Guide.
src.tar.gz
contains a source archive starting at /usr/src
.
This file contains everything you need except for the kernel sources,
which are in a separate archive.
To extract:
# mkdir -p /usr/src # cd /usr/src # tar xvfz /tmp/src.tar.gz
sys.tar.gz
contains a source archive starting at /usr/src/sys
.
This file contains all the kernel sources you need to rebuild kernels.
To extract:
# mkdir -p /usr/src/sys # cd /usr/src # tar xvfz /tmp/sys.tar.gz
Both of these trees are a regular CVS checkout. Using these trees it is possible to get a head-start on using the anoncvs servers as described here. Using these files results in a much faster initial CVS update than you could expect from a fresh checkout of the full OpenBSD source tree.
A ports tree archive is also provided. To extract:
# cd /usr # tar xvfz /tmp/ports.tar.gz
Go read the ports page if you know nothing about ports at this point. This text is not a manual of how to use ports. Rather, it is a set of notes meant to kickstart the user on the OpenBSD ports system.
The ports/ directory represents a CVS checkout of our ports. As with our complete source tree, our ports tree is available via AnonCVS. So, in order to keep up to date with the -stable branch, you must make the ports/ tree available on a read-write medium and update the tree with a command like:
# cd /usr/ports # cvs -d anoncvs@server.openbsd.org:/cvs update -Pd -rOPENBSD_7_8
[Of course, you must replace the server name here with a nearby anoncvs server.]
Note that most ports are available as packages on our mirrors. Updated ports for the 7.8 release will be made available if problems arise.
If you're interested in seeing a port added, would like to help out, or just would like to know more, the mailing list ports@openbsd.org is a good place to know.