представлений реліз Samba 4.12.0, що продовжив розвиток гілки Samba 4 з повноцінною реалізацією контролера домену та сервісу Active Directory, сумісного з реалізацією Windows 2000 та здатного обслуговувати всі підтримувані Microsoft версії Windows-клієнтів, у тому числі Windows 10. Samba 4 є багатофункціональним серверним продуктом, що надає також реалізацію файлового сервера, сервісу друку та сервера ідентифікації (winbind).
З кодової бази видалено вбудовані реалізації криптографічних функцій на користь використання зовнішніх бібліотек. Як основна криптобібліотека вирішено використовувати GnuTLS (потрібна як мінімум версія 3.4.7). Крім зниження можливих загроз, пов'язаних з виявленням уразливостей у вбудованих реалізаціях криптоалгоритмів, перехід на GnuTLS також дозволив досягти суттєвого підвищення продуктивності при використанні шифрування SMB3. Під час тестування з реалізацією клієнта CIFS з ядра Linux 5.3 зафіксовано підвищення швидкості запису у 3 рази, а читання у 2.5 разу.
Додано новий бекенд для пошуку на SMB-розділах з використанням протоколу Прожектор, заснований на пошуковому движку Elasticsearch (Раніше надавалися бекенд на базі GNOME Tracker). До складу також додано утиліту "mdfind" з реалізацією клієнта, що дозволяє відправляти пошукові запити до будь-якого SMB-сервера, на якому запущено RPC-сервіс Spotlight. Значення параметрів spotlight backend за замовчуванням змінено на noindex (для Tracker або Elasticsearch слід явно виставити значення tracker або elasticsearch).
Змінено поведінку операцій 'net ads kerberos pac save' та 'net eventlog export', які тепер не перезаписують файл, а у разі спроби експорту до існуючого файлу виводять помилку.
У samba-tool покращено додавання контактних записів для членів груп. Якщо раніше, за допомогою команди 'samba-tool group addmemers' можна було просто додати користувачів, групи та комп'ютери як нові члени груп, то тепер з'явилася підтримка додавання контактів як членів груп.
У samba-tool дозволено фільтрацію по організаційним підрозділам (OU, Organizational Unit) або піддереву. Додані нові прапори «base-dn» та «member-base-dn», які дають змогу виконати операцію лише з певною частиною дерева Active Directory, наприклад, лише в рамках одного підрозділу OU.
Додано новий VFS-модуль 'io_uring', який використовує новий інтерфейс ядра Linux io_uring для асинхронного введення/виводу. Io_uring підтримує полінг вводу/виводу і може працювати з буферизацією (раніше запропонований механізм aio не підтримував буферизований введення/виведення). Працюючи з включеним полінгом по продуктивності io_uring істотно випереджає aio. В даний час на базі io_uring Samba реалізована підтримка SMB_VFS_{PREAD,PWRITE,FSYNC}_SEND/RECV і знижено накладні витрати на підтримку пула багатопоточного виконання (threadpool) у просторі користувача при застосуванні пропонованого за умовчанням бекенду VFS. Для складання VFS-модуля 'io_uring' потрібна наявність бібліотеки liburing та ядра Linux 5.1+.
У VFS забезпечена можливість вказівки спеціального значення часу UTIME_OMIT для позначення необхідності ігнорування часу функції SMB_VFS_NTIMES().
B smb.conf припинено підтримку параметра "write cache size", який втратив сенс після появи підтримки io_uring.
У Samba-DC та Kerberos припинено підтримку шифрування з використанням алгоритму DES. У Heimdal-DC видалено код weak-crypto.
Видалено модуль vfs_netatalk, який залишився без супроводу та втратив актуальність.
Оголошено застарілим бекенд BIND9_FLATFILE, який буде видалено в одному з наступних випусків.
Бібліотека zlib включена до складу складальних залежностей. Вбудована реалізація zlib видалена з кодової бази (код заснований на старій версії zlib, в якій нормально не працювала підтримка шифрування).
Налагоджено fuzzing-тестування кодової бази, у тому числі у сервісі
oss-fuzz. У ході fuzzing-тестування виявлено та виправлено безліч помилок.
Вимоги до мінімальної версії Python підвищено з Python
3.4 до Python 3.5. Можливість складання файлового сервера з Python 2 поки збережена (перед запуском ./configure' та 'make' слід встановити змінну оточення 'PYTHON=python2').