[BACK]Return to 71.html CVS log [TXT][DIR] Up to [local] / www

Annotation of www/71.html, Revision 1.23

1.1       deraadt     1: <!doctype html>
                      2: <html lang=en id=release>
                      3: <meta charset=utf-8>
                      4:
                      5: <title>OpenBSD 7.1</title>
                      6: <meta name="description" content="OpenBSD 7.1">
                      7: <meta name="viewport" content="width=device-width, initial-scale=1">
                      8: <link rel="stylesheet" type="text/css" href="openbsd.css">
                      9: <link rel="canonical" href="https://www.openbsd.org/71.html">
                     10:
                     11: <h2 id=OpenBSD>
                     12: <a href="index.html">
                     13: <i>Open</i><b>BSD</b></a>
                     14: 7.1
                     15: </h2>
                     16:
                     17: <table>
                     18: <tr>
                     19: <td>
                     20: <a href="images/xxx.png">
                     21: <img width="227" height="303" src="images/xxx-s.png" alt="xxx"></a>
                     22: <td>
1.6       tj         23: Released May ?, 2022. (52nd OpenBSD release)<br>
1.1       deraadt    24: Copyright 1997-2022, Theo de Raadt.<br>
                     25: <br>
1.3       job        26: Artwork by Luc Houweling.
1.1       deraadt    27: <br>
                     28: <ul>
                     29: <li>See the information on <a href="ftp.html">the FTP page</a> for
                     30:     a list of mirror machines.
                     31: <li>Go to the <code class=reldir>pub/OpenBSD/7.1/</code> directory on
                     32:     one of the mirror sites.
                     33: <li>Have a look at <a href="errata71.html">the 7.1 errata page</a> for a list
                     34:     of bugs and workarounds.
                     35: <li>See a <a href="plus71.html">detailed log of changes</a> between the
                     36:     7.0 and 7.1 releases.
                     37: <p>
                     38: <li><a href="https://man.openbsd.org/signify.1">signify(1)</a>
                     39:     pubkeys for this release:<p>
                     40:
                     41: <table class=signify>
                     42: <tr><td>
                     43: openbsd-71-base.pub:
                     44: <td>
                     45: <a href="https://ftp.openbsd.org/pub/OpenBSD/7.1/openbsd-71-base.pub">
                     46: RWR2eHwZTOEiTWog354iy3StRj18VbZl87O9uZpa1M2jGLXEkco6vDT5</a>
                     47: <tr><td>
                     48: openbsd-71-fw.pub:
                     49: <td>
                     50: RWQCAJ4gBK3pbcm/Q5XYxu+hIY3Zvx9kwGv2uJphEN7kNl1DD4QRue6v
                     51: <tr><td>
                     52: openbsd-71-pkg.pub:
                     53: <td>
                     54: RWQgLTtHQtisyH9qc9imxVFsf+P24M75F1aNio5qJCfG/bO6gATAzC9V
                     55: <tr><td>
                     56: openbsd-71-syspatch.pub:
                     57: <td>
                     58: RWTVqN+z9ta+Z6Ri7W7Vlf+XgXE30rGXld8kO78L1GmE61U5Xvbr/zHM
                     59: </table>
                     60: </ul>
                     61: <p>
                     62: All applicable copyrights and credits are in the src.tar.gz,
                     63: sys.tar.gz, xenocara.tar.gz, ports.tar.gz files, or in the
                     64: files fetched via <code>ports.tar.gz</code>.
                     65: </table>
                     66:
                     67: <hr>
                     68:
                     69: <section id=new>
                     70: <h3>What's New</h3>
                     71: <p>
                     72: This is a partial list of new features and systems included in OpenBSD 7.1.
                     73: For a comprehensive list, see the <a href="plus71.html">changelog</a> leading
                     74: to 7.1.
                     75:
                     76: <ul>
                     77:
                     78: <li>New/extended platforms:
                     79:   <ul>
1.16      benno      80:     <li>Support for Apple Silicon Macs has improved and is ready for general use:
1.1       deraadt    81:     <ul>
1.10      benno      82:            <li>Added <a href="https://man.openbsd.org/aplspi.4">aplspi(4)</a>, a driver for the SPI controller found on the Apple M1 SoC.
                     83:            <li>Added <a href="https://man.openbsd.org/aplhidev.4">aplhidev(4)</a> support for the keyboard/touchpad on Apple M1 laptops.
1.11      benno      84:            <li>Introduced <a href="https://man.openbsd.org/aplpmgr.4">aplpmgr(4)</a>, a driver for the power management controller found on various Apple SoCs.
                     85:            <li>Introduced <a href="https://man.openbsd.org/aplmbox.4">aplmbox(4)</a>, a driver for the mailbox that provides a communication channel with additional cores integrated on Apple SoCs.
                     86:            <li>Introduced <a href="https://man.openbsd.org/apliic.4">apliic(4)</a>, a driver for the I2C controller found on various Apple SoCs.
                     87:            <li>Added the chip ids used on Apple M1 Pro/Max and Apple T2 Macs to <a href="https://man.openbsd.org/bwfm.4">bwfm(4)</a>.
                     88:            <li>Rewrote arm64 kernel FPU handling code to fix the random crashes seen with SMP kernels on Apple M1.
                     89:            <li>Restricted the <a href="https://man.openbsd.org/pci.4">pci(4)</a> ioctl interface to devices detected by the kernel, preventing Xorg PCI probes from breaking the WiFi chip on M1 macs.
                     90:            <li>Introduced <a href="https://man.openbsd.org/aplsmc.4">aplsmc(4)</a>, a driver for the SMC found on Apple M1 SoCs.
                     91:            <li>Introduced <a href="https://man.openbsd.org/aplnco.4">aplnco(4)</a>, a driver for the Numerically-controlled oscillator (NCO) clock which drives the audio clocks on Apple silicon.
                     92:            <li>Introduced <a href="https://man.openbsd.org/tascodec.4">tascodec(4)</a>, a driver for the TI TAS2770/TAS5770 digital audio amplifier codec found on Apple M1 Macs.
1.14      benno      93:            <li>Introduced <a href="https://man.openbsd.org/apldma.4">apldma(4)</a>, a driver for the DMA controller found on Apple SoCs.
1.15      benno      94:            <li>Added support to explicitly power on some PCIe devices on the M1 and M1 Pro/Max through a GPIO controlled by the SMC.
                     95:            <li>Added <a href="https://man.openbsd.org/aplcpu.4">aplcpu(4)</a>, a driver to control the CPU performance levels on Apple SoCs.
                     96:            <li>Modified <a href="https://man.openbsd.org/aplintc.4">aplintc(4)</a> to support a newer interrupt controller, making OpenBSD run on M1 Pro/Max machines.
                     97:            <li>Added nvmem support to <a href="https://man.openbsd.org/aplpmu.4">aplpmu(4)</a> and made it available on Apple SPMI PMUs.
                     98:            <li>Added RTC support to <a href="https://man.openbsd.org/aplsmc.4">aplsmc(4)</a>.
                     99:            <li>Made the arm64 ramdisk installer fetch <a href="https://man.openbsd.org/bwfm.4">bwfm(4)</a> firmware from the EFI System Partition on Apple Silicon devices for use during installation and addition to the newly installed system.
                    100:            <li>Added support for controlling keyboard LEDs to <a
                    101:                href="https://man.openbsd.org/aplhidev.4">aplhidev(4)</a>.
                    102:            <li>Added basic GPIO support to <a href="https://man.openbsd.org/aplsmc.4">aplsmc(4)</a>.
                    103:            <li>Ensured <a href="https://man.openbsd.org/apldart.4">apldart(4)</a> keeps the DART enabled in front of the display controller to preserve its access to the framebuffer and continued display.
                    104:            <li>Fixed reading motherboard time on Apple machines with old SMC firmware.
                    105:            <li>Implemented reboot/powerdown support in <a href="https://man.openbsd.org/aplsmc.4">aplsmc(4)</a>.
                    106:            <li>Implemented <a href="https://man.openbsd.org/aplintc.4">aplintc(4)</a> support for multiple dies, making OpenBSD work on the M1 Ultra.
1.16      benno     107:     </ul>
                    108:     <li>Support for other <a href="arm64.html">arm64</a> architecture hardware was also improved with the following changes:
                    109:     <ul>
1.23    ! benno     110:        <li>Implemented powerdown in arm64.
1.10      benno     111:        <li>Introduced <a
                    112:                href="https://man.openbsd.org/gpiocharger.4">gpiocharger(4)</a>, a
                    113:                driver providing support for battery chargers connected to GPIO pins,
                    114:                such as those found on the Pinebook Pro.
                    115:        <li>Introduced <a
                    116:                href="https://man.openbsd.org/gpioleds.4">gpioleds(4)</a> for arm64, a
                    117:                driver providing support for LEDs connected to GPIO pins, such as
                    118:                those found on the Pinebook Pro.
                    119:        <li>Added <a href="https://man.openbsd.org/gpiokeys.4">gpiokeys(4)</a>
                    120:                for arm64, a driver which handles events triggered by GPIO keys such
                    121:                as lid status and power button.
1.11      benno     122:        <li>Added pclk clock used by <a
                    123:                href="https://man.openbsd.org/dwdog.4">dwdog(4)</a> on RK3399 to <a
                    124:                href="https://man.openbsd.org/rkclock.4">rkclock(4)</a>.
1.23    ! benno     125:        <li>Introduced <a
        !           126:                href="https://man.openbsd.org/mpfclock.4">mpfclock(4)</a>, a driver
        !           127:                for the PolarFire SoC MSS clock controller.
        !           128:        <li>Introduced <a
        !           129:                href="https://man.openbsd.org/cdsdhc.4">cdsdhc(4)</a>, a driver for
        !           130:                the Cadence SD/SDIO/eMMC host controller.
        !           131:        <li>Introduced <a
        !           132:                href="https://man.openbsd.org/mpfiic.4">mpfiic(4)</a>, a driver for
        !           133:                the PolarFire SoC MSS I2C controller.
        !           134:        <li>Introduced <a
        !           135:                href="https://man.openbsd.org/mpfgpio.4">mpfgpio(4)</a>, a driver for
        !           136:                the PolarFire SoC MSS GPIO controller.
        !           137:        <li>Enabled <a href="https://man.openbsd.org/cduart.4">cduart(4)</a>
        !           138:                on arm64.
        !           139:        <li>Added <a
        !           140:                href="https://man.openbsd.org/mvpinctrl.4">mvpinctrl(4)</a> support
        !           141:                for the CP115 block found on Marvell CN9K SoCs.
        !           142:        <li>Added <a href="https://man.openbsd.org/mvclock.4">mvclock(4)</a>
        !           143:                support for the AP807 block found on Marvell CN9K SoCs.
1.1       deraadt   144:     </ul>
                    145:     <li>Changes on other architectures:
                    146:     <ul>
1.16      benno     147:        <!-- riscv -->
1.23    ! benno     148:        <li>Enabled <a href="https://man.openbsd.org/uhid.4">uhid(4)</a>/<a
        !           149:                href="https://man.openbsd.org/fido.4">fido(4)</a> on riscv64.
1.14      benno     150:        <li>Allowed riscv64 installation on a disk with a GPT.
1.16      benno     151:        <li>Added missing locking to <a
                    152:                href="https://man.openbsd.org/pmap_extract.9">pmap_extract(9)</a> and
                    153:                <a href="https://man.openbsd.org/pmap_unwire.9">pmap_unwire(9)</a> on
                    154:                arm64 and riscv64.
                    155:        <li>Improved stack unwinding on riscv64 in <a href="https://man.openbsd.org/ddb.4">ddb(4)</a>.
                    156:        <li>Fixed kernel stack alignment on riscv64.
                    157:        <li>Fixed RISC-V lld link code when dealing with object files created with "ld -b".
                    158:        <li>Made sure nothing can map address zero on RISC-V.
                    159:        <li>Made sure armv7,arm64 and risc-v FDT bootloader code does not write beyond the FDT data structure.
                    160:        <-- sparc64 -->
1.11      benno     161:        <li>Fixed booting from an IDE block device on the Sun Blade 100.
                    162:        <li>Fixed <a href="https://man.openbsd.org/radeondrm.4">radeondrm(4)</a> console colors on sparc64.
1.16      benno     163:        <!-- macppc/powerpc64 -->
1.23    ! benno     164:
        !           165:        <li>Enabled <a href="https://man.openbsd.org/dt.4">dt(4)</a> on
        !           166:                macppc.
        !           167:        <li>Increased <a href="https://man.openbsd.org/ddb.1">ddb(1)</a>
        !           168:                access to registers on macppc and powerpc64.
1.16      benno     169:        <li>Enabled enforcing of RLIMIT_MEMLOCK on powerpc64.
1.23    ! benno     170:        <li>Allowed <a href="https://man.openbsd.org/ddb.4">ddb(4)</a> trace
        !           171:                through interrupt on macppc.
1.1       deraadt   172:   </ul>
                    173: </ul>
                    174:
                    175: <li>Various kernel improvements:
                    176:   <ul>
1.16      benno     177:        <li>Made redistributable firmwares available across all architectures.<!-- XXX right place? -->
                    178:
                    179:        <li>Made futexes work in shared anonymous memory.
                    180:        <li>Improved tracking of mbuf memory usage in the whole system.
                    181:        <li>Switched to using long filenames by default with <a
                    182:                href="https://man.openbsd.org/mount_msdos.8">mount_msdos(8)</a> on FAT
                    183:                filesystems.
1.7       benno     184:        <li>Fixed memory leak in <a
                    185:                href="https://man.openbsd.org/fuse.4">fuse(4)</a> when calling <a
                    186:                href="https://man.openbsd.org/namei.9">namei(9)</a>.
                    187:        <li>Fixed establishing legacy INTx interrupts on machines without a (usable) MSI interrupt controller.
                    188:        <li>Cleaned up irrelevant uses of 3rd mode_t parameter for <a
                    189:                href="https://man.openbsd.org/open.2">open(2)</a>/<a
                    190:                href="https://man.openbsd.org/openat.2">openat(2)</a>, unused when not
                    191:                creating files.
1.16      benno     192:        <li>Reworked garbage collector for <a
                    193:                href="https://man.openbsd.org/unix.4">unix(4)</a> sockets to prevent
                    194:                potential kernel panics.
1.10      benno     195:        <li>Changed the power management <a href="https://man.openbsd.org/sysctl.8">sysctl(8)</a>
                    196:                hw.perfpolicy to "auto" at startup, defaulting to 100%
                    197:                performance with AC power connected and using the auto algorithm when
                    198:                on battery.
