VERSION: Disable GIT_SNAPSHOT for the 4.11.0rc1 release...
[samba.git] / WHATSNEW.txt
1 Release Announcements
2 =====================
3
4 This is the first preview release of Samba 4.11.  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/.
8
9 Samba 4.11 will be the next version of the Samba suite.
10
11
12 UPGRADING
13 =========
14
15 SMB1 is disabled by default
16 ---------------------------
17
18 The defaults of 'client min protocol' and 'server min protocol'
19 have been changed to SMB2_02.
20
21 This means clients without support for SMB2 or SMB3 are no longer
22 able to connect to smbd (by default).
23
24 It also means client tools like smbclient and other,
25 as well as applications making use of libsmbclient are no longer
26 able to connect to servers without SMB2 or SMB3 support (by default).
27
28 It's still possible to allow SMB1 dialects, e.g. NT1, LANMAN2
29 and LANMAN1 for client and server, as well as CORE and COREPLUS on
30 the client.
31
32 Note that most commandline tools e.g. smbclient, smbcacls and others
33 also support the --option argument to overwrite smb.conf options,
34 e.g. --option='client min protocol=NT1' might be useful.
35
36 As Microsoft no longer installs SMB1 support in recent releases
37 or uninstalls it after 30 days without usage, the Samba Team
38 tries to get remove the SMB1 usage as much as possible.
39
40 SMB1 is officially deprecated and might be removed step by step
41 in the following years. If you have a strong requirement for SMB1
42 (except for supporting old Linux Kernels), please file a bug
43 at https://bugzilla.samba.org and let us know about the details.
44
45 NEW FEATURES/CHANGES
46 ====================
47
48 Default samba process model
49 ---------------------------
50
51 The default for the --model argument passed to the samba executable has changed
52 from 'standard' to 'prefork'. This means a difference in the number of samba
53 child processes that are created to handle client connections. The previous
54 default would create a separate process for every LDAP or NETLOGON client
55 connection. For a network with a lot of persistent client connections, this
56 could result in significant memory overhead.  Now, with the new default of
57 'prefork', the LDAP, NETLOGON, and KDC services will create a fixed number of
58 worker processes at startup and share the client connections amongst these
59 workers. The number of worker processes can be configured by the 'prefork
60 children' setting in the smb.conf (the default is 4).
61
62 Authentication Logging.
63 -----------------------
64
65 Winbind now logs PAM_AUTH and NTLM_AUTH events, a new attribute "logonId" has
66 been added to the Authentication JSON log messages.  This contains a random
67 logon id that is generated for each PAM_AUTH and NTLM_AUTH request and is passed
68 to SamLogon, linking the windbind and SamLogon requests.
69
70 The serviceDescription of the messages is set to "winbind", the authDescription
71 is set to one of:
72    "PASSDB, <command>, <pid>"
73    "PAM_AUTH, <command>, <pid>"
74    "NTLM_AUTH, <command>, <pid>"
75 where:
76    <command> is the name of the command makinmg the winbind request i.e. wbinfo
77    <pid>     is the process id of the requesting process.
78
79 The version of the JSON Authentication messages has been changed to 1.2 from 1.1
80
81 LDAP referrals
82 --------------
83
84 The scheme of returned LDAP referrals now reflects the scheme of the original
85 request, i.e. referrals received via ldap are prefixed with "ldap://"
86 and those over ldaps are prefixed with "ldaps://"
87
88 Previously all referrals were prefixed with "ldap://"
89
90 Bind9 logging
91 -------------
92
93 It is now possible to log the duration of DNS operations performed by Bind9
94 This should aid future diagnosis of performance issues, and could be used to
95 monitor DNS performance. The logging is enabled by setting log level to
96 "dns:10" in smb.conf
97
98 The logs are currently Human readable text only, i.e. no JSON formatted output.
99
100 Log lines are of the form:
101
102     <function>: DNS timing: result: [<result>] duration: (<duration>)
103     zone: [<zone>] name: [<name>] data: [<data>]
104
105     durations are in microseconds.
106
107 Default schema updated to 2012_R2
108 ---------------------------------
109
110 Default AD schema changed from 2008_R2 to 2012_R2.  2012_R2 functional level
111 is not yet available.  Older schemas can be used by provisioning with the
112 '--base-schema' argument.  Existing installations can be updated with the
113 samba-tool command "domain schemaupgrade".
114
115 Samba's replication code has also been improved to handle replication
116 with the 2012 schema (the core of this replication fix has also been
117 backported to 4.9.11 and will be in a 4.10.x release).
118
119 GnuTLS 3.2 required
120 -------------------
121
122 Samba is making efforts to remove in-tree cryptographic functionality,
123 and to instead rely on externally maintained libraries.  To this end,
124 Samba has chosen GnuTLS as our standard cryptographic provider.
125
126 Samba now requires GnuTLS 3.2 to be installed (including development
127 headers at build time) for all configurations, not just the Samba AD
128 DC.
129
130 NOTE WELL: The use of GnuTLS means that Samba will honour the
131 system-wide 'FIPS mode' (a reference to the US FIPS-140 cryptographic
132 standard) and so will not operate in many still common situations if
133 this system-wide parameter is in effect, as many of our protocols rely
134 on outdated cryptography.
135
136 A future Samba version will mitigate this to some extent where good
137 cryptography effectively wraps bad cryptography, but for now that above
138 applies.
139
140 samba-tool improvements
141 -----------------------
142
143 A new "samba-tool contact" command has been added to allow the
144 command-line manipulation of contacts, as used for address book
145 lookups in LDAP.
146
147 The "samba-tool [user|group|computer|group|contact] edit" command has been
148 improved to operate more pleasantly on international character sets.
149
150 100,000 USER and LARGER Samba AD DOMAINS
151 ========================================
152
153 Extensive efforts have been made to optimise Samba for use in
154 organisations (for example) targeting 100,000 users, plus 120,000
155 computer objects, as well as large number of group memberships.
156
157 Many of the specific efforts are detailed below, but the net results
158 is to remove barriers to significantly larger Samba deployments
159 compared to previous releases.
160
161 Reindex performance improvements
162 --------------------------------
163
164 The performance of samba-tool dbcheck --reindex has been improved,
165 especially for large domains.
166
167 join performance improvements
168 -----------------------------
169
170 The performance of samba-tool domain join has been improved,
171 especially for large domains.
172
173 LDAP Server memory improvements
174 -------------------------------
175
176 The LDAP server has improved memory efficiency, ensuring that large
177 LDAP responses (for example a search for all objects) is not copied
178 multiple times into memory.
179
180 Setting lmdb map size
181 ---------------------
182
183 It is now possible to set the lmdb map size (The maximum permitted
184 size for the database).  "samba-tool" now accepts the
185 "--backend-store-size" i.e. --backend-store-size=4Gb.  If not
186 specified it defaults to 8Gb.
187
188 This option is avaiable for the following sub commands:
189  * domain provision
190  * domain join
191  * domain dcpromo
192  * drs clone-dc-database
193
194 LDB "batch_mode"
195 ----------------
196
197 To improve performance during batch operations i.e. joins, ldb now
198 accepts a "batch_mode" option.  However to prevent any index or
199 database inconsistencies if an operation fails, the entire transaction
200 will be aborted at commit.
201
202 New LDB pack format
203 -------------------
204
205 On first use (startup of 'samba' or the first transaction write)
206 Samba's sam.ldb will be updated to a new more efficient pack format.
207 This will take a few moments.
208
209 New LDB <= and >= index mode to improve replication performance
210 ---------------------------------------------------------------
211
212 As well as a new pack format, Samba's sam.ldb uses a new index format
213 allowing Samba to efficiently select objects changed since the last
214 replication cycle.  This in turn improves performance during
215 replication of large domains.
216
217 https://wiki.samba.org/index.php/LDB_Greater_than_and_Less_than_indexing
218
219 Improvements to ldb search performance
220 --------------------------------------
221
222 Search performance on large LDB databases has been improved by
223 reducing memory allocations made on each object.
224
225 Improvements to subtree rename performance
226 ------------------------------------------
227
228 Improvements have been made to Samba's handling of subtree renames,
229 for example of containers and organisational units, however large
230 renames are still not recommended.
231
232 CTDB changes
233 ============
234
235 * nfs-linux-kernel-callout now defaults to using systemd service names
236
237   The Red Hat service names continue to be the default.
238
239   Other distributions should patch this file when packaging it.
240
241 * The onnode -o option has been removed
242
243 * ctdbd logs when it is using more than 90% of a CPU thread
244
245   ctdbd is single threaded, so can become saturated if it uses the
246   full capacity of a CPU thread.  To help detect this situation, ctdbd
247   now logs messages when CPU utilisation exceeds 90%.  Each change in
248   CPU utilisation over 90% is logged.  A message is also logged when
249   CPU utilisation drops below the 90% threshold.
250
251 * Script configuration variable CTDB_MONITOR_SWAP_USAGE has been removed
252
253   05.system.script now monitors total memory (i.e. physical memory +
254   swap) utilisation using the existing CTDB_MONITOR_MEMORY_USAGE
255   script configuration variable.
256
257
258 REMOVED FEATURES
259 ================
260
261 Web server
262 ----------
263
264 As a leftover from work related to the Samba Web Administration Tool (SWAT),
265 Samba still supported a Python WSGI web server (which could still be turned on
266 from the 'server services' smb.conf parameter). This service was unused and has
267 now been removed from Samba.
268
269
270 samba-tool join subdomain
271 -------------------------
272
273 The subdomain role has been removed from the join command.  This option did
274 not work and has no tests.
275
276
277 Python2 support
278 ---------------
279
280 Samba 4.11 will not have any runtime support for Python 2.
281
282 If you are building Samba using the '--disable-python' option
283 (i.e. you're excluding all the run-time Python support), then this
284 will continue to work on a system that supports either python2 or
285 python3.
286
287 To build Samba with python2 you *must* set the 'PYTHON' environment
288 variable for both the 'configure' and 'make' steps, i.e.
289    'PYTHON=python2 ./configure'
290    'PYTHON=python2 make'
291 This will override the python3 default.
292
293 Except for this specific build-time use of python2, Samba now requires
294 Python 3.4 as a minimum.
295
296 smb.conf changes
297 ================
298
299   Parameter Name                     Description                Default
300   --------------                     -----------                -------
301
302   allocation roundup size            Default changed/           0
303                                      Deprecated
304   client min protocol                Changed default            SMB2_02
305   server min protocol                Changed default            SMB2_02
306   mangled names                      Changed default            illegal
307   web port                           Removed
308   fruit:zero_file_id                 Changed default            False
309
310
311 KNOWN ISSUES
312 ============
313
314 https://wiki.samba.org/index.php/Release_Planning_for_Samba_4.11#Release_blocking_bugs
315
316
317 #######################################
318 Reporting bugs & Development Discussion
319 #######################################
320
321 Please discuss this release on the samba-technical mailing list or by
322 joining the #samba-technical IRC channel on irc.freenode.net.
323
324 If you do report problems then please try to send high quality
325 feedback. If you don't provide vital information to help us track down
326 the problem then you will probably be ignored.  All bug reports should
327 be filed under the Samba 4.1 and newer product in the project's Bugzilla
328 database (https://bugzilla.samba.org/).
329
330
331 ======================================================================
332 == Our Code, Our Bugs, Our Responsibility.
333 == The Samba Team
334 ======================================================================
335