bolt tagshttps://gitlab.freedesktop.org/bolt/bolt/-/tags2024-02-19T09:20:05Zhttps://gitlab.freedesktop.org/bolt/bolt/-/tags/0.9.70.9.70.9.7 Release<ul data-sourcepos="1:1-4:46" dir="auto">
<li data-sourcepos="1:1-3:0">
<p data-sourcepos="1:3-2:35">Add a <code data-sourcepos="1:10-1:15">nopcie</code> security level since some devices report <code data-sourcepos="1:60-1:65">nopcie</code> when Thunderbolt
is disabled through BIOS setting.</p>
</li>
<li data-sourcepos="4:1-4:46">
<p data-sourcepos="4:3-4:46">Markdown lint styling is used for documents.</p>
</li>
</ul>2024-02-19T09:20:05ZKate Hsuanhttps://gitlab.freedesktop.org/bolt/bolt/-/tags/0.9.60.9.6Bug and CI fixes<p data-sourcepos="1:1-1:13" dir="auto">Bug fixes for</p>
<ul data-sourcepos="2:1-3:73" dir="auto">
<li data-sourcepos="2:1-2:35">CI- docker is replaced by podman,</li>
<li data-sourcepos="3:1-3:73">Compiler warnings and log messages for the domain not found were fixed.</li>
</ul>2023-09-13T02:01:25ZKate Hsuanhttps://gitlab.freedesktop.org/bolt/bolt/-/tags/0.9.50.9.51. Several fixes for test and build settings.
2. Automatically build Fedora RPM package through packit.<ul data-sourcepos="1:1-2:56" dir="auto">
<li data-sourcepos="1:1-1:44">Several fixes for test and build settings.</li>
<li data-sourcepos="2:1-2:56">Automatically build Fedora RPM package through packit.</li>
</ul>2023-01-04T08:55:34ZKate Hsuanhttps://gitlab.freedesktop.org/bolt/bolt/-/tags/0.9.40.9.4This is bolt 0.9.4 'The bots are taking over'
The bots are taking over the packaging.
<p data-sourcepos="1:1-1:67" dir="auto">This release contains automation for downstream (fedora) packaging.</p>
<p data-sourcepos="3:1-3:89" dir="auto">Thanks to Simon Steinbeiss and the PackIt team for doing the actual work to enable this.</p>2022-11-07T09:44:01ZSimon Steinbeisssimon.steinbeiss@redhat.comhttps://gitlab.freedesktop.org/bolt/bolt/-/tags/0.9.30.9.3This is bolt 0.9.3 'Fix for the fix'
<h2 data-sourcepos="1:1-3:17" dir="auto">
<a id="user-content-version-093" class="anchor" href="#version-093" aria-hidden="true"></a>Version 0.9.3</h2>
<p data-sourcepos="3:1-4:20" dir="auto"><em data-sourcepos="3:1-3:17">Fix for the fix</em>
Released: 2022-08-23</p>
<ul data-sourcepos="6:1-13:30" dir="auto">
<li data-sourcepos="6:1-10:0">
<p data-sourcepos="6:3-9:57">Work around a glib fix that changed behavior of the log API where now
calling <code data-sourcepos="7:12-7:32">g_log_set_writer_func</code> results in an hard error, which broke
the test suite since aforementioned function was indeed called more
than once. Nothing a level of indirection couldn't fix.</p>
</li>
<li data-sourcepos="11:1-13:30">
<p data-sourcepos="11:3-13:30">CI: disable Debian based ci for now. Another glib fix broke the Debian
and Arch based docker container. Fedora has patched glib to bake the
fix out again so it is fine.</p>
</li>
</ul>2022-08-22T23:00:29ZChristian Kellnerhttps://gitlab.freedesktop.org/bolt/bolt/-/tags/0.9.20.9.2This is bolt 0.9.2 'Please get along'
<h2 data-sourcepos="1:1-3:18" dir="auto">
<a id="user-content-version-092" class="anchor" href="#version-092" aria-hidden="true"></a>Version 0.9.2</h2>
<p data-sourcepos="3:1-4:20" dir="auto"><em data-sourcepos="3:1-3:18">Please get along</em>
Released: 2022-01-27</p>
<ul data-sourcepos="6:1-18:66" dir="auto">
<li data-sourcepos="6:1-10:0">
<p data-sourcepos="6:3-9:19">This release is compatible with umockdev >= 0.16.3; there was a change in
umockdev that made our test fail with it, since both our test and umockev
were trying to create the same directorires. bolt now allows for the dir
to already exist.</p>
</li>
<li data-sourcepos="11:1-13:0">
<p data-sourcepos="11:3-12:74">The license for <code data-sourcepos="11:20-11:32">90-bolt.rules</code> has changed from <code data-sourcepos="11:53-11:60">GPL-2.1+</code>, which does
not exist and was probably was confused with <code data-sourcepos="12:49-12:57">LGPL-2.1+</code>, to <code data-sourcepos="12:65-12:72">GPL 2.0+</code>.</p>
</li>
<li data-sourcepos="14:1-15:0">
<p data-sourcepos="14:3-14:61">Documentation has been updated and spelling mistakes fixed.</p>
</li>
<li data-sourcepos="16:1-17:0">
<p data-sourcepos="16:3-16:50">Various improvements for continuous integration.</p>
</li>
<li data-sourcepos="18:1-18:66">
<p data-sourcepos="18:3-18:66">The minimum required version of meson has been bumped to 0.46.0.</p>
</li>
</ul>2022-01-27T17:00:07ZChristian Kellnerhttps://gitlab.freedesktop.org/bolt/bolt/-/tags/0.9.10.9.1This is bolt 0.9.1 'Unstable icy waters'
<ul data-sourcepos="1:1-14:54" dir="auto">
<li data-sourcepos="1:1-13:0">
<p data-sourcepos="1:3-7:72">Bug fixes for integrated thunderbolt controllers:
On Ice Lake, the Thunderbolt 3 i/o subsystem is fully integrated into the die.
As a side effect it does not have a DROM, which means the host udev device
does not have the device and vendor name and id attributes.
Additionally the <code data-sourcepos="5:21-5:29">unique_id</code> of said host controller changes with every boot,
which breaks one of the fundamental assumptions in <code data-sourcepos="6:55-6:59">boltd</code>. Therefore a number
of bug fixes were necessary to properly support this new architecture:</p>
<ul data-sourcepos="9:3-13:0">
<li data-sourcepos="9:3-9:64">Don't store domains where uuids change across reboots [<a href="/bolt/bolt/-/merge_requests/220" data-reference-type="merge_request" data-original="!220" data-link="false" data-link-reference="false" data-project="32" data-merge-request="30662" data-project-path="bolt/bolt" data-iid="220" data-container="body" data-placement="top" title="Don't store domains where uuids change across reboots" class="gfm gfm-merge_request">!220</a>]</li>
<li data-sourcepos="10:3-10:57">Fixes for the journal and the domain's acl-log [<a href="/bolt/bolt/-/merge_requests/221" data-reference-type="merge_request" data-original="!221" data-link="false" data-link-reference="false" data-project="32" data-merge-request="31623" data-project-path="bolt/bolt" data-iid="221" data-container="body" data-placement="top" title="Fixes for the journal and the domain's acl-log" class="gfm gfm-merge_request">!221</a>]</li>
<li data-sourcepos="11:3-11:78">Version the store and use that to clean up stale domains once [<a href="/bolt/bolt/-/merge_requests/226" data-reference-type="merge_request" data-original="!226" data-link="false" data-link-reference="false" data-project="32" data-merge-request="33847" data-project-path="bolt/bolt" data-iid="226" data-container="body" data-placement="top" title="store: versioning and upgrade" class="gfm gfm-merge_request">!226</a>, <a href="/bolt/bolt/-/merge_requests/231" data-reference-type="merge_request" data-original="!231" data-link="false" data-link-reference="false" data-project="32" data-merge-request="34239" data-project-path="bolt/bolt" data-iid="231" data-container="body" data-placement="top" title="Cleanup of stale domains" class="gfm gfm-merge_request">!231</a>]</li>
<li data-sourcepos="12:3-13:0">Host identification for embedded thunderbolt controllers [<a href="/bolt/bolt/-/merge_requests/233" data-reference-type="merge_request" data-original="!233" data-link="false" data-link-reference="false" data-project="32" data-merge-request="34608" data-project-path="bolt/bolt" data-iid="233" data-container="body" data-placement="top" title="Host identification for embedded thunderbolt controllers" class="gfm gfm-merge_request">!233</a>]</li>
</ul>
</li>
<li data-sourcepos="14:1-14:54">
<p data-sourcepos="14:3-14:54">Various other small bug fixes and memory leak fixes.</p>
</li>
</ul>2020-12-01T12:49:47ZChristian Kellnerhttps://gitlab.freedesktop.org/bolt/bolt/-/tags/0.90.9This is bolt 0.9 'Four comes after Three'
<ul data-sourcepos="1:1-16:50" dir="auto">
<li data-sourcepos="1:1-7:0">
<p data-sourcepos="1:3-1:15">New Features:</p>
<ul data-sourcepos="2:3-7:0">
<li data-sourcepos="2:3-2:53">Add 'Generation' attribute for the Manager [<a href="/bolt/bolt/-/merge_requests/197" data-reference-type="merge_request" data-original="!197" data-link="false" data-link-reference="false" data-project="32" data-merge-request="16853" data-project-path="bolt/bolt" data-iid="197" data-container="body" data-placement="top" title="USB: 'Generation' attribute for the Manager" class="gfm gfm-merge_request">!197</a>]</li>
<li data-sourcepos="3:3-3:58">Ability to change the policy of a stored device [<a href="/bolt/bolt/-/merge_requests/202" data-reference-type="merge_request" data-original="!202" data-link="false" data-link-reference="false" data-project="32" data-merge-request="17081" data-project-path="bolt/bolt" data-iid="202" data-container="body" data-placement="top" title="Ability to change the policy of an stored device" class="gfm gfm-merge_request">!202</a>]</li>
<li data-sourcepos="4:3-4:54">The BootACL Domain property is now writable [<a href="/bolt/bolt/-/merge_requests/184" data-reference-type="merge_request" data-original="!184" data-link="false" data-link-reference="false" data-project="32" data-merge-request="11610" data-project-path="bolt/bolt" data-iid="184" data-container="body" data-placement="top" title="Make BootACL Domain property writable" class="gfm gfm-merge_request">!184</a>]</li>
<li data-sourcepos="5:3-5:49">Support for systemd's service watchdog [<a href="/bolt/bolt/-/merge_requests/185" data-reference-type="merge_request" data-original="!185" data-link="false" data-link-reference="false" data-project="32" data-merge-request="11823" data-project-path="bolt/bolt" data-iid="185" data-container="body" data-placement="top" title="Enable systemd's service watchdog support" class="gfm gfm-merge_request">!185</a>]</li>
<li data-sourcepos="6:3-7:0">Expose Link Speed sysfs attributes [<a href="/bolt/bolt/-/merge_requests/214" data-reference-type="merge_request" data-original="!214" data-link="false" data-link-reference="false" data-project="32" data-merge-request="24890" data-project-path="bolt/bolt" data-iid="214" data-container="body" data-placement="top" title="Expose Link Speed sysfs attributes" class="gfm gfm-merge_request">!214</a>]</li>
</ul>
</li>
<li data-sourcepos="8:1-11:0">
<p data-sourcepos="8:3-8:15">Improvements:</p>
<ul data-sourcepos="9:3-11:0">
<li data-sourcepos="9:3-9:53">boltclt: show timestamps in 'monitor' call [<a href="/bolt/bolt/-/merge_requests/208" data-reference-type="merge_request" data-original="!208" data-link="false" data-link-reference="false" data-project="32" data-merge-request="17806" data-project-path="bolt/bolt" data-iid="208" data-container="body" data-placement="top" title="boltclt: show timestamps in 'monitor' call" class="gfm gfm-merge_request">!208</a>]</li>
<li data-sourcepos="10:3-11:0">Persist the host device [<a href="/bolt/bolt/-/merge_requests/194" data-reference-type="merge_request" data-original="!194" data-link="false" data-link-reference="false" data-project="32" data-merge-request="16548" data-project-path="bolt/bolt" data-iid="194" data-container="body" data-placement="top" title="Persist the host device" class="gfm gfm-merge_request">!194</a>]</li>
</ul>
</li>
<li data-sourcepos="12:1-16:50">
<p data-sourcepos="12:3-12:12">Bug fixes:</p>
<ul data-sourcepos="13:3-16:50">
<li data-sourcepos="13:3-13:33">Fix a flaky test [<a href="/bolt/bolt/-/merge_requests/217" data-reference-type="merge_request" data-original="!217" data-link="false" data-link-reference="false" data-project="32" data-merge-request="26864" data-project-path="bolt/bolt" data-iid="217" data-container="body" data-placement="top" title="test/common: make sure we a valid str in str_erase" class="gfm gfm-merge_request">!217</a>, <a href="/bolt/bolt/-/issues/161" data-reference-type="issue" data-original="#161" data-link="false" data-link-reference="false" data-project="32" data-issue="29377" data-project-path="bolt/bolt" data-iid="161" data-issue-type="issue" data-container="body" data-placement="top" title="test-common failed in test_str_erase" class="gfm gfm-issue">#161</a>]</li>
<li data-sourcepos="14:3-14:54">Plug small memory leaks in error conditions [<a href="/bolt/bolt/-/merge_requests/217" data-reference-type="merge_request" data-original="!217" data-link="false" data-link-reference="false" data-project="32" data-merge-request="26864" data-project-path="bolt/bolt" data-iid="217" data-container="body" data-placement="top" title="test/common: make sure we a valid str in str_erase" class="gfm gfm-merge_request">!217</a>]</li>
<li data-sourcepos="15:3-15:60">Ignore spurious wakeup device uevents for probing [<a href="/bolt/bolt/-/merge_requests/209" data-reference-type="merge_request" data-original="!209" data-link="false" data-link-reference="false" data-project="32" data-merge-request="19551" data-project-path="bolt/bolt" data-iid="209" data-container="body" data-placement="top" title="manager: ignore wakeup device uevents for probing" class="gfm gfm-merge_request">!209</a>]</li>
<li data-sourcepos="16:3-16:50">Preserve keystate when updating devices [<a href="/bolt/bolt/-/merge_requests/192" data-reference-type="merge_request" data-original="!192" data-link="false" data-link-reference="false" data-project="32" data-merge-request="16447" data-project-path="bolt/bolt" data-iid="192" data-container="body" data-placement="top" title="Preserve keystate when updating devices" class="gfm gfm-merge_request">!192</a>]</li>
</ul>
</li>
</ul>2020-06-15T18:45:33ZChristian Kellnerhttps://gitlab.freedesktop.org/bolt/bolt/-/tags/0.80.8This is bolt 0.8 'I owe it to the MM U!'
<ul data-sourcepos="1:1-22:60" dir="auto">
<li data-sourcepos="1:1-8:0">
<p data-sourcepos="1:3-1:15">New Features:</p>
<ul data-sourcepos="2:3-8:0">
<li data-sourcepos="2:3-4:80">
<strong data-sourcepos="2:5-2:21">IOMMU support</strong>: adapt behavior iommu support is present and active [<a href="/bolt/bolt/-/issues/128" data-reference-type="issue" data-original="#128" data-link="false" data-link-reference="false" data-project="32" data-issue="8912" data-project-path="bolt/bolt" data-iid="128" data-issue-type="issue" data-container="body" data-placement="top" title="IOMMU DMA protection support" class="gfm gfm-issue">#128</a>]
<ul data-sourcepos="3:5-4:80">
<li data-sourcepos="3:5-3:87">automatically enroll new devices with the new <code data-sourcepos="3:54-3:58">iommu</code> policy when iommu is active</li>
<li data-sourcepos="4:5-4:80">automatically authorize devices with the <code data-sourcepos="4:49-4:53">iommu</code> policy if iommu is active</li>
</ul>
</li>
<li data-sourcepos="5:3-5:91">
<code data-sourcepos="5:6-5:19">boltctl config</code> command to describe, get and set global, device and domain properties.</li>
<li data-sourcepos="6:3-6:93">Chain authorization and enrollment via <code data-sourcepos="6:45-6:79">boltctl {enroll, authorize} --chain</code> [<a href="/bolt/bolt/-/merge_requests/153" data-reference-type="merge_request" data-original="!153" data-link="false" data-link-reference="false" data-project="32" data-merge-request="4919" data-project-path="bolt/bolt" data-iid="153" data-container="body" data-placement="top" title="Ability to enroll or authorize a chain of devices" class="gfm gfm-merge_request">!153</a>, <a href="/bolt/bolt/-/merge_requests/154" data-reference-type="merge_request" data-original="!154" data-link="false" data-link-reference="false" data-project="32" data-merge-request="4954" data-project-path="bolt/bolt" data-iid="154" data-container="body" data-placement="top" title="client: new method to bulk connect (i.e. mix of authorize/enroll) devices" class="gfm gfm-merge_request">!154</a>]</li>
<li data-sourcepos="7:3-8:0">
<code data-sourcepos="7:6-7:14">bolt-mock</code> script for interactively testing <code data-sourcepos="7:51-7:55">boltd</code> [<a href="/bolt/bolt/-/merge_requests/152" data-reference-type="merge_request" data-original="!152" data-link="false" data-link-reference="false" data-project="32" data-merge-request="4543" data-project-path="bolt/bolt" data-iid="152" data-container="body" data-placement="top" title="ability to mock the environment boltd is running in" class="gfm gfm-merge_request">!152</a>]</li>
</ul>
</li>
<li data-sourcepos="9:1-14:0">
<p data-sourcepos="9:3-9:15">Improvements:</p>
<ul data-sourcepos="10:3-14:0">
<li data-sourcepos="10:3-10:68">Automatically import devices that were authorized at boot [<a href="/bolt/bolt/-/issues/137" data-reference-type="issue" data-original="#137" data-link="false" data-link-reference="false" data-project="32" data-issue="10290" data-project-path="bolt/bolt" data-iid="137" data-issue-type="issue" data-container="body" data-placement="top" title="Import all devices that were authorized at boot and have active PCIe tunnels" class="gfm gfm-issue">#137</a>]</li>
<li data-sourcepos="11:3-11:33">Make tests installable [<a href="/bolt/bolt/-/issues/140" data-reference-type="issue" data-original="#140" data-link="false" data-link-reference="false" data-project="32" data-issue="11410" data-project-path="bolt/bolt" data-iid="140" data-issue-type="issue" data-container="body" data-placement="top" title="Ship integration and interactive tests" class="gfm gfm-issue">#140</a>]</li>
<li data-sourcepos="12:3-12:66">Honour <code data-sourcepos="12:13-12:27">STATE_DIRECTORY</code> [<a href="/bolt/bolt/-/merge_requests/159" data-reference-type="merge_request" data-original="!159" data-link="false" data-link-reference="false" data-project="32" data-merge-request="6555" data-project-path="bolt/bolt" data-iid="159" data-container="body" data-placement="top" title="Take STATE_DIRECTORY env var into account for store location" class="gfm gfm-merge_request">!159</a>] and <code data-sourcepos="12:42-12:58">RUNTIME_DIRECTORY</code> [<a href="/bolt/bolt/-/merge_requests/161" data-reference-type="merge_request" data-original="!161" data-link="false" data-link-reference="false" data-project="32" data-merge-request="6672" data-project-path="bolt/bolt" data-iid="161" data-container="body" data-placement="top" title="make use of RUNTIME_DIRECTORY" class="gfm gfm-merge_request">!161</a>]</li>
<li data-sourcepos="13:3-14:0">Profiling support via gprof [<a href="/bolt/bolt/-/merge_requests/168" data-reference-type="merge_request" data-original="!168" data-link="false" data-link-reference="false" data-project="32" data-merge-request="9542" data-project-path="bolt/bolt" data-iid="168" data-container="body" data-placement="top" title="build: support for profiling (gprof)" class="gfm gfm-merge_request">!168</a>]</li>
</ul>
</li>
<li data-sourcepos="15:1-19:0">
<p data-sourcepos="15:3-15:12">Bug fixes:</p>
<ul data-sourcepos="16:3-19:0">
<li data-sourcepos="16:3-16:58">Better handling of random data generation [<a href="/bolt/bolt/-/issues/132" data-reference-type="issue" data-original="#132" data-link="false" data-link-reference="false" data-project="32" data-issue="9843" data-project-path="bolt/bolt" data-iid="132" data-issue-type="issue" data-container="body" data-placement="top" title="Are the fallbacks for `bolt_get_random_data()` safe?" class="gfm gfm-issue">#132</a>, <a href="/bolt/bolt/-/merge_requests/165" data-reference-type="merge_request" data-original="!165" data-link="false" data-link-reference="false" data-project="32" data-merge-request="8802" data-project-path="bolt/bolt" data-iid="165" data-container="body" data-placement="top" title="Make sure keys are generated with the right source of randomness" class="gfm gfm-merge_request">!165</a>]</li>
<li data-sourcepos="17:3-17:61">Fix double free in case of client creation failure [<a href="/bolt/bolt/-/merge_requests/148" data-reference-type="merge_request" data-original="!148" data-link="false" data-link-reference="false" data-project="32" data-merge-request="4012" data-project-path="bolt/bolt" data-iid="148" data-container="body" data-placement="top" title="client: fix double free in client creation failure" class="gfm gfm-merge_request">!148</a>]</li>
<li data-sourcepos="18:3-19:0">Fix invalid format string in warning [!14]</li>
</ul>
</li>
<li data-sourcepos="20:1-22:60">
<p data-sourcepos="20:3-20:19">NB for packagers:</p>
<ul data-sourcepos="21:3-22:60">
<li data-sourcepos="21:3-21:106">The dbus configuration is now installed in <code data-sourcepos="21:49-21:72">$datadir/dbus-1/system.d</code> instead of <code data-sourcepos="21:87-21:97">$sysconfdir</code> [<a href="/bolt/bolt/-/merge_requests/177" data-reference-type="merge_request" data-original="!177" data-link="false" data-link-reference="false" data-project="32" data-merge-request="9882" data-project-path="bolt/bolt" data-iid="177" data-container="body" data-placement="top" title="meson: install dbus configuration file in datadir" class="gfm gfm-merge_request">!177</a>].</li>
<li data-sourcepos="22:3-22:60">To install tests, configure with <code data-sourcepos="22:39-22:58">-Dinstall-tests=true</code>.</li>
</ul>
</li>
</ul>2019-06-13T22:15:45ZChristian Kellnerhttps://gitlab.freedesktop.org/bolt/bolt/-/tags/0.70.7This is bolt 0.7 'The Known Unknowns'
<ul data-sourcepos="1:1-13:58" dir="auto">
<li data-sourcepos="1:1-3:0">
<p data-sourcepos="1:3-1:11">Features:</p>
<ul data-sourcepos="2:3-3:0">
<li data-sourcepos="2:3-3:0">announce status to systemd via sd_notify (using a simple custom implementation) [<a href="/bolt/bolt/-/merge_requests/143" data-reference-type="merge_request" data-original="!143" data-link="false" data-link-reference="false" data-project="32" data-merge-request="3734" data-project-path="bolt/bolt" data-iid="143" data-container="body" data-placement="top" title="Send status update notifications (sd_notify)" class="gfm gfm-merge_request">!143</a>]</li>
</ul>
</li>
<li data-sourcepos="4:1-9:0">
<p data-sourcepos="4:3-4:12">Bug fixes:</p>
<ul data-sourcepos="5:3-9:0">
<li data-sourcepos="5:3-5:64">properly update global security level status [<a href="/bolt/bolt/-/issues/131" data-reference-type="issue" data-original="#131" data-link="false" data-link-reference="false" data-project="32" data-issue="9687" data-project-path="bolt/bolt" data-iid="131" data-issue-type="issue" data-container="body" data-placement="top" title='Security level turns to "unknown" each time after boltd is restarted' class="gfm gfm-issue">#131</a> via <a href="/bolt/bolt/-/merge_requests/141" data-reference-type="merge_request" data-original="!141" data-link="false" data-link-reference="false" data-project="32" data-merge-request="3612" data-project-path="bolt/bolt" data-iid="141" data-container="body" data-placement="top" title="Properly update the global SecurityLevel when registered domains are connected" class="gfm gfm-merge_request">!141</a>]</li>
<li data-sourcepos="6:3-6:79">adapt to <code data-sourcepos="6:15-6:21">systemd</code> 240 not sending <code data-sourcepos="6:41-6:44">bind</code>/<code data-sourcepos="6:48-6:53">unbind</code> uevents [<a href="/bolt/bolt/-/issues/133" data-reference-type="issue" data-original="#133" data-link="false" data-link-reference="false" data-project="32" data-issue="10061" data-project-path="bolt/bolt" data-iid="133" data-issue-type="issue" data-container="body" data-placement="top" title="Adapt to systemd 240 not sending bind/unbind uevents" class="gfm gfm-issue">#133</a> via <a href="/bolt/bolt/-/merge_requests/145" data-reference-type="merge_request" data-original="!145" data-link="false" data-link-reference="false" data-project="32" data-merge-request="3851" data-project-path="bolt/bolt" data-iid="145" data-container="body" data-placement="top" title="Fix force_power edetction for systemd 240" class="gfm gfm-merge_request">!145</a>]</li>
<li data-sourcepos="7:3-7:43">fix compilation on musl [<a href="/bolt/bolt/-/issues/126" data-reference-type="issue" data-original="#126" data-link="false" data-link-reference="false" data-project="32" data-issue="8875" data-project-path="bolt/bolt" data-iid="126" data-issue-type="issue" data-container="body" data-placement="top" title="error compiling with gcc 5" class="gfm gfm-issue">#126</a> via <a href="/bolt/bolt/-/merge_requests/140" data-reference-type="merge_request" data-original="!140" data-link="false" data-link-reference="false" data-project="32" data-merge-request="3409" data-project-path="bolt/bolt" data-iid="140" data-container="body" data-placement="top" title="Fix compliation for musl or older glibc system" class="gfm gfm-merge_request">!140</a>]</li>
<li data-sourcepos="8:3-9:0">daemon: use <code data-sourcepos="8:18-8:40">g_unix_signal_source…</code> to catch signals [<a href="/bolt/bolt/-/issues/127" data-reference-type="issue" data-original="#127" data-link="false" data-link-reference="false" data-project="32" data-issue="8898" data-project-path="bolt/bolt" data-iid="127" data-issue-type="issue" data-container="body" data-placement="top" title="The domain_basic test is flaky" class="gfm gfm-issue">#127</a>, <a href="/bolt/bolt/-/issues/129" data-reference-type="issue" data-original="#129" data-link="false" data-link-reference="false" data-project="32" data-issue="8921" data-project-path="bolt/bolt" data-iid="129" data-issue-type="issue" data-container="body" data-placement="top" title="Use g_unix_signal_source_new instead of rolling our own signal hanlding code" class="gfm gfm-issue">#129</a> via <a href="/bolt/bolt/-/merge_requests/138" data-reference-type="merge_request" data-original="!138" data-link="false" data-link-reference="false" data-project="32" data-merge-request="3186" data-project-path="bolt/bolt" data-iid="138" data-container="body" data-placement="top" title="daemon: use g_unix_signal_source… to catch signals" class="gfm gfm-merge_request">!138</a>]</li>
</ul>
</li>
<li data-sourcepos="10:1-13:58">
<p data-sourcepos="10:3-10:14">Improvements</p>
<ul data-sourcepos="11:3-13:58">
<li data-sourcepos="11:3-11:62">precondition checks cleanup and completion [<a href="/bolt/bolt/-/issues/124" data-reference-type="issue" data-original="#124" data-link="false" data-link-reference="false" data-project="32" data-issue="8846" data-project-path="bolt/bolt" data-iid="124" data-issue-type="issue" data-container="body" data-placement="top" title="Code cleanup: precondition checks" class="gfm gfm-issue">#124</a> via <a href="/bolt/bolt/-/merge_requests/139" data-reference-type="merge_request" data-original="!139" data-link="false" data-link-reference="false" data-project="32" data-merge-request="3348" data-project-path="bolt/bolt" data-iid="139" data-container="body" data-placement="top" title="Cleanup and complete precondition checks" class="gfm gfm-merge_request">!139</a>]</li>
<li data-sourcepos="12:3-12:30">error cleanup [<a href="/bolt/bolt/-/issues/125" data-reference-type="issue" data-original="#125" data-link="false" data-link-reference="false" data-project="32" data-issue="8848" data-project-path="bolt/bolt" data-iid="125" data-issue-type="issue" data-container="body" data-placement="top" title="Code cleanup: error reporting" class="gfm gfm-issue">#125</a>, <a href="/bolt/bolt/-/merge_requests/142" data-reference-type="merge_request" data-original="!142" data-link="false" data-link-reference="false" data-project="32" data-merge-request="3684" data-project-path="bolt/bolt" data-iid="142" data-container="body" data-placement="top" title="Error cleanup" class="gfm gfm-merge_request">!142</a>]</li>
<li data-sourcepos="13:3-13:58">fix some leaks and issues uncovered by coverity [<a href="/bolt/bolt/-/merge_requests/144" data-reference-type="merge_request" data-original="!144" data-link="false" data-link-reference="false" data-project="32" data-merge-request="3740" data-project-path="bolt/bolt" data-iid="144" data-container="body" data-placement="top" title="Fix some leaks and issues uncovered by coverity" class="gfm gfm-merge_request">!144</a>]</li>
</ul>
</li>
</ul>2019-01-01T17:26:06ZChristian Kellnerhttps://gitlab.freedesktop.org/bolt/bolt/-/tags/0.60.6This is bolt 0.6 'Make the firmware do it!'
<p data-sourcepos="1:1-1:13" dir="auto">New Features:</p>
<ul data-sourcepos="3:1-17:0" dir="auto">
<li data-sourcepos="3:1-15:0">
<p data-sourcepos="3:3-3:65"><strong data-sourcepos="3:3-3:50">pre-boot access control list, aka. <code data-sourcepos="3:41-3:47">BootACL</code></strong> support [<a href="/bolt/bolt/-/merge_requests/119" data-reference-type="merge_request" data-original="!119" data-link="false" data-link-reference="false" data-project="32" data-merge-request="2081" data-project-path="bolt/bolt" data-iid="119" data-container="body" data-placement="top" title="Add support for bootacl" class="gfm gfm-merge_request">!119</a>]</p>
<ul data-sourcepos="4:3-15:0">
<li data-sourcepos="4:3-7:50">domains objects are now persistent
<ul data-sourcepos="5:5-7:50">
<li data-sourcepos="5:5-5:113">new <code data-sourcepos="5:12-5:14">Uid</code> (dbus) / <code data-sourcepos="5:27-5:29">uid</code> (object) property derived from the uuid of the device representing the root switch</li>
<li data-sourcepos="6:5-6:78">
<code data-sourcepos="6:8-6:12">sysfs</code> and <code data-sourcepos="6:20-6:21">id</code> attribute will be set/unset on connects and disconnects</li>
<li data-sourcepos="7:5-7:50">domains are now stored in the boltd database</li>
</ul>
</li>
<li data-sourcepos="8:3-11:121">domains got the <code data-sourcepos="8:22-8:28">BootACL</code> (dbus) / <code data-sourcepos="8:41-8:47">bootacl</code> (object) property
<ul data-sourcepos="9:5-11:121">
<li data-sourcepos="9:5-9:49">uuids can be added, removed or set in batch</li>
<li data-sourcepos="10:5-10:93">when domain is <em data-sourcepos="10:22-10:29">online</em>: changes are written to the sysfs <code data-sourcepos="10:66-10:73">boot_acl</code> attribute directly</li>
<li data-sourcepos="11:5-11:121">when domain is <em data-sourcepos="11:22-11:30">offline</em>: changes are written to a journal and then reapplied in order when the domain is connected</li>
</ul>
</li>
<li data-sourcepos="12:3-12:107">newly enrolled devices get added to all bootacls of all domains <em data-sourcepos="12:69-12:72">if</em> the <code data-sourcepos="12:79-12:84">policy</code> is <code data-sourcepos="12:91-12:106">BOLT_POLICY_AUTO</code>
</li>
<li data-sourcepos="13:3-13:64">removed devices get deleted from all bootacls of all domains</li>
<li data-sourcepos="14:3-15:0">
<code data-sourcepos="14:6-14:19">boltacl domain</code> command will show the bootacl slots and their content</li>
</ul>
</li>
<li data-sourcepos="16:1-17:0">
<p data-sourcepos="16:3-16:83"><code data-sourcepos="16:4-16:10">boltctl</code> gained the <code data-sourcepos="16:25-16:34">-U, --uuid</code> option, to control how uuids are printed [<a href="/bolt/bolt/-/merge_requests/124" data-reference-type="merge_request" data-original="!124" data-link="false" data-link-reference="false" data-project="32" data-merge-request="2277" data-project-path="bolt/bolt" data-iid="124" data-container="body" data-placement="top" title="boltctl: options for different uuid formats" class="gfm gfm-merge_request">!124</a>]</p>
</li>
</ul>
<p data-sourcepos="18:1-18:23" dir="auto">Improvements and fixes:</p>
<ul data-sourcepos="20:1-30:75" dir="auto">
<li data-sourcepos="20:1-25:0">
<p data-sourcepos="20:3-20:16">Testing [<a href="/bolt/bolt/-/merge_requests/127" data-reference-type="merge_request" data-original="!127" data-link="false" data-link-reference="false" data-project="32" data-merge-request="2648" data-project-path="bolt/bolt" data-iid="127" data-container="body" data-placement="top" title="More testing" class="gfm gfm-merge_request">!127</a>]</p>
<ul data-sourcepos="21:3-25:0">
<li data-sourcepos="21:3-21:89">The test coverage increased to <code data-sourcepos="21:37-21:42">84.80%</code> overall and to <code data-sourcepos="21:61-21:65">90.0%</code> for the <code data-sourcepos="21:77-21:81">boltd</code> source</li>
<li data-sourcepos="22:3-22:74">Coverage is reported for merge requests via the fedora ci image [<a href="/bolt/bolt/-/merge_requests/126" data-reference-type="merge_request" data-original="!126" data-link="false" data-link-reference="false" data-project="32" data-merge-request="2630" data-project-path="bolt/bolt" data-iid="126" data-container="body" data-placement="top" title="Enable ci coverage repoting in the fedora image" class="gfm gfm-merge_request">!126</a>]</li>
<li data-sourcepos="23:3-23:49">
<code data-sourcepos="23:6-23:12">boltctl</code> is now included in the tests [<a href="/bolt/bolt/-/merge_requests/132" data-reference-type="merge_request" data-original="!132" data-link="false" data-link-reference="false" data-project="32" data-merge-request="3050" data-project-path="bolt/bolt" data-iid="132" data-container="body" data-placement="top" title="Test boltctl" class="gfm gfm-merge_request">!132</a>]</li>
<li data-sourcepos="24:3-25:0">Fedora 29 is used for the fedora ci image</li>
</ul>
</li>
<li data-sourcepos="26:1-30:75">
<p data-sourcepos="26:3-26:22">Bugs and robustness:</p>
<ul data-sourcepos="27:3-30:75">
<li data-sourcepos="27:3-27:61">The device state is verified in <code data-sourcepos="27:38-27:53">Device.Authorize</code> [<a href="/bolt/bolt/-/merge_requests/120" data-reference-type="merge_request" data-original="!120" data-link="false" data-link-reference="false" data-project="32" data-merge-request="2163" data-project-path="bolt/bolt" data-iid="120" data-container="body" data-placement="top" title="Verify device state in Device.Authorize" class="gfm gfm-merge_request">!120</a>]</li>
<li data-sourcepos="28:3-28:53">Handle empty 'keys' sysfs device attribute [<a href="/bolt/bolt/-/merge_requests/129" data-reference-type="merge_request" data-original="!129" data-link="false" data-link-reference="false" data-project="32" data-merge-request="2928" data-project-path="bolt/bolt" data-iid="129" data-container="body" data-placement="top" title="Handle empty 'keys' attributes" class="gfm gfm-merge_request">!129</a>]</li>
<li data-sourcepos="29:3-29:77">Properly adjust policies when enrolling already authorized devices [<a href="/bolt/bolt/-/merge_requests/136" data-reference-type="merge_request" data-original="!136" data-link="false" data-link-reference="false" data-project="32" data-merge-request="3092" data-project-path="bolt/bolt" data-iid="136" data-container="body" data-placement="top" title="Properly adjust policies when enrolling already authorized devices" class="gfm gfm-merge_request">!136</a>]</li>
<li data-sourcepos="30:3-30:75">Fix potential crasher when logging assertions <code data-sourcepos="30:52-30:67">g_return_if_fail</code> [<a href="/bolt/bolt/-/merge_requests/121" data-reference-type="merge_request" data-original="!121" data-link="false" data-link-reference="false" data-project="32" data-merge-request="2178" data-project-path="bolt/bolt" data-iid="121" data-container="body" data-placement="top" title="log: properly copy fields for old style logging" class="gfm gfm-merge_request">!121</a>]</li>
</ul>
</li>
</ul>2018-11-28T12:28:05ZChristian Kellnerhttps://gitlab.freedesktop.org/bolt/bolt/-/tags/0.50.5This is bolt 0.5 'You've got the Power'
<p data-sourcepos="1:1-1:13" dir="auto">New Features:</p>
<ul data-sourcepos="3:1-13:0" dir="auto">
<li data-sourcepos="3:1-5:67">Force-Power DBus API <gl-emoji title="high voltage sign" data-name="zap" data-unicode-version="4.0">⚡</gl-emoji>(<a href="/bolt/bolt/-/merge_requests/101" data-reference-type="merge_request" data-original="!101" data-link="false" data-link-reference="false" data-project="32" data-merge-request="859" data-project-path="bolt/bolt" data-iid="101" data-container="body" data-placement="top" title="Add d-bus API for force-powering the thunderbolt contoller" class="gfm gfm-merge_request">!101</a>)
<ul data-sourcepos="4:3-5:67">
<li data-sourcepos="4:3-4:74">A new interface to boltd to control the (force) power mechanism (<a href="/bolt/bolt/-/issues/106" data-reference-type="issue" data-original="#106" data-link="false" data-link-reference="false" data-project="32" data-issue="1927" data-project-path="bolt/bolt" data-iid="106" data-issue-type="issue" data-container="body" data-placement="top" title="ForcePower DBus API" class="gfm gfm-issue">#106</a>)</li>
<li data-sourcepos="5:3-5:67">Switch off power with a delay so we don't run into races (<a href="/bolt/bolt/-/issues/104" data-reference-type="issue" data-original="#104" data-link="false" data-link-reference="false" data-project="32" data-issue="1297" data-project-path="bolt/bolt" data-iid="104" data-issue-type="issue" data-container="body" data-placement="top" title="Force power should be switched of with a delay" class="gfm gfm-issue">#104</a>)</li>
</ul>
</li>
<li data-sourcepos="6:1-7:48">Add representation of thunderbolt domains<br>
This is a preparation for the boot acl support</li>
<li data-sourcepos="8:1-8:111">Authorizing devices, after upgrading from <code data-sourcepos="8:46-8:49">USER</code> to <code data-sourcepos="8:56-8:61">SECURE</code> security level, will lead to key upgrades (<a href="/bolt/bolt/-/merge_requests/107" data-reference-type="merge_request" data-original="!107" data-link="false" data-link-reference="false" data-project="32" data-merge-request="1078" data-project-path="bolt/bolt" data-iid="107" data-container="body" data-placement="top" title="Allow key upgrades for devices when security level gets upgraded" class="gfm gfm-merge_request">!107</a>)</li>
<li data-sourcepos="9:1-9:58">Connection and Authorization times are now stored (<a href="/bolt/bolt/-/merge_requests/105" data-reference-type="merge_request" data-original="!105" data-link="false" data-link-reference="false" data-project="32" data-merge-request="980" data-project-path="bolt/bolt" data-iid="105" data-container="body" data-placement="top" title="Store connection and authorization times for devices" class="gfm gfm-merge_request">!105</a>)</li>
<li data-sourcepos="10:1-10:49">Systemd dependency is now optional (<a href="/bolt/bolt/-/merge_requests/106" data-reference-type="merge_request" data-original="!106" data-link="false" data-link-reference="false" data-project="32" data-merge-request="982" data-project-path="bolt/bolt" data-iid="106" data-container="body" data-placement="top" title="Use own function to genenrate session id" class="gfm gfm-merge_request">!106</a>, <a href="/bolt/bolt/-/merge_requests/103" data-reference-type="merge_request" data-original="!103" data-link="false" data-link-reference="false" data-project="32" data-merge-request="939" data-project-path="bolt/bolt" data-iid="103" data-container="body" data-placement="top" title="build: allow building with elogind" class="gfm gfm-merge_request">!103</a>)</li>
<li data-sourcepos="11:1-13:0">Company and brand names are cleaned up for the display name (<a href="/bolt/bolt/-/issues/102" data-reference-type="issue" data-original="#102" data-link="false" data-link-reference="false" data-project="32" data-issue="1184" data-project-path="bolt/bolt" data-iid="102" data-issue-type="issue" data-container="body" data-placement="top" title="Cleanup of company names" class="gfm gfm-issue">#102</a>)</li>
</ul>
<p data-sourcepos="14:1-14:23" dir="auto">Bug fixes and cleanups:</p>
<ul data-sourcepos="16:1-19:0" dir="auto">
<li data-sourcepos="16:1-16:69">Emit proper notification for security-level property changes (<a href="/bolt/bolt/-/merge_requests/100" data-reference-type="merge_request" data-original="!100" data-link="false" data-link-reference="false" data-project="32" data-merge-request="631" data-project-path="bolt/bolt" data-iid="100" data-container="body" data-placement="top" title="Emit proper notification for security-level property changes" class="gfm gfm-merge_request">!100</a>)</li>
<li data-sourcepos="17:1-19:0">Auto generate the object path for BoltDevice (<a href="/bolt/bolt/-/merge_requests/102" data-reference-type="merge_request" data-original="!102" data-link="false" data-link-reference="false" data-project="32" data-merge-request="911" data-project-path="bolt/bolt" data-iid="102" data-container="body" data-placement="top" title="Auto generate the object path for BoltDevice" class="gfm gfm-merge_request">!102</a>)</li>
</ul>
<p data-sourcepos="20:1-20:17" dir="auto">NB for packagers:</p>
<ul data-sourcepos="21:1-26:30" dir="auto">
<li data-sourcepos="21:1-21:63">
<code data-sourcepos="21:4-21:12">-Ddb-path</code> is <strong data-sourcepos="21:18-21:31">DEPRECATED</strong>, use <code data-sourcepos="21:39-21:47">-Ddb-name</code> instead (<a href="/bolt/bolt/-/merge_requests/113" data-reference-type="merge_request" data-original="!113" data-link="false" data-link-reference="false" data-project="32" data-merge-request="1143" data-project-path="bolt/bolt" data-iid="113" data-container="body" data-placement="top" title="Hand directory management over to systemd" class="gfm gfm-merge_request">!113</a>)</li>
<li data-sourcepos="22:1-22:30">meson >= 0.44.0 is required.</li>
<li data-sourcepos="23:1-26:30">systemd unit files got updated:
<ul data-sourcepos="24:3-26:30">
<li data-sourcepos="24:3-24:33">
<code data-sourcepos="24:6-24:25">After=polkit.service</code> (<a href="/bolt/bolt/-/merge_requests/116" data-reference-type="merge_request" data-original="!116" data-link="false" data-link-reference="false" data-project="32" data-merge-request="1161" data-project-path="bolt/bolt" data-iid="116" data-container="body" data-placement="top" title="data: unit: depend on polkit.service" class="gfm gfm-merge_request">!116</a>)</li>
<li data-sourcepos="25:3-25:65">Use systemd for runtime and state directory management (<a href="/bolt/bolt/-/merge_requests/113" data-reference-type="merge_request" data-original="!113" data-link="false" data-link-reference="false" data-project="32" data-merge-request="1143" data-project-path="bolt/bolt" data-iid="113" data-container="body" data-placement="top" title="Hand directory management over to systemd" class="gfm gfm-merge_request">!113</a>)</li>
<li data-sourcepos="26:3-26:30">Sandbox is tightened (<a href="/bolt/bolt/-/merge_requests/97" data-reference-type="merge_request" data-original="!97" data-link="false" data-link-reference="false" data-project="32" data-merge-request="461" data-project-path="bolt/bolt" data-iid="97" data-container="body" data-placement="top" title="Tighten sandbox by constraining capabilities" class="gfm gfm-merge_request">!97</a>)</li>
</ul>
</li>
</ul>2018-09-24T09:41:16ZChristian Kellnerhttps://gitlab.freedesktop.org/bolt/bolt/-/tags/0.40.4Release bolt 0.4 'The Race Is Over'
<p data-sourcepos="1:1-1:13" dir="auto">New features:</p>
<ul data-sourcepos="2:3-5:0" dir="auto">
<li data-sourcepos="2:3-2:115">auto import of devices authorized during boot <a href="https://gitlab.freedesktop.org/bolt/bolt/merge_requests/90" data-reference-type="merge_request" data-original="!90" data-link="true" data-link-reference="true" data-project="32" data-merge-request="77" data-project-path="bolt/bolt" data-iid="90" data-container="body" data-placement="top" title="Support auto import of devices authorized at pre-boot" class="gfm gfm-merge_request">!90</a>
</li>
<li data-sourcepos="3:3-3:142">allow enrolling of already authorized devices, i.e. importing of devices <a href="https://gitlab.freedesktop.org/bolt/bolt/merge_requests/86" data-reference-type="merge_request" data-original="!86" data-link="true" data-link-reference="true" data-project="32" data-merge-request="57" data-project-path="bolt/bolt" data-iid="86" data-container="body" data-placement="top" title="Manager.Enroll will now store already authorized devices" class="gfm gfm-merge_request">!86</a>
</li>
<li data-sourcepos="4:3-5:0">label new devices and detect duplicates <a href="https://gitlab.freedesktop.org/bolt/bolt/merge_requests/91" data-reference-type="merge_request" data-original="!91" data-link="true" data-link-reference="true" data-project="32" data-merge-request="84" data-project-path="bolt/bolt" data-iid="91" data-container="body" data-placement="top" title="manager: label new devices, detect duplicates" class="gfm gfm-merge_request">!91</a>
</li>
</ul>
<p data-sourcepos="6:1-6:15" dir="auto">Be more robust:</p>
<ul data-sourcepos="7:3-11:0" dir="auto">
<li data-sourcepos="7:3-7:111">Handle NULL errors in logging code better <a href="https://gitlab.freedesktop.org/bolt/bolt/merge_requests/89" data-reference-type="merge_request" data-original="!89" data-link="true" data-link-reference="true" data-project="32" data-merge-request="73" data-project-path="bolt/bolt" data-iid="89" data-container="body" data-placement="top" title="Handle NULL errors in logging code better" class="gfm gfm-merge_request">!89</a>
</li>
<li data-sourcepos="8:3-8:115">Properly handle empty device database entries <a href="https://gitlab.freedesktop.org/bolt/bolt/merge_requests/87" data-reference-type="merge_request" data-original="!87" data-link="true" data-link-reference="true" data-project="32" data-merge-request="64" data-project-path="bolt/bolt" data-iid="87" data-container="body" data-placement="top" title="Properly handle empty device database entries" class="gfm gfm-merge_request">!87</a>
</li>
<li data-sourcepos="9:3-9:110">Better authentication errors and logging <a href="https://gitlab.freedesktop.org/bolt/bolt/merge_requests/85" data-reference-type="merge_request" data-original="!85" data-link="true" data-link-reference="true" data-project="32" data-merge-request="56" data-project-path="bolt/bolt" data-iid="85" data-container="body" data-placement="top" title="Better authentication errors and logging" class="gfm gfm-merge_request">!85</a>
</li>
<li data-sourcepos="10:3-11:0">More tests</li>
</ul>
<p data-sourcepos="12:1-12:17" dir="auto">Internal changes:</p>
<ul data-sourcepos="13:3-14:117" dir="auto">
<li data-sourcepos="13:3-13:115">Make sure we don't miss device status changes <a href="https://gitlab.freedesktop.org/bolt/bolt/merge_requests/82" data-reference-type="merge_request" data-original="!82" data-link="true" data-link-reference="true" data-project="32" data-merge-request="51" data-project-path="bolt/bolt" data-iid="82" data-container="body" data-placement="top" title="New device idle auth function, add tests for auto authorization" class="gfm gfm-merge_request">!82</a>
</li>
<li data-sourcepos="14:3-14:117">Rework property change notification dispatching <a href="https://gitlab.freedesktop.org/bolt/bolt/merge_requests/83" data-reference-type="merge_request" data-original="!83" data-link="true" data-link-reference="true" data-project="32" data-merge-request="53" data-project-path="bolt/bolt" data-iid="83" data-container="body" data-placement="top" title="Use dispatch_properties_changed to emit property changes" class="gfm gfm-merge_request">!83</a>
</li>
</ul>2018-05-28T15:31:30ZChristian Kellnerhttps://gitlab.freedesktop.org/bolt/bolt/-/tags/0.30.3Release bolt 0.3 'Capture The Flags'
<p data-sourcepos="1:1-1:36" dir="auto">Prepare for upcoming kernel changes:</p>
<ul data-sourcepos="2:3-4:0" dir="auto">
<li data-sourcepos="2:3-2:52">Support for <code data-sourcepos="2:18-2:24">usbonly</code> (SL4) security level (<a href="/bolt/bolt/-/issues/75" data-reference-type="issue" data-original="#75" data-link="false" data-link-reference="false" data-project="32" data-issue="63" data-project-path="bolt/bolt" data-iid="75" data-issue-type="issue" data-container="body" data-placement="top" title='support for "usbonly" security level' class="gfm gfm-issue">#75</a>)</li>
<li data-sourcepos="3:3-4:0">Support for <code data-sourcepos="3:18-3:21">boot</code> sysfs device attribute (<a href="/bolt/bolt/-/issues/76" data-reference-type="issue" data-original="#76" data-link="false" data-link-reference="false" data-project="32" data-issue="62" data-project-path="bolt/bolt" data-iid="76" data-issue-type="issue" data-container="body" data-placement="top" title="Support for `boot` device attribute" class="gfm gfm-issue">#76</a>)</li>
</ul>
<p data-sourcepos="5:1-5:17" dir="auto">DBus API changes:</p>
<ul data-sourcepos="6:3-10:0" dir="auto">
<li data-sourcepos="6:3-8:104">
<code data-sourcepos="6:6-6:15">BoltStatus</code> was split (<a href="/bolt/bolt/-/issues/81" data-reference-type="issue" data-original="#81" data-link="false" data-link-reference="false" data-project="32" data-issue="78" data-project-path="bolt/bolt" data-iid="81" data-issue-type="issue" data-container="body" data-placement="top" title="Split BoltStatus enum" class="gfm gfm-issue">#81</a>), so that:
<ul data-sourcepos="7:7-8:104">
<li data-sourcepos="7:7-7:65">
<code data-sourcepos="7:10-7:22">Device.Status</code> does not report <code data-sourcepos="7:42-7:55">authorized-xxx</code> anymore</li>
<li data-sourcepos="8:7-8:104">
<code data-sourcepos="8:10-8:25">Device.AuthFlags</code> added to indicate auth details, e.g. <code data-sourcepos="8:66-8:71">secure</code>, <code data-sourcepos="8:76-8:80">nopci</code>, <code data-sourcepos="8:85-8:88">boot</code>, <code data-sourcepos="8:93-8:97">nokey</code> (<a href="/bolt/bolt/-/issues/76" data-reference-type="issue" data-original="#76" data-link="false" data-link-reference="false" data-project="32" data-issue="62" data-project-path="bolt/bolt" data-iid="76" data-issue-type="issue" data-container="body" data-placement="top" title="Support for `boot` device attribute" class="gfm gfm-issue">#76</a>)</li>
</ul>
</li>
<li data-sourcepos="9:3-10:0">
<code data-sourcepos="9:6-9:17">BoltSecurity</code> and thus <code data-sourcepos="9:30-9:50">Manager.SecurityLevel</code> can report <code data-sourcepos="9:65-9:71">usbonly</code> (<a href="/bolt/bolt/-/issues/75" data-reference-type="issue" data-original="#75" data-link="false" data-link-reference="false" data-project="32" data-issue="63" data-project-path="bolt/bolt" data-iid="75" data-issue-type="issue" data-container="body" data-placement="top" title='support for "usbonly" security level' class="gfm gfm-issue">#75</a>)</li>
</ul>
<p data-sourcepos="11:1-11:15" dir="auto">client/boltctl:</p>
<ul data-sourcepos="12:3-16:0" dir="auto">
<li data-sourcepos="12:3-12:42">async versions for many function calls</li>
<li data-sourcepos="13:3-13:60">more efficient getters, resulting in reduced allocations</li>
<li data-sourcepos="14:3-14:38">boltctl reports <code data-sourcepos="14:22-14:37">Device.AuthFlags</code>
</li>
<li data-sourcepos="15:3-16:0">boltctl prints more and better version info via <code data-sourcepos="15:54-15:68">boltctl monitor</code>
</li>
</ul>
<p data-sourcepos="17:1-17:40" dir="auto">Other bugfixes and improvements include:</p>
<ul data-sourcepos="18:3-18:37" dir="auto">
<li data-sourcepos="18:3-18:37">more robust flags/enum conversion</li>
</ul>2018-04-10T21:43:59ZChristian Kellnerhttps://gitlab.freedesktop.org/bolt/bolt/-/tags/0.20.2Release bolt 0.2 'I broke the Bus'
<p data-sourcepos="1:1-1:38" dir="auto">Lots of changes, the most significant:</p>
<ul data-sourcepos="2:1-11:0" dir="auto">
<li data-sourcepos="2:1-3:111">database location moved (now in <code data-sourcepos="2:36-2:49">/var/lib/boltd</code>)
<ul data-sourcepos="3:3-3:111">
<li data-sourcepos="3:3-3:111">
<strong data-sourcepos="3:5-3:11"><gl-emoji title="warning sign" data-name="warning" data-unicode-version="4.0">⚠</gl-emoji></strong> devices enrolled with bolt 0.1 need to be re-enrolled (or the database moved from the old location)</li>
</ul>
</li>
<li data-sourcepos="4:1-11:0">DBus API changed (lots of strings)
<ul data-sourcepos="5:3-11:0">
<li data-sourcepos="5:3-5:36">Enums are transmitted as strings</li>
<li data-sourcepos="6:3-6:123">
<code data-sourcepos="6:6-6:20">Device.Security</code> property is gone; replaced by <code data-sourcepos="6:54-6:70">authorized-dponly</code> status and <code data-sourcepos="6:85-6:105">Manager.SecurityLevel</code> ( <a href="/bolt/bolt/-/issues/37" data-reference-type="issue" data-original="#37" data-link="false" data-link-reference="false" data-project="32" data-issue="39" data-project-path="bolt/bolt" data-iid="37" data-issue-type="issue" data-container="body" data-placement="top" title="boltctl: security field is misleading" class="gfm gfm-issue">#37</a>, <a href="/bolt/bolt/-/issues/38" data-reference-type="issue" data-original="#38" data-link="false" data-link-reference="false" data-project="32" data-issue="38" data-project-path="bolt/bolt" data-iid="38" data-issue-type="issue" data-container="body" data-placement="top" title="Device security D-Bus property name is misleading" class="gfm gfm-issue">#38</a>, #62)</li>
<li data-sourcepos="7:3-7:112">Various timestamps got added: <code data-sourcepos="7:36-7:53">Device.ConnectTime</code>, <code data-sourcepos="7:58-7:73">Device.StoreTime</code> and <code data-sourcepos="7:81-7:100">Device.AuthorizeTime</code> (<a href="/bolt/bolt/-/issues/46" data-reference-type="issue" data-original="#46" data-link="false" data-link-reference="false" data-project="32" data-issue="45" data-project-path="bolt/bolt" data-iid="46" data-issue-type="issue" data-container="body" data-placement="top" title="add Device.DisplayName property" class="gfm gfm-issue">#46</a> #57)</li>
<li data-sourcepos="8:3-8:83">
<code data-sourcepos="8:6-8:17">Device.Label</code> (readwrite) was added so devices can be given custom names (<a href="/bolt/bolt/-/issues/46" data-reference-type="issue" data-original="#46" data-link="false" data-link-reference="false" data-project="32" data-issue="45" data-project-path="bolt/bolt" data-iid="46" data-issue-type="issue" data-container="body" data-placement="top" title="add Device.DisplayName property" class="gfm gfm-issue">#46</a>)</li>
<li data-sourcepos="9:3-9:70">
<code data-sourcepos="9:6-9:16">Device.Type</code> added, to differentiate between host and peripherals</li>
<li data-sourcepos="10:3-11:0">
<code data-sourcepos="10:6-10:21">Manager.AuthMode</code> (readwrite) was added to control (auto) authorization (<a href="/bolt/bolt/-/issues/48" data-reference-type="issue" data-original="#48" data-link="false" data-link-reference="false" data-project="32" data-issue="48" data-project-path="bolt/bolt" data-iid="48" data-issue-type="issue" data-container="body" data-placement="top" title="Manager mode to completely disable authorization/enrollment" class="gfm gfm-issue">#48</a>)</li>
</ul>
</li>
</ul>
<p data-sourcepos="12:1-12:40" dir="auto">Other bugfixes and improvements include:</p>
<ul data-sourcepos="13:2-16:54" dir="auto">
<li data-sourcepos="13:2-13:57">Ensure we get a <code data-sourcepos="13:21-13:31">DeviceAdded</code> signal on startup (#58)</li>
<li data-sourcepos="14:2-14:68">Support for legacy devices that have no key sysfs attribute (#67)</li>
<li data-sourcepos="15:2-15:82">Use structured logging and avoid printing UUIDs in non-debug log code (<a href="/bolt/bolt/-/issues/36" data-reference-type="issue" data-original="#36" data-link="false" data-link-reference="false" data-project="32" data-issue="37" data-project-path="bolt/bolt" data-iid="36" data-issue-type="issue" data-container="body" data-placement="top" title="UUIDs in logs/outpus" class="gfm gfm-issue">#36</a> #60)</li>
<li data-sourcepos="16:2-16:54">Other internal restructuring for cleaner code (<a href="/bolt/bolt/-/issues/43" data-reference-type="issue" data-original="#43" data-link="false" data-link-reference="false" data-project="32" data-issue="42" data-project-path="bolt/bolt" data-iid="43" data-issue-type="issue" data-container="body" data-placement="top" title="Device::Stored property no properly updated" class="gfm gfm-issue">#43</a>)</li>
</ul>2018-03-06T03:33:53ZChristian Kellnerhttps://gitlab.freedesktop.org/bolt/bolt/-/tags/0.10.1Release bolt 0.1 "Accidentally Working"
<p data-sourcepos="1:1-1:291" dir="auto">This is the first release of bolt. The daemon is fully functional, supports enrolling of new devices, (auto) authorization and the removal of existing devices. A command line tool <code data-sourcepos="1:182-1:188">boltctl</code> can be used to interact with the daemon. For more information see the supplied man page <code data-sourcepos="1:280-1:289">boltctl(1)</code>.</p>
<p data-sourcepos="3:1-3:152" dir="auto">Special thanks to: Alberto Ruiz, Benjamin Berg, Hans de Goede, Harald Hoyer, Javier Martinez Canillas, Jaroslav Lichtblau, Jakub Steiner, Richard Hughes</p>2017-12-13T16:38:33ZChristian Kellner