1.11      benno     199:        <li>Aligned memory allocation for USB device drivers and USB HC drivers, enlarging the USB memory pool.
1.16      benno     200:        <li>Prevent panic in <a
                    201:                href="https://man.openbsd.org/softraid.4">softraid(4)</a> while
                    202:                rebooting if softraid has been disabled.
                    203:
                    204:        <!-- suspend/hibernate/resume -->
1.11      benno     205:        <li>Fixed hibernate setups where removal of a <a
                    206:                href="https://man.openbsd.org/umass.4">umass(4)</a> device results in
                    207:                a renumbered <a
                    208:                href="https://man.openbsd.org/softraid.4">softraid(4)</a> boot device.
                    209:        <li>Fix hibernate on newer hardware by allowing more memory ranges.
1.15      benno     210:        <li>If CPU sleep state S4 is not available, use S5 for the ACPI-transitions in hibernate support.
                    211:        <li>Added code to update hw.power whenever AC state changes on resume.
1.22      benno     212:        <li>Fixed a panic by prohibiting renames of tmpfs mount-points.
                    213:        <li>Fixed double free after allocation failure in <a href="https://man.openbsd.org/bpf.4">bpf(4)</a>.
1.11      benno     214:
1.16      benno     215:
1.1       deraadt   216:   </ul>
                    217:
                    218: <li>SMP Improvements
                    219:   <ul>
1.7       benno     220:        <li>Made pipe event filters MP-safe.
                    221:        <li>Set klist lock for sockets to make socket event filters MP-safe.
                    222:        <li>Implemented <a href="https://man.openbsd.org/poll.2">poll(2)</a>,
                    223:                <a href="https://man.openbsd.org/select.2">select(2)</a>, <a
                    224:                href="https://man.openbsd.org/ppoll.2">ppoll(2)</a> and <a
                    225:                href="https://man.openbsd.org/pselect.2">pselect(2)</a> on top of
                    226:                kqueue.
                    227:        <li>Unlocked top part of UVM fault hander on mips64. <!--- XXX move? --->
1.10      benno     228:        <li>Unlocked the <a href="https://man.openbsd.org/kevent.2">kevent(2)</a> system call.
                    229:        <li>Made the kqread event filter MP-safe.
                    230:        <li>Reduced the time overhead of <a
                    231:                href="https://man.openbsd.org/kqueue.2">kqueue(2)</a>-based <a
                    232:                href="https://man.openbsd.org/poll.2">poll(2)</a> and <a
                    233:                href="https://man.openbsd.org/select.2">select(2)</a> systems calls by
                    234:                keeping knotes between the system calls.
1.11      benno     235:        <li>Unlocked <a href="https://man.openbsd.org/accept.2">accept(2)</a>
                    236:                and <a href="https://man.openbsd.org/accept4.2">accept4(2)</a>
                    237:                syscalls.
                    238:        <li>Prevented <a
                    239:                href="https://man.openbsd.org/select.2">select(2)</a> from blocking if
                    240:                registering found pending events.
                    241:        <li>Protected <a href="https://man.openbsd.org/ipsec.4">ipsec(4)</a>
                    242:                input and output with the kernel lock to allow forwarding of non-ipsec
                    243:                traffic in parallel.
                    244:        <li>Unlocked the bottom part of the uvm fault handler.
                    245:        <li>Unlocked <a href="https://man.openbsd.org/getpeername.2">getpeername(2)</a>.
                    246:        <li>Made <a href="https://man.openbsd.org/bpf.4">bpf(4)</a> MP-safe.
1.14      benno     247:        <li>Implemented the <a
                    248:                href="https://man.openbsd.org/poll.2">poll(2)</a> system call on top
                    249:                of the <a href="https://man.openbsd.org/kqueue.2">kqueue(2)</a>
                    250:                subsystem, obsoleting the old, non-MP-safe poll backend.
1.15      benno     251:        <li>Made <a href="https://man.openbsd.org/audio.4">audio(4)</a> event filters MP-safe.
                    252:        <li>Unlocked <a href="https://man.openbsd.org/getsockname.2">getsockname(2)</a>.
                    253:        <li>Added kernel interfaces for atomic load and store functions for int and long to be used in reference counted struct members.
1.1       deraadt   254:   </ul>
                    255:
                    256: <li>Direct Rendering Manager
                    257:   <ul>
1.5       jsg       258:        <li>Updated <a href="https://man.openbsd.org/drm.4">drm(4)</a>
                    259:            to Linux 5.15.26
                    260:        <li><a href="https://man.openbsd.org/inteldrm.4">inteldrm(4)</a>:
                    261:            support for Elkhart Lake, Jasper Lake, Rocket Lake
                    262:        <li><a href="https://man.openbsd.org/drm.4">amdgpu(4)</a>:
                    263:            support for Van Gogh APU, Rembrandt "Yellow Carp" Ryzen 6000 APU,
                    264:            Navi 22 "Navy Flounder", Navi 23 "Dimgrey Cavefish",
                    265:            Navi 24 "Beige Goby"
1.16      benno     266:        <li>Reinstated a <a href="https://man.openbsd.org/drm.4">drm(4)</a>
                    267:                workaround to get framebuffer size from efifb, preventing fatal errors
                    268:                for the BESSTAR TECH HM90 with Ryzen 9 4900H.
                    269:
1.1       deraadt   270:   </ul>
                    271:
                    272: <li>VMM/VMD improvements
                    273:   <ul>
1.10      benno     274:        <li>Enabled <a href="https://man.openbsd.org/vmx.4">vmx(4)</a> on arm64.
1.8       dv        275:        <li>Retired <a href="https://man.openbsd.org/OpenBSD-7.0/switch.4">
                    276:            switch(4)</a> support in <a href="https://man.openbsd.org/vmd.8">
                    277:            vmd(8)</a>.
                    278:        <li>Fixed a bug where <a href="https://man.openbsd.org/vmd.8">vmd(8)</a>
                    279:            would exit when requesting a new VM and hitting memory resource
                    280:            limits.
                    281:        <li>Fixed <a href="https://man.openbsd.org/vmm.4">vmm(4)</a> state
                    282:            corruption on Intel hosts.
                    283:        <li>Fixed <a href="https://man.openbsd.org/vmm.4">vmm(4)</a> cpuid leaf
                    284:            clamping when the host has an invariant TSC.
                    285:        <li>Added quiesce/wakeup hooks to <a href="https://man.openbsd.org/vmm.4">
                    286:            vmm(4)</a> allowing Intel hosts to suspend and hibernate safely with
                    287:            running guests.
                    288:        <li>Added a new login class for <a href="https://man.openbsd.org/vmd.8">
                    289:            vmd(8)</a> on amd64.
1.11      benno     290:        <li>Fixed spurious abort of a VM by <a
                    291:                href="https://man.openbsd.org/vmd.8">vmd(8)</a> when the scheduler
                    292:                moves a VM to a different core while it is sleeping on a lock.
                    293:        <li>Fixed broken <a href="https://man.openbsd.org/vmd.8">vmd(8)</a>
                    294:                "boot device cdrom" feature after a fix in seabios.
                    295:        <li>Reintroduced support for <a
                    296:                href="https://man.openbsd.org/vmctl.8">vmctl(8)</a> <code>start -B net
                    297:                -b bsd.rd</code>, which emulates a PXE boot and performs an
                    298:                autoinstall.
1.16      benno     299:        <li>Made <a href="https://man.openbsd.org/vmm.4">vmm(4)</a> <a
                    300:                href="https://man.openbsd.org/dt.4">dt(4)</a> tracepoints amd64-only.
                    301:        <li>Provided a login class for <a
                    302:                href="https://man.openbsd.org/vmd.8">vmd(8)</a>.
                    303:        <li>Added handling for <a
                    304:                href="https://man.openbsd.org/vmd.8">vmd(8)</a> hitting resource
                    305:                limits when starting a vm and added memory error messages for the
                    306:                user.
                    307:        <li>Added quiesce/wakeup hooks to sync vcpu state in <a
                    308:                href="https://man.openbsd.org/vmm.4">vmm(4)</a>.
1.11      benno     309:
1.1       deraadt   310:   </ul>
                    311:
                    312: <li>Various new userland features:
                    313:   <ul>
1.7       benno     314:        <li>Added <a
                    315:                href="https://man.openbsd.org/realpath.1">realpath(1)</a>, a wrapper
                    316:                for <a href="https://man.openbsd.org/realpath.3">realpath(3)</a> for
                    317:                use in ports.
                    318:        <li>Added <a href="https://man.openbsd.org/rcctl.8">rcctl(8)</a> "ls
                    319:                rogue" to show daemons which are running but not set as "enabled" in
                    320:                <a href="https://man.openbsd.org/rc.conf.local.8">rc.conf.local(8)</a>.
1.16      benno     321:        <li>Implemented probe variables in BPFtrace (<a
                    322:                href="https://man.openbsd.org/bt.5">bt(5)</a>).
1.7       benno     323:        <li>Provided common <a
                    324:                href="https://man.openbsd.org/btrace.8">btrace(8)</a> scripts
                    325:                kprofile.bt (to save kernel stackframes and produce flamegraphs) and
                    326:                runqlat.bt (to measure the latency of the scheduler runqueues).
1.16      benno     327:        <li>DNSSEC support: Implemented RFC6840 (AD flag processing) in the libc resolver, if
1.11      benno     328:                using trusted name servers specified with 'trust-ad' in <a
1.16      benno     329:                href="https://man.openbsd.org/resolv.conf.5">resolv.conf(5)</a><!-- XXX or network section? -->
1.14      benno     330:        <li>Enabled support for displaying an estimated battery recharge time
                    331:                in <a href="https://man.openbsd.org/apm.8">apm(8)</a> and <a
                    332:                href="https://man.openbsd.org/apmd.8">apmd(8)</a>.
                    333:        <li>Introduced support for storing capability databases in
                    334:                /etc/login.conf.d, allowing easy addition of custom login classes from
