# Cyrus IMAP 3.12.1 Release Notes

Download from GitHub:

> - https://github.com/cyrusimap/cyrus-imapd/releases/download/cyrus-imapd-3.12.1/cyrus-imapd-3.12.1.tar.gz

> - https://github.com/cyrusimap/cyrus-imapd/releases/download/cyrus-imapd-3.12.1/cyrus-imapd-3.12.1.tar.gz.sig

## Changes since 3.12.0

### STARTTLS changes

The industry is deprecating STARTTLS (aka opportunistic TLS) in favor of implicit TLS over a dedicated port. STARTTLS is now disabled by default.

Installations that need to service clients that use opportunistic TLS should enable the allowstarttls imapd.conf(5) option for the services that need it. For example, for a service configured with the name imap in cyrus.conf(5), set imap_allowstarttls: on to enable STARTTLS.

### Security changes

- Fixed Issue #5477: master: tighten up pidfile/etc handling

### Build changes

- Fixed Issue #5439: safer detection of 'function nesting' support

- Fixed Issue #5450: fix zoneinfo_db code for GCC 15 (thanks Yadd)

### Bug fixes

- Fixed Issue #5397: check `jmap_max_size_request` before parsing JSON

- Fixed Issue #5424: recognise service-specific SASL options in `cyr_info conf-lint`

- Fixed Issue #5423: charset.c needs stdbool.h

- Fixed Issue #5441: config bitfields must be 64-bits wide

- Fixed Issue #5420: fix double-free in http_admin (thanks Wolfgang Breyha)

- Fixed Issue #5460: pop3d: add basic prometheus support (thanks Wolfgang Breyha)

- Fixed Issue #5466: imtest: fix output for 'C: {0}+' (thanks Дилян Палаузов)

- Fixed Issue #5478: config_read_file leak on fatal

- Fixed Issue #5481: imapd: typo in SASL-IR capability

- Fixed Issue #5454: httpd fails to parse OpenSSL version for status string