:tocdepth: 3

===============================
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

.. _relnotes-3.12.1-changes:

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` :cyrusman:`imapd.conf(5)` option for
the services that need it.  For example, for a service configured with
the name `imap` in :cyrusman:`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