1.16      benno     335:                packages and made <a
                    336:                href="https://man.openbsd.org/rcctl.8">rcctl(8)</a> look for the login
                    337:                class in both login.conf and login.conf.d/${class}.
                    338:        <li>Added a <a href="https://man.openbsd.org/malloc.3">malloc(3)</a>
                    339:                cache of regions between 128k and 2M to accommodate programs
                    340:                allocating and deallocating regions of these sizes quickly.
                    341: `      <li>Added <a href="https://man.openbsd.org/pax.1">pax(1)</a> support
                    342:                for mtime/atime/ctime extended headers (in not-SMALL builds).
                    343:        <li>Added -k flag to <a
                    344:                href="https://man.openbsd.org/gzip.1">gzip(1)</a> and <a
                    345:                href="https://man.openbsd.org/gunzip.1">gunzip(1)</a> to retain
                    346:                (de)compressed file.
1.22      benno     347:        <li>Implemented <a href="https://man.openbsd.org/openrsync.1">openrsync(1)</a> --compare-dest, allowing specification of additional directories to check for files to be available.
                    348:        <li>Implemented <a href="https://man.openbsd.org/openrsync.1">openrsync(1)</a> --max-size and --min-size.
1.1       deraadt   349:   </ul>
                    350:
                    351: <li>Various bugfixes and tweaks in userland:
                    352:   <ul>
1.16      benno     353:        <!-- pkg tools -->
                    354:        <li>Stopped <a
                    355:                href="https://man.openbsd.org/pkg_add.1">pkg_add(1)</a> from
                    356:                communicating warnings starting with "XXX" which appeared to indicate
                    357:                errors.
1.7       benno     358:
1.16      benno     359:        <!-- X11 -->
                    360:        <li>Enabled subpixel rendering in FreeType.
                    361:        <li>Updated xorg-server to 21.1.3, leaving in place an earlier change
                    362:                to compute the screen resolution from dimensions returned by the
                    363:                screen, reverted by upstream.
                    364:        <li>Allowed bare numbers for key and mouse bindings in <a
                    365:                href="https://man.openbsd.org/cwm.1">cwm(1)</a>.
                    366:        <li>Added a <a href="https://man.openbsd.org/cwm.1">cwm(1)</a>
                    367:                "group-last" command that shows only the previously active group.
                    368:        <li>Fixed glass console and <a href="https://man.openbsd.org/getty.8">getty(8)</a> interference with Xorg on arm64.
                    369:
                    370:        <!-- utilities -->
                    371:        <li>Fixed octal escape parsing in <a
                    372:                href="https://man.openbsd.org/tr.1">tr(1)</a> backslash().
                    373:        <li>Added <a href="https://man.openbsd.org/uniq.1">uniq(1)</a>
                    374:                support for arbitrarily long input lines.
                    375:        <li>Made <a href="https://man.openbsd.org/uniq.1">uniq(1)</a> ignore
                    376:                trailing newlines when comparing lines.
                    377:        <li>Made <a href="https://man.openbsd.org/uniq.1">uniq(1)</a> skip()
                    378:                each input line only once, improving performance.
                    379:        <li>Increased <a href="https://man.openbsd.org/tee.1">tee(1)</a> I/O
                    380:                buffer size for 8KB to 64KB.
                    381:        <li>Improved performance of <a
                    382:                href="https://man.openbsd.org/rev.1">rev(1)</a>.
                    383:        <li>Made <a href="https://man.openbsd.org/ed.1">ed(1)</a> flush all
                    384:                stdio streams before running a shell command.
                    385:        <li>Prevented a file descriptor leak in <a
                    386:                href="https://man.openbsd.org/touch.1">touch(1)</a> after <a
                    387:                href="https://man.openbsd.org/futimens.2">futimens(2)</a> failure.
                    388:        <li>Added <a href="https://man.openbsd.org/seq.1">seq(1)</a>, a
                    389:                command to print sequences of numbers.
                    390:
                    391:        <!-- apm -->
1.22      benno     392:        <li>Set cpuspeed to 0 in <a
                    393:                href="https://man.openbsd.org/apm.8">apm(8)</a> when hw.cpuspeed
                    394:                cannot be retrieved.
1.16      benno     395:
                    396:        <li>Copied the <a href="https://man.openbsd.org/cos.3">cos(3)</a>
                    397:                cosine software implementation from FreeBSD-13, and disabled assembly
                    398:                implementations of trig functions on x86 platforms.
                    399:        <li>Added optimization for tiny x in <a
                    400:                href="https://man.openbsd.org/cos.3">cos(3)</a> and <a
1.21      tj        401:                href="https://man.openbsd.org/sin.3">sin(3)</a> trigonometry
                    402:                functions.
1.16      benno     403:
                    404:        <!-- audio -->
                    405:        <li>Switched <a href="https://man.openbsd.org/aucat.1">aucat(1)</a>
                    406:                internal sample representation and default file encoding to 24-bit.
                    407:        <li>Switched <a href="https://man.openbsd.org/sndiod.8">sndiod(8)</a>
                    408:                internal sample representation to 24-bit fixed point.
                    409:
                    410:        <!-- rc scripts -->
                    411:        <li>Allowed passing a different signal than SIGTERM in the default
                    412:                rc_stop() function in <a
                    413:                href="https://man.openbsd.org/rc.subr.8">rc.subr(8)</a>.
                    414:        <li>Improved and simplified timer handling in <a
                    415:                href="https://man.openbsd.org/rc.d.8">rc.d(8)</a> "stop" and "reload".
                    416:
                    417:        <!-- fdisk -->
1.19      krw       418:        <li>Made <a href="https://man.openbsd.org/fdisk.8">fdisk(8)</a>
                    419:                -b available on all architectures.
1.7       benno     420:        <li>Removed the constraint that <a
1.19      krw       421:                href="https://man.openbsd.org/fdisk.8">fdisk(8)</a> -b block
                    422:                count and block offset must be greater than 63.
                    423:        <li>Made <a href="https://man.openbsd.org/fdisk.8">fdisk(8)</a> -b
                    424:                partitions other than EFI System partitions DOSACTIVE.
                    425:        <li>Switched to using <a
                    426:                href="https://man.openbsd.org/fdisk.8">fdisk(8)</a> -b to create boot
                    427:                partitions on multiple architectures.
1.16      benno     428:        <li>Removed <a href="https://man.openbsd.org/fdisk.8">fdisk(8)</a>
                    429:                "disk" editing command.
1.19      krw       430:        <li>Prevented <a href="https://man.openbsd.org/fdisk.8">fdisk(8)</a>
                    431:                from initializing an MBR to have overlapping partitions 0 and 3.
1.16      benno     432:        <li>Allowed <a href="https://man.openbsd.org/fdisk.8">fdisk(8)</a> to
                    433:                extend the default OpenBSD partition to the end of the disk, rather
                    434:                than truncating at the end of the last full cylinder.
1.19      krw       435:        <li>Corrected GPT checksums written by <a
1.16      benno     436:                href="https://man.openbsd.org/fdisk.8">fdisk(8)</a> on big-endian
                    437:                architectures to be little-endian as per spec.
                    438:        <li>Made <a href="https://man.openbsd.org/fdisk.8">fdisk(8)</a> -A
                    439:                preserve BIOS boot partition.
1.19      krw       440:        <li>Made <a href="https://man.openbsd.org/fdisk.8">fdisk(8)</a> -A
                    441:                preserve the EFI System partition on GPT disks with Apple APFS partitions.
                    442:        <li>Removed the builtin MBR from <a href="https://man.openbsd.org/fdisk.8">fdisk(8)</a>.
                    443:        <li>Removed the "rpath" and "wpath" pledges from <a
                    444:                href="https://man.openbsd.org/fdisk.8">fdisk(8)</a>.
                    445:        <li>Ensured <a href="https://man.openbsd.org/fdisk.8">fdisk(8)</a>
                    446:                creates the default OpenBSD MBR partition only when there is space for it.
                    447:        <li>Ensured <a href="https://man.openbsd.org/fdisk.8">fdisk(8)</a>
                    448:                does not set MBR DOSACTIVE flag on unused partitions when initializing MBR.
                    449:        <li>Reduced the alignment space <a href="https://man.openbsd.org/fdisk.8">fdisk(8)</a>
                    450:                inserts before the start of the default OpenBSD partition.
1.16      benno     451:
                    452:        <!-- other -->
1.7       benno     453:        <li>Merged bugfixes from upstream into <a
                    454:                href="https://man.openbsd.org/less.1">less(1)</a> including fixes for
                    455:                the prompt hiding feature (CTRL-P) and an integer overflow.
1.16      benno     456:        <li>Fixed possible use after free with long lines in <a
                    457:                href="https://man.openbsd.org/less.1">less(1)</a>.
1.7       benno     458:        <li>Fixed file descriptor leak of /dev/tty on <a
                    459:                href="https://man.openbsd.org/doas.1">doas(1)</a> auth failure.
                    460:        <li>Replaced <a href="https://man.openbsd.org/lrint.3">lrint(3)</a>,
                    461:                <a href="https://man.openbsd.org/lrintf.3">lrintf(3)</a>, <a
                    462:                href="https://man.openbsd.org/llrint.3">llrint(3)</a> and <a
                    463:                href="https://man.openbsd.org/llrintf.3">llrintf(3)</a>
                    464:                implementations from NetBSD with the existing FreeBSD implementations
                    465:                we were already using for <a
                    466:                href="https://man.openbsd.org/lrintl.3">lrintl(3)</a> and <a
                    467:                href="https://man.openbsd.org/llrintl.3">llrintl(3)</a>.
1.16      benno     468:        <li>In various games, call <a href="https://man.openbsd.org/pledge.2">pledge(2)</a>
1.7       benno     469:                later to prevent it from killing various games using ncurses when both
                    470:                stdout and stderr are redirected to a non-tty.
1.16      benno     471:        <li>Switched LLD_ARCHs (architectures using the LLVM <a
                    472:                href="https://man.openbsd.org/ld.lld.1">ld.lld(1)</a> linker) to also
                    473:                user the LLVM archiver <a
                    474:                href="https://man.openbsd.org/llvm-ar.1">llvm-ar(1)</a>.
                    475:        <li>Added openvpn ports (udp/1194 & tcp/1194) to /etc/services.
                    476:        <li>Prevented an access to uninitialized memory in <a
                    477:                href="https://man.openbsd.org/awk.1">awk(1)</a>.
                    478:        <li>Fixed <a href="https://man.openbsd.org/vi.1">vi(1)</a> recovery
                    479:                mode.
                    480:        <li>Extended and reordered the process accounting information
                    481:                structure <a href="https://man.openbsd.org/acct.5">acct(5)</a>. Flag
                    482:                Day for the <a href="https://man.openbsd.org/acct.2">acct(2)</a> file
                    483:                format.
                    484:        <li>Fixed <a
                    485:                href="https://man.openbsd.org/setusercontext.3">setusercontext(3)</a>
                    486:                error when /etc/login.conf is not present.
1.1       deraadt   487:   </ul>
                    488:
                    489: <li>Improved hardware support and driver bugfixes, including:
                    490:   <ul>
1.7       benno     491:        <li>Added support to <a
                    492:                href="https://man.openbsd.org/pchgpio.4">pchgpio(4)</a> for Cannon
                    493:                Lake H and Tiger Lake H platforms.
                    494:        <li>Ensured use of the correct encoding in xenocara when /etc/kbdtype
                    495:                is present with an attached <a
                    496:                href="https://man.openbsd.org/ucc.4">ucc(4)</a> keyboard.
                    497:        <li>Fixed an interrupt storm on <a
                    498:                href="https://man.openbsd.org/dwge.4">dwge(4)</a> variants which
                    499:                support Energy Efficient Ethernet when connected to a switch which
                    500:                does so as well.
                    501:        <li>Added support for tpm2 CRB interface to <a
                    502:                href="https://man.openbsd.org/tpm.4">tpm(4)</a>, fixing recent S4
                    503:                regressions on the Surface Go 2 caused by a firmware change.
                    504: `      <li>Ensured armv7 and arm64 efiboot allocate fresh memory for the
                    505:                device tree with at least one page of free space to extend into. This
                    506:                fixes booting on VMWare Fusion.
1.10      benno     507:        <li>Stopped binding audio devices exposed by <a
                    508:                href="https://man.openbsd.org/sndiod.8">sndiod(8)</a> to physical
                    509:                devices. <!-- XXX check this -->
                    510:        <li>Fixed handling of interrupts shared between multiple <a
                    511:                href="https://man.openbsd.org/dwiic.4">swiic(4)</a> devices.
1.11      benno     512:        <li>Introduced <a
                    513:                href="https://man.openbsd.org/iicmux.4">iicmux(4)</a>, a driver that
                    514:                switches between I2C busses connected to a single I2C controller by
                    515:                using the pin muxing facilities of an SoC.
                    516:        <li>Introduced <a
                    517:                href="https://man.openbsd.org/pcyrtc.4">pcyrtc(4)</a>, a driver for
                    518:                the NXP PCF85063A/TP RTC chips.
                    519:        <li>Fixed a panic when running <a
                    520:                href="https://man.openbsd.org/utvfu.4">utvfu(4)</a> on <a
                    521:                href="https://man.openbsd.org/xhci.4">xhci(4)</a>.
                    522:        <li>Added <a href="https://man.openbsd.org/acpipci.4">acpipci(4)</a>
                    523:                support for interrupts represented by ACPI PCI Interrupt Link Devices,
                    524:                making PCI interrupts work on QEMU's SBSA target.
1.16      benno     525:        <li>Added handling of multi-port controllers to <a
                    526:                href="https://man.openbsd.org/uslcom.4">uslcom(4)</a>.
                    527:        <li>Make <a href="https://man.openbsd.org/com.4">com(4)</a> attach
                    528:                over <a href="https://man.openbsd.org/acpi.4">acpi(4)</a> on amd64.
                    529:        <li>Added address locators for the ACPI "bus" and used these to fix
                    530:                the order of the <a href="https://man.openbsd.org/com.4">com(4)</a>
                    531:                devices to match the traditional order on the ISA bus.
                    532:        <li>Added Intel Jasper Lake to the <a
                    533:                href="https://man.openbsd.org/azalia.4">azalia(4)</a> audio driver.
                    534:        <li>Ensured <a href="https://man.openbsd.org/azalia.4">azalia(4)</a>
                    535:                matches on Intel 300 Series audio, fixing attaching on the Dell G3
                    536:                3590.
                    537:        <li>Added Synopsys Designware UART support to <a
                    538:                href="https://man.openbsd.org/com.4">com(4)</a>.
                    539:        <li>Fixed an issue where <a
                    540:                href="https://man.openbsd.org/com.4">com(4)</a> would attach for a
                    541:                disabled serial port leading to misdirection of the hardware variant
                    542:                and a subsequent hang when /etc/rc runs <a
                    543:                href="https://man.openbsd.org/ttyflags.8">ttyflags(8)</a> -a.
                    544:        <li>Fixed <a href="https://man.openbsd.org/sdhc.4">sdhc(4)</a> for
                    545:                Jasper Lake eMMC.
                    546:        <li>Improved how quirks are handled on <a
                    547:                href="https://man.openbsd.org/sdhc.4">sdhc(4)</a>-compatible drivers.
                    548:        <li>Enabled <a
                    549:                href="https://man.openbsd.org/acpibat.4">acpibat(4)</a> use with the
                    550:                Surface Go 3.
                    551:        <li>Fixed suspend/resume issues with <a
                    552:                href="https://man.openbsd.org/com.4">com(4)</a> at <a
                    553:                href="https://man.openbsd.org/acpi.4">acpi(4)</a>.
                    554:        <li>Correlated <a
                    555:                href="https://man.openbsd.org/uaudio.4">uaudio(4)</a> and <a
                    556:                href="https://man.openbsd.org/ucc.4">ucc(4)</a> devices attacked over
                    557:                USB in order to adjust the volume of the correct attached audio device
                    558:                rather than the first one attached.
                    559:        <li>Enabled PL011 UART FIFO support in <a
                    560:                href="https://man.openbsd.org/pluart.4">pluart(4)</a>.
1.15      benno     561:        <li>Added support for XBox One game controller on usb.
1.16      benno     562:        <li>Stopped suspending the <a
                    563:                href="https://man.openbsd.org/tpm.4">tpm(4)</a> device upon
                    564:                hibernation, preventing some systems from hanging when hibernating a
                    565:                second time.
                    566:        <li>Fixed <a href="https://man.openbsd.org/hilkbd.4">hilkbd(4)</a>
                    567:                Swedish keyboard layout on non-PS/2 style keyboards.
1.1       deraadt   568:   </ul>
                    569:
                    570: <li>New or improved network hardware support:
                    571:   <ul>
1.16      benno     572:        <li>Added support to <a
                    573:                href="https://man.openbsd.org/umb.4">umb(4)</a> for SIMCom SIM7600.
1.7       benno     574:        <li>Fixed an interrupt storm on <a
                    575:                href="https://man.openbsd.org/dwge.4">dwge(4)</a> variants which
                    576:                support Energy Efficient Ethernet when connected to a switch which
                    577:                does so as well.
1.16      benno     578:        <li>Applied MP-safe changes from <a
                    579:                href="https://man.openbsd.org/dwge.4">dwge(4)</a> to <a
                    580:                href="https://man.openbsd.org/dwxe.4">dwxe(4)</a>.
1.10      benno     581:        <li>Added <a href="https://man.openbsd.org/igc.4">igc(4)</a>, a
                    582:                driver for the Intel 2.5Gb Ethernet controllers.
1.11      benno     583:        <li>Implemented <a href="https://man.openbsd.org/em.4">em(4)</a>
                    584:                support for selecting SMGII or SerDes mode depending on the plugged-in
                    585:                SFP transceiver and for reading out transceiver information via <a
                    586:                href="https://man.openbsd.org/ifconfig.8">ifconfig(8)</a>.
1.16      benno     587:        <li>Enabled hardware vlan tagging for <a
                    588:                href="https://man.openbsd.org/ixl.4">ixl(4)</a>.
                    589:        <li>Re-enabled <a href="https://man.openbsd.org/ixl.4">ixl(4)</a>
                    590:                IPv4, TCP4/6 and UDP4/6 checksum offloading.  \ <li>Enabled receive
                    591:                checksum offloading on <a
                    592:                href="https://man.openbsd.org/ixl.4">ixl(4)</a>.
                    593:        <li>Prevented a possible deadlock in <a
                    594:                href="https://man.openbsd.org/cad.4">cad(4)</a>.
1.22      benno     595:        <li>Prevented <a href="https://man.openbsd.org/aq.4">aq(4)</a> nics
                    596:                from writing to mbufs taken off the ring when the interface was taken
                    597:                down.
1.16      benno     598:        <li>Fixed receive filter handling in <a
                    599:                href="https://man.openbsd.org/aq.4">aq(4)</a>.
                    600:        <li>Enable vlan promisc, header stripping and vlan RX/TX offload on
                    601:                <a href="https://man.openbsd.org/aq.4">aq(4)</a>.
                    602:        <li>Enabled checksum offloads on <a
                    603:                href="https://man.openbsd.org/aq.4">aq(4)</a>.
                    604:        <li>Enabled interrupt moderation on <a
                    605:                href="https://man.openbsd.org/aq.4">aq(4)</a>, aiming at around 20k
                    606:                per second.
                    607:        <li>Fixed <a href="https://man.openbsd.org/aq.4">aq(4)</a> occasional
                    608:                errors seen on rockpro64.
                    609:        <li>Fixed <a href="https://man.openbsd.org/ure.4">ure(4)</a> vlan
                    610:                transmission with hw tagging.
