forked from openSUSE/transactional-update
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathNEWS
832 lines (710 loc) · 31.8 KB
/
NEWS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
transactional-update NEWS -- history of user-visible changes.
Copyright (C) 2016-2024 Thorsten Kukuk, Ignaz Forster et al.
Version 5.0.0
* Rework /etc handling; instead of maintaining complex overlay mount
layers use a btrfs subvolume of the corresponding snapshot instead.
Syncing changes before the reboot will be done by during boot (or
during apply) by transactional-update-sync-etc-state instead.
[jsc#SMO-367]
Also resolves: [boo#1140472], [gh#openSUSE/transactional-update#117]
* Add EXPERIMENTAL support for performing updates using a container
image [gh#openSUSE/transactional-update#128]. Note that this command
is only available via `transactional-update apply-oci ...` for now
and cannot be triggered from the API or D-Bus interface. Moreover
the syntax may and probably will change in future releases.
* Removed `status` command - it was disabled by default for a long time
already and unmaintained
* tukit: Fix snippet directory in man page
* t-u: Don't apply again if snapshot is current already
* t-u: Prevent self-updates between major t-u versions because these
usually require additional files
* Fix missing files when using `make dist`
* Unified Copyright headers
* Make Bash scripts shellcheck compatible
* Replace tabs with spaces in Shell scripts to avoid the complex
tab / space changes
* Various other minor internal optimizations and fixes
Version 4.8.3 (2024-09-24)
* Check return value of `register` command [bsc#1230901]
Version 4.8.2 (2024-09-16)
* Allow specifying only low value with setup-kdump [bsc#1230537]
Version 4.8.1 (2024-08-30)
* tukit: fix --drop-if-no-change after apply [bsc#1229900]
Version 4.8.0 (2024-08-26)
* Add sd-boot (systemd-boot) support for most commands
* Add support for specifying migration arguments
[gh#openSUSE/transactional-update#127]
* Support kdump setup on platforms without kdump high/low settings (e.g.
S/390 or PPC64le [bsc#1229138]
* Preserve current working directory if possible when entering
transactional-update environment [bsc#1227452]; also adds the current path
to the Bash prompt
* Fix plugin system to support special characters in commands
Version 4.7.0 (2024-07-04)
* Add plugin mechanism
It's now possible to hook into API functions with custom plugins; see
doc/tukit-plugins.md for details.
[gh#openSUSE/transactional-update#122]
* Fix missing libdir replacement for status command
Version 4.6.8 (2024-05-07)
* tukit: Properly handle overlay syncing failures: If the system would not be
rebooted and several snapshots accumulated in the meantime, it was
possible that the previous base snapshot - required for /etc syncing -
was deleted already. In that case changes in /etc might have been reset.
[gh#openSUSE/transactional-update#116]
[gh#kube-hetzner/terraform-hcloud-kube-hetzner#1287]
* soft-reboot: Log requested reboot type
* soft-reboot: Don't force hard reboot on version change only
Version 4.6.7 (2024-04-30)
* Add support for snapper 0.11.0; also significantly decreases cleanup time
[boo#1223504]
Version 4.6.6 (2024-04-18)
* soft-reboot: Fix inverted logic of soft-reboot detection
* soft-reboot: Remove unused variable
* doc: Document configuration file snippets for tukit.conf
Version 4.6.5 (2024-04-12)
* Rework soft-reboot support introduced in 4.6.0:
* On transactional systems with systemd 254 the system could hang with with
a soft-reboot, as /var and /etc have to be mounted in /run/nextroot
explicitly. As a soft-reboot can also be triggered by an admin the
mounting of the corresponding mount points was moved to a systemd service
to be independent of t-u itself.
* Support for systemd 255
* Don't decrease reboot level on multiple commands
* Various other bugfixes
* soft-reboot support is disabled by default now to gather more feedback
* libtukit: Fix kexec reboot method to boot kernel / initrd of next snapshot
* tukit: Don't clone lock file handle on exec [boo#1222411]
* t-u: Always use zypper of installed system [bsc#1221346]
* t-u: Remove remaining telemetrics references
Version 4.6.0 (2024-03-04)
* tukit / t-u: Implement support for systemd soft-reboot, but needs package
manager support (provided by zypp-boot-plugin on openSUSE) to determine which
kind of reboot is required; the minimally required reboot method (soft-reboot,
kexec, full reboot) will be used automatically if enabled (see tukit.conf).
This deprecates the "kexec" reboot method in favour of automatic selection.
* tukit: Determine D-Bus availabilty via system socket instead of brute force
* tukit: Don't ignore return status of snapper - plugins can return an error
code now where tukit has to fail [gh#openSUSE/transactional-update#118] /
[poo#127169]
* tukit: Remove BTRFS dependencies in snapper backend, user snapper for
for everything directly. In theory this should support further file systems
such as bcachefs if they follow the same layout (untested).
* t-u: Add safety net before deleting overlays [boo#1217416]
* t-u: Remove telemetry support, the required packages haven't been in the
repository for quite some time as they were abandonned upstream.
* doc: Document option to use names in BINDDIRS array
* doc: Mention tukit.conf in t-u man page
* doc: Link Reboot.hpp as an officially supported API on the main page
* Code cleanup
Version 4.5.0 (2023-11-20)
* libtukit: Use permissions of real /etc when creating overlay
[bsc#1215878]
* libtukit, tukit: Support "rollback" via library now
* tukitd: Implement Snapshot delete and rollback methods
* tukit: Check for missing arguments with "close" and "abort" commands
* t-u: Warn user when using "kdump" if it isn't configured to avoid
confusion with "setup-kdump" [boo#1215725]
* t-u: Abort if mkdumprd run is not successful
* t-u: Use default from config file if t-u is called without arguments
[gh#openSUSE/transactional-update#101]
* Improved README.md [gh#openSUSE/transactional-update#59] and API docs
* Code cleanup
Version 4.4.0
* t-u: Introduce setup-fips command [jsc#SMO-194]
* libtukit: Always set a cleanup algorithm for snapshots - when using API,
D-Bus interface or tukit the snapshots will be automatically cleaned up
by snapper after some time now; in the past only snapshots created by
the transactional-update shell script would be cleanup after, and only
after a `t-u cleanup` run. [gh#openSUSE/transactional-update#62]
* tukit: enable kexec's syscall detection feature
* tukit: Don't throw exceptions from the child process after fork
* tukitd: Rename service file to org.opensuse.tukit.service
* tukitd: Allow querying DBus Properties [boo#1214707]
* t-u: Add support for fully written-out update commands
* t-u: Improve detection of existing kernel parameters
Version 4.3.0
* Replace custom tu-rebuild-kdump-initrd with call to mkdumprd
[gh#openSUSE/transactional-update#107].
* Add support for libmount 2.39. The behaviour change was not intended
and will be changed in 2.39.1 (see [gh#util-linux/util-linux#2326],
but it was easy to fix it anyway.
* Honor LIBMOUNT_DEBUG variable for additional output.
Version 4.2.1
* Add backwards compatibility with older snapper releases, otherwise
the selfupdate may break if the installed snapper version is too old;
requires snapper 0.8.10 as a minimal base (for rollbacks) now
Version 4.2.0
* Implement "apply" command to switch into new snapshot directly
* Use new snapper functionality to set default snapshot - this makes it
possible to execute hooks as requested in [poo#127160],
[gh#openSUSE/transactional-update#85] and
[gh#openSUSE/transactional-update#105].
* Don't hardcode GRUB2 [gh#openSUSE/transactional-update#85] /
[poo#127154]
* Fix cleanup handler
* Fix unmounting temporary mounts
* Prevent loosing track of snapshots in certain rollback scenarios - these
would not be marked for deletion otherwise
* Document "notify" reboot method
Version 4.1.5
* Add support for configuration file snippets
Version 4.1.4
* Workaround for broken Tumbleweed package libfdisk1
Version 4.1.3
* Suppress SELinux relabelling output in quiet mode
* Documentation readability improvements
Version 4.1.2
* Don't try to mount user mounts if they don't exist [boo#1207366]
Version 4.1.1
* Mount user specific binddirs last: Prevously the internal mounts would
potentially overwrite user bind mounts [boo#1205011]
* selinux: Relabel shadowed /var files during update to make sure they
don't interfere with the update [boo#1205937]
* Clean up /var/lib/overlay more aggressively [boo#1206947]
* tukit: Merge /etc overlay into parent if --discard is used together
with --continue - previously the files were incorrectly always merged
with the currently running system
* status: do not execute the status command if experimental
* Don't delete created mount point dirs any more
* Small code optimizations
Version 4.1.0
* t-u: Add a "setup-kdump" command; implements [jsc#PED-1441]
* Add support for ULP (Userspace Live Patching) [jsc#PED-1078]:
* Export TRANSACTIONAL_UPDATE_ROOT (the path to the snapshot) in
the update environment
* Unfortunately requires a separate bind mount in /tmp again for the
update environment, as libpulp has to be able to access the snapshot
directly, without it being bind mounted on itself
* Add support for "notify" reboot method for desktop use
[gh#openSUSE/transactional-update#93]
* Fix kdump initrd recreation detection; the check was performed in the
active snapshot instead of the target snapshot
* Document register command [bsc#1202900]
* Avoid unnecessary snapshots for register command [bsc#1202901]
* Various optimizations for register command
* Remove bogus error message when triggering reboot
* Rework /etc overlay documentation in "The Transactional Update Guide"
* Fix incorrect manpage formatting
* Remove leftover "salt" reboot method in configuration example file
* Replace deprecated std::mem_fn with lambdas
Version 4.0.1
* create_dirs_from_rpmdb: Just warn if no default SELinux context found
[gh#openSUSE/transactional-update#88], [bsc#1188215]
* create_dirs_from_rpmdb: Don't update the rpmdb cookie on failure
[gh#openSUSE/transactional-update#88]
* Handle directories owned by multiple packages
[gh#openSUSE/transactional-update#90], [bsc#1188215]
Version 4.0.0
* Last minute interface change: Changed "List" method of Snapshot D-Bus
interface to return a map of properties instead of a comma separated
list of strings; this will allow retrieving the snapshot properties
even if they contain a comma in their value
* Remove "Snapshot.hpp" as a public API for now - all public
functionality is part of SnapshotManager.hpp
* Add header file documentation for SnapshotManager.hpp
* Add method to delete snapshot
[gh#openSUSE/transactional-update#52]
* Allow setting description of snapshot
[gh#openSUSE/transactional-update#55]
* create_dirs_from_rpmdb: set SELinux file context of missing directories
[gh#openSUSE/transactional-update#84], [bsc#1197242]
* Fix broken logrotate due to typo in config file
[gh#openSUSE/transactional-update#87]
* create_dirs_from_rpmdb: Fix handling return code of create_dirs()
[gh#openSUSE/transactional-update#86]
* Fix broken "shell" prompt after selfupdate
* Add documented D-Bus interface definition files
* Add tukit_sm_get_current and tukit_sm_get_default to C interface
* Fixed typos
Version 4.0.0~rc4
* Fix building with GCC 12
* Fix stack overflow with very long commands / ids [bsc#1196149]
* Use separate mount namespace for chroot, allowing overwriting the bind
mounts from the update environment - this could have lead to data loss
of the bind mount previously
* Fix C error and exception handling for snapshots
Version 4.0.0~rc3
* Add Snapshot interface
* Reworked signal handling: All public signals are sent from the
main thread now, keeping the same sender for everything
* Implement D-Bus call "Execute" for Transactions
* Implement interface for listing Snapshots
* Implement Reboot interface
* Fix bug when using --continue on old snapshots
* Fix hypothetical integer overflow in snapshot list [bsc#1196826]
* Fix wrong sort order in status command
[gh#openSUSE/transactional-update#80]
Version 4.0.0~rc2
* Fix missing prompt in "shell" command [bsc#1196580]
* Add output of tukit commands to log file
* Fix compilation error with GCC12 [boo#1194876]
* Fixed (non-critical) security review comments [boo#1196149]
* Fixed selfupdate
* Code cleanup
Version 4.0.0~rc1
This release is API, but not ABI compatible with previous releases;
existing applications will have to be recompiled against this new
version.
Major features:
* Introduces a D-Bus service to access the libtukit API via the
org.opensuse.tukit.Transaction interface
* Introduces a C binding via libtukit.h.
Other changes:
* t-u: Rework --quiet handling to make sure no output is shown even in
error cases; this is necessary for automation, e.g. with Salt.
[gh#openSUSE/transactional-update#73]
* tukit: Allow storing command output into variable by introducing a new
optional parameter for "execute" and "callExt".
* Replace multiple and non-standalone occurenses of {} in "callExt"
argument.
* Split transactional-update.timer into transactional-update.timer
and transactional-update-cleanup.timer; the later will clean up
old snapshots even when the system does not do automatic updates.
* tukit: Remove legacy alias "setDiscard" for "setDiscardIfUnchanged".
* Throw exception if snapshot is not found.
* Fix various compiler warnings
Version 3.6.2
* Bind mount root file system snapshot on itself, this makes the
temporary directory in /tmp unnecessary; also fixes [boo#1188110]
to return the correct snapshot's working directory via API call.
* Use separate mount namespace for transactional-update; this should
fix several applications that fail to run if a mount point has the
'unbindable' mount flag set
Version 3.6.1
* Fix rsyncing /etc into the running system with --drop-if-no-change
[bsc#1192242]
Version 3.6
* Simplify mount hierarchy by just using a single slave bind mount as
the root of the update environment; this may avoid the error
messages of failed unmounts
Version 3.5.7
Various fixes affecting Salt support:
* t-u: Don't squash stderr messages into stdout
* t-u: Correctly handle case when the snapshot has been deleted due to
using --drop-if-no-change: Don't show reboot messages and avoid an awk
error message [bsc#1191475]
* tukit: Make inotify handler less sensitive / ignore more directories
[bsc#1191475]
Version 3.5.6
* tukit: Add S/390 bootloader support [bsc#1189807]
* t-u: support purge-kernels with t-u patch [bsc#1190788]
Version 3.5.5
* t-u: Use tukit for SUSEConnect call [bsc#1190574]
Version 3.5.4
* t-u: Fix resolved support [boo#1190383]
Version 3.5.3
* t-u: Purge kernels as part of package operations
Required for live patching support [bsc#1189728]
Version 3.5.2
* tukit: Fix overlay syncing errors with SELinux [bsc#1188648]
"Transactional update fails with SELinux enabled: rsync: rsync_xal_set:
lremovexattr failed: Permission denied (13)"
* t-u: Don't print message for `shell` with --quiet
[gh#openSUSE/transactional-update#69]
"Some output remains despite --quiet"
Version 3.5.1
* t-u: Disable status file generation by default
The new experimental `status` command requires the availability of
/etc/YaST2/control.xml, which is not present on all systems. Hide the
creation of the corresponding status file behind a new EXPERIMENTAL_STATUS
option to try out this functionality.
* Increase library version
Version 3.5.0
* Add alias setDiscardIfUnchanged for setDiscard. The old method name
wasn't really clear and will be removed if we should have an API break
in the future
* Replace mkinitrd with direct dracut call [boo#1186213]
* tukit: Add configuration file support (/etc/tukit.conf)
* Allow users to configure additional bind mounts (see /usr/etc/tukit.conf
for an example and limitations) [bsc#1188322]
* Add 'transactional-update status' call. This is a POC for obtaining a
hash of a system to verify its integrity. The functionality is still
experimental!
* Internal bugfixes / optimizations
Version 3.4.0
* Apply SElinux context on /etc in transaction [boo#1185625], [boo#1185766]
[bsc#1186842], [boo#1186775]
* Implement inotify handling in C instead of Bash; this makes the
--drop-if-no-change option work on SLE Micro [bsc#1184529]
* Use `tukit call` for up, dup and patch to allow resuming an update after
zypper updated itself in the snapshot [bsc#1185226]
* Fix obsolete output type messages in initrd [boo#1177149]
* Make different base snapshot warning more visible [bsc#1185224]
Version 3.3.0
* Add support for more package managers by bind mounting their directories
* Support snapshots without dedicated overlay [boo#1183539], [bsc#1183539]
* Link RPM database correctly with older zypper versions [boo#1183521]
* Don't discard manual changes in fstab [boo#1183856]
Version 3.2.2
* Don't skip patches with rebootSuggested flag
Version 3.2.1
* t-u: Forward --quiet option to tukit
* Regression: Add /opt as bind mount into update environment
* Remove output indicators of the called command to not tamper the result
line
* Fix /etc syncing with --drop-if-no-change
Version 3.2.0
* tukit: Add new command 'callext' to execute an application while the
snapshot is mounted. '{}' as a parameter will be replaced with the path
of the bind mount.
* Fix --drop-if-no-change [boo#1182525]
* Check whether self-updated version is executable (e.g. on noexec /tmp)
[bsc#1173842]
* Fix overlay synchronisation with SELinux (again)
* Always overwrite supplemental files (e.g. for network configuration)
even if they exist in the snapshot already [boo#1182544]
* Improve logging and error messages
Version 3.1.4
* SELinux: Fix syncing of SELinux attributes when using overlays
* SELinux: Tag the overlay directory itself (again)
Version 3.1.3
* Fix overlay syncing on SELinux systems
* Fix resuming transactions where the parent does not exist any more
Version 3.1.2
* libtukit: Report when application was terminated due to a signal, and
return the signal number as a return value. This will cause the
transaction to be aborted when called via `execute`.
* libtukit: Set PATH variable for internal commands to fixed value to
find the helper applications, as in some environments such as PolicyKit
PATH wouldn't be set.
* Fix compiler warnings
Version 3.1.1
* Fix hang in tukit on aarch64 [bsc#1181844]
* Prevent deletion of snapshots when resuming a snapshot where no transaction
is open
* Make tukit work in non-dbus environments [boo#1181934]
Version 3.1.0
* t-u: Support installing RPMs from the user's directory again
* Adapt selfupdate to new packaging
* Implement signal handling
* Remove empty text files
Version 3.0.0
* This release changes the internal structure, but should be identical to the
previous release feature wise.
* Major parts of the previous Bash only application have been rewritten in C++
with the goal to provide an API around transactions; the transactional-update
script is using that new interface internally already, however the API should
be considered experimental for now - if you are interested to use it, please
notify us in https://github.com/openSUSE/transactional-update/issues/52
* A new tool called "tukit" is providing a Shell wrapper for above
functionality. Please also consider it experimental for now, the commands may
still change.
* Bugfixes:
* Implement support for system offline update [boo#1180808]
* Add statistics files to update environment [boo#1173282]
Version 2.28.3
* SELinux: Make synchronisation work for both pre-SELinux snapshots and later
snapshots; SELinux support should be ready for most tasks now.
Version 2.28.2
* SELinux: Exclude security.selinux attribute from rsyncing (again)
Version 2.28.1
* SELinux: Fixed changing the wrong grub configuration file
* SELinux: Move /.autorelabel file to writeable location
Version 2.28
* Add 'setup-selinux' command for easy setup of a SELinux system
* Allow complex commands for the 'run' command
* SELinux: Fix /etc / overlay labeling
Version 2.27
* Add support for network systemd-resolvd network connections in t-u
environment
* Mount /var/lib/ca-certificates read-write to prevent SELinux error
* Prevent calling transactional-update from within transactional-update
Version 2.26
* Fix broken sync for second snapshot [boo#1176989]
* Add new options to allow separate cleanup of snapshots and overlays
* Check for existence of inotifywait before using it
* Check that mount options don't exceed maximum length
Version 2.25.1
* Fix inotify watcher setup
* Use log_{info,error} for more messages to avoid messing up Salt logs
Version 2.25
* Reduce number of overlays:
Instead of using transparent overlays for all previous layers only add the
previous snapshot's overlay; this will greatly reduce the number of overlays
while still making sure that /etc changes in the running system will be
visible in the next snapshot
* When using --drop-if-no-change synchronize potential /etc changes with
running system
* Exclude all non-root-fs mounts from inotify watcher
Version 2.24.1
* SELinux: adjust labels for etc, fstab and grub.cfg
Version 2.24
* Add partial SELinux support
Version 2.23
* Add "run" command to be able to execute a single command in a new snapshot
* Add "--drop-if-no-change" option to discard snapshots if no changes were
perfomed (BETA, required for Salt integration)
* Removed previous CaaSP Salt support
* Avoid "file not found" message on systems without /var subvol
Version 2.22
* Use pkgconf to determine installation paths
* Enable SSL connections in update shell [boo#1149131]
Version 2.21.1
* Rework error messages on failing umount [boo#1168389]
Version 2.21
* Use slave mounts for /proc, /sys & /dev - this will also provide all
submounts into the update environment
Version 2.20.4
* Mount efivarfs on EFI systems to make sure the bootloader will be installed
correctly.
* Fix removal of existing overlay directories
Version 2.20.3
* Reintroduce compatibility with RPM < 4.15 for inclusion in SLE / Leap 15.2
* Prepare for removal of /var/lib/alternatives [jsc#SLE-9101]
Version 2.20.2
* Use full names for zypper options [bsc#1164543]
* Ignore /var/lib/rpm in shandowed file output
* Optimize create-dirs-from-rpmdb
Version 2.20.1
* Add missing documentation about --continue option
* Avoid error message about missing fstab file on first snapshot creation.
[boo#1160213]
Version 2.20
* Add the option `--continue` to extend an existing snapshot; this can be
used to perform multiple operations before rebooting into the new state
* Make sure the dracut service to print warnings on /etc overlay conflicts
also runs in the pre-made images
* Add "none" reboot method
* Remove conflicting overlay artifacts in case an existing overlay directory
will be reused
Version 2.17
* Provide network in shell on systems where resolv.conf is pointing to /run
directly [boo#1151081]
* Print new snapshot number at the end
* Always mount /root subvolume when using shell command to preserve history
Version 2.16
* Use default command if options, but no command was given [boo#1146116]
* Make sure only one process appears in `ps` output [boo#1111897]
* Move update check: If a new repository is added (and
ZYPPER_AUTO_IMPORT_KEYS is set) adding the new repository key won't fail any
more
* Avoid unnecessary snapshots / reboots by detecting zypper operations
without changes more reliably (e.g. when installing an already installed
package)
* Update the manpage accordingly
* Get rid of Perl dependency
* Building documentation requires Python 3 now
* Bugfixes:
* Ignore commented lines in fstab when checking for shadowed files
* Avoid warning when copying network config
Version 2.15
* Move description of interactiveness [boo#1132438]
* Enable network during update [boo#1137890]
* Add compatibilty with new overlayfs versions [boo#1140057]
* Allow updates of the bootloader on EFI systems [boo#1139015]
* Add support for /boot/writable [boo#1126900]
Version 2.14.2
* Prevent unnecessary error message on systems not installed with YaST (e.g.
KIWI)
Version 2.14.1
* Improve non-root fs changes checker based on feedback
* Disable snapper's zypper plugin during transactional-update run
Version 2.14
* Warn user if contents of /var have been changed
* Small cleanups
* Noteworthy: swapped position of upperdir and lowerdir in fstab for better
readability
* Major update to the transactional-update guide
Version 2.13.2
* Add hooks for telemetrics
Version 2.13.1
* Bugfix: Clean up empty /etc snapshot directories again
Version 2.13
* Fix a serious data loss problem (deleting all files in /etc
overlays) in case /var/lib/overlay/etc is not part of any snapshot
any more.
* Avoid error message in case a system has no /etc/fstab.sys
Version 2.12
* Implements support for needs-restart (Fate#326451)
* Adds easy rollback to last known working snapshot by using "last"
as the snapshot number
* Migrate /etc/fstab.sys entires to /etc/fstab for systemd being
able to create mount units; this will prevent errors on unmount
during shutdown for /var and /etc
* Remove implicit --no-allow-vendor-change - this option can be
configured in zypper's configuration file now
* Add support for mounting the /etc overlay file system as a systemd
unit in /etc/fstab on a read-only system (replacing /etc/fstab.sys
in the long run)
* Various bugfixes:
* Only remove /etc overlays on read-only root file systems
[boo#1122455]
* Disable "Persistent" flag in systemd timer unit to prevent
updates during or immediately after the boot phase
* Don't set global zypper options during migration - this is not
supported by the migration plugin
* Fix error handling when interrupting while rsync is running
* Filter out security.selinux attributes during rsync
Version 2.11
* Update man page to explain new /etc overlay handling
* Add special handling for migrating away from old overlay directory
* Read default update method for systemd service from config file
(boo#1111321)
Version 2.10
* Introduce /etc overlays
* Each root file system snapshot now has a dedicated /etc overlay in
/var/lib/snapshots/<snapshot number>/etc
* Changes in older snapshots will be visible in newer snapshots (if
the file hasn't been changed in both snapshots), but not the other
way around; this makes it possible to roll back to a previous
snapshot even if the configuration is broken
* The /etc state of the oldest active snapshot will be synchronized
into the new snapshot to prevent ever growing overlays
* Removed creation of /etc backup snapshots
* Removed complex overlayfs cleanup handling during dracut early boot;
only thing left is to output a warning if files have been changed
in old and new overlay after snapshot creation
* Unused overlays will be removed during "cleanup" operation
* Add compatibility with snapper >= 0.7.0
* Correctly detect BTRFS ID when using multiple snapper configurations
* Fix disappearing prompt in "shell" command when application was updated
* Prevent accidental rollback on fast reboots (boo#1111786)
* Use zypper attribute packages-to-change if available (boo#1105992 &
boo#1097619)
* Add kexec as reboot alternative
* Added explicit --with-doc / --without-doc build configure opttions for
enforcing or excluding documentation build
* Removed precompiled documentation (boo#1088676)
* Added more dependency checks to configure script
* Small improvements to documentation
* Restored compatibility with older rsync versions not supporting the -x
filter
* Small bugfixes for cleanup in error situations
* Fix possible incorrect detection of snapshots numbers during cleanup
* Mention parent in snapshot description
Version 2.6
* Add --interactive and --non-interactive options to change the default
interactivity for zypper calls. For previously non-interactive calls (e.g.
dup) these options makes it possible to pick the correct solution in case
of conflicts or make sure that a script will never be stuck at an input
prompt.
* Add kured reboot support
* Tries to clean up temporary files and mount points if transactional-update
quits unexpectedly
* Remove trancactional-update-helper (replaced by zypper options)
* Create /var/lib/zypp if not available (boo#1104452)
* Add compatibility with new zypper versions (boo#1105992)
* Various small fixes
Version 2.5
* Support for overlayfs attributes like trusted.overlay.opaque - this will
avoid disappearing configuration files on system updates
* Documentation update
* Only sync /etc if it's on an overlayfs mount
* Use correct locale for zypper - thus updating locale specific packages and
avoiding "empty" updates where transactional-update didn't see the change
Version 2.4
* Bug fix release
Version 2.3
* Reformat help text / synopsis
* More detailled output (use --quiet for less output)
* Log all error messages into log file
* Avoid potential lock file race condition on self update
* Accept package names with whitespace
* Don't wait for user input during self-update
* Fix broken error message output when creating new snapshot without reboot
* Fix erroneous mounting of stale grub mounts
Version 2.2
* Fix security issue in self update
* Create dirs in /var more reliably by sorting the list
Version 2.1
* Cleanup /etc cleanup
Version 2.0
* Create missing directories from rpm database during boot
* Merge /etc overlay with root subvolume during update
* Implement register option
Version 1.29
* Implement self-update
* Disable optical media on dup
* Ignore certain zypper return codes
Version 1.28
* Adjust for latest grub2 changes
Version 1.27
* Fallback to snapper without dbus support if dbus fails
* Add workaround for update-alternatives
* Add support for /usr/etc/transactional-update.conf
Version 1.26
* Auto accept repo keys config option
* Detect broken snapshots after abort
* Ignore user deleted snapshots
* Include all error messages in main log file
* Add configuration file
* Correctly implement migration of major OS versions
* Default reboot strategy is configuration option
* Salt option is deprecated
Version 1.25
* Add support for seperate /var partition
* Preliminary SELinux support
Version 1.24
* Fix saving of unused snapshots too early
* Copy passwd, group and shadow to /usr/etc if modified
Version 1.23
* Fix re-registration in rollback case
* Fix problems with updating the grub2 bootloader
* Add support for migration of products with SCC
* Re-add support to re-write bootloader
Version 1.22
* Rewrite cleanup code
Version 1.21
* Reset salt grains if no updates are available
Version 1.20
* Document more options
* Add pkg update option
* Fix output in error case
Version 1.19
* Add undocumented 'shell' option for debugging and testing
Version 1.18
* Auto accept product license in non-interactive mode
Version 1.17
* Copy some modified config files for bootloader into the snapshot
Version 1.16
* Set environment variable that transactional update is running
* Some updates to the systemd units
Version 1.15
* Add support to ceate salt grains with current status
* Rename ptf to pkg
Version 1.14
* Fix check of return values of commands in pipes
Version 1.13
* Remove not-working bootloader option
Version 1.12
* Minor bug fixes
Version 1.11
* Use dup by default if called from systemd
* Use --no-allow-vendor-change with "dup"
* Update manual page
Version 1.10
* Implement rollback
Version 1.9
* Fix umounting of /sys
* Update documentation
Version 1.8
* Fix references in html pages
* Build kdump initrd when building standard initrd, too
Version 1.7
* Disable interactive install mode for PTFs
* Build html version of man pages, too
Version 1.6
* Add support for kdump
Version 1.5
* Install PTFs in interactive mode
* Make sure state file is in sync between snapshots
Version 1.4
* More debug output in case umount fails
* Give umount a second try if it fails
Version 1.3
* Implement "initrd" option to regenerate initrd
Version 1.2
* Add support for read-only subvolume with overlayfs
Version 1.1
* Bug fixes
* Implement lock file
Version 1.0
* Implement and document PTF option
Version 0.99
* Write real manual page
Version 0.90
* Finish normal options
* Implement PTF option
Version 0.1
* Initial release