chiark / gitweb /
update TODO
[elogind.git] / NEWS
1 systemd System and Service Manager
2
3 CHANGES WITH 182:
4         * udev: all udev sources are merged into the systemd source tree now.
5           All future udev development will happen in the systemd tree. It
6           is still fully supported to use the udev daemon and tools without
7           systemd running, like in initramfs or other init systems. Building
8           udev though, will require the *build* of the systemd tree, but
9           udev can be properly *run* without systems.
10
11         * udev: /lib/udev/devices/ are not read anymore; systemd-tmpfiles
12           should be used to create dead device nodes as workarounds for broken
13           subsystems.
14
15         * udev: RUN+="socket:..."  and udev_monitor_new_from_socket() is
16           no longer supported. udev_monitor_new_from_netlink() needs to be
17           used to subscribe to events.
18
19         * udev: when udevd is started by systemd, processes which are left
20           behind by forking them off of udev rules, are unconditionally cleaned
21           up and killed now after the event handling has finished. Services or
22           daemons must be started as systemd services. Services can be
23           pulled-in by udev to ge started, but they can no longer be directly
24           forked by udev rules.
25
26         * udev: the daemon binary is called systemd-udevd now and installed
27           in /usr/lib/systemd/. Standalone builds or non-systemd systems need
28           to adapt to that, create symlink, or rename the binary after building
29           it.
30
31         * systemd-logingctl and systemd-journalctl have been renamed
32           to logingctl and journalctl to match systemctl.
33
34         * The config files: /etc/systemd/systemd-logind.conf and
35           /etc/systemd/systemd-journald.conf have been renamed to
36           logind.conf and journald.conf. Package updates should rename
37           the files to the new names on upgrade.
38
39 CHANGES WITH 44:
40         * This is mostly a bugfix release
41
42         * Support optional initialization of the machine ID from the
43           KVM or container configured UUID.
44
45         * Support immediate reboots with "systemctl reboot -ff"
46
47         * Show /etc/os-release data in systemd-analyze output
48
49         * Many bugfixes for the journal, including endianess fixes and
50           ensuring that disk space enforcement works
51
52         * sd-login.h is C++ comptaible again
53
54         * Extend the /etc/os-release format on request of the Debian
55           folks
56
57         * We now refuse non-UTF8 strings used in various configuration
58           and unit files. This is done to ensure we don't pass invalid
59           data over D-Bus or expose it elsewhere.
60
61         * Register Mimo USB Screens as suitable for automatic seat
62           configuration
63
64         * Read SELinux client context from journal clients in a race
65           free fashion
66
67         * Reorder configuration file lookup order. /etc now always
68           overrides /run in order to allow the administrator to always
69           and unconditionally override vendor supplied or
70           automatically generated data.
71
72         * The various user visible bits of the journal now have man
73           pages. We still lack man pages for the journal API calls
74           however.
75
76         * We now ship all man pages in HTML format again in the
77           tarball.
78
79         Contributions from: Dave Reisner, Dirk Eibach, Frederic
80         Crozat, Harald Hoyer, Kay Sievers, Lennart Poettering, Marti
81         Raudsepp, Michal Schmidt, Shawn Landden, Tero Roponen, Thierry
82         Reding
83
84 CHANGES WITH 43:
85         * This is mostly a bugfix release
86
87         * systems lacking /etc/os-release  are no longer supported.
88
89         * Various functionality updates to libsystemd-login.so
90
91         * Track class of PAM logins to distuingish greeters from
92           normal user logins.
93
94         Contributions from: Kay Sievers, Lennart Poettering, Michael
95         Biebl
96
97 CHANGES WITH 42:
98         * This is an important bugfix release for v41.
99
100         * Building man pages is now optional which should be useful
101           for those building systemd from git but unwilling to install
102           xsltproc.
103
104         * Watchdog support for supervising services is now usable. In
105           a future release support for hardware watchdogs
106           (i.e. /dev/watchdog) will be added building on this.
107
108         * Service start rate limiting is now configurable and can be
109           turned off per service. When a start rate limit is hit a
110           reboot can automatically be triggered.
111
112         * New CanReboot(), CanPowerOff() bus calls in systemd-logind.
113
114         Contributions from: Benjamin Franzke, Bill Nottingham,
115         Frederic Crozat, Lennart Poettering, Michael Olbrich, Michal
116         Schmidt, Michał Górny, Piotr Drąg
117
118 CHANGES WITH 41:
119         * The systemd binary is installed /usr/lib/systemd/systemd now;
120           An existing /sbin/init symlink needs to be adapted with the
121           package update.
122
123         * The code that loads kernel modules has been ported to invoke
124           libkmod directly, instead of modprobe. This means we do not
125           support systems with module-init-tools anymore.
126
127         * Watchdog support is now already useful, but still not
128           complete.
129
130         * A new kernel command line option systemd.setenv= is
131           understood to set system wide environment variables
132           dynamically at boot.
133
134         * We now limit the set of capabilities of systemd-journald.
135
136         * We now set SIGPIPE to ignore by default, since it only is
137           useful in shell pipelines, and has little use in general
138           code. This can be disabled with IgnoreSIPIPE=no in unit
139           files.
140
141         Contributions from: Benjamin Franzke, Kay Sievers, Lennart
142         Poettering, Michael Olbrich, Michal Schmidt, Tom Gundersen,
143         William Douglas
144
145 CHANGES WITH 40:
146         * This is mostly a bugfix release
147
148         * We now expose the reason why a service failed in the
149           "Result" D-Bus property.
150
151         * Rudimentary service watchdog support (will be completed over
152           the next few releases.)
153
154         * When systemd forks off in order execute some service we will
155           now immediately changes its argv[0] to reflect which process
156           it will execute. This is useful to minimize the time window
157           with a generic argv[0], which makes bootcharts more useful
158
159         Contributions from: Alvaro Soliverez, Chris Paulson-Ellis, Kay
160         Sievers, Lennart Poettering, Michael Olbrich, Michal Schmidt,
161         Mike Kazantsev, Ray Strode
162
163 CHANGES WITH 39:
164         * This is mostly a test release, but incorporates many
165           bugfixes.
166
167         * New systemd-cgtop tool to show control groups by their
168           resource usage.
169
170         * Linking against libacl for ACLs is optional again. If
171           disabled, support tracking device access for active logins
172           goes becomes unavailable, and so does access to the user
173           journals by the respective users.
174
175         * If a group "adm" exists, journal files are automatically
176           owned by them, thus allow members of this group full access
177           to the system journal as well as all user journals.
178
179         * The journal now stores the SELinux context of the logging
180           client for all entries.
181
182         * Add C++ inclusion guards to all public headers
183
184         * New output mode "cat" in the journal to print only text
185           messages, without any meta data like date or time.
186
187         * Include tiny X server wrapper as a temporary stop-gap to
188           teach XOrg udev display enumeration. This is used by display
189           managers such as gdm, and will go away as soon as XOrg
190           learned native udev hotplugging for display devices.
191
192         * Add new systemd-cat tool for executing arbitrary programs
193           with STDERR/STDOUT connected to the journal. Can also act as
194           BSD logger replacement, and does so by default.
195
196         * Optionally store all locally generated coredumps in the
197           journal along with meta data.
198
199         * systemd-tmpfiles learnt four new commands: n, L, c, b, for
200           writing short strings to files (for usage for /sys), and for
201           creating symlinks, character and block device nodes.
202
203         * New unit file option ControlGroupPersistent= to make cgroups
204           persistent, following the mechanisms outlined in
205           http://www.freedesktop.org/wiki/Software/systemd/PaxControlGroups
206
207         * Support multiple local RTCs in a sane way
208
209         * No longer monopolize IO when replaying readahead data on
210           rotating disks, since we might starve non-file-system IO to
211           death, since fanotify() will not see accesses done by blkid,
212           or fsck.
213
214         * Don't show kernel threads in systemd-cgls anymore, unless
215           requested with new -k switch.
216
217         Contributions from: Dan Horák, Kay Sievers, Lennart
218         Poettering, Michal Schmidt
219
220 CHANGES WITH 38:
221         * This is mostly a test release, but incorporates many
222           bugfixes.
223
224         * The git repository moved to:
225           git://anongit.freedesktop.org/systemd/systemd
226           ssh://git.freedesktop.org/git/systemd/systemd
227
228         * First release with the journal
229           http://0pointer.de/blog/projects/the-journal.html
230
231         * The journal replaces both systemd-kmsg-syslogd and
232           systemd-stdout-bridge.
233
234         * New sd_pid_get_unit() API call in libsystemd-logind
235
236         * Many systemadm clean-ups
237
238         * Introduce remote-fs-pre.target which is ordered before all
239           remote mounts and may be used to start services before all
240           remote mounts.
241
242         * Added Mageia support
243
244         * Add bash completion for systemd-loginctl
245
246         * Actively monitor PID file creation for daemons which exit in
247           the parent process before having finished writing the PID
248           file in the daemon process. Daemons which do this need to be
249           fixed (i.e. PID file creation must have finished before the
250           parent exits), but we now react a bit more gracefully to them.
251
252         * Add colourful boot output, mimicking the well-known output
253           of existing distributions.
254
255         * New option PassCredentials= for socket units, for
256           compatibility with a recent kernel ABI breakage.
257
258         * /etc/rc.local is now hooked in via a generator binary, and
259           thus will no longer act as synchronization point during
260           boot.
261
262         * systemctl list-unit-files now supports --root=.
263
264         * systemd-tmpfiles now understands two new commands: z, Z for
265           relabelling files according to the SELinux database. This is
266           useful to apply SELinux labels to specific files in /sys,
267           among other things.
268
269         * Output of SysV services is now forwarded to both the console
270           and the journal by default, not only just the console.
271
272         * New man pages for all APIs from libsystemd-login.
273
274         * The build tree got reorganized and a the build system is a
275           lot more modular allowing embedded setups to specifically
276           select the components of systemd they are interested in.
277
278         * Support for Linux systems lacking the kernel VT subsystem is
279           restored.
280
281         * configure's --with-rootdir= got renamed to
282           --with-rootprefix= to follow the naming used by udev and
283           kmod
284
285         * Unless specified otherwise we'll now install to /usr instead
286           of /usr/local by default.
287
288         * Processes with '@' in argv[0][0] are now excluded from the
289           final shut-down killing spree, following the logic explained
290           in:
291           http://www.freedesktop.org/wiki/Software/systemd/RootStorageDaemons
292
293         * All processes remaining in a service cgroup when we enter
294           the START or START_PRE states are now killed with
295           SIGKILL. That means it is no longer possible to spawn
296           background processes from ExecStart= lines (which was never
297           supported anyway, and bad style).
298
299         * New PropagateReloadTo=/PropagateReloadFrom= options to bind
300           reloading of units together.
301
302         Contributions from: Bill Nottingham, Daniel Walsh, Dave
303         Reisner, Dexter Morgan, Gregs Gregs, Jonathan Nieder, Kay
304         Sievers, Lennart Poettering, Michael Biebl, Michal Schmidt,
305         Michał Górny, Ran Benita, Thomas Jarosch, Tim Waugh, Tollef
306         Fog Heen, Tom Gundersen, Zbigniew Jędrzejewski-Szmek