/
changelog
2235 lines (2046 loc) · 103 KB
/
changelog
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
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
snapd (2.21) xenial; urgency=medium
* New upstream release, LP: #1656382
- daemon: re-enable reexec
- interfaces: allow reading installed files from previous revisions
by default
- daemon: make activation optional
- tests: run all snap-confine tests in c-unit-tests task
- many: fix abbreviated forms of disconnect
- tests: switch more tests to MATCH
- store: export userAgent. daemon: print store.UserAgent() on
startup.
- tests: test classic confinement `snap list` and `snap info`
output
- debian: skip snap-confine unit tests on nocheck
- overlord/snapstate: share code between Update and UpdateMany, so
that it deals with auto-aliases correctly
- interfaces: upower-observe: refactor to allow snaps to provide a
slot
- tests: add end-to-end store test for classic confinement
- overlord,overlord/snapstate: have UpdateMany retire/enable auto-
aliases even without new revision
- interfaces/browser-support: add @{PROC}/@{pid}/fd/[0-9] w and misc
/run/udev
- interfaces/builtin: add physical-memory-* and io-ports-control
- interfaces: allow getsockopt by default since it is so commonly
used
- cmd/snap, daemon, overlord/snapstate: tests and fixes for "snap
refresh" of a classic snap
- interfaces: allow read/write access of real-time clock with time-
control interface
- store: request no CDN via a header using SNAPPY_STORE_NO_CDN
envvar
- snap: add information about tracking channel (not just actual
channel)
- interfaces: use fewer dot imports
- overlord/snapstate: remove restrictions on ResetAliases
- overlord, store: move confinement filtering to the overlord (from
The Store)
- many: move interface test helpers to ifacetest package
- many: implement 'snap aliases'
- vet: fix for unkeyed fields error on aliases_test.go
- interfaces: miscellaneous policy updates for network-control,
unity7, pulseaudio, default and home
- tests: test for auto-aliases
- interface hooks: connect plug slot hooks (step 2)
- cmd/snap: fix internal naming in snap connect
- snap: use "size" as the json tag in snap.ChannelSnapInfo
- tests: restore the missing initialization of iface manager causing
race
- snap: fix missing sizes in `snap info <remote-snap>`
- tests: improve cleanup for c-unit-tests
- cmd/snap-confine: build non-installed libsnap-confine-private.a
- cmd/snap-confine: small tweaks to seccomp support code
- interfaces/docker-support: allow /run/shm/aufs.xeno for 14.04
- many: obtain installed snaps developer/publisher username through
assertions
- store: setting of fields for details endpoint
- cmd/snap-confine: check for rst2man on configure
- snap: show `snap --help` output when just running `snap`
- interface/builtin: drop the obsolete checks in udisks2
SanitizeSlot
- cmd/snap: remove currency switch following UX review
- spread: find top-level directory before running generate-
packaging-dir
- interface hooks: prepare plug slot hooks (step 1)
- i18n: use github.com/mvo5/gettext.go (pure go) for i18n to avoid
cgo
- many: put a marker in the User-Agent sent by snapd/snap when under
testingThe User-Agent will look like:
- tests: fix -reuse and -resend when govendor is missing
- snap: provide friendlier `snap find` message when no snaps are
found
- tests: fix mkversions.sh failure on zesty
- spread: install build-essentail unconditionally
- spread: improve qemu ubuntu-14.04-{32,64} support
- overlord/snapstate,daemon: implement GET /v2/aliases handling
- store: retry user info request
- tests: port more snap-confine regression tests
- tests: cancel the scheduled reboot on ubuntu-core-upgrade-no-gc
and restore state
- tests: debug zesty autopkgtest failures
- overlord/snapstate: use keyed fields on literals
- tests: use MATCH in install-remove-multi
- tests: increase wait time for service to be up
- tests: make debug-each succeed if DENIED doesn't match
- tests: skip packaging dir generation for non-git based autopkgtest
runs
- tests: port refresh-all-undo to MATCH
- tests: improve snap connect test
- tests: port additional snap-confine regression tests
- tests: show --version when it matches unknown
- tests: optionally use apt proxy for qemu
- tests: add hello-classic test
- many: behave more consistently when pointed to staging and
possibly the fake store
- overlord/ifacestate: remove stale comments
- interfaces/apparmor: ignore snippets in classic confinement
- tests: port first regression test from snap-confine
- cmd/snap-confine: disable old tests
-- Michael Vogt <michael.vogt@ubuntu.com> Fri, 13 Jan 2017 19:39:51 +0100
snapd (2.20.1) xenial; urgency=medium
* New upstream release, LP: #1648520
- tests: enable the ppc64el tests again
- tests: add classic confinement test
- tests: run snap confine tests in debian/rules already
-- Michael Vogt <michael.vogt@ubuntu.com> Mon, 19 Dec 2016 11:53:29 +0100
snapd (2.20) xenial; urgency=medium
* New upstream release, LP: #1648520
- many: implement "snap alias --reset" using snapstate.ResetAliases
- debian: use a packaging branch for 14.04
- store: retry downloads on io.Copy errors and sha3 checksum errors
- snap: show apps in `snap info`
- store: send an explicit X-Ubuntu-Classic header to the store
- overlord/snapstate: implement snapstate.ResetAliases
- interfaces/builtin: add dbus interface
- tests: fix tests on 17.04
- store: use mocked retry strategy to make store tests faster
- overlord: apply auto-aliases information from the snap-declaration
on install or refresh
- many: prepare landing on trusty
- many: implement snap unalias using snapstate.Unalias
- overlord/snapstate: fixing the placement/grouping of some
functions
- interfaces: support network namespaces via 'ip netns' in network-
control
- interfaces/builtin: fix pulseaudio apparmor rules
- interfaces/builtin: add iio interface
- tests: update custom core snap with the freshly build snap-confine
- interfaces: use sysd.{Disable,Stop} instead of sysd.DisableNow()
- overlord,overlord/snapstate: implement snapstate.Unalias by
generalizing the "alias" task
- interfaces: misc openstack snap enablement
- cmd/snap: mock terminal.ReadPassword instead of using /dev/ptmx
- notifications, daemon: kill the unsupported events endpoint
- client: only allow Dangerous option in InstallPath
- overlord/ifacestate: no interface checks if no snap id
- many: implement alias command
- snap: tweak snap install output as designed by Mark
- debian: fix Pre-Depends on dpkg
- tests: check if snap-confine --version is unknown
- cmd/snap-confine: allow content interface mounts
- tests: remove ppa:snappy-dev/image again
- interfaces/apparmor: allow access to core snap
- tests: remove snap-confine/ubuntu-core-launcher after the tests
- overlord,overlord/snapstate: implement snapstate.Alias
- cmd/snap: reject "snap disconnect foo"
- debian: add split ubuntu-core-launcher and snap-confine packages
- cmd: fix mkversion.sh and add regression test
- overlord/snapstate: setup/remove aliases as we link/unlink snaps
- cmd/snap,tests: alias support in snap run
- snap/snapenv: don't obscure HOME if snap uses classic confinement
- store: decode response.Body json inside retry loops
- cmd/snap-confine: fix compilation on platforms with gcc < 4.9.0
- vendor: update tomb package fixing context support
-- Michael Vogt <michael.vogt@ubuntu.com> Thu, 15 Dec 2016 22:07:08 +0100
snapd (2.19) xenial; urgency=medium
* New upstream release, LP: #1648520
- cmd/snap-confine: disable support for XDG_RUNTIME_DIR
- cmd/snap-confine/tests: fix stale path after move to snapd
- cmd/snap-confine: don't use __attribute__((nonull))
- snap: add description to `snap info`
- snap: show last refresh time
- store: switch default delta format from xdelta to xdelta3
- interfaces: fix system-observe interface to work with ps_mem
- debian: add missing ca-certificates dependency
- cmd/snap-confine: add support for classic confinement
- snapstate/backend: add backend methods to manage aliases
- tests: re-enable snap-confine unit tests via spread
- many: merge snap-confine into snapd
- many: add support for classic confinement
- snap: abort install with ctrl+c
- cmd/snap: change terms accept URL following UX review
- interfaces/apparmor: use distinct apparmor template for classic
- snap: add snap size to `snap info`
- interfaces: add unconfined access to modem-manager
- snap: support for parsing and exposing on snap.Info aliases
- debian: disable autopkgtests on ppc64el
- snap: disable support for socket activation
- tests: fix incorrect restore of the current symlink
- asserts: introduce auto-aliases header in snap-declaration
- interfaces/seccomp: add support for classic confinement
- tests: do not use external snaps
- daemon: close the dup()ed file descriptor to not leak it
- overlord, daemon, progress: enable building snapd without CGO
- daemon, store: let snap info find things in any channel
- store: retry tweaks and logging
- snap: Improve `snap --help` output as designed by Mark
- interfaces/builtin: fix incorrect udev rule in i2c
- overlord: increase test timeout and improve failure message
- snap: remove unused experimental command
- debian: remove unneeded conflict against the "snappy" package
- daemon, strutil: move daemon.quotedNames to strutil.Quoted
- docs: document SNAP_DEBUG_HTTP in HACKING.md
- cmd/snap: have some completers
- snap: support "daemon: notify" in snap.yaml
- snap: fix try command when daemon linie is added
- interfaces: apparmor support for classic confinement
- debian/rules: build with -buildoptions=pie
- tests: include /boot in saved state (including bootenv and any
kernels)
- daemon: ensure `snap try` installs core if it's missing
- tests: save/restore /snap/core/current symlink
- tests: decrease the number of expected featured apps
- tests: add set -e to the prepare ssh script
- cmd/snap: add tests for section completion; fix bugs.
- cmd/snap: document 'snap list --all'
-- Michael Vogt <michael.vogt@ubuntu.com> Thu, 08 Dec 2016 16:16:04 +0100
snapd (2.18.1) xenial; urgency=medium
* New upstream release, LP: #1644625
- daemon: fix crash when `snap refresh` contains a single update
- fix unhandled error from io.Copy() in download()
- interfaces/builtin: fix incorrect udev rule in i2c
-- Michael Vogt <michael.vogt@ubuntu.com> Mon, 05 Dec 2016 15:04:13 +0100
snapd (2.18) xenial; urgency=medium
* New upstream release, LP: #1644625
- store: retry on io.EOF
- tests: skip pty tests on ppc64el and powerpc
- client, cmd/snap: introducing "snap info"
- snap: do exit 0 on install/remove if that snap is already
installed or already removed
- snap: add `snap watch <change-id>` to attach to a running change
- store: retry downloads using retry loop
- snap: try doesn't require snap-dir when run in snap's directory
- daemon: show what will change in the "refresh-all" changes
- tests: disable autorefresh for the external backend
- snap: add `snap list -a` to show all snaps (even inactive ones)
- many: unify boolean env var handling
- overlord/ifacestate: don't setup jailmode snaps with devmode
confinement
- snapstate: do not garbage collect the snaps used by the bootenv
- debian: drop hard xdelta dependency for now
- snap: make `snap login` ask for email if not given as argument
- osutil: fix build on armhf (arm in go-arch) and powerpc (ppc in
go-arch)
- many: rename DevmodeConfinement to DevModeConfinement
- store: resp.Body.Close() missing in ReadyToBuy
- many: use ConfinementOptions instead of ConfinementType
- snap, daemon, store: fake the channel map in the REST API
- misc: run github.com/gordonklaus/ineffassign as part of the static
checks
- docs: add goreportcard badge and remove coveralls badge
- tests: force gofmt -s in static checks
- many: run gofmt -s -w on all the code
- store: DRY actual retry code
- many: fix various errors uncovered by goreportcard.com
- interfaces/builtin: allow additional shared memory for webkit
- many: some more missing snapState->snapst
- asserts: introduce an optional freeform display-name for model
- interfaces/builtin: rename usb-raw to raw-usb
- progress: init pbar with correct total value
- daemon/api.go: add quotedNames() helper
- interfaces: add ConfinementOptions type
- tests: add a test about the extra bits that prepare-device can
specify for device registration
- tests: check that gpio device nodes are exported after reboot
- tests: parameterize core channel with env var for classic too
- many: rename variable "ss" to "snapsup" or "snapst" or "st"
(depending on context)
- tests: do not use external snaps in spread
- store: retry buy request
- store: retry store.Find
- store: retry assertion store call
- store: retry call for snap details
- many: use snap.ConfinementType rather than bool devmode
- daemon: if a bad snap is posted it is not an internal error but a
bad request
- client: add "Snap.Screenshots" to the client API
- interfaces: update base declaration documentation and policy for
on-classic and snap-type
- store: check payment method before TOS for a better UX
- interfaces: allow sched_setaffinity in process-control
- tests: parameterize core channel with env var
- tests: ensure that the XDG_ env contains at least XDG_RUNTIME_DIR
- interfaces: fcitx also listens on the session bus for Qt apps
- store: retry ListRefresh
- snap: use "Password of <email>:" in the `snap login`
- many: reshuffle how we load/inject tests keys so image doesn't
need assertstate anymore
- store: use range requests if we have a local file already
- dirs,interfaces,overlord,snap,snapenv,test: export per-snap
XDG_RUNTIME_DIR per user
- osutil: make RealUser only look at SUDO_USER when uid==0
- tests: do not use the ppa:snappy-dev/image in the tests
- store: retry readyToBuy request
- tests: increase `expect` timeouts
- static tests: add spell check
- tests: add debug to all flaky expect tests
- systemd: correct the mount arguments when mounting with squashfuse
- interfaces: add avahi-observe
- store: bring delta downloads back
- interfaces: add alsa
- interfaces/builtin: fix a broken test that snuck into master
- osutil: add chattr funcs
- image: init "snap_mode" on image creation time to avoid ugly
messages
- tests: test-snapd-fuse-consumer needs python-fuse as a build-
package
- interfaces/builtin: add i2c interface
- interfaces: add ofono interface
- tests: do not use hello-world in our tests
- snap: add support for classic confinement
- interfaces: remove LegacyAutoConnect() from the interfaces
- interfaces: miscellaneous policy updates
- tests: run autopkgtests in the autopkgtest.ubuntu.com
infrastructure
- Implement lxd-client interface exposing the lxd snap
- asserts: validate optional account username
- many: remove unnecessary snap name parameter from buying endpoint
- tests: do not hardcode the size of /dev/ram0
- tests: add test that ensures the right content for /etc/os-release
- spread tests: fix snap mode check
- docs: fix path for source files location in HACKING.md
- interfaces/builtin/mir: allow slot to make recvfrom syscalls
- store: sections/featured snaps store support
-- Michael Vogt <michael.vogt@ubuntu.com> Thu, 24 Nov 2016 19:43:08 +0100
snapd (2.17.1) xenial; urgency=medium
* New upstream release, LP: #1637215:
- release: os-release on core has changed
- tests: /dev/ptmx does not work on powerpc, skip here
- docs: moved to github.com/snapcore/snapd/wiki (#2258)
- debian: golang is not installable on powerpc, use golang-any
-- Michael Vogt <michael.vogt@ubuntu.com> Fri, 04 Nov 2016 18:13:10 +0200
snapd (2.17) xenial; urgency=medium
* New upstream release, LP: #1637215:
- overlord/ifacestate: add unit tests for undo of setup-snap-
security (#2243)
- daemon,overlord,snap,tests: download to .partial in final dir
(#2237)
- overlord/state: marshaling tests for lanes (#2245)
- overlord/state: introduce state lanes (#2241)
- overlord/snapstate: fix revert+refresh (#2224)
- interfaces/sytemd: enable/disable generated service units (#2229)
- many: fix incorrect security files generation on undo
- overlord/snapstate: add dynamic snapdX.Y assumes (#2227)
- interfaces: network-manager: give slot full read-write access to
/run/NetworkManager
- docs: update the name of the command for the cross-build
- overlord/snapstate: fix missing argument to Noticef
- snapstate: ensure gadget/core/kernel can not be disabled (#2218)
- asserts: limit to 1y only if len(models) == 0 (#2219)
- debian: only install share/locale if available (missing on
powerpc)
- overlrod/snapstate: fix revert followed by refresh to old-current
(#2214)
- interfaces/builtin: network-manager and bluez can change hostname
(#2204)
- snap: switch the auto-import dir to /run/snapd/auto-import
- docs: less details about cloud.cfg as requested in trello (#2206)
- spread.yaml: Ensure ubuntu user has passwordless sudo for
autopkgtests (#2201)
- interfaces/builtin: add dcdbas-control interface
- boot: do not set boot to try mode if the revision is unchanged
- interfaces: add shutdown interface (#2162)
- interfaces: add system-power-control interface
- many: use the new systemd backend for configuring GPIOs
- overlord/ifacestate: setup security for slots before plugs
- snap: spool assertion candidates if snapd is not up yet
- store,daemon,overlord: download things to a partials dir
- asserts,daemon: implement system-user-authority header/concept
- interfaces/builtin: home base declaration rule using on-classic
for its policy
- interfaces/builtin: finish decl based checks
- asserts: bump snap-declaration to allow signing with new-style
plugs and slots
- overlord: checks for kernel installation/refresh based on model
assertion and previous kernel
- tests/lib/fakestore: fix logic to distinguish assertion not found
errors
- client: add a few explicit error types (around the request cycle)
- tests/lib/fakestore/cmd/fakestore: make it log, and fix a typo
- overlord/snapstate: two bugs for one
- snappy: disable auto-import of assertions on classic (#2122)
- overlord/snapstate: move trash cleanup to a cleanup handler
(#2173)
- daemon: make create-user --known fail on classic without --force-
managed (#2123)
- asserts,interfaces/policy: implement on-classic plug/slot
constraints
- overlord: check that the first installed gadget matches the model
assertion
- tests: use the snapd-control-consumer snap from the store
- cmd/snap: make snap run not talk to snapd for finding the revision
- snap/squashfs: try to hard link instead of copying. Also, switch
to osutil.CopyFile for cp invocation.
- store: send supported max-format when retrieving assertions
- snapstate, devicestate: do not remove seed
- boot,image,overlord,partition: read/write boot variables in single
operation
- tests: reenable ubuntu-core tests on qemu
- asserts,interfaces/policy: allow OR-ing of subrule constraints in
plug/slot rules
- many: move from flags as ints to flags as structs-of-bools (#2156)
- many: add supports for keeping and finding assertions with
different format iterations
- snap: stop using ubuntu-core-launcher, use snap-confine
- many: introduce an assertion format iteration concept, refuse to
add unsupported assertion
- interfaces: tweak wording and comment
- spread.yaml: dump apparmor denials on spread failure
- tests: unflake ubuntu-core-reboot (#2150)
- cmd/snap: tweak unknown command error message (#2139)
- client,daemon,cmd: add payment-declined error kind (#2107)
- cmd/snap: update remove command help (#2145)
- many: removed frameworks target and fixed service files (#2138)
- asserts,snap: validate attributes to a JSON-compatible type subset
(#2140)
- asserts: remove unused serial-proof type
- tests: skip auto-import tests on systems without test keys (#2142)
- overlord/devicestate: don't spam the debug log on classic (#2141)
- cmd/snap: simplify auto-import mountinfo parsing (#2135)
- tests: run ubuntu-core upgrades on isolated machine (#2137)
- overlord/devicestate: recover seeding from old external approach
(#2134)
- overlord: merge overlord/boot pkg into overlord/devicestate
(#2118)
- daemon: add postCreateUserSuite test suite (#2124)
- tests: abort tests if an update process is scheduled (#2119)
- snapstate: avoid reboots if nothing in the boot setup has changed
(#2117)
- cmd/snap: do not auto-import from loop or non-dev devices (#2121)
- tests: add spread test for `snap auto-import` (#2126)
- tests: add test for auto-mount assertion import (#2127)
- osutil: add missing unit tests for IsMounted (#2133)
- tests: check for failure creating user on managed ubuntu-core
systems (#2096)
- snap: ignore /dev/loop addings from udev (#2111)
- tests: remove snapd.boot-ok reference (#2109)
- tests: enable tests related to the home interface in all-snaps
(#2106)
- snapstate: only import defaults from gadget on install (#2105)
- many: move firstboot code into the snapd daemon (#2033)
- store: send correct JSON type of string for expected payment
amount (#2103)
- cmd/snap: rename is-managed to managed and tune (#2102)
- interfaces,overlord/ifacestate: initial cleaning up of no arg
AutoConnect related bits (#2090)
- client, cmd: prompt for password when buying (#2086)
- snapstate: fix hanging `snap remove` if snap is no longer mounted
- image: support gadget specific cloud.conf file (#2101)
- cmd/snap,ctlcmd: fix behavior of snap(ctl) get (#2093)
- store: local users download from the anonymous url (#2100)
- docs/hooks.md: fix typos (#2099)
- many: check installation of slots and plugs against declarations
- docs: fix missing "=" in the systemd-active docs
- store: do not set store auth for local users (#2092)
- interfaces,overlord/ifacestate: use declaration-based checking for
auto-connect (#2071)
- overlord, daemon, snap: support gadget config defaults (#2082)The
main semantic changes are:
- tests: fix snap-disconnect tests after core rename (#2088)
- client,daemon,overlord,cmd: add /v2/users and create-user on auto-
import (#2074)
- many: abbreviated forms of disconnect (#2066)
- asserts: require lowercase model until insensitive matching is
ready (#2076)
- cmd/snap: add version command, same as --version (#2075)
- all: use "core" by default but allow "ubuntu-core" still (#2070)
- overlord/devicestate, docs/hooks.md: nest prepare-device
configuration options
- daemon: fix login API to return local macaroons (#2078)
- daemon: do not hardcode UID in userLookup (#2080)
- client, cmd: connect fixes (#2026)
- many: preparations for switching most of autoconnect to use the
declarationsfor now:
- overlord/auth: update CheckMacaroon to verify local snapd
macaroons (#2069)
- cmd/snap: trivial auto-import and download tweaks (#2067)
- interfaces: add repo.ResolveConnect that handles name resolution
- interfaces/policy: introduce InstallCandidate and its checks
- interfaces/policy,overlord: check connection requests against the
declarations in ifacestate
- many: setup snapd macaroon for local users (#2051)Next step: do
snapd macaroons verification.
- interfaces/policy: implement snap-id/publisher-id checks
- many: change Connect to take ConnRef instead of strings (#2060)
- snap: auto mount block devices and import assertions (#2047)
- daemon: add `snap create-user --force-managed` support (#2041)
- docs: remove references to removed buying features (#2057)
- interfaces,docs: allow sharing SNAP{,_DATA,_COMMON} via content
iface (#2063)
- interfaces: add Plug/Slot/Connection reference helpers (#2056)
- client,daemon,cmd/snap: improve create-user APIs (#2054)
- many: introduce snap refresh --ignore-validation <snap> to
override refresh validation (#2052)
- daemon: add support for `snap create-user --known` (#2040)
- interfaces/policy: start of interface policy checking code based
on declarations (#2050)
- overlord/configstate: support nested configuration (#2039)
- asserts,interfaces/builtin,overlord/assertstate: introduce base-
declaration (#2037)
- interfaces: builtin: Allow writing DHCP lease files to
/run/NetworkManager/dhcp (#2049)
- many: remove all traces of the /v2/buy/methods endpoint (#2045)
- tests: add external spread backend (#1918)
- asserts: parse the slot rules in snap-declarations (#2035)
- interfaces: allow read of /etc/ld.so.preload by default for armhf
on series 16 (#2048)
- store: change purchase to order and store clean up first pass
(#2043)
- daemon, store: switch to new store APIs in snapd (#2036)
- many: add email to UserState (#2038)
- asserts: support parsing the plugs stanza i.e. plug rules in snap-
declarations (#2027)
- store: apply deltas if explicitly enabled (#2031)
- tests: fix create-key/snap-sign test isolation (#2032)
- snap/implicit: don't restrict the camera iface to classic (#2025)
- client, cmd: change buy command to match UX document (#2011)
- coreconfig: nuke it. Also, ignore po/snappy.pot. (#2030)
- store: download deltas if explicitly enabled (#2017)
- many: allow use of the system user assertion with create-user
(#1990)
- asserts,overlord,snap: add prepare-device hook for device
registration (#2005)
- debian: adjust packaging for trusty/deputy systemd (#2003)
- asserts: introduce AttributeConstraints (#2015)
- interface/builtin: access system bus on screen-inhibit-control
- tests: add firewall-control interface test (#2009)
- snapstate: pass errors from ListRefresh in updateInfo (#2018)
- README: add links to IRC, mailing list and social media (#2022)
- docs: add `configure` hook to hooks list (#2024)LP: #1596629
- cmd/snap,configstate: rename apply-config variables to configure.
(#2023)
- store: retry download on 500 (#2019)
- interfaces/builtin: support time and date settings via
'org.freedesktop.timedate1 (#1832)
-- Michael Vogt <michael.vogt@ubuntu.com> Wed, 02 Nov 2016 01:17:36 +0200
snapd (2.16) xenial; urgency=medium
* New upstream release, LP: #1628425
- overlord/state: prune old empty changes
- interfaces: ppp: load needed kernel module (#2007)
- interfaces/builtin: add missing rule to allow run-parts to
execute all resolvconf scripts
- many: rename apply-config hook to configure
- tests: use new spread `debug` feature
- many: finish `snap set` API.
- overlord: fix and simplify configstate.Transaction
- assertions: add system-user assertion
- snap: add `snap known --remote`
- tests: replace systemd-run with on-the-fly generation of units.
- overlord/boot: switch to using assertstate.Batch
- snap, daemon, store: pass through screenshots from store
- image: add meta/gadget.yaml infrastructure
- tests: add test benchmark script
- daemon: add the actual ssh keys that got added to the create-user
response
- daemon: add REST API behind `snap get`
- debian: re-add golang-github-gosexy-gettext-dev
- tests: added install_local function
- interfaces/builtin: fix resolvconf permissions for network-manager
interface
- tests: use apt as compatible with trusty
- many: discard preserved namespace after removing snap
- daemon, overlord, store: add ReadyToBuy API to snapd
- many: add support for installing/removing multiple snaps
- progress: use New64 and fix output newline
- interfaces/builtin: allow network-manager to access netplan conf
files
- tests: build once and install test snap from cache
- overlord/state: introduce cleanup support
- snap: move/clarify Info.Broken
- ctlcmd: add snapctl get.
- overlord,store: clean up serial-proof plumbing code
- interfaces/builtin: add network-setup-observe interface
- daemon,overlord/assertstate: support streams of assertions with
snap ack
- snapd: kmod backend
- tests: ensure HOME is also set correctly
- configstate,hookstate: add snapctl set
- tests: disable broken create-key test
- interfaces: adjust bluetooth-control to allow getsockopt (LP:
#1613572)
- tests: add a test for core about device initialization and device
registration and auth
- many: show snap name before the download progress bar
- interfaces/builtin: add rcvfrom for client connected plugs to mir
interface
- asserts: support for maps in assertions
- tests: increase timeout for key generation in create-key test
- many: validate refreshes against validation assertions by gating
snaps
- interfaces/apparmor: allow 'm' in default policy for snap-exec
- many: avoid snap.InfoFromSnapYaml in tests
- interfaces/builtin: allow /dev/net/tun with network-control
- tests: add spread test for snap create-key/snap sign
- tests: add missing quotes in security-device-cgroups/task.yaml
- interfaces: drop ErrUnknownSecurity
- store: add "ready to buy" method
- snap/snapenv, tests: use root's data dirs when running via sudo
- interfaces/builtin: add initial docker interface
- snap: remove extra newline after progress is done
- docs: fix formating of HACKING.md "Testing snapd"
- store : add requestOptions.ExtraHeaders so that individual
requests can customise headers.
- many: use unique plug/slot names in tests
- tests: add tests for the classic dimension
- many: add vendoring of dependencies by default
- tests: use in-tree snap{ctl,-exec} for all tests
- many: support snapctl -h
- tests: adjust regex after changes in stat output
- store,snap: initial support for delta downloads
- interfaces/builtin: add run/udev/data paths to mir interface
- snap: lessen annoyance of implicit interface tests
- tests: ensure http{,s}_proxy is defined inside the fake-store
- interfaces: allow xdg-open in unity7, unity7 cleanups
- daemon,store: move store login user logic to store
- tests: replace realpath with readlink -f for trusty support.
- tests: add https_proxy into environment as well
- interfaces/builtin: allow mmaping pulseaudio buffers
-- Michael Vogt <michael.vogt@ubuntu.com> Wed, 28 Sep 2016 11:09:27 +0200
snapd (2.15.2ubuntu1) xenial; urgency=medium
* New upstream release, LP: #1623579
- snap/snapenv, tests: use root's data dirs when running via sudo
(cherry pick PR: #1857)
- tests: add https_proxy into environment
(cherry pick PR: #1926)
- interfaces: allow xdg-open in unity7, unity7 cleanups
(cherry pick PR: #1946)
- tests: ensure http{,s}_proxy is defined inside the fake-store
(cherry pick PR: #1949)
-- Michael Vogt <michael.vogt@ubuntu.com> Wed, 21 Sep 2016 17:21:12 +0200
snapd (2.15.2) xenial; urgency=medium
* New upstream release, LP: #1623579
- asserts: define a bit less terse Ref.String
- interfaces: disable auto-connect in libvirt interface
- asserts: check that validation assertions are signed by the
publisher of the gating snap
-- Michael Vogt <michael.vogt@ubuntu.com> Mon, 19 Sep 2016 10:42:29 +0200
snapd (2.15.1) xenial; urgency=medium
* New upstream release, LP: #1623579
- image: ensure local snaps are put last in seed.yaml
- asserts: revert change that made the account-key's name mandatory.
- many: refresh all snap decls
- interfaces/apparmor: allow reading /etc/environment
-- Michael Vogt <michael.vogt@ubuntu.com> Mon, 19 Sep 2016 09:19:44 +0200
snapd (2.15) xenial; urgency=medium
* New upstream release, LP: #1623579
- tests: disable prepare-image-grub test in autopkgtest
- interfaces: allow special casing for auto-connect until we have
assertions
- docs: add a little documentation on hooks.
- hookstate,daemon: don't mock HookRunner, mock command.
- tests: add http_proxy to /etc/environment in the autopkgtest
environment
- backends: first bits of kernel-module security backend
- tests: ensure openssh-server is installed in autopkgtest
- tests: make ubuntu-core tests more robust
- many: mostly work to support ABA upgrades
- cmd/snap: do runtime linting of descriptions
- spread.yaml: don't assume LANG is set
- snap: fix SNAP* environment merging in `snap run`
- CONTRIBUTING.md: remove integration-tests, include spread
- store: don't discard error body from request device session call
- docs: add create-user documentation
- cmd/snap: match UX document for message when buying without login
- firstboot: do not overwrite any existing netplan config
- tests: add debug output to ubuntu-core-update-rollback-
stresstest:
- tests/lib/prepare.sh: test that classic does not setting bootvars
- snap: run all tests with gpg2
- asserts: basic support for validation assertion and refresh-
control
- interfaces: miscellaneous policy updates for default, browser-
support and camera
- snap: (re)add --force-dangerous compat option
- tests: ensure SUDO_{USER,GID} is unset in the spread tests
- many: clean out left over references to integration tests
- overlord/auth,store: fix raciness in updating device/user in state
through authcontext and other issuesbonus fixes:
- tests: fix spread tests on yakkety
- store: refactor auth/refresh tests
- asserts: use gpg --fixed-list-mode to be compatible with both gpg1
and gpg2
- cmd/snap: i18n option descriptions
- asserts: required account key name header
- tests: add yakkety test host
- packaging: make sure debhelper-generated snippet is invoked on
postrm
- snap,store: capture newest digest from the store, make it
DownloadInfo only
- tests: add upower-observe spread test
- Merge github.com:snapcore/snapd
- tests: fixes to actually run the spread tests inside autopkgtest
- cmd/snap: make "snap find" error nicer.
- tests: get the gadget name from snap list
- cmd/snap: tweak help of 'snap download'
- cmd/snap,image: teach snap download to download also assertions
- interfaces/builtin: tweak opengl interface
- interfaces: serial-port use udevUsbDeviceSnippet
- store: ensure the payment methods method handles auth failure
- overlord/snapstate: support revert flags
- many: add snap configuration to REST API
- tests: use ubuntu-image for the ubuntu-core-16 image creation
- cmd/snap: serialise empty keys list as [] rather than null
- cmd/snap,client: add snap set and snap get commands
- asserts: update trusted account-key asserts with names
- overlord/snapstate: misc fixes/tweaks/cleanups
- image: have prepare-image set devmode correctly
- overlord/boot: have firstboot support assertion files with
multiple assertions
- daemon: bail from enable and disable if revision given, and from
multi-op if unsupported optons given
- osutil: call sync after cp if
requested.overlord/snapstate/backend: switch to use osutil instead
of another buggy call to cp
- cmd/snap: generate account-key-request "since" header in UTC
- many: use symlinks instead of wrappers
- tests: remove silly [Service] entry from snapd.socket.d/local.conf
- store: switch device session to use device-session-request
assertion
- snap: ensure that plug and slot names are unique
- cmd/snap: fix test suite (no Exit(0) on tests!)
- interfaces: add interface for hidraw devices
- tests: use the real model assertion when creating the core test
image
- interfaces/builtin: add udisks2 and removable-media interfaces
- interface: network_manager: enable resolvconf
- interfaces/builtin: usb serial-port support via udev
- interfaces/udev: support noneSecurityTag keyed snippets
- snap: switch to the new agreed regexp for snap names
- tests: adjust test setup after ubuntu user removal
- many: start services only after the snap is fully ready (link-snap
was run)
- asserts: don't have Add/Check panic in the face of unsupported no-
authority assertions
- asserts: initial support to generate/sign snap-build assertions
- asserts: support checking account-key-request assertions
- overlord: introduce AuthContext.DeviceSessionRequest with support
in devicestate
- overlord/state: fix for reloaded task/change crashing on Set if
checkpointed w. no custom data yet
- snapd.refresh.service: require snap.socket and /snap/*/current.
- many: spell --force-dangerous as just --dangerous, devmode should
imply it
- overlord/devicestate: try to fetch/refresh the signing key of
serial (also in case is not there yet)
- image,overlord/boot,snap: metadata from asserts for image snaps
- many: automatically restart all-snap devices after os/kernel
updates
- interfaces: modem-manager: ignore camera
- firstboot: only configure en* and eth* interfaces by default
- interfaces: fix interface handling on no-app snaps
- snap: set user variables even if HOME is unset (like with systemd
services)
-- Michael Vogt <michael.vogt@ubuntu.com> Fri, 16 Sep 2016 07:46:22 +0200
snapd (2.14.2~16.04) xenial; urgency=medium
* New upstream release: LP: #1618095
- tests: use the spread tests with the adhoc interface inside
autopkgtest
- interfaces: add fwupd interface
- asserts,cmd/snap: add "name" header to account-key(-request)
- client,cmd/snap: display os-release data only on classic
- asserts/tool,cmd/snap: introduce hidden "snap sign"
- many: when installing snap file derive metadata from assertions
unless --force-dangerous
- osutil: tweak the createUserTests a bit and extract common code
- debian: umount --lazy before rm on snapd.postrm
- interfaces: updates to default policy, browser-support, and x11
- store: set initial device session
- interfaces: add upower-observe interface (LP: #1595813)
- tests: use beta u-d-f in test by default
- interfaces/builtin: allow writing on /dev/vhci in bluetooth-
control
- interfaces/builtin: allow /dev/vhci on bluetooth-control
- tests: port integration tests to spread
- snapstate: use umount --lazy when removing the mount units
- spread: enable halt-timeout, tweak image selection
- tests: fix firstboot-assertions to actually be runnable on classic
again
- asserts: introduce device-session-request
- interfaces: add screen-inhibit-control interface (LP: #1604880)
- firstboot: change location of netplan config
- overlord/devicestate: some cleanups and solving a couple todos
- daemon,overlord: add subcommand handling to snapctl
-- Michael Vogt <michael.vogt@ubuntu.com> Thu, 01 Sep 2016 18:52:05 +0200
snapd (2.14.1) xenial; urgency=medium
* New upstream release: LP: #1618095
- snap-exec: add support for commands with internal args in snap-
exec
- store: refresh expired device sessions
- debian: re-add ubuntu-core-snapd-units as a transitional package
- image: snap assertions into image
- overlord/assertstate,asserts/snapasserts: give snap assertions
helpers a package, introduce ReconstructSideInfo
- docs/interfaces: Add empty line after lxd-support title
- README: cover the new /run/snapd-snap.socket
- daemon: make socket split backward-compatible.
-- Michael Vogt <michael.vogt@ubuntu.com> Tue, 30 Aug 2016 16:43:29 +0200
snapd (2.14) xenial; urgency=medium
* New upstream release: LP: #1618095
- cmd: enable SNAP_REEXEC only if it is set to SNAP_REEXEC=1
- osutil: fix create-user on classic
- firstboot: disable firstboot on classic for now
- cmd/snap: add export-key --account= option
- many: split public snapd REST API into separate socket.
- many: drop ubuntu-core-snapd-units package, use release.OnClassic
instead
- tests: add content-shareing binary test that excersises snap-
confine
- snap: use "up to date" instead of "up-to-date"
- asserts: add an account-key-request assertion
- asserts: fix GPG key generation parameters
- tests, integration-tests: implement the cups-control manual test
as a spread test
- many: clarify/tie down model assertion
- cmd/snap: add "snap download" command
- integration-tests: remove them in favour of the spread tests
- tests: test all snap ubuntu core upgrade
- many: support install and remove by revision
- overlord/state: prevent change ready => unready
- tests: fixes to make the ubuntu-core-16 image usable with
-keep/-reuse
- asserts: authority-id and brand-id of serial must match
- firstboot: generate netplan config rather than ifupdown
- store: request device session macaroon from store
- tests: add workaround for u-d-f to unblock all-snap image tests
- tests: the stable ubuntu-core snap has snap run support now
- many: use make StripGlobalRootDir public
- asserts: add some stricter checks around format
- many: have AuthContext expose device store-id, serial and serial-
proof signing to the store
- tests: fix "tests/main/ack" to not break if asserts are alreay
there
- tests/main/ack: fix test/style
- snap: add key management commands
- firstboot: add firstboot assertions importing
-- Michael Vogt <michael.vogt@ubuntu.com> Mon, 29 Aug 2016 17:07:20 +0200
snapd (2.13) xenial; urgency=medium
* New upstream release: LP: #1616157
- many: respect dirs.SnapSnapsDir in tests
- tests: update listing test for latest stable image
- many: hook in start of code to fetch/check assertions when
installing snap from store
- boot: add missing udevadm mock to fix FTBFS
- interfaces: add lxd-support interface
- dirs,snap: handle empty root directory in SetRootDir
- dirs,snap: define methods for SNAP_USER_DATA and SNAP_USER_COMMON
- tests: spread all-snap test cleanup
- tests: add all-snap spread image tests
- store,tests: have just one envvar SNAPPY_USE_STAGING_STORE to
control talking to staging
- overlord/hookstate: use snap run posix parameters.
- interfaces/builtin: allow bind in the network interface
- asserts,overlord/devicestate: simplify private key/key pairs APIs,
they take just key ids
- dependencies: update godeps
- boot: add support for "devmode: {true,false}" in seed.yaml
- many: teach prepare-image to copy the model assertion (and
prereqs) into the seed area of the image
- tests: start teaching the fakestore about assertions
- asserts/sysdb: embed the new format official root/trusted
assertions
- overlord/devicestate: first pass at device registration logic
- tests: add process-control interface spread test
- tests: disable unity test
- tests: adapt to new spread version
- asserts: add serial-proof device assertion
- client, cmd/snap: use the new multi-refresh endpoint
- many: preparations for image code to fetch model prereqs
- debian: add extra checks when debian/snapd.postrm purge is run
- overlord/snapstate, daemon: support for multi-snap refresh
- tests: do not leave "squashfs-root" around
- snap-exec: Fix broken `snap run --shell` and add test
- overlord/snapstate: check changes to SnapState for conflicts also.
- docs/interfaces: change snappy command to snap
- tests: test `snap run --hook` using in-tree snap-exec.
- partition: ensure that snap_{kernel,core} is not overridden with an
empty value
- asserts,overlord/assertstate: introduce an assertstate task
handler to fetch snap assertions
- spread: disable re-exec to always test development tree.
- interfaces: implement a fuse interface
- interfaces/hardware-observe.go: re-add /run/udev/data
- overlord/assertstate,daemon: reorg how the assert manager exposes
the assertion db and adding to it
- release: Remove "UBUNTU_CODENAME" from the test data
- many: implement snapctl command.
- interfaces: mpris updates (fix unconfined introspection, add name
attribute)
- asserts: export DecodePublicKey
- asserts: introduce support for assertions with no authority,
implement serial-request
- interfaces: bluez: add a few more tests to verify interface
connection works
- interfaces: bluez: add missing mount security snippet case
- interfaces: add kernel-module interface for module insertion.
- integration-tests: look for ubuntu-device-flash on PATH before
calling sudo
- client, cmd, daemon, osutil: support --yaml and --sudoer flags for
create-user
- spread: use snap-confine from ppa:snappy-dev/image for the tests
- many: move to purely hash based key lookup and to new
key/signature format (v1)
- spread: Use /home/gopath in spread.yaml
- tests: base security spread tests
-- Michael Vogt <michael.vogt@ubuntu.com> Wed, 24 Aug 2016 14:48:28 +0200
snapd (2.12) xenial; urgency=medium
* New upstream release: LP: #1612362
- many: do not require root for `snap prepare-image`
- tests: prevent restore error on test failure
- osutil: change escaping for create-user's sudoers
- docs: private flag doesn't exist on /v2/find (it's select)
- snap: do not sort the result of `snap find`
- interfaces/builtin: add gpio interface
- partition: fix cleaning of the boot variables on the second good
boot
- tests: add udev rules spread test
- docs: fix references to refresh action
- interfaces/udev,osutil: avoid doubled rules and put all in a per
snap file
- store: minor store improvements from previous reviews
- many: support interactive payments in snapd, filter from command
line
- docs/interfaces.md: improve interfaces documentation
- overlord,store: set store device authorization header
- store: add device nonce API support
- many: various fixes around the `create-user` command
- client, osutil: chown the auth file
- interfaces/builtin: add transitional browser-support interface
- snap: don't load unsupported implicit hooks.
- cmd/snap,cmd/snap-exec: support hooks again.
- interfaces/builtin: improve pulseaudio interface
- asserts: make account-key's `until` optional to represent a never-
expiring key
- store: refactor newRequest/doRequest to take requestOptions
- tests: allow-downgrades on upgrade test to prevent version errors
- daemon: stop using group membership as succedaneous of running
things with sudo
- interfaces: add bluetooth-control interfaces
- many: remove integration-test coverage metrics
- daemon,docs: drop license docs and error kind
- tests: add network-control interface spread test
- tests: add hardware-observe spread test
- interfaces: add system-trace interface LP: #1600085
- boot: use `cp -aLv` instead of `cp -a` (no symlinks on vfat)
- store: soft-refresh discharge macaroon from store when required
- partition: clear snap_try_{kernel,core} on success
- tests: add snapd-control interface spread test
- tests: add locale-control write spread test
- store: fix buy method after some refactoring broke it
- interfaces/builtin: read perms for network devices in network-
observe
- interfaces: also allow rfkill in network_control
- snapstate: remove artifacts from a snap try dir that vanished
- client, cmd/snap: better errors for empty snap list result
- wrappers: set BAMF_DESKTOP_FILE_HINT for unity
- many: cleanup/update rest.md; improve auth errors
- interfaces: miscelleneous policy updates for default, log-observe,
mount-observe, opengl, pulseaudio, system-observe and unity7