Genuinely curious, since I can't gleam that from skimming the release notes.
Genuinely curious, since I can't gleam that from skimming the release notes.
FreeBSD 14.0 represents over two and a half years of feature development, stability and security improvements, and bug fixes. Some of these changes were cherry-picked into the stable/13 branch and were included in the FreeBSD 13.1 and FreeBSD 13.2 minor releases built from there.
A sibling comment notes that APIs or ABIs may change between major versions. This is true, but this is not the reason for a new major version. Rather, ABI and API changes are allowed during the development cycle on the main branch, but are not cherry-picked into the existing stable branches.
I have a proposed change to include in the release notes some significant changes that happened to have been merged into 13.x already, and so far have been excluded from 14.0's notes: https://reviews.freebsd.org/D42546
And really appreciate all you & the other FreeBSD developers do.
Question: I’d be curious to hear your take on below (with the exception of the better defaults blog topic, since I see your comment history on that).
* https://docs.freebsd.org/en/books/porters-handbook/versions/
https://www.freebsd.org/releases/14.0R/relnotes/
The "Runtime Libraries and API" section doesn't indicate any breaking changes, nor am I seeing it anywhere else in the release notes.
* 008: 14.0-CURRENT after changing the internal KAPI between the krpc and NFS modules.
* 010: 14.0-CURRENT after changing the sndstat(4) ioctls nvlist schema and definitions.
* 022: 14.0-CURRENT after commit e1a907a25cfa changed the internal KAPI between the krpc and nfsserver modules.
* 026: 14.0-CURRENT after changing the internal KAPI between the nfscommon and nfsd modules.
* 037: 14.0-CURRENT after removal of thread argument from VOP_STAT(9) and fo_stat.
* 043: 14.0-CURRENT after removing the unused thread argument from NDINIT(9).
* 054: 14.0-CURRENT after changing irq_work_queue to return a bool in LinuxKPI to match 5.10 API.
* 062: 14.0-CURRENT after struct kinfo_file changes.
* 086: 14.0-CURRENT after vn_lock_pair() argument changes.
See:
* https://docs.freebsd.org/en/books/porters-handbook/versions/
Kernel APIs are also part of the stability guarantee (unlike Linux).
There's more, but that's the first thing that comes to mind.