1.22      benno     611:        <li>Reworked <a href="https://man.openbsd.org/ix.4">ix(4)</a>
                    612:                checksum/vlan offloading and enabled it for IPv6.
                    613:        <li>Enabled IP header checksum offloading in <a
                    614:                href="https://man.openbsd.org/ix.4">ix(4)</a>.
1.1       deraadt   615:   </ul>
                    616:
                    617: <li>Added or improved wireless network drivers:
                    618:   <ul>
1.7       benno     619:        <li>Reset the Tx timer upon validation of a BA notification sent by
                    620:                <a href="https://man.openbsd.org/iwx.4">iwx(4)</a> and <a
                    621:                href="https://man.openbsd.org/iwm.4">iwm(4)</a> firmware.
                    622:        <li>Prevented <a href="https://man.openbsd.org/iwm.4">iwm(4)</a> and
                    623:                <a href="https://man.openbsd.org/iwx.4">iwx(4)</a> attempts to
                    624:                transition toward the same state where this would result in a
                    625:                redundant or illegal state transition and a potential hang.
                    626:        <li>Fixed a panic when <a
                    627:                href="https://man.openbsd.org/iwx.4">iwx(4)</a> cannot find firmware
                    628:                at boot time.
                    629:        <li>Fixed <a href="https://man.openbsd.org/iwm.4">iwm(4)</a>
                    630:                performance drop after roaming between APs in 11n mode.
                    631:        <li>Ensured <a href="https://man.openbsd.org/iwm.4">iwm(4)</a> uses
                    632:                only the HT (high throughput) frame format for data frames.
                    633:        <li>Allowed AUTH->AUTH state transitions in the <a
                    634:                href="https://man.openbsd.org/iwm.4">iwm(4)</a> and <a
                    635:                href="https://man.openbsd.org/iwx.4">iwx(4)</a> drivers again, needed
                    636:                if the access point uses band-steering.
                    637:        <li>Added support for 802.11n 40MHz channels to the <a
                    638:                href="https://man.openbsd.org/iwm.4">iwm(4)</a> driver.
                    639:        <li>Reverted to use <a
                    640:                href="https://man.openbsd.org/iwm.4">iwm(4)</a> firmware v17 on Intel
                    641:                AC 7265, fixing instability issues on X1 Carbon gen3.
                    642:        <li>Cached the old BSSID when roaming with <a
                    643:                href="https://man.openbsd.org/iwx.4">iwx(4)</a>.
                    644:        <li>Explicitly stopped <a
                    645:                href="https://man.openbsd.org/iwx.4">iwx(4)</a> Rx block ack when
                    646:                roaming between access points.
                    647:        <li>Added initial 40MHz support to the <a
                    648:                href="https://man.openbsd.org/iwx.4">iwx(4)</a> driver.
1.10      benno     649:        <li>Fixed <a href="https://man.openbsd.org/iwn.4">iwn(4)</a> with 4965 devices.
1.11      benno     650:        <li>Disabled active scanning on <a href="https://man.openbsd.org/iwm.4">iwm(4)</a> 9260 and 9560 to prevent a device lockup.
                    651:        <li>Fixed monitor mode on <a href="https://man.openbsd.org/iwm.4">iwm(4)</a> and <a href="https://man.openbsd.org/iwx.4">iwx(4)</a>.
                    652:        <li>Let <a href="https://man.openbsd.org/iwx.4">iwx(4)</a> and <a
                    653:                href="https://man.openbsd.org/iwm.4">iwm(4)</a> use per-Tx-queue
                    654:                interface timers to ensure timeout if a particular Tx queue gets
                    655:                stuck.
                    656:        <li>Disabled probe requests during scans in <a
                    657:                href="https://man.openbsd.org/iwx.4">iwx(4)</a> again, preventing
                    658:                device timeouts for some devices.<!-- XXX stsp: whats the final state of this? ;) -->
                    659:        <li>Switched <a href="https://man.openbsd.org/iwx.4">iwx(4)</a> to new -67 firmware images.
                    660:        <li>Made <a href="https://man.openbsd.org/iwm.4">iwm(4)</a> attach to PCI devices with product ID 0x31dc, part of the 9560 chip family.
                    661:        <li>Fixed wrong pointer assignment causing the driver to read block ack request information sent by firmware from the wrong offset in <a href="https://man.openbsd.org/iwx.4">iwx(4)</a>.
                    662:        <li>Fixed and reenabled active scans on <a href="https://man.openbsd.org/iwm.4">iwm(4)</a> and <a href="https://man.openbsd.org/iwx.4">iwx(4)</a>.
1.15      benno     663:        <li>Improved roaming stability on <a href="https://man.openbsd.org/iwn.4">iwn(4)</a>, particularly with wpa_supplicant.
                    664:        <li>Added 802.11ac support on <a href="https://man.openbsd.org/iwx.4">iwx(4)</a>.
                    665:        <li>Add initial 802.11ac support to <a href="https://man.openbsd.org/iwm.4">iwm(4)</a>.
                    666:        <li>Fixed attach of multiple <a href="https://man.openbsd.org/iwm.4">iwm(4)</a> or <a href="https://man.openbsd.org/iwx.4">iwx(4)</a> interfaces in the same machine.
                    667:        <li>Prevent announcing VHT capabilities on <a href="https://man.openbsd.org/iwm.4">iwm(4)</a> and <a href="https://man.openbsd.org/iwx.4">iwx(4)</a> for 2GHz bands during scans.
                    668:        <li>Fixed <a href="https://man.openbsd.org/iwm.4">iwm(4)</a> 802.11ac throughput at a distance.
1.16      benno     669:
                    670:        <li>Added relicensed wireless firmwares from Realtek for <a
                    671:                href="https://man.openbsd.org/rsu.4">rsu(4)</a>, <a
                    672:                href="https://man.openbsd.org/rtwn.4">rtwn(4)</a> and <a
                    673:                href="https://man.openbsd.org/urtwn.4">urtwn(4)</a> devices, allowing
                    674:                these devices to work without requiring a separate firmware download.
                    675:        <li>Added a workaround for buggy <a
                    676:                href="https://man.openbsd.org/athn.4">athn(4)</a> devices to prevent
                    677:                filling up the node cache when used in hostap mode.
                    678:        <li>Applied a workaround in <a
                    679:                href="https://man.openbsd.org/mvkpcie.4">mvkpcie(4)</a> to fix an
                    680:                external abort under load with <a
                    681:                href="https://man.openbsd.org/athn.4">athn(4)</a>.
                    682:        <li>Made <a href="https://man.openbsd.org/athn.4">athn(4)</a> attach
                    683:                to the Sony UWA-BR100.
                    684:        <li>Fixed "(null node)" panics on <a href="https://man.openbsd.org/run.4">run(4)</a>.
                    685:        <li>Introduced <a href="https://man.openbsd.org/mtw.4">mtw(4)</a>, a
                    686:                driver for MediaTek MT7601U wifi devices, enabled on i386, macppc and
                    687:                arm64.
                    688:        <li>Disabled minimum power consumption in <a
                    689:                href="https://man.openbsd.org/bwfm.4">bwfm(4)</a> hostap mode,
                    690:                improving connection reliability when used as an access point.
                    691:        <li>Added support for the BCM4387 to <a
                    692:                href="https://man.openbsd.org/bwfm.4">bwfm(4)</a>.
                    693:        <li>Improved TX performance on <a
                    694:                href="https://man.openbsd.org/urtwn.4">urtwn(4)</a> RTL8192EU devices.
                    695:        <li>Fix TX rate used by <a
                    696:                href="https://man.openbsd.org/rtwn.4">rtwn(4)</a> and <a
                    697:                        href="https://man.openbsd.org/urtwn.4">urtwn(4)</a> for RTS frames.
                    698:        <li>Added preliminary <a
                    699:                href="https://man.openbsd.org/ure.4">ure(4)</a> support for RTL8156B
                    700:                and bug fixes for RTL8153/RTL8156.
1.7       benno     701:
1.1       deraadt   702:   </ul>
                    703:
                    704: <li>IEEE 802.11 wireless stack improvements and bugfixes:
                    705:   <ul>
1.7       benno     706:        <li>Added <a href="https://man.openbsd.org/iwx.4">iwx(4)</a> Tx aggregation support.
                    707:        <li>Added an ADDBA_OFFLOAD capability for wifi devices to manage Tx block ack sessions entirely in firmware.
                    708:        <li>Cached the old BSSID when roaming with <a href="https://man.openbsd.org/iwm.4">iwm(4)</a> so firmware commands can continue using it while roaming to a new AP.
                    709:        <li>Added support for 40MHz channels to net80211 RA.
                    710:        <li>Added monitoring of 20/40MHz channel width changes in beacons sent by our access point, notifying drivers when the channel width has changed.
1.11      benno     711:        <li>Introduced an optional driver-specific bgscan_done() handler which allows the driver to take control of the roaming teardown sequence, ensuring that race conditions between firmware state and net80211 state are avoided.<!-- XXX srsly? "net80211" is the only thing in this sentence that tells me this is about wireless! -->
                    712:        <li>Implemented bgscan_done() handlers for <a href="https://man.openbsd.org/iwx.4">iwx(4)</a> and <a href="https://man.openbsd.org/iwm.4">iwm(4)</a>.
                    713:        <li>Taught the net80211 stack to remove corresponding frames from ic_pwrsaveq when a power-saving client decides to leave our hostap interface, preventing a panic.
1.15      benno     714:        <li>Added initial 802.11ac (VHT) support to the wifi stack.
                    715:        <li>Made <a href="https://man.openbsd.org/tcpdump.8">tcpdump(8)</a> show 802.11ac VHT capability and operation IEs in -v mode.
                    716:        <li>Added 802.11ac/VHT TX rate adaptation support to the wifi stack.
                    717:        <li>When choosing networks during SSID selection, give a higher score to 11ac and 11n access points, prioritizing 11ac.
1.1       deraadt   718:   </ul>
                    719:
                    720: <li>Generic network stack improvements and bugfixes:
                    721:   <ul>
1.7       benno     722:        <li>Fixed <a href="https://man.openbsd.org/pfctl.8">pfctl(8)</a> $nr incorrect macro expansion.
1.15      benno     723:        <li>Fixed <a href="https://man.openbsd.org/pfctl.8">pfctl(8)</a> rdr-to rules failing on certain port ranges when explicitly specified.
                    724:        <li>Ensured the <a href="https://man.openbsd.org/pf.4">pf(4)</a> "set prio" values are checked consistently.
1.11      benno     725:        <li>Made "set skip on ..." in <a
                    726:                href="https://man.openbsd.org/pf.conf.5">pf.conf(5)</a> dynamic, with
                    727:                this, "set skip" can be used on interfaces that are not configured
                    728:                yet.
1.22      benno     729:        <li>Protected <a
                    730:                href="https://man.openbsd.org/pfsync.4">pfsync(4)</a> tdb flags and
                    731:                lists with a mutex to prevent crashes involving pfsync, IPsec and
                    732:                parallel forwarding.
                    733:
                    734:        <li>Added support for PPP IPCP extensions for DNS to <a
                    735:                href="https://man.openbsd.org/sppp.4">sppp(4)</a>.
                    736:        <li>Added display of DNS information from <a
                    737:                href="https://man.openbsd.org/sppp.4">sppp(4)</a> to <a
                    738:                href="https://man.openbsd.org/ifconfig.8">ifconfig(8)</a>.
                    739:        <li>Switched to calculating <a
                    740:                href="https://man.openbsd.org/pppoe.4">pppoe(4)</a> session duration
                    741:                using system uptime rather than UTC.
                    742:
                    743:        <li>Fixed <a href="https://man.openbsd.org/veb.4">veb(4)</a> vport
                    744:                handling to prevent improper drop of packets leaving a vport
                    745:                interface.
                    746:        <li>Prevented tweaks to <a
                    747:                href="https://man.openbsd.org/tun.4">tun(4)</a> if_flags when the
                    748:                NET_LOCK isn't held.
                    749:        <li>Prevented reopening of <a
                    750:                href="https://man.openbsd.org/tun.4">tun(4)</a>/<a
                    751:                href="https://man.openbsd.org/tap.4">tap(4)</a> interfaces which are
                    752:                being destroyed.
1.15      benno     753:        <li>Rewrote <a href="https://man.openbsd.org/vxlan.4">vxlan(4)</a> to
                    754:                operate independently of <a
                    755:                href="https://man.openbsd.org/bridge.4">bridge(4)</a>, create and bind
                    756:                udp sockets and prevent loops.
1.22      benno     757:        <li>Stopped hiding the mtu on "bridge" interfaces which do handle l3
                    758:                traffic in <a
                    759:                href="https://man.openbsd.org/ifconfig.8">ifconfig(8)</a>.
                    760:        <li>Added mbuf tags to prevent output loops in <a
                    761:                href="https://man.openbsd.org/etherip.4">etherip(4)</a>.
                    762:        <li>Added rtable capability to <a
                    763:                href="https://man.openbsd.org/login.conf.5">login.conf(5)</a>,
                    764:                allowing to specify the rtable a process uses.
                    765:        <li>Made <a href="https://man.openbsd.org/su.1">su(1)</a> honor the
                    766:                login class routing table when doing a full login with su -l.
                    767:        <li>Fix IP output routines on raw sockets so route sourceaddr can
                    768:                take effect using <a
                    769:                href="https://man.openbsd.org/sendto.2">sendto(2)</a> or similar.
                    770:        <li>Ensured <a
                    771:                href="https://man.openbsd.org/pcap_lookupdev.3">pcap_lookupdev(3)</a>
                    772:                matches only on complete interface names.
1.1       deraadt   773:   </ul>
                    774:
                    775: <li>Installer and upgrade improvements:
                    776:   <ul>
1.22      benno     777:        <li>Corrected installer to understand "inet autoconf" properly in <a
1.7       benno     778:                href="https://man.openbsd.org/hostname.if.5">hostname.if(5)</a> files.
1.22      benno     779:        <li>Stopped prompting whether to fall back to HTTP in the installer,
                    780:                making the fallback automatic.
1.7       benno     781:        <li>Used <a href="https://man.openbsd.org/ifconfig.8">ifconfig(8)</a>
                    782:                "join" command by default in <a
                    783:                href="https://man.openbsd.org/hostname.if.5">hostname.if(5)</a> files,
                    784:                replacing the old "nwid".
1.22      benno     785:        <li>Replace custom bootloader installation code with <a
                    786:                href="https://man.openbsd.org/installboot.8">installboot(8)</a> on
                    787:                riscv64 and armv7 architecture installations.
                    788:        <li>New logic for <a
                    789:                href="https://man.openbsd.org/pkg_add.1">pkg_add(1)</a> to avoid
                    790:                excessive moving of files during updates when possible.
                    791:        <li>Documented OpenBSD installation and upgrade customization using the <a
                    792:                href="https://man.openbsd.org/install.site.5">install.site(5)</a> file.
