What's new in the Bookworm release?
This page is still a work in progress.
The non-free section of Debian's repositories has been split, with non-free Firmware packages being moved into a new section called non-free-firmware. Users who need packages from this section (basically, everyone running Debian on real hardware) may need to edit their sources.list files before upgrading to bookworm.
New malloc implementation: mimalloc
Kernel SMB server: ksmbd-tools
Fonts Team: a lot of new fonts, many updated fonts and fnt a CLI font manager for another 1500 unpackaged fonts (that are DFSG compliant, from Google Fonts).
GRUB bootloader packages will by default no longer run os-prober to look for other operating systems on a computer when generating boot menus. Users with dual-boot systems may configure this using dpkg-reconfigure on the package in use (most likely grub-pc or grub-efi-amd64)
The use of bash as /bin/sh is no longer supported. /bin/sh will be changed (if necessary) to point to dash (which has been the default configuration for many releases). The effects and risks of manually changing the /bin/sh symlink are not known at this time.
A syslog daemon, such as rsyslog, is no longer installed by default; the systemd journalctl utility is available to review logs. If desired, rsyslog and other syslog daemons are still available to be installed manually; search for system-log-daemon packages.
The systemd package has demoted systemd-timesyncd from Depends to Recommends, per #986651. Thus, minimal installations no longer include an NTP client. Installations with the default "standard system utilities" software selected, will install systemd-timesyncd. Alternate NTP programs may be installed manually; search for time-daemon packages(which doesn't work with apt. Use apt-cache search time-daemon or aptitude show time-daemon). (Note: the legacy NTP.org package is no longer maintained in Debian, and ntp is now a dummy transitional package to the NTPsec package ntpsec.)
The tempfile and rename.ul programs have been removed. Any scripts which use either of these commands will need to be changed. Suitable replacements are mktemp and file-rename respectively.
The which program has been deprecated, and writes a warning to standard error (but still works, so long as stderr is not being captured along with stdout). Shell script writers are advised to use command -v instead. Interactive bash shell users are advised to use type, or type -a. In zsh which is already a shell builtin, so interactive zsh users are not affected, same thing for csh and its derivative tcsh.