Introdusert utgivelse Samba 4.12.0, som fortsatte utviklingen av grenen Samba 4 med full implementering av en domenekontroller og Active Directory-tjeneste, kompatibel med implementeringen av Windows 2000 og i stand til å betjene alle versjoner av Windows-klienter som støttes av Microsoft, inkludert Windows 10. Samba 4 er et multifunksjonelt serverprodukt som også gir implementering av en filserver, utskriftstjeneste og identitetsserver (winbind).
Innebygde implementeringer av kryptografiske funksjoner er fjernet fra kodebasen til fordel for bruk av eksterne biblioteker. Det ble besluttet å bruke GnuTLS som hovedkryptobibliotek (minst versjon 3.4.7 kreves). I tillegg til å redusere de potensielle truslene knyttet til å identifisere sårbarheter i innebygde implementeringer av kryptografiske algoritmer, tillot overgangen til GnuTLS også betydelige ytelsesforbedringer ved bruk av kryptering i SMB3. Ved testing med CIFS-klientimplementeringen fra Linux 5.3-kjernen ble det registrert en 3-dobling i skrivehastighet og en 2.5-dobling i lesehastighet.
Lagt til en ny backend for søk på SMB-partisjoner ved hjelp av protokollen Spotlightsøkemotorbasert Elasticsearch (tidligere ble backend gitt basert på GNOME-sporer). "mdfind"-verktøyet er også lagt til pakken med en klientimplementering som lar deg sende søkeforespørsler til enhver SMB-server som kjører Spotlight RPC-tjenesten. Standardverdien for "spotlight backend"-innstillingen er endret til "noindex" (for Tracker eller Elasticsearch må du eksplisitt sette verdiene til "tracker" eller "elasticsearch").
Virkemåten til operasjonene 'net ads kerberos pac save' og 'net eventlog export' er endret slik at de ikke lenger overskriver filen, men i stedet viser en feilmelding hvis de prøver å eksportere til en eksisterende fil.
samba-tool har forbedret å legge til kontaktoppføringer for gruppemedlemmer. Hvis du tidligere, ved å bruke kommandoen 'samba-tool group addmemers', ganske enkelt kunne legge til brukere, grupper og datamaskiner som nye gruppemedlemmer, men nå er det støtte for å legge til kontakter som gruppemedlemmer.
Samba-verktøyet tillater filtrering etter organisasjonsenheter (OU, Organizational Unit) eller undertre. Nye flagg "--base-dn" og "-member-base-dn" er lagt til, noe som gjør det mulig å utføre en operasjon kun med en viss del av Active Directory-treet, for eksempel bare innenfor én OU.
Lagt til ny VFS-modul 'io_uring' ved å bruke det nye Linux-kjernegrensesnittet io_uring for asynkron I/O. Io_uring støtter I/O-polling og kan fungere med buffering (den tidligere foreslåtte "aio"-mekanismen støttet ikke bufret I/O). Når du arbeider med polling aktivert, er ytelsen til io_uring betydelig foran aio. Samba bruker nå io_uring for å støtte SMB_VFS_{PREAD,PWRITE,FSYNC}_SEND/RECV og reduserer kostnadene ved å opprettholde en threadpool i brukerområdet når du bruker standard VFS-backend. For å bygge 'io_uring' VFS-modulen, kreves biblioteket frigjøring og Linux-kjerner 5.1+.
VFS gir muligheten til å spesifisere en spesiell tidsverdi UTIME_OMIT for å flagge behovet for å ignorere tid i SMB_VFS_NTIMES()-funksjonen.
I smb.conf har støtte for "write cache size"-parameteren blitt avviklet, noe som ble meningsløst etter introduksjonen av io_uring-støtte.
Samba-DC og Kerberos støtter ikke lenger DES-kryptering. Fjernet svakkryptokode fra Heimdal-DC.
Vfs_netatalk-modulen er fjernet, som ble stående uvedlikeholdt og ikke lenger relevant.
BIND9_FLATFILE-backend er avviklet og vil bli fjernet i en fremtidig utgivelse.
zlib-biblioteket er inkludert som en monteringsavhengighet. Den opprinnelige zlib-implementeringen er fjernet fra kodebasen (koden var basert på en eldre versjon av zlib som ikke støttet kryptering på riktig måte).
Fuzzing testing av kodebasen er etablert, inkludert i tjenesten
oss-fuzz. Under fuzzing-testing ble mange feil identifisert og rettet.
Minimum Python-versjonskrav økt fra Python
3.4 til Python 3.5. Muligheten til å bygge en filserver med Python 2 er fortsatt beholdt (før du kjører ./configure' og 'make', bør du angi miljøvariabelen 'PYTHON=python2').