1.10      benno     793:        <li>Corrected "!" escape handling in the installer when accepting WEP/WPA passphrase.
1.22      benno     794:        <li>Prevented a potential race which could make <a
                    795:                href="https://man.openbsd.org/umount.8">umount(8)</a> fail spuriously
                    796:                in the installer.
                    797:        <li>Made <a href="https://man.openbsd.org/config.8">config(8)</a> -e
                    798:                work with ramdisk kernels.
1.11      benno     799:        <li>Made <a href="https://man.openbsd.org/config.8">config(8)</a> -c
                    800:                cmdfile use lines from the command file for all input, not just
                    801:                commands. This allows complex actions like changing device parameters.
1.22      benno     802:        <li>Ensured that an interrupted arm64 install from the ramdisk kernel
                    803:                can be restarted.
                    804:
                    805:        <!-- fw_update -->
1.11      benno     806:        <li>Returned to a shell-script based <a
                    807:                href="https://man.openbsd.org/fw_update.8">fw_update(8)</a>, written
                    808:                to be usable by the install script, allowing earlier retrieval of
                    809:                downloaded firmwares.
                    810:        <li>Stopped <a
                    811:                href="https://man.openbsd.org/fw_update.8">fw_update(8)</a> from
                    812:                downloading SHA256.sig when not needed, to allow installing local
                    813:                files without network access.
                    814:        <li>Modified the installer to use <a
                    815:                href="https://man.openbsd.org/fw_update.8">fw_update(8)</a> to install
                    816:                non-free firmware files if present on the install media.
1.22      benno     817:        <li>Made <a
                    818:                href="https://man.openbsd.org/fw_update.8">fw_update(8)</a>
                    819:                re-download existing files with failed checksums.
                    820:        <li>Stopped unregistering firmware with <a
                    821:                href="https://man.openbsd.org/fw_update.8">fw_update(8)</a> when the
                    822:                SHA256.sig cannot be fetched.<!-- what does "unregistering firmware" mean? -->
                    823:        <li>Made <a
                    824:                href="https://man.openbsd.org/fw_update.8">fw_update(8)</a> use the
                    825:                /snapshots directory only on -current snapshot installations.
1.1       deraadt   826:   </ul>
                    827:
                    828: <li>Security improvements:
                    829:   <ul>
1.22      benno     830:        <li>Clear the length of keys in <a href="https://man.openbsd.org/vnconfig.8">vnconfig(8)</a> alongside keys themselves.
1.7       benno     831:        <li>Removed hifn(4), safe(4) and ubsec(4) crypto drivers.
                    832:        <li>Added call to <a href="https://man.openbsd.org/unveil.2">unveil(2)</a> to restrict <a href="https://man.openbsd.org/stty.1">stty(1)</a> -f filesystem access.
1.10      benno     833:        <li>Disabled <a href="https://man.openbsd.org/xterm.1">xterm(1)</a> mouse tracking by default.
1.22      benno     834:        <li>On arm64 architectures, use "rng-seed" and "kaslr-seed" properties from the device tree to mix extra entropy into the random pool.
1.15      benno     835:        <li>Made <a href="https://man.openbsd.org/apmd.8">apmd(8)</a> replace /etc/random.seed for hibernate-resumes.
1.11      benno     836:        <li>Restricted <a
                    837:                href="https://man.openbsd.org/usbhidctl.1">usbhidctl(1)</a> and <a
                    838:                href="https://man.openbsd.org/usbhidaction.1">usbhidaction(1)</a> file
                    839:                system access with <a
                    840:                href="https://man.openbsd.org/unveil.2">unveil(2)</a>.
1.14      benno     841:        <li>Added <a href="https://man.openbsd.org/ps.1">ps(1)</a> status flag "c" to indicate a process is chrooted.
1.15      benno     842:        <li>In <a
                    843:                href="https://man.openbsd.org/rpc.rusersd.8">rpc.rusersd(8)</a> <a
                    844:                href="https://man.openbsd.org/unveil.2">unveil(2)</a> "/dev" read-only
                    845:                instead of using <a
                    846:                href="https://man.openbsd.org/chroot.2">chroot(2)</a>.
1.1       deraadt   847:   </ul>
                    848:
                    849: <li>Routing daemons and other userland network improvements:
                    850:   <ul>
1.11      benno     851:        <li>Switched <a href="https://man.openbsd.org/nsd.8">nsd(8)</a> to enable default DNS cookies on, matching behavior as released in OpenBSD 7.0.
1.7       benno     852:        <li>Ensured enabled resolvers are honored by <a href="https://man.openbsd.org/unwind.8">unwind(8)</a> to keep unused forwarders disabled properly.
1.11      benno     853:        <li>Installed missing scope identifiers for IPv6 link-local addresses for <a href="https://man.openbsd.org/unwind.8">unwind(8)</a> and <a href="https://man.openbsd.org/resolvd.8">resolvd(8)</a>.
                    854:        <li>Allowed interface names as scope-id in IPv6 link-local addresses in <a href="https://man.openbsd.org/unbound.8">unbound(8)</a>.
1.15      benno     855:        <li>Let <a href="https://man.openbsd.org/unwind.8">unwind(8)</a> probe for DNS64 presence with an absolute name, so asr doesn't add search domains and retry.
1.7       benno     856:        <li>Stopped duplicating "Connection: close" headers in <a href="https://man.openbsd.org/relayd.8">relayd(8)</a>, only adding it if it's not a websocket response.
1.11      benno     857:        <li>Modified <a href="https://man.openbsd.org/syslog.conf.5">syslog.conf(5)</a> examples to use TLS rather than the plaintext protocols.
                    858:        <li>Stopped ignoring <a href="https://man.openbsd.org/carp.4">carp(4)</a> interfaces in <a href="https://man.openbsd.org/dhcpleased.8">dhcpleased(8)</a>.
                    859:        <li>Made the <a href="https://man.openbsd.org/dhcpleased.8">dhcpleased(8)</a> host name DHCP option configurable.
                    860:        <li>Prevented a crash in <a href="https://man.openbsd.org/slaacd.8">slaacd(8)</a> due to updating an interface which no longer exists.
1.15      benno     861:        <li>Prevented a potential crash when <a href="https://man.openbsd.org/slaacd.8">slaacd(8)</a> receives more than 7 nameservers.
                    862:        <li>Fixed crash in <a href="https://man.openbsd.org/slaacd.8">slaacd(8)</a> when receiving a negative length field for DNS labels.
1.11      benno     863:        <li>Fix <a href="https://man.openbsd.org/unveil.2">unveil(2)</a> in <a href="https://man.openbsd.org/ldapd.8">ldapd(8)</a>, create permissions are required for databases.
                    864:        <li>Made <a href="https://man.openbsd.org/dhcpd.8">dhcpd(8)</a> start listening on interface in 'down' state. Interfaces can come up later, at which point dhcpd(8) will start receiving packets.
                    865:        <li>Added a basic printer for EAPOL packets to <a href="https://man.openbsd.org/tcpdump.8">tcpdump(8)</a>.
1.15      benno     866:        <li>Made <a href="https://man.openbsd.org/ping.8">ping(8)</a> print out the source address and sequence number when the signature on an icmp echo reply doesn't match.
                    867:        <li>Rate limit <a href="https://man.openbsd.org/rad.8">rad(8)</a> router advertisements according to RFC 4861.
1.22      benno     868:
                    869:        <!-- httpd -->
                    870:        <li><a href="https://man.openbsd.org/httpd.8">httpd(8)</a> received new features and bugfixes:
                    871:        <ul>
                    872:            <li>Respond with 400 Bad Request when a client sends header lines without a colon.
                    873:            <li>Added protocol version checking.
                    874:            <li>Annotated an <a href="https://man.openbsd.org/httpd.8">httpd(8)</a> 413 error with "request body too large" in the error log.
                    875:            <li>Corrected <a
                    876:                href="https://man.openbsd.org/httpd.8">httpd(8)</a> version string
                    877:                checking, responding with 505 Version Not Supported rather than 400
                    878:                Bad Request when the version format is incorrect.
                    879:            <li>Stop sending content alongside responses to HEAD requests.
                    880:            <li>Added support for custom error pages.
                    881:            <li>Added a gzip-static option to <a
                    882:                href="https://man.openbsd.org/httpd.conf.5">httpd.conf(5)</a>,
                    883:                allowing delivery of precompressed files with content-encoding gzip.
                    884:            <li>Improved handling of static compressed gzip files.
                    885:        </ul>
                    886:
                    887:
                    888:        <!-- IPSEC/isakmpd/iked -->
                    889:        <li>IPSEC support was improved:
                    890:        <ul>
                    891:            <li>Made <a href="https://man.openbsd.org/iked.conf.5">iked.conf(5)</a> proto config option accept a list to allow specifying multiple protocols for a single policy.
                    892:            <li>Fixed removal of SAs that could not be flushed with <a href="https://man.openbsd.org/ipsecctl.8">ipsecctl(8)</a> -F.
                    893:            <li>Changed <a href="https://man.openbsd.org/isakmpd.8">isakmpd(8)</a> to log a warning when proto is NULL rather than dereferencing it.
                    894:            <li>Fixed broken key exchange negotiation with matching proposals in <a href="https://man.openbsd.org/iked.8">iked(8)</a>.
                    895:            <li>Added <a href="https://man.openbsd.org/ikectl.8">ikectl(8)</a> "show certinfo" to show trusted CAs and certificates.
                    896:            <li>Added <a href="https://man.openbsd.org/iked.8">iked(8)</a> -V to display the version.
                    897:            <li>Fixed a bug where <a href="https://man.openbsd.org/iked.8">iked(8)</a> sent zero-prefixed NAT-T messages on port 500, causing parsing errors.
                    898:            <li>Improved message fragment retransmissions for <a href="https://man.openbsd.org/iked.8">iked(8)</a>.
                    899:            <li>Make sure <a href="https://man.openbsd.org/iked.8">iked(8)</a> vroute messages are correctly aligned, fixes autoconfiguration of addresses on octeon.
                    900:        </ul>
                    901:        <!-- rpki-client -->
                    902:        <li><a
                    903:                href="https://man.openbsd.org/rpki-client.8">rpki-client(8)</a> was
                    904:                made more resilient regarding untrusted input. Additionally the
                    905:                following bugfixes and improvements were made:
                    906:        <ul>
                    907:            <li>Added support for validating BGPsec Router Public Keys.
                    908:            <li>Fix issues with chunked transfer encoding in the RRDP HTTP client.
                    909:            <li>Cleanup and improvement of how IO is handled.
                    910:            <li>Improvements in the way X509 certificates are verified.
                    911:            <li>Make rpki-client
                    912:            <li>Limit the number of concurrent rsync processes.
                    913:            <li>Fix CRLF in tal files.
                    914:            <li>Enforce the correct namespace of rrdp files.
                    915:            <li>Fail certificate verification if a certificate contains unknown
                    916:                critical extensions.
                    917:            <li>Improve cleanup of rrdp directory contents.
                    918:            <li>Introduce a validated cache which holds all the files that have
                    919:                successfully been verified by rpki-client.
                    920:            <li>Add a new option '-f <file>' to validate a signed object in a file
                    921:                against the RPKI cache.
                    922:            <li>Add various RFC 6488 compliance checks to improve the CMS parser.
                    923:            <li>Improve RRDP replication through less aggressive cache cleanup.
                    924:            <li>Add a check whether a given Manifest EE certificate is listed on the
                    925:                applicable CRL.
                    926:            <li>For forward compatibility permit ASPA object to appear on Manifests.
                    927:            <li>Various improvements to the '-f <file>' diagnostic option to
                    928:                now also validate files containing Trust Anchor certs and CRLs.
                    929:            <li>Do not apply timezone offsets when converting X509 times.  X509
                    930:                times are in UTC and comparing them to times in different timezones
                    931:                would cause validity problems.
                    932:            <li>Limited the number of <a
                    933:                href="https://man.openbsd.org/openrsync.1">openrsync(1)</a> processes
                    934:                being spawned by <a
                    935:                href="https://man.openbsd.org/rpki-client.8">rpki-client(8)</a> to 16.
                    936:        </ul>
                    937:        <!-- bgpd -->
                    938:        <li>In <a href="https://man.openbsd.org/bgpd.conf.5">bgpd(8)</a>,
                    939:        <ul>
                    940:            <li>macro expansion in the config file was improved. It is now possible
                    941:                to expand 'set large-community $myAS:$location:$transit'.
                    942:            <li>tThe RIB codebase was refactored in order to add multipath
                    943:                support in an upcoming release.
                    944:            <li>the <a href="https://man.openbsd.org/bgpd.8">bgpd</a> login
                    945:                class datasize attribute (in <a
                    946:                href="https://man.openbsd.org/login.conf.5">login.conf(5)</a>) was set
                    947:                to either 16G or 1G, depending on architecture.
                    948:            <li>added a "listen on" parameter in in <a
                    949:                href="https://man.openbsd.org/bgpd.conf.5">bgpd.conf(5)</a> to make it
                    950:                possible to bind and connect to non-default ports.
                    951:        </ul>
1.1       deraadt   952:   </ul>
                    953:
                    954: <li><a href="https://man.openbsd.org/tmux">tmux(1)</a> improvements and bug fixes:
                    955:   <ul>
1.7       benno     956:        <li>Fixed a crash in <a
                    957:                href="https://man.openbsd.org/tmux.1">tmux(1)</a> when a session with
                    958:                multiple clients is destroyed but tmux does not close completely due
                    959:                to other sessions.
                    960:        <li>Fixed a <a href="https://man.openbsd.org/tmux.1">tmux(1)</a>
                    961:                redraw problem on automargin terminals.
                    962:        <li>Fixed a problem with repeat in <a
                    963:                href="https://man.openbsd.org/tmux.1">tmux(1)</a> copy mode.
                    964:        <li>Added -T to set a popup title in <a
                    965:                href="https://man.openbsd.org/tmux.1">tmux(1)</a>.
                    966:        <li>Added -s and -S to <a
                    967:                href="https://man.openbsd.org/tmux.1">tmux(1)</a> display-popup to set
                    968:                popup and border style.
                    969:        <li>Fixed application-set fg and bg in <a
                    970:                href="https://man.openbsd.org/tmux.1">tmux(1)</a> panes.
                    971:        <li>Added a way to force a color to RGB in <a
                    972:                href="https://man.openbsd.org/tmux.1">tmux(1)</a> and a format to
                    973:                display it.
