VERSION: Disable GIT_SNAPSHOT for the 4.12.0rc3 release.
[Samba.git] / WHATSNEW.txt
blobab161cbe8113ac347ae432393956bb867b948caa
1 Release Announcements
2 =====================
4 This is the third release candidate of Samba 4.12.  This is *not*
5 intended for production environments and is designed for testing
6 purposes only.  Please report any defects via the Samba bug reporting
7 system at https://bugzilla.samba.org/.
9 Samba 4.12 will be the next version of the Samba suite.
12 UPGRADING
13 =========
16 NEW FEATURES/CHANGES
17 ====================
19 Python 3.5 Required
20 -------------------
22 Samba's minimum runtime requirement for python was raised to Python
23 3.4 with samba 4.11.  Samba 4.12 raises this minimum version to Python
24 3.5 both to access new features and because this is the oldest version
25 we test with in our CI infrastructure.
27 (Build time support for the file server with Python 2.6 has not
28 changed)
30 Removing in-tree cryptography: GnuTLS 3.4.7 required
31 ----------------------------------------------------
33 Samba is making efforts to remove in-tree cryptographic functionality,
34 and to instead rely on externally maintained libraries.  To this end,
35 Samba has chosen GnuTLS as our standard cryptographic provider.
37 Samba now requires GnuTLS 3.4.7 to be installed (including development
38 headers at build time) for all configurations, not just the Samba AD
39 DC.
41 Thanks to this work Samba no longer ships an in-tree DES
42 implementation and on GnuTLS 3.6.5 or later Samba will include no
43 in-tree cryptography other than the MD4 hash and that
44 implemented in our copy of Heimdal.
46 Using GnuTLS for SMB3 encryption you will notice huge performance and copy
47 speed improvements. Tests with the CIFS Kernel client from Linux Kernel 5.3
48 show a 3x speed improvement for writing and a 2.5x speed improvement for reads!
50 NOTE WELL: The use of GnuTLS means that Samba will honour the
51 system-wide 'FIPS mode' (a reference to the US FIPS-140 cryptographic
52 standard) and so will not operate in many still common situations if
53 this system-wide parameter is in effect, as many of our protocols rely
54 on outdated cryptography.
56 A future Samba version will mitigate this to some extent where good
57 cryptography effectively wraps bad cryptography, but for now that above
58 applies.
61 "net ads kerberos pac save" and "net eventlog export"
62 -----------------------------------------------------
64 The "net ads kerberos pac save" and "net eventlog export" tools will
65 no longer silently overwrite an existing file during data export.  If
66 the filename given exits, an error will be shown.
68 VFS
69 ===
71 SMB_VFS_NTIMES
72 --------------
74 Samba now uses a sentinel value based on utimensat(2) UTIME_OMIT to denote
75 to-be-ignored timestamp variables passed to the SMB_VFS_NTIMES() VFS function.
77 VFS modules can check whether any of the time values inside a struct
78 smb_file_time is to be ignored by calling is_omit_timespec() on the value.
80 'io_uring' vfs module
81 ---------------------
83 The module makes use of the new io_uring infrastructure
84 (intruduced in Linux 5.1), see https://lwn.net/Articles/776703/
86 Currently this implements SMB_VFS_{PREAD,PWRITE,FSYNC}_SEND/RECV
87 and avoids the overhead of the userspace threadpool in the default
88 vfs backend. See also vfs_io_uring(8).
90 In order to build the module you need the liburing userspace library
91 and its developement headers installed, see
92 https://git.kernel.dk/cgit/liburing/
94 At runtime you'll need a Linux kernel with version 5.1 or higher.
95 Note that 5.4.14 and 5.4.15 have a regression that breaks the Samba
96 module! The regression was fixed in Linux 5.4.16 again.
98 MS-DFS changes in the VFS
99 -------------------------
101 This release changes set getting and setting of MS-DFS redirects
102 on the filesystem to go through two new VFS functions:
104 SMB_VFS_CREATE_DFS_PATHAT()
105 SMB_VFS_READ_DFS_PATHAT()
107 instead of smbd explicitly storing MS-DFS redirects inside
108 symbolic links on the filesystem. The underlying default
109 implementations of this has not changed, the redirects are
110 still stored inside symbolic links on the filesystem, but
111 moving the creation and reading of these links into the VFS
112 as first-class functions now allows alternate methods of
113 storing them (maybe in extended attributes) for OEMs who
114 don't want to mis-use filesystem symbolic links in this
115 way.
117 REMOVED FEATURES
118 ================
120 The smb.conf parameter "write cache size" has been removed.
122 Since the in-memory write caching code was written, our write path has
123 changed significantly. In particular we have gained very flexible
124 support for async I/O, with the new linux io_uring interface in
125 development.  The old write cache concept which cached data in main
126 memory followed by a blocking pwrite no longer gives any improvement
127 on modern systems, and may make performance worse on memory-contrained
128 systems, so this functionality should not be enabled in core smbd
129 code.
131 In addition, it complicated the write code, which is a performance
132 critical code path.
134 If required for specialist purposes, it can be recreated as a VFS
135 module.
137 BIND9_FLATFILE deprecated
138 -------------------------
140 The BIND9_FLATFILE DNS backend is deprecated in this release and will
141 be removed in the future.  This was only practically useful on a single
142 domain controller or under expert care and supervision.
144 This release removes the "rndc command" smb.conf parameter, which
145 supported this configuration by writing out a list of DCs permitted to
146 make changes to the DNS Zone and nudging the 'named' server if a new
147 DC was added to the domain.  Administrators using BIND9_FLATFILE will
148 need to maintain this manually from now on.
150 Retiring DES encryption types in Kerberos.
151 ------------------------------------------
152 With this release, support for DES encryption types has been removed from
153 Samba, and setting DES_ONLY flag for an account will cause Kerberos
154 authentication to fail for that account (see RFC-6649).
156 Samba-DC: DES keys no longer saved in DB.
157 -----------------------------------------
158 When a new password is set for an account, Samba DC will store random keys
159 in DB instead of DES keys derived from the password.  If the account is being
160 migrated to Windbows or to an older version of Samba in order to use DES keys,
161 the password must be reset to make it work.
163 Heimdal-DC: removal of weak-crypto.
164 -----------------------------------
165 Following removal of DES encryption types from Samba, the embedded Heimdal
166 build has been updated to not compile weak crypto code (HEIM_WEAK_CRYPTO).
168 vfs_netatalk: The netatalk VFS module has been removed.
169 -------------------------------------------------------
171 The netatalk VFS module has been removed. It was unmaintained and is not needed
172 any more.
174 CTDB changes
175 ------------
177 * The ctdb_mutex_fcntl_helper periodically re-checks the lock file
179   The re-check period is specified using a 2nd argument to this
180   helper.  The default re-check period is 5s.
182   If the file no longer exists or the inode number changes then the
183   helper exits.  This triggers an election.
186 smb.conf changes
187 ================
189   Parameter Name                     Description                Default
190   --------------                     -----------                -------
192   nfs4:acedup                        Changed default            merge
193   rndc command                       Removed
194   write cache size                   Removed
195   spotlight backend                  New                        noindex
198 CHANGES SINCE 4.12.0rc2
199 =======================
201 o  Jeremy Allison <jra@samba.org>
202    * BUG 14282: Set getting and setting of MS-DFS redirects on the filesystem
203      to go through two new VFS functions SMB_VFS_CREATE_DFS_PATHAT() and
204      SMB_VFS_READ_DFS_PATHAT().
206 o  Andrew Bartlett <abartlet@samba.org>
207    * BUG 14255: bootstrap: Remove un-used dependency python3-crypto.
209 o  Volker Lendecke <vl@samba.org>
210    * BUG 14247: Fix CID 1458418 and 1458420.
211    * BUG 14281: lib: Fix a shutdown crash with "clustering = yes".
213 o  Stefan Metzmacher <metze@samba.org>
214    * BUG 14247: Winbind member (source3) fails local SAM auth with empty domain
215      name.
216    * BUG 14265: winbindd: Handle missing idmap in getgrgid().
217    * BUG 14271: Don't use forward declaration for GnuTLS typedefs.
218    * BUG 14280: Add io_uring vfs module.
220 o  Andreas Schneider <asn@samba.org>
221    * BUG 14250: libcli:smb: Improve check for gnutls_aead_cipher_(en|de)cryptv2.
224 CHANGES SINCE 4.12.0rc1
225 =======================
227 o  Jeremy Allison <jra@samba.org>
228    * BUG 14239: s3: lib: nmblib. Clean up and harden nmb packet processing.
230 o  Andreas Schneider <asn@samba.org>
231    * BUG 14253: lib:util: Log mkdir error on correct debug levels.
234 KNOWN ISSUES
235 ============
237 https://wiki.samba.org/index.php/Release_Planning_for_Samba_4.12#Release_blocking_bugs
240 #######################################
241 Reporting bugs & Development Discussion
242 #######################################
244 Please discuss this release on the samba-technical mailing list or by
245 joining the #samba-technical IRC channel on irc.freenode.net.
247 If you do report problems then please try to send high quality
248 feedback. If you don't provide vital information to help us track down
249 the problem then you will probably be ignored.  All bug reports should
250 be filed under the Samba 4.1 and newer product in the project's Bugzilla
251 database (https://bugzilla.samba.org/).
254 ======================================================================
255 == Our Code, Our Bugs, Our Responsibility.
256 == The Samba Team
257 ======================================================================