WHATSNEW: document sysvolreset improvement
[samba.git] / WHATSNEW.txt
1 Release Announcements
2 =====================
3
4 This is the first preview release of Samba 4.9.  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.9 will be the next version of the Samba suite.
10
11
12 UPGRADING
13 =========
14
15
16 NEW FEATURES/CHANGES
17 ====================
18
19
20 net ads setspn
21 ---------------
22
23 There is a new 'net ads setspn' sub command for managing Windows SPN(s)
24 on the AD. This command aims to give the basic functionality that is
25 provided on windows by 'setspn.exe' e.g. ability to add, delete and list
26 Windows SPN(s) stored in a Windows AD Computer object.
27
28 The format of the command is:
29
30 net ads setspn list [machine]
31 net ads setspn [add | delete ] SPN [machine]
32
33 'machine' is the name of the computer account on the AD that is to be managed.
34 If 'machine' is not specified the name of the 'client' running the command
35 is used instead.
36
37 The format of a Windows SPN is
38   'serviceclass/host:port/servicename' (servicename and port are optional)
39
40 serviceclass/host is generally sufficient to specify a host based service.
41
42 net ads keytab changes
43 ----------------------
44 net ads keytab add no longer attempts to convert the passed serviceclass
45 (e.g. nfs, html etc.) into a Windows SPN which is added to the Windows AD
46 computer object. By default just the keytab file is modified.
47
48 A new keytab subcommand 'add_update_ads' has been added to preserve the
49 legacy behaviour. However the new 'net ads setspn add' subcommand should
50 really be used instead.
51
52 net ads keytab create no longer tries to generate SPN(s) from existing
53 entries in a keytab file. If it is required to add Windows SPN(s) then
54 'net ads setspn add' should be used instead.
55
56 Local authorization plugin for MIT Kerberos
57 -------------------------------------------
58
59 This plugin controls the relationship between Kerberos principals and AD
60 accounts through winbind. The module receives the Kerberos principal and the
61 local account name as inputs and can then check if they match. This can resolve
62 issues with canonicalized names returned by Kerberos within AD. If the user
63 tries to log in as 'alice', but the samAccountName is set to ALICE (uppercase),
64 Kerberos would return ALICE as the username. Kerberos would not be able to map
65 'alice' to 'ALICE' in this case and auth would fail.  With this plugin account
66 names can be correctly mapped. This only applies to GSSAPI authentication,
67 not for the getting the initial ticket granting ticket.
68
69 VFS audit modules
70 -----------------
71
72 The vfs_full_audit module has changed it's default set of monitored successful
73 and failed operations from "all" to "none". That helps to prevent potential
74 denial of service caused by simple addition of the module to the VFS objects.
75
76 Also, modules vfs_audit, vfs_ext_audit and vfs_full_audit now accept any valid
77 syslog(3) facility, in accordance with the manual page.
78
79 Database audit support
80 ----------------------
81
82 Changes to the Samba AD's sam.ldb database are now logged to Samba's debug log
83 under the "dsdb_audit" debug class and "dsdb_json_audit" for JSON formatted log
84 entries.
85
86 Transaction commits and roll backs are now logged to Samba's debug logs under
87 the "dsdb_transaction_audit" debug class and "dsdb_transaction_json_audit" for
88 JSON formatted log entries.
89
90 Password change audit support
91 -----------------------------
92
93 Password changes in the AD DC are now logged to Samba's debug logs under the
94 "dsdb_password_audit" debug class and "dsdb_password_json_audit" for JSON
95 formatted log entries.
96
97 Group membership change audit support
98 -------------------------------------
99
100 Group membership changes on the AD DC are now logged to
101 Samba's debug log under the "dsdb_group_audit" debug class and
102 "dsdb_group_json_audit" for JSON formatted log entries.
103
104 Log Authentication duration
105 ---------------------------
106
107 For NTLM and Kerberos KDC authentication, the authentication duration is now
108 logged. Note that the duration is only included in the JSON formatted log
109 entries.
110
111 New Experimental LMDB LDB backend
112 ---------------------------------
113
114 A new experimental LDB backend using LMDB is now available. This allows
115 databases larger than 4Gb (Currently the limit is set to 6Gb, but this will be
116 increased in a future release). To enable lmdb, provision or join a domain using
117 the --backend-store=mdb option.
118
119 This requires that a version of lmdb greater than 0.9.16 is installed and that
120 samba has not been built with the --without-ldb-lmdb option.
121
122 Please note this is an experimental feature and is not recommended for
123 production deployments.
124
125 Password Settings Objects
126 -------------------------
127 Support has been added for Password Settings Objects (PSOs). This AD feature is
128 also known as Fine-Grained Password Policies (FGPP).
129
130 PSOs allow AD administrators to override the domain password policy settings
131 for specific users, or groups of users. For example, PSOs can force certain
132 users to have longer password lengths, or relax the complexity constraints for
133 other users, and so on. PSOs can be applied to groups or to individual users.
134 When multiple PSOs apply to the same user, essentially the PSO with the best
135 precedence takes effect.
136
137 PSOs can be configured and applied to users/groups using the 'samba-tool domain
138 passwordsettings pso' set of commands.
139
140 Domain backup and restore
141 -------------------------
142 A new samba-tool command has been added that allows administrators to create a
143 backup-file of their domain DB. In the event of a catastrophic failure of the
144 domain, this backup-file can be used to restore Samba services.
145
146 The new 'samba-tool domain backup online' command takes a snapshot of the
147 domain DB from a given DC. In the event of a catastrophic DB failure, all DCs
148 in the domain should be taken offline, and the backup-file can then be used to
149 recreate a fresh new DC, using the 'samba-tool domain backup restore' command.
150 Once the backed-up domain DB has been restored on the new DC, other DCs can
151 then subsequently be joined to the new DC, in order to repopulate the Samba
152 network.
153
154 Domain rename tool
155 ------------------
156 Basic support has been added for renaming a Samba domain. The rename feature is
157 designed for the following cases:
158 1). Running a temporary alternate domain, in the event of a catastrophic
159 failure of the regular domain. Using a completely different domain name and
160 realm means that the original domain and the renamed domain can both run at the
161 same time, without interfering with each other. This is an advantage over
162 creating a regular 'online' backup - it means the renamed/alternate domain can
163 provide core Samba network services, while trouble-shooting the fault on the
164 original domain can be done in parallel.
165 2). Creating a realistic lab domain or pre-production domain for testing.
166
167 Note that the renamed tool is currently not intended to support a long-term
168 rename of the production domain. Currently renaming the GPOs is not supported
169 and would need to be done manually.
170
171 The domain rename is done in two steps: first, the 'samba-tool domain backup
172 rename' command will clone the domain DB, renaming it in the process, and
173 producing a backup-file. Then, the 'samba-tool domain backup restore' command
174 takes the backup-file and restores the renamed DB to disk on a fresh DC.
175
176 New samba-tool options for diagnosing DRS replication issues
177 ------------------------------------------------------------
178
179 The 'samba-tool drs showrepl' command has two new options controlling
180 the output. With --summary, the command says very little when DRS
181 replication is working well. With --json, JSON is produced. These
182 options are intended for human and machine audiences, respectively.
183
184 The 'samba-tool visualize uptodateness' visualizes replication lag as
185 a heat-map matrix based on the DRS uptodateness vectors. This will
186 show you if (but not why) changes are failing to replicate to some DCs.
187
188 Automatic site coverage and GetDCName improvements
189 --------------------------------------------------
190
191 Samba's AD DC now automatically claims otherwise empty sites based on
192 which DC is the nearest in the replication topology.
193
194 This, combined with efforts to correctly identify the client side in
195 the GetDCName Netlogon call will improve service to sites without a
196 local DC.
197
198 Improved samba-tool computer command
199 ------------------------------------
200
201 The 'samba-tool computer' command allow manipulation of computer
202 accounts including creating a new computer and resetting the password.
203 This allows an 'offline join' of a member server or workstation to the
204 Samba AD domain.
205
206 Samba performance tool now operates against Microsoft Windows AD
207 ----------------------------------------------------------------
208
209 The Samba AD performance testing tool traffic_reply can now operate
210 against a Windows based AD domain.  Previously it only operated
211 correctly against Samba.
212
213 DNS entries are now cleaned up during DC demote
214 -----------------------------------------------
215
216 DNS records are now cleaned up as part of the 'samba-tool domain
217 demote' including both the default and --remove-other-dead-server
218 modes.
219
220 Additionally DNS records can be automatically cleaned up for a given
221 name with the 'samba-tool dns cleanup' command, which aids in cleaning
222 up partially removed DCs.
223
224 samba-tool ntacl sysvolreset is now much faster
225 -----------------------------------------------
226
227 The 'samba-tool ntacl sysvolreset' command, used on the Samba AD DC,
228 is now much faster than in previous versions, after an internal
229 rework.
230
231 Samba now tested with CI GitLab
232 -------------------------------
233
234 Samba developers now have pre-commit testing available in GitLab,
235 giving reviewers confidence that the submitted patches pass a full CI
236 before being submitted to the Samba Team's own autobuild system.
237
238 Dynamic DNS record scavenging support
239 -------------------------------------
240
241 It is now possible to enable scavenging of DNS Zones to remove DNS
242 records that were dynamically created and have not been touched in
243 some time.
244
245 This support should however only be enabled on new zones or new
246 installations.  Sadly old Samba versions suffer from BUG 12451 and
247 mark dynamic DNS records as static and static records as dynamic.
248 While a dbcheck rule may be able to find these in the future,
249 currently a reliable test has not been devised.
250
251 Finally, there is not currently a command-line tool to enable this
252 feature, currently it should be enabled from the DNS Manager tool from
253 Windows. Also the feature needs to have been enabled by setting the smb.conf
254 parameter "dns zone scavenging = yes".
255
256
257 REMOVED FEATURES
258 ================
259
260
261
262 smb.conf changes
263 ================
264
265 As the most popular Samba install platforms (Linux and FreeBSD) both
266 support extended attributes by default, the parameters "map readonly",
267 "store dos attributes" and "ea support" have had their defaults changed
268 to allow better Windows fileserver compatibility in a default install.
269
270   Parameter Name                     Description             Default
271   --------------                     -----------             -------
272   map readonly                       Default changed              no
273   store dos attributes               Default changed             yes
274   ea support                         Default changed             yes
275   full_audit:success                 Default changed            none
276   full_audit:failure                 Default changed            none
277
278 VFS interface changes
279 =====================
280
281 The VFS ABI interface version has changed to 39. Function changes
282 are:
283
284 SMB_VFS_FSYNC: Removed: Only async versions are used.
285 SMB_VFS_READ: Removed: Only PREAD or async versions are used.
286 SMB_VFS_WRITE: Removed: Only PWRITE or async versions are used.
287 SMB_VFS_CHMOD_ACL: Removed: Only CHMOD is used.
288 SMB_VFS_FCHMOD_ACL: Removed: Only FCHMOD is used.
289
290 Any external VFS modules will need to be updated to match these
291 changes in order to work with 4.9.x.
292
293 KNOWN ISSUES
294 ============
295
296 https://wiki.samba.org/index.php/Release_Planning_for_Samba_4.9#Release_blocking_bugs
297
298
299 #######################################
300 Reporting bugs & Development Discussion
301 #######################################
302
303 Please discuss this release on the samba-technical mailing list or by
304 joining the #samba-technical IRC channel on irc.freenode.net.
305
306 If you do report problems then please try to send high quality
307 feedback. If you don't provide vital information to help us track down
308 the problem then you will probably be ignored.  All bug reports should
309 be filed under the Samba 4.1 and newer product in the project's Bugzilla
310 database (https://bugzilla.samba.org/).
311
312
313 ======================================================================
314 == Our Code, Our Bugs, Our Responsibility.
315 == The Samba Team
316 ======================================================================
317