1.10      benno     974:        <li>Added a cursor-colour option to <a href="https://man.openbsd.org/tmux.1">tmux(1)</a>.
                    975:        <li>Added a cursor-style option to <a href="https://man.openbsd.org/tmux.1">tmux(1)</a>.
1.11      benno     976:        <li>Added a pane-border-format pane option to <a href="https://man.openbsd.org/tmux.1">tmux(1)</a>.
                    977:        <li>Added attempts to turn on less-capable mouse modes when <a href="https://man.openbsd.org/tmux.1">tmux(1)</a> turns on more-capable ones, in case the terminal doesn't support the desired mode.
1.14      benno     978:        <li>Added a <a href="https://man.openbsd.org/tmux.1">tmux(1)</a> option to show arrows for the active pane indicator.
                    979:        <li>Added a key in <a href="https://man.openbsd.org/tmux.1">tmux(1)</a> copy mode to toggle the position indicator.
1.15      benno     980:        <li>Added an option in <a href="https://man.openbsd.org/tmux.1">tmux(1)</a> to set the character for unused areas of the terminal.
                    981:        <li>Add <a href="https://man.openbsd.org/tmux.1">tmux(1)</a> option to control if it scrolls into history on clear.
                    982:        <li>Added OSC 7 capability to <a href="https://man.openbsd.org/tmux.1">tmux(1)</a> for setting titles.
1.1       deraadt   983:   </ul>
                    984:
1.16      benno     985: <li>OpenSMTPD version XXX <!--- XXX --->
1.1       deraadt   986:   <ul>
1.14      benno     987:        <li>Stopped <a href="https://man.openbsd.org/smtpd.8">smtpd(8)</a> from verifying the cert or CA for a relay using opportunistic TLS.
1.15      benno     988:        <li>Enabled TLS verify by default for outbound "smtps://" and "smtp+tls://", restoring documented <a href="https://man.openbsd.org/smtpd.8">smtpd(8)</a> behavior.
1.1       deraadt   989:   </ul>
                    990:
1.16      benno     991: <li>LibreSSL version XXX <!--- XXX --->
1.1       deraadt   992:   <ul>
                    993:     <li>New Features
                    994:     <ul>
1.9       inoguchi  995:       <li>The RFC 3779 API was ported from OpenSSL.<br>
                    996:          Many bugs were fixed, regression tests were added and the code was cleaned up.
                    997:       <li>Certificate Transparency was ported from OpenSSL.<br>
                    998:           Many internal improvements were made, resulting in cleaner and safer code.<br>
                    999:           Regress coverage was added. libssl does not yet make use of it.
1.1       deraadt  1000:     </ul>
                   1001:
                   1002:     <li>Portable Improvements
                   1003:     <ul>
1.9       inoguchi 1004:       <li>Enabled ASAN CI on Linux platform.<br>
                   1005:           Thanks to Ilya Shipitsin (chipitsine &lt;at&gt; gmail com).
                   1006:       <li>Fixed various POSIX compliance and other portability issues<br>
                   1007:           found by the port to the Sortix operating system.
                   1008:       <li>Add libmd as platform specific libraries for Solaris.<br>
                   1009:           Issue reported from (ihsan &lt;at&gt; opencsw org) on libressl ML.
                   1010:       <li>Set IA-64 compiler flag only if it is HP-UX with IA-64.<br>
                   1011:           Suggested from Larkin Nickle (me &lt;at&gt; larbob org) by libressl ML.
                   1012:       <li>Enabled and scheduled Coverity scan.<br>
                   1013:           Contributed by Ilya Shipitsin (chipitsine &lt;at&gt; gmail com) on github.
1.1       deraadt  1014:     </ul>
                   1015:
1.9       inoguchi 1016:     <li>Compatibility Changes
                   1017:     <ul>
                   1018:       <li>Most structs that were previously defined in the following headers
                   1019:           are now opaque as they are in OpenSSL 1.1:<br>
                   1020:           bio.h, bn.h, comp.h, dh.h, dsa.h, evp.h, hmac.h, ocsp.h, rsa.h,
                   1021:           x509.h, x509v3.h, x509_vfy.h
                   1022:       <li>Switch TLSv1.3 cipher names from AEAD- to OpenSSL's TLS_<br>
                   1023:           OpenSSL added the TLSv1.3 ciphersuites with "RFC names" instead
                   1024:           of using something consistent with the previous naming.<br>
                   1025:           Various test suites expect these names (instead of checking for the much
                   1026:           more sensible cipher numbers).<br>
                   1027:           The old names are still accepted as aliases.
                   1028:       <li>Subject alternative names and name constraints are now validated
                   1029:           when they are added to certificates.<br>
                   1030:           Various interoperability problems with stacks that validate
                   1031:           certificates more strictly than OpenSSL can be avoided this way.
                   1032:       <li>Attempt to opportunistically use the host name for SNI in s_client
                   1033:     </ul>
                   1034:
                   1035:     <li>Bug fixes
1.1       deraadt  1036:     <ul>
1.9       inoguchi 1037:       <li>Avoid infinite loop for custom curves of order 1.<br>
                   1038:           Found and reported with a reproducer by Hanno Boeck.
                   1039:           Helpful comments and analysis from David Benjamin.
                   1040:       <li>Avoid infinite loop on parsing DSA private keys.<br>
                   1041:           Issue reported with reproducers by Hanno Boeck.
                   1042:           Additional variants and analysis by David Benjamin.
                   1043:       <li>A malicious certificate can cause an infinite loop.<br>
                   1044:           Reported by and fix from Tavis Ormandy and David Benjamin, Google.
                   1045:       <li>In some situations, the verifier would discard the error on an
                   1046:           unvalidated certificate chain.<br>
                   1047:           This would happen when the verification callback was in use,
                   1048:           instructing the verifier to continue unconditionally.<br>
                   1049:           This could lead to incorrect decisions being made in software.
                   1050:       <li>Avoid an infinite loop in SSL_shutdown()
                   1051:       <li>Fix another return 0 bug in SSL_shutdown()
                   1052:       <li>Handle zero byte reads/writes that trigger handshakes in the
                   1053:           TLSv1.3 stack
                   1054:       <li>A long standing memleak in libtls CRL handling was fixed
1.1       deraadt  1055:     </ul>
                   1056:
1.9       inoguchi 1057:     <li>Internal Improvements
1.1       deraadt  1058:     <ul>
1.9       inoguchi 1059:       <li>Cache the SHA-512 hash instead of the SHA-1 hash and cache
                   1060:           notBefore and notAfter times when X.509 certificates are parsed.
                   1061:       <li>The X.509 lookup code has been simplified and cleaned up.
                   1062:       <li>Fixed numerous issues flagged by coverity and the cryptofuzz project
                   1063:       <li>Increased the number of Miller-Rabin checks in DH and DSA
                   1064:           key/parameter generation
                   1065:       <li>Started using the bytestring API in libcrypto for cleaner and
                   1066:           safer code
                   1067:       <li>Convert {i2d,d2i}_{,EC_,DSA_,RSA_}PUBKEY{,_bio,_fp}() to templated
                   1068:           ASN1
                   1069:       <li>Convert ASN1_OBJECT_new() to calloc()
                   1070:       <li>Convert ASN1_STRING_type_new() to calloc()
                   1071:       <li>Rewrite ASN1_STRING_cmp()
                   1072:       <li>Use calloc() for X509_CRL_METHOD_new() instead of malloc()
                   1073:       <li>Convert ASN1_PCTX_new() to calloc()
                   1074:       <li>Replace asn1_tlc_clear and asn1_tlc_clear_nc macros with a function
                   1075:       <li>Consolidate {d2i,i2d}_{pr,pu}.c
                   1076:       <li>Remove handling of a NULL BUF_MEM from asn1_collect()
                   1077:       <li>Pull the recursion depth check up to the top of asn1_collect()
                   1078:       <li>Inline collect_data() in asn1_collect()
                   1079:       <li>Convert asn1_d2i_ex_primitive()/asn1_collect() from BUF_MEM to CBB
                   1080:       <li>Clean up d2i_ASN1_BOOLEAN() and i2d_ASN1_BOOLEAN()
                   1081:       <li>Consolidate ASN.1 universal tag type data
                   1082:       <li>Rewrite ASN.1 identifier/length parsing in CBS
                   1083:       <li>Make OBJ_obj2nid() work correctly with NID_undef
                   1084:       <li>tlsext_tick_lifetime_hint is now an uint32_t
                   1085:       <li>Untangle ssl3_get_message() return values
                   1086:       <li>Rename tls13_buffer to tls_buffer
                   1087:       <li>Fold DTLS_STATE_INTERNAL into DTLS1_STATE
                   1088:       <li>Provide a way to determine our maximum legacy version
                   1089:       <li>Mop up enc_read_ctx and read_hash
                   1090:       <li>Fold SSL_SESSION_INTERNAL into SSL_SESSION
                   1091:       <li>Use ssl_force_want_read in the DTLS code
                   1092:       <li>Add record processing limit to DTLS code
                   1093:       <li>Add explicit CBS_contains_zero_byte() check in CBS_strdup()
                   1094:       <li>Improve SNI hostname validation
                   1095:       <li>Ensure SSL_set_tlsext_host_name() is given a valid hostname
                   1096:       <li>Fix a strange check in the auto DH codepath
                   1097:       <li>Factor out/rewrite DHE key exchange
                   1098:       <li>Convert server serialisation of DHE parameters/public key to new
                   1099:           functions
                   1100:       <li>Check DH public key in ssl_kex_peer_public_dhe()
                   1101:       <li>Move the minimum DHE key size check into ssl_kex_peer_params_dhe()
                   1102:       <li>Clean up and refactor server side DHE key exchange
                   1103:       <li>Provide CBS_get_last_u8()
                   1104:       <li>Provide CBS_get_u64()
                   1105:       <li>Provide CBS_add_u64()
                   1106:       <li>Provide various CBS_peek_* functions
                   1107:       <li>Use CBS_get_last_u8() to find the content type in TLSv1.3 records
                   1108:       <li>unifdef TLS13_USE_LEGACY_CLIENT_AUTH
                   1109:       <li>Correct SSL_get_peer_cert_chain() when used with the TLSv1.3 stack
                   1110:       <li>Only allow zero length key shares when we know we're doing HRR
                   1111:       <li>Pull key share group/length CBB code up from
                   1112:           tls13_key_share_public()
                   1113:       <li>Refactor ssl3_get_server_kex_ecdhe() to separate parsing and
                   1114:           validation
                   1115:       <li>Return 0 on failure from send/get kex functions in the legacy
                   1116:           stack
                   1117:       <li>Rename tls13_key_share to tls_key_share
                   1118:       <li>Allocate and free the EVP_AEAD_CTX struct in
                   1119:           tls13_record_protection
                   1120:       <li>Convert legacy TLS client to tls_key_share
                   1121:       <li>Convert legacy TLS server to tls_key_share
                   1122:       <li>Stop attempting to duplicate the public and private key of dh_tmp
                   1123:       <li>Rename dh_tmp to dhe_params
                   1124:       <li>Rename CERT to SSL_CERT and CERT_PKEY to SSL_CERT_PKEY
                   1125:       <li>Clean up pkey handling in ssl3_get_server_key_exchange()
                   1126:       <li>Fix GOST skip certificate verify handling
                   1127:       <li>Simplify tlsext_keyshare_server_parse()
                   1128:       <li>Plumb decode errors through key share parsing code
                   1129:       <li>Simplify SSL_get_peer_certificate()
                   1130:       <li>Cleanup/simplify ssl_cert_type()
                   1131:       <li>The S3I macro was removed
                   1132:       <li>The openssl(1) cms, smime and ts subcommands option handling was
                   1133:           converted and the C source was cleaned up.
1.1       deraadt  1134:     </ul>
                   1135:
1.9       inoguchi 1136:     <li>Documentation improvements
1.1       deraadt  1137:     <ul>
1.9       inoguchi 1138:       <li>45 new manual pages, most of which were written from scratch.<br>
                   1139:           Documentation coverage of ASN.1 and X.509 code has been
                   1140:           significantly improved.
1.1       deraadt  1141:     </ul>
                   1142:
1.9       inoguchi 1143:     <li>API additions and removals
1.1       deraadt  1144:     <ul>
1.9       inoguchi 1145:       <li>libssl
                   1146:       <ul>
                   1147:         <li>API additions
                   1148:         <ul>
                   1149:           <li>SSL_get0_verified_chain SSL_peek_ex SSL_read_ex SSL_write_ex
                   1150:         </ul>
                   1151:         <li>API stubs for compatibility
                   1152:         <ul>
                   1153:           <li>SSL_CTX_get_keylog_callback SSL_CTX_get_num_tickets<br>
                   1154:               SSL_CTX_set_keylog_callback SSL_CTX_set_num_tickets<br>
                   1155:               SSL_get_num_tickets SSL_set_num_tickets
                   1156:         </ul>
                   1157:       </ul>
                   1158:       <li>libcrypto
                   1159:       <ul>
                   1160:         <li>added API (some of these were previously available as macros):
                   1161:         <ul>
                   1162:           <li>ASIdOrRange_free ASIdOrRange_new ASIdentifierChoice_free<br>
                   1163:               ASIdentifierChoice_new ASIdentifiers_free ASIdentifiers_new<br>
                   1164:               ASN1_TIME_diff ASRange_free ASRange_new BIO_get_callback_ex<br>
                   1165:               BIO_get_init BIO_set_callback_ex BIO_set_next<br>
                   1166:               BIO_set_retry_reason BN_GENCB_set BN_GENCB_set_old<br>
                   1167:               BN_abs_is_word BN_get_flags BN_is_negative<br>
                   1168:               BN_is_odd BN_is_one BN_is_word BN_is_zero BN_set_flags<br>
                   1169:               BN_to_montgomery BN_with_flags BN_zero_ex CTLOG_STORE_free<br>
                   1170:               CTLOG_STORE_get0_log_by_id CTLOG_STORE_load_default_file<br>
                   1171:               CTLOG_STORE_load_file CTLOG_STORE_new CTLOG_free<br>
                   1172:               CTLOG_get0_log_id CTLOG_get0_name CTLOG_get0_public_key<br>
                   1173:               CTLOG_new CTLOG_new_from_base64 CT_POLICY_EVAL_CTX_free<br>
                   1174:               CT_POLICY_EVAL_CTX_get0_cert CT_POLICY_EVAL_CTX_get0_issuer<br>
                   1175:               CT_POLICY_EVAL_CTX_get0_log_store CT_POLICY_EVAL_CTX_get_time<br>
                   1176:               CT_POLICY_EVAL_CTX_new CT_POLICY_EVAL_CTX_set1_cert<br>
                   1177:               CT_POLICY_EVAL_CTX_set1_issuer<br>
                   1178:               CT_POLICY_EVAL_CTX_set_shared_CTLOG_STORE<br>
                   1179:               CT_POLICY_EVAL_CTX_set_time DH_get0_g DH_get0_p DH_get0_priv_key<br>
                   1180:               DH_get0_pub_key DH_get0_q DH_get_length DSA_bits DSA_get0_g<br>
                   1181:               DSA_get0_p DSA_get0_priv_key DSA_get0_pub_key DSA_get0_q<br>
                   1182:               ECDSA_SIG_get0_r ECDSA_SIG_get0_s EVP_AEAD_CTX_free<br>
                   1183:               EVP_AEAD_CTX_new EVP_CIPHER_CTX_buf_noconst<br>
                   1184:               EVP_CIPHER_CTX_get_cipher_data EVP_CIPHER_CTX_set_cipher_data<br>
                   1185:               EVP_MD_CTX_md_data EVP_MD_CTX_pkey_ctx EVP_MD_CTX_set_pkey_ctx<br>
                   1186:               EVP_MD_meth_dup EVP_MD_meth_free EVP_MD_meth_new<br>
                   1187:               EVP_MD_meth_set_app_datasize EVP_MD_meth_set_cleanup<br>
                   1188:               EVP_MD_meth_set_copy EVP_MD_meth_set_ctrl EVP_MD_meth_set_final<br>
                   1189:               EVP_MD_meth_set_flags EVP_MD_meth_set_init<br>
                   1190:               EVP_MD_meth_set_input_blocksize EVP_MD_meth_set_result_size<br>
                   1191:               EVP_MD_meth_set_update EVP_PKEY_asn1_set_check<br>
                   1192:               EVP_PKEY_asn1_set_param_check EVP_PKEY_asn1_set_public_check<br>
                   1193:               EVP_PKEY_check EVP_PKEY_meth_set_check<br>
                   1194:               EVP_PKEY_meth_set_param_check EVP_PKEY_meth_set_public_check<br>
                   1195:               EVP_PKEY_param_check EVP_PKEY_public_check FIPS_mode<br>
                   1196:               FIPS_mode_set IPAddressChoice_free IPAddressChoice_new<br>
                   1197:               IPAddressFamily_free IPAddressFamily_new IPAddressOrRange_free<br>
                   1198:               IPAddressOrRange_new IPAddressRange_free IPAddressRange_new<br>
                   1199:               OBJ_get0_data OBJ_length OCSP_resp_get0_certs OCSP_resp_get0_id<br>
                   1200:               OCSP_resp_get0_produced_at OCSP_resp_get0_respdata<br>
                   1201:               OCSP_resp_get0_signature OCSP_resp_get0_signer<br>
                   1202:               OCSP_resp_get0_tbs_sigalg PEM_write_bio_PrivateKey_traditional<br>
                   1203:               RSA_get0_d RSA_get0_dmp1 RSA_get0_dmq1 RSA_get0_e RSA_get0_iqmp<br>
                   1204:               RSA_get0_n RSA_get0_p RSA_get0_pss_params RSA_get0_q<br>
                   1205:               SCT_LIST_free SCT_LIST_print SCT_LIST_validate SCT_free<br>
                   1206:               SCT_get0_extensions SCT_get0_log_id SCT_get0_signature<br>
                   1207:               SCT_get_log_entry_type SCT_get_signature_nid SCT_get_source<br>
                   1208:               SCT_get_timestamp SCT_get_validation_status SCT_get_version<br>
                   1209:               SCT_new SCT_new_from_base64 SCT_print SCT_set0_extensions<br>
                   1210:               SCT_set0_log_id SCT_set0_signature SCT_set1_extensions<br>
                   1211:               SCT_set1_log_id SCT_set1_signature SCT_set_log_entry_type<br>
                   1212:               SCT_set_signature_nid SCT_set_source SCT_set_timestamp<br>
                   1213:               SCT_set_version SCT_validate SCT_validation_status_string<br>
                   1214:               X509_OBJECT_free X509_OBJECT_new X509_REQ_get0_pubkey<br>
                   1215:               X509_SIG_get0 X509_SIG_getm X509_STORE_CTX_get_by_subject<br>
                   1216:               X509_STORE_CTX_get_num_untrusted<br>
                   1217:               X509_STORE_CTX_get_obj_by_subject X509_STORE_CTX_get_verify<br>
                   1218:               X509_STORE_CTX_get_verify_cb X509_STORE_CTX_set0_verified_chain<br>
                   1219:               X509_STORE_CTX_set_current_cert X509_STORE_CTX_set_error_depth<br>
                   1220:               X509_STORE_CTX_set_verify X509_STORE_get_verify<br>
                   1221:               X509_STORE_get_verify_cb X509_STORE_set_verify<br>
                   1222:               X509_get_X509_PUBKEY X509_get_extended_key_usage<br>
                   1223:               X509_get_extension_flags X509_get_key_usage<br>
                   1224:               X509v3_addr_add_inherit X509v3_addr_add_prefix<br>
                   1225:               X509v3_addr_add_range X509v3_addr_canonize X509v3_addr_get_afi<br>
                   1226:               X509v3_addr_get_range X509v3_addr_inherits<br>
                   1227:               X509v3_addr_is_canonical X509v3_addr_subset<br>
                   1228:               X509v3_addr_validate_path X509v3_addr_validate_resource_set<br>
                   1229:               X509v3_asid_add_id_or_range X509v3_asid_add_inherit<br>
                   1230:               X509v3_asid_canonize X509v3_asid_inherits<br>
                   1231:               X509v3_asid_is_canonical X509v3_asid_subset<br>
                   1232:               X509v3_asid_validate_path X509v3_asid_validate_resource_set<br>
                   1233:               d2i_ASIdOrRange d2i_ASIdentifierChoice d2i_ASIdentifiers<br>
                   1234:               d2i_ASRange d2i_IPAddressChoice d2i_IPAddressFamily<br>
                   1235:               d2i_IPAddressOrRange d2i_IPAddressRange d2i_SCT_LIST<br>
                   1236:               i2d_ASIdOrRange i2d_ASIdentifierChoice i2d_ASIdentifiers<br>
                   1237:               i2d_ASRange i2d_IPAddressChoice i2d_IPAddressFamily<br>
                   1238:               i2d_IPAddressOrRange i2d_IPAddressRange i2d_SCT_LIST<br>
                   1239:               i2d_re_X509_CRL_tbs i2d_re_X509_REQ_tbs i2d_re_X509_tbs i2o_SCT<br>
                   1240:               i2o_SCT_LIST o2i_SCT o2i_SCT_LIST
                   1241:         </ul>
                   1242:         <li>removed API:
                   1243:         <ul>
                   1244:           <li>ASN1_check_infinite_end ASN1_const_check_infinite_end EVP_dss<br>
                   1245:               EVP_dss1 EVP_ecdsa HMAC_CTX_cleanup HMAC_CTX_init<br>
                   1246:               NETSCAPE_ENCRYPTED_PKEY_free NETSCAPE_ENCRYPTED_PKEY_new<br>
                   1247:               NETSCAPE_PKEY_free NETSCAPE_PKEY_new NETSCAPE_X509_free<br>
                   1248:               NETSCAPE_X509_new OBJ_bsearch_ex_ PEM_SealFinal PEM_SealInit<br>
                   1249:               PEM_SealUpdate PEM_read_X509_CERT_PAIR<br>
                   1250:               PEM_read_bio_X509_CERT_PAIR PEM_write_X509_CERT_PAIR<br>
                   1251:               PEM_write_bio_X509_CERT_PAIR X509_CERT_PAIR_free<br>
                   1252:               X509_CERT_PAIR_new X509_OBJECT_free_contents asn1_do_adb<br>
                   1253:               asn1_do_lock asn1_enc_free asn1_enc_init asn1_enc_restore<br>
                   1254:               asn1_enc_save asn1_ex_c2i asn1_get_choice_selector<br>
                   1255:               asn1_get_field_ptr asn1_set_choice_selector check_defer<br>
                   1256:               d2i_ASN1_BOOLEAN d2i_NETSCAPE_ENCRYPTED_PKEY d2i_NETSCAPE_PKEY<br>
                   1257:               d2i_NETSCAPE_X509 d2i_Netscape_RSA d2i_RSA_NET<br>
                   1258:               d2i_X509_CERT_PAIR i2d_ASN1_BOOLEAN i2d_NETSCAPE_ENCRYPTED_PKEY<br>
                   1259:               i2d_NETSCAPE_PKEY i2d_NETSCAPE_X509 i2d_Netscape_RSA i2d_RSA_NET<br>
                   1260:               i2d_X509_CERT_PAIR name_cmp obj_cleanup_defer
                   1261:         </ul>
                   1262:       </ul>
1.1       deraadt  1263:     </ul>
                   1264:   </ul>
                   1265:
1.16      benno    1266: <li>OpenSSH version XXX <!--- XXX --->
1.1       deraadt  1267:  <ul>
                   1268:   <li>Security
                   1269:   <ul>
1.4       benno    1270:     <li>...
1.1       deraadt  1271:   </ul>
                   1272:   <li>Potentially incompatible changes
                   1273:   <ul>
1.4       benno    1274:     <li>...
1.1       deraadt  1275:   </ul>
                   1276:
                   1277:   <li>New features
                   1278:   <ul>
1.4       benno    1279:     <li>...
1.1       deraadt  1280:   </ul>
                   1281:
                   1282:   <li>Bugfixes
                   1283:   <ul>
1.4       benno    1284:     <li>...
1.1       deraadt  1285:   </ul>
                   1286:  </ul>
                   1287:
1.13      schwarze 1288: <li>mandoc 1.14.6 plus several bugfixes, including:
1.1       deraadt  1289:     <ul>
1.13      schwarze 1290:        <li>Fixed <a href="https://man.openbsd.org/man.1">man(1)</a>
                   1291:                to always read the configuration file and respect
                   1292:                the other directives contained in it,
                   1293:                even when the manpath is overridden by other means.
                   1294:        <li>Fixed a memory leak in
                   1295:                <a href="https://man.openbsd.org/man.1">man(1)</a>
                   1296:                that mattered when many names were given on the command line.
                   1297:        <li>Fixed a small memory leak in the
                   1298:                <a href="https://man.openbsd.org/roff.7">roff(7)</a> parser
                   1299:                that occurred each time a user-defined macro was called.
                   1300:         <li>Fixed the width of the <code>\h</code> (horizontal motion)
                   1301:                <a href="https://man.openbsd.org/roff.7">roff(7)</a>
                   1302:                escape sequence in the PostScript and PDF output modes.
1.15      benno    1303:        <li>Avoid legacy CSS2 syntax and use CSS3 two-value syntax in <a
                   1304:                href="https://man.openbsd.org/mandoc.1">mandoc(1)</a>.
1.1       deraadt  1305:     </ul>
                   1306:
                   1307: <li>Ports and packages:
                   1308:   <p>Many pre-built packages for each architecture:
                   1309:   <!-- number of FTP packages minus SHA256, SHA256.sig, index.txt -->
                   1310:   <ul style="column-count: 3">
                   1311:     <li>aarch64:     XXXX
1.17      naddy    1312:     <li>amd64:      11301
1.20      deraadt  1313:     <li>arm:         XXXX
                   1314:     <li>i386:       10136
1.1       deraadt  1315:     <li>mips64:      XXXX
                   1316:     <li>powerpc:     XXXX
                   1317:     <li>powerpc64:   XXXX
                   1318:     <li>riscv64:     XXXX
                   1319:     <li>sparc64:     XXXX
                   1320:   </ul>
                   1321:
                   1322:   <p>Some highlights:
                   1323:   <ul style="column-count: 3">
1.12      sthen    1324:     <li>Asterisk 16.25.1, 18.11.1 and 19.3.1
1.1       deraadt  1325:     <li>Audacity 2.4.2
                   1326:     <li>CMake 3.20.3
1.5       jsg      1327:     <li>Chromium 100.0.4896.75
1.1       deraadt  1328:     <li>Emacs 27.2
1.5       jsg      1329:     <li>FFmpeg 4.4.1
1.1       deraadt  1330:     <li>GCC 8.4.0 and 11.2.0
                   1331:     <li>GHC 8.10.6
1.5       jsg      1332:     <li>GNOME 41.5
                   1333:     <li>Go 1.17.7
                   1334:     <li>JDK 8u322, 11.0.14 and 17.0.2
                   1335:     <li>KDE Applications 21.12.2
                   1336:     <li>KDE Frameworks 5.91.0
                   1337:     <li>Krita 5.0.2
                   1338:     <li>LLVM/Clang 13.0.0
                   1339:     <li>LibreOffice 7.3.2.2
1.1       deraadt  1340:     <li>Lua 5.1.5, 5.2.4 and 5.3.6
1.5       jsg      1341:     <li>MariaDB 10.6.7
1.1       deraadt  1342:     <li>Mono 6.12.0.122
1.5       jsg      1343:     <li>Mozilla Firefox 99.0 and ESR 91.8.0
                   1344:     <li>Mozilla Thunderbird 91.8.0
                   1345:     <li>Mutt 2.2.2 and NeoMutt 20211029
                   1346:     <li>Node.js 16.14.2
                   1347:     <li>OCaml 4.12.1
1.1       deraadt  1348:     <li>OpenLDAP 2.4.59
1.5       jsg      1349:     <li>PHP 7.4.28, 8.0.17 and 8.1.4
                   1350:     <li>Postfix 3.5.14
                   1351:     <li>PostgreSQL 14.2
                   1352:     <li>Python 2.7.18, 3.8.13, 3.9.12 and 3.10.4
1.1       deraadt  1353:     <li>Qt 5.15.2 and 6.0.4
1.5       jsg      1354:     <li>R 4.1.2
                   1355:     <li>Ruby 2.7.5, 3.0.3 and 3.1.1
                   1356:     <li>Rust 1.59.0
                   1357:     <li>SQLite 2.8.17 and 3.38.2
                   1358:     <li>Shotcut 21.10.31
                   1359:     <li>Sudo 1.9.10
                   1360:     <li>Suricata 6.0.4
1.1       deraadt  1361:     <li>Tcl/Tk 8.5.19 and 8.6.8
1.5       jsg      1362:     <li>TeX Live 2021
                   1363:     <li>Vim 8.2.4600 and Neovim 0.6.1
1.1       deraadt  1364:     <li>Xfce 4.16
                   1365:   </ul>
                   1366:   <p>
                   1367:
                   1368: <li>As usual, steady improvements in manual pages and other documentation.
                   1369:
                   1370: <li>The system includes the following major components from outside suppliers:
                   1371:   <ul>
1.5       jsg      1372:     <li>Xenocara (based on X.Org 7.7 with xserver 1.21.1.3 + patches,
                   1373:         freetype 2.11.0, fontconfig 2.12.94, Mesa 21.3.7, xterm 369,
1.1       deraadt  1374:         xkeyboard-config 2.20, fonttosfnt 1.2.2 and more)
1.5       jsg      1375:     <li>LLVM/Clang 13.0.0 (+ patches)
1.1       deraadt  1376:     <li>GCC 4.2.1 (+ patches) and 3.3.6 (+ patches)
                   1377:     <li>Perl 5.32.1 (+ patches)
1.5       jsg      1378:     <li>NSD 4.4.0
                   1379:     <li>Unbound 1.15.0
1.1       deraadt  1380:     <li>Ncurses 5.7
                   1381:     <li>Binutils 2.17 (+ patches)
                   1382:     <li>Gdb 6.3 (+ patches)
1.10      benno    1383:     <li>Awk October 12, 2021
1.5       jsg      1384:     <li>Expat 2.4.7
1.1       deraadt  1385:   </ul>
                   1386:
                   1387: </ul>
                   1388: </section>
                   1389:
                   1390: <hr>
                   1391:
                   1392: <section id=install>
                   1393: <h3>How to install</h3>
                   1394: <p>
                   1395: Please refer to the following files on the mirror site for
                   1396: extensive details on how to install OpenBSD 7.1 on your machine:
                   1397:
                   1398: <ul>
                   1399: <li><a href="https://ftp.openbsd.org/pub/OpenBSD/7.1/alpha/INSTALL.alpha">
                   1400:        .../OpenBSD/7.1/alpha/INSTALL.alpha</a>
                   1401: <li><a href="https://ftp.openbsd.org/pub/OpenBSD/7.1/amd64/INSTALL.amd64">
                   1402:        .../OpenBSD/7.1/amd64/INSTALL.amd64</a>
                   1403: <li><a href="https://ftp.openbsd.org/pub/OpenBSD/7.1/arm64/INSTALL.arm64">
                   1404:        .../OpenBSD/7.1/arm64/INSTALL.arm64</a>
                   1405: <li><a href="https://ftp.openbsd.org/pub/OpenBSD/7.1/armv7/INSTALL.armv7">
                   1406:        .../OpenBSD/7.1/armv7/INSTALL.armv7</a>
                   1407: <li><a href="https://ftp.openbsd.org/pub/OpenBSD/7.1/hppa/INSTALL.hppa">
                   1408:        .../OpenBSD/7.1/hppa/INSTALL.hppa</a>
                   1409: <li><a href="https://ftp.openbsd.org/pub/OpenBSD/7.1/i386/INSTALL.i386">
                   1410:        .../OpenBSD/7.1/i386/INSTALL.i386</a>
                   1411: <li><a href="https://ftp.openbsd.org/pub/OpenBSD/7.1/landisk/INSTALL.landisk">
                   1412:        .../OpenBSD/7.1/landisk/INSTALL.landisk</a>
                   1413: <li><a href="https://ftp.openbsd.org/pub/OpenBSD/7.1/luna88k/INSTALL.luna88k">
                   1414:        .../OpenBSD/7.1/luna88k/INSTALL.luna88k</a>
                   1415: <li><a href="https://ftp.openbsd.org/pub/OpenBSD/7.1/macppc/INSTALL.macppc">
                   1416:        .../OpenBSD/7.1/macppc/INSTALL.macppc</a>
                   1417: <li><a href="https://ftp.openbsd.org/pub/OpenBSD/7.1/octeon/INSTALL.octeon">
                   1418:        .../OpenBSD/7.1/octeon/INSTALL.octeon</a>
                   1419: <li><a href="https://ftp.openbsd.org/pub/OpenBSD/7.1/powerpc64/INSTALL.powerpc64">
                   1420:        .../OpenBSD/7.1/powerpc64/INSTALL.powerpc64</a>
                   1421: <li><a href="https://ftp.openbsd.org/pub/OpenBSD/7.1/riscv64/INSTALL.riscv64">
                   1422:        .../OpenBSD/7.1/riscv64/INSTALL.riscv64</a>
                   1423: <li><a href="https://ftp.openbsd.org/pub/OpenBSD/7.1/sparc64/INSTALL.sparc64">
                   1424:        .../OpenBSD/7.1/sparc64/INSTALL.sparc64</a>
                   1425: </ul>
                   1426: </section>
                   1427:
                   1428: <hr>
                   1429:
                   1430: <section id=quickinstall>
                   1431: <p>
                   1432: Quick installer information for people familiar with OpenBSD, and the use of
                   1433: the "<a href="https://man.openbsd.org/disklabel.8">disklabel</a> -E" command.
                   1434: If you are at all confused when installing OpenBSD, read the relevant
                   1435: INSTALL.* file as listed above!
                   1436:
                   1437: <h3>OpenBSD/alpha:</h3>
                   1438:
                   1439: <p>
                   1440: If your machine can boot from CD, you can write <i>install71.iso</i> or
                   1441: <i>cd71.iso</i> to a CD and boot from it.
                   1442: Refer to INSTALL.alpha for more details.
                   1443:
                   1444: <h3>OpenBSD/amd64:</h3>
                   1445:
                   1446: <p>
                   1447: If your machine can boot from CD, you can write <i>install71.iso</i> or
                   1448: <i>cd71.iso</i> to a CD and boot from it.
                   1449: You may need to adjust your BIOS options first.
                   1450:
                   1451: <p>
                   1452: If your machine can boot from USB, you can write <i>install71.img</i> or
                   1453: <i>miniroot71.img</i> to a USB stick and boot from it.
                   1454:
                   1455: <p>
                   1456: If you can't boot from a CD, floppy disk, or USB,
                   1457: you can install across the network using PXE as described in the included
                   1458: INSTALL.amd64 document.
                   1459:
                   1460: <p>
                   1461: If you are planning to dual boot OpenBSD with another OS, you will need to
                   1462: read INSTALL.amd64.
                   1463:
                   1464: <h3>OpenBSD/arm64:</h3>
                   1465:
                   1466: <p>
                   1467: Write <i>install71.img</i> or <i>miniroot71.img</i> to a disk and boot from it
                   1468: after connecting to the serial console.  Refer to INSTALL.arm64 for more
                   1469: details.
                   1470:
                   1471: <h3>OpenBSD/armv7:</h3>
                   1472:
                   1473: <p>
                   1474: Write a system specific miniroot to an SD card and boot from it after connecting
                   1475: to the serial console.  Refer to INSTALL.armv7 for more details.
                   1476:
                   1477: <h3>OpenBSD/hppa:</h3>
                   1478:
                   1479: <p>
                   1480: Boot over the network by following the instructions in INSTALL.hppa or the
                   1481: <a href="hppa.html#install">hppa platform page</a>.
                   1482:
                   1483: <h3>OpenBSD/i386:</h3>
                   1484:
                   1485: <p>
                   1486: If your machine can boot from CD, you can write <i>install71.iso</i> or
                   1487: <i>cd71.iso</i> to a CD and boot from it.
                   1488: You may need to adjust your BIOS options first.
                   1489:
                   1490: <p>
                   1491: If your machine can boot from USB, you can write <i>install71.img</i> or
                   1492: <i>miniroot71.img</i> to a USB stick and boot from it.
                   1493:
                   1494: <p>
                   1495: If you can't boot from a CD, floppy disk, or USB,
                   1496: you can install across the network using PXE as described in
                   1497: the included INSTALL.i386 document.
                   1498:
                   1499: <p>
                   1500: If you are planning on dual booting OpenBSD with another OS, you will need to
                   1501: read INSTALL.i386.
                   1502:
                   1503: <h3>OpenBSD/landisk:</h3>
                   1504:
                   1505: <p>
                   1506: Write <i>miniroot71.img</i> to the start of the CF
                   1507: or disk, and boot normally.
                   1508:
                   1509: <h3>OpenBSD/luna88k:</h3>
                   1510:
                   1511: <p>
                   1512: Copy 'boot' and 'bsd.rd' to a Mach or UniOS partition, and boot the bootloader
                   1513: from the PROM, and then bsd.rd from the bootloader.
                   1514: Refer to the instructions in INSTALL.luna88k for more details.
                   1515:
                   1516: <h3>OpenBSD/macppc:</h3>
                   1517:
                   1518: <p>
                   1519: Burn the image from a mirror site to a CDROM, and power on your machine
                   1520: while holding down the <i>C</i> key until the display turns on and
                   1521: shows <i>OpenBSD/macppc boot</i>.
                   1522:
                   1523: <p>
                   1524: Alternatively, at the Open Firmware prompt, enter <i>boot cd:,ofwboot
                   1525: /7.1/macppc/bsd.rd</i>
                   1526:
                   1527: <h3>OpenBSD/octeon:</h3>
                   1528:
                   1529: <p>
                   1530: After connecting a serial port, boot bsd.rd over the network via DHCP/tftp.
                   1531: Refer to the instructions in INSTALL.octeon for more details.
                   1532:
                   1533: <h3>OpenBSD/powerpc64:</h3>
                   1534:
                   1535: <p>
                   1536: To install, write <i>install71.img</i> or <i>miniroot71.img</i> to a
                   1537: USB stick, plug it into the machine and choose the <i>OpenBSD
                   1538: install</i> menu item in Petitboot.
                   1539: Refer to the instructions in INSTALL.powerpc64 for more details.
                   1540:
                   1541: <h3>OpenBSD/riscv64:</h3>
                   1542:
                   1543: <p>
                   1544: To install, write <i>install71.img</i> or <i>miniroot71.img</i> to a
                   1545: USB stick, and boot with that drive plugged in.
                   1546: Make sure you also have the microSD card plugged in that shipped with the
                   1547: HiFive Unmatched board.
                   1548: Refer to the instructions in INSTALL.riscv64 for more details.
                   1549:
                   1550: <h3>OpenBSD/sparc64:</h3>
                   1551:
                   1552: <p>
                   1553: Burn the image from a mirror site to a CDROM, boot from it, and type
                   1554: <i>boot cdrom</i>.
                   1555:
                   1556: <p>
                   1557: If this doesn't work, or if you don't have a CDROM drive, you can write
                   1558: <i>floppy71.img</i> or <i>floppyB71.img</i>
                   1559: (depending on your machine) to a floppy and boot it with <i>boot
                   1560: floppy</i>. Refer to INSTALL.sparc64 for details.
                   1561:
                   1562: <p>
                   1563: Make sure you use a properly formatted floppy with NO BAD BLOCKS or your install
                   1564: will most likely fail.
                   1565:
                   1566: <p>
                   1567: You can also write <i>miniroot71.img</i> to the swap partition on
                   1568: the disk and boot with <i>boot disk:b</i>.
                   1569:
                   1570: <p>
                   1571: If nothing works, you can boot over the network as described in INSTALL.sparc64.
                   1572: </section>
                   1573:
                   1574: <hr>
                   1575:
                   1576: <section id=upgrade>
                   1577: <h3>How to upgrade</h3>
                   1578: <p>
1.6       tj       1579: If you already have an OpenBSD 7.0 system, and do not want to reinstall,
1.1       deraadt  1580: upgrade instructions and advice can be found in the
                   1581: <a href="faq/upgrade71.html">Upgrade Guide</a>.
                   1582: </section>
                   1583:
                   1584: <hr>
                   1585:
                   1586: <section id=sourcecode>
                   1587: <h3>Notes about the source code</h3>
                   1588: <p>
                   1589: <code>src.tar.gz</code> contains a source archive starting at <code>/usr/src</code>.
                   1590: This file contains everything you need except for the kernel sources,
                   1591: which are in a separate archive.
                   1592: To extract:
                   1593: <blockquote><pre>
                   1594: # <kbd>mkdir -p /usr/src</kbd>
                   1595: # <kbd>cd /usr/src</kbd>
                   1596: # <kbd>tar xvfz /tmp/src.tar.gz</kbd>
                   1597: </pre></blockquote>
                   1598: <p>
                   1599: <code>sys.tar.gz</code> contains a source archive starting at <code>/usr/src/sys</code>.
                   1600: This file contains all the kernel sources you need to rebuild kernels.
                   1601: To extract:
                   1602: <blockquote><pre>
                   1603: # <kbd>mkdir -p /usr/src/sys</kbd>
                   1604: # <kbd>cd /usr/src</kbd>
                   1605: # <kbd>tar xvfz /tmp/sys.tar.gz</kbd>
                   1606: </pre></blockquote>
                   1607: <p>
                   1608: Both of these trees are a regular CVS checkout.  Using these trees it
                   1609: is possible to get a head-start on using the anoncvs servers as
                   1610: described <a href="anoncvs.html">here</a>.
                   1611: Using these files
                   1612: results in a much faster initial CVS update than you could expect from
                   1613: a fresh checkout of the full OpenBSD source tree.
                   1614: </section>
                   1615:
                   1616: <hr>
                   1617:
                   1618: <section id=ports>
                   1619: <h3>Ports Tree</h3>
                   1620: <p>
                   1621: A ports tree archive is also provided.  To extract:
                   1622: <blockquote><pre>
                   1623: # <kbd>cd /usr</kbd>
                   1624: # <kbd>tar xvfz /tmp/ports.tar.gz</kbd>
                   1625: </pre></blockquote>
                   1626: <p>
                   1627: Go read the <a href="faq/ports/index.html">ports</a> page
                   1628: if you know nothing about ports
                   1629: at this point.  This text is not a manual of how to use ports.
                   1630: Rather, it is a set of notes meant to kickstart the user on the
                   1631: OpenBSD ports system.
                   1632: <p>
                   1633: The <i>ports/</i> directory represents a CVS checkout of our ports.
                   1634: As with our complete source tree, our ports tree is available via
                   1635: <a href="anoncvs.html">AnonCVS</a>.
                   1636: So, in order to keep up to date with the -stable branch, you must make
                   1637: the <i>ports/</i> tree available on a read-write medium and update the tree
                   1638: with a command like:
                   1639: <blockquote><pre>
                   1640: # <kbd>cd /usr/ports</kbd>
                   1641: # <kbd>cvs -d anoncvs@server.openbsd.org:/cvs update -Pd -rOPENBSD_7_1</kbd>
                   1642: </pre></blockquote>
                   1643: <p>
                   1644: [Of course, you must replace the server name here with a nearby anoncvs
                   1645: server.]
                   1646: <p>
                   1647: Note that most ports are available as packages on our mirrors. Updated
                   1648: ports for the 7.1 release will be made available if problems arise.
                   1649: <p>
                   1650: If you're interested in seeing a port added, would like to help out, or just
                   1651: would like to know more, the mailing list
                   1652: <a href="mail.html">ports@openbsd.org</a> is a good place to know.
                   1653: </section>