Skip to content

Releases: sugoHQ/sugo

Sugo v1.0.2

Choose a tag to compare

@github-actions github-actions released this 05 Nov 21:08
8b9b4e3

macOS (13 or later, Apple Silicon or Intel): open Sugo-1.0.2-macOS-universal.dmg and drag Sugo to Applications. Sugo is not notarized by Apple, so macOS blocks the first launch: on macOS 15, open System Settings → Privacy & Security and click "Open Anyway" next to the message about Sugo (on macOS 13 and 14, Control-click Sugo in Applications and choose Open), or run xattr -dr com.apple.quarantine /Applications/Sugo.app in Terminal. Sugo for macOS installs its updates by itself when it is in a folder it can write to (Applications for an administrator).

What's Changed

Read more

Sugo Nightly 1.0.2-nightly.20261105.34 (4238837b75ef)

Choose a tag to compare

@github-actions github-actions released this 05 Nov 20:49
4238837

v1.0.2-nightly.20261105.34 · 3 changes from 1 contributor

The branch testing at 4238837, built automatically. It may have bugs; the stable releases are tested.

Download Sugo-x86_64.AppImage, make it executable and start it. In Settings → Updates, the Nightly channel keeps it up to date by itself.

On macOS 13 or later (Apple Silicon or Intel), open Sugo-macOS-universal.dmg and drag Sugo to Applications. Sugo is not notarized by Apple, so macOS blocks the first launch: on macOS 15, open System Settings → Privacy & Security and click "Open Anyway" next to the message about Sugo (on macOS 13 and 14, Control-click Sugo in Applications and choose Open), or run xattr -dr com.apple.quarantine /Applications/Sugo.app in Terminal. Sugo for macOS installs its updates by itself too (the Nightly channel in Settings → Updates) when it is in a folder it can write to (Applications for an administrator).

Fixes

  • fix(settings): the Timers page starts at the same height as the others
  • fix(calendar): every calendar gets a colour, as in Nextcloud
  • fix(calendar): an address typed without https:// is an https one

Full changelog: https://github.com/MineraleYT/sugo/compare/6076d7e8fe42aa77ca3cd11c9b6510dbd28e17ed...4238837b75efb300e724c45ff44bf8a41c195011

Sugo Nightly 1.0.2-nightly.20261105.33 (6076d7e8fe42)

Choose a tag to compare

v1.0.2-nightly.20261105.33 · 3 changes from 1 contributor

The branch testing at 6076d7e, built automatically. It may have bugs; the stable releases are tested.

Download Sugo-1.0.2-nightly.20261105.33-x86_64.AppImage, make it executable and start it. In Settings → Updates, the Nightly channel keeps it up to date by itself.

On macOS 13 or later (Apple Silicon or Intel), open Sugo-1.0.2-nightly.20261105.33-macOS-universal.dmg and drag Sugo to Applications. Sugo is not notarized by Apple, so macOS blocks the first launch: on macOS 15, open System Settings → Privacy & Security and click "Open Anyway" next to the message about Sugo (on macOS 13 and 14, Control-click Sugo in Applications and choose Open), or run xattr -dr com.apple.quarantine /Applications/Sugo.app in Terminal. Sugo for macOS installs its updates by itself too (the Nightly channel in Settings → Updates) when it is in a folder it can write to (Applications for an administrator).

Highlights

  • ci(macos): build the disk image on the xcode-27 image
  • docs(checklist): the update is an icon in the title bar
  • ci(release): name every file after its version

Full changelog: https://github.com/MineraleYT/sugo/compare/5aaef37270aa55febae4f08d67cf497df9d2e62b...6076d7e8fe42aa77ca3cd11c9b6510dbd28e17ed

Sugo Nightly 1.0.2-nightly.20261105.30 (5aaef37270aa)

Choose a tag to compare

v1.0.2-nightly.20261105.30 · 1 change from 1 contributor

The branch testing at 5aaef37, built automatically. It may have bugs; the stable releases are tested.

Download Sugo-x86_64.AppImage, make it executable and start it. In Settings → Updates, the Nightly channel keeps it up to date by itself.

On macOS 13 or later (Apple Silicon or Intel), open Sugo-macOS-universal.dmg and drag Sugo to Applications. Sugo is not notarized by Apple, so macOS blocks the first launch: on macOS 15, open System Settings → Privacy & Security and click "Open Anyway" next to the message about Sugo (on macOS 13 and 14, Control-click Sugo in Applications and choose Open), or run xattr -dr com.apple.quarantine /Applications/Sugo.app in Terminal. Sugo for macOS installs its updates by itself too (the Nightly channel in Settings → Updates) when it is in a folder it can write to (Applications for an administrator).

Fixes

  • fix(titlebar): the update is a small icon beside search

Full changelog: https://github.com/MineraleYT/sugo/compare/3b3623d1ba6960d39528e1ae392a5fd6674240c6...5aaef37270aa55febae4f08d67cf497df9d2e62b

Sugo Nightly 1.0.2-nightly.20261105.29 (3b3623d1ba69)

Choose a tag to compare

@github-actions github-actions released this 05 Nov 17:32
3b3623d

v1.0.2-nightly.20261105.29 · 3 changes from 1 contributor

The branch testing at 3b3623d, built automatically. It may have bugs; the stable releases are tested.

Download Sugo-x86_64.AppImage, make it executable and start it. In Settings → Updates, the Nightly channel keeps it up to date by itself.

On macOS 13 or later (Apple Silicon or Intel), open Sugo-macOS-universal.dmg and drag Sugo to Applications. Sugo is not notarized by Apple, so macOS blocks the first launch: on macOS 15, open System Settings → Privacy & Security and click "Open Anyway" next to the message about Sugo (on macOS 13 and 14, Control-click Sugo in Applications and choose Open), or run xattr -dr com.apple.quarantine /Applications/Sugo.app in Terminal. Sugo for macOS installs its updates by itself too (the Nightly channel in Settings → Updates) when it is in a folder it can write to (Applications for an administrator).

Highlights

  • chore(github): macOS in the issue templates
  • chore(github): no blank issues, only the templates
  • ci(macos): build and test on the xcode-27 image

Full changelog: https://github.com/MineraleYT/sugo/compare/64fd7538555fd35cfe4acb140bb028c9ca42f084...3b3623d1ba6960d39528e1ae392a5fd6674240c6

Sugo Nightly 1.0.2-nightly.20261105.26 (64fd7538555f)

Choose a tag to compare

@github-actions github-actions released this 05 Nov 17:18
64fd753

v1.0.2-nightly.20261105.26 · 18 changes from 1 contributor

The branch testing at 64fd753, built automatically. It may have bugs; the stable releases are tested.

Download Sugo-x86_64.AppImage, make it executable and start it. In Settings → Updates, the Nightly channel keeps it up to date by itself.

On macOS 13 or later (Apple Silicon or Intel), open Sugo-macOS-universal.dmg and drag Sugo to Applications. Sugo is not notarized by Apple, so macOS blocks the first launch: on macOS 15, open System Settings → Privacy & Security and click "Open Anyway" next to the message about Sugo (on macOS 13 and 14, Control-click Sugo in Applications and choose Open), or run xattr -dr com.apple.quarantine /Applications/Sugo.app in Terminal. Sugo for macOS installs its updates by itself too (the Nightly channel in Settings → Updates) when it is in a folder it can write to (Applications for an administrator).

Highlights

  • feat(welcome): Done, not a second Start, at the end of the tour
  • docs: list smoke exit code 65 (the composer of the welcome tour's last step)
  • test(qml): the welcome tour's composer opens its menu in place and its Start ends the tour
  • feat(welcome): the composer on the last step of the tour
  • test(caldav): Retry-After of 0 keeps the backoff again
  • docs: list smoke exit code 64 (a NumberField misread what was typed)
  • test(qml): type the text that is no number over a value other than the minimum

Fixes

  • fix(macos): stage the update as a hidden .Sugo.app.new
  • fix(timer): centre the glow on the digits, not on the whole clock column
  • fix(macos): carry the Keychain secrets over to the update Sugo installs
  • fix(macos): no room for the traffic lights in full screen
  • fix(macos): centre the traffic lights in the title bar
  • fix(sync): keep local changes dirty when the server holds a newer format
  • fix(presets): a retried save keeps the deletions received from other computers
  • fix(qml): NumberField reads the whole typed text, sign included
  • fix(sync): approve a device only for the key whose code was shown
  • fix(krunner): do not let a custom-minutes match end the running phase
  • fix(nightly): write the notes of a build with only fixes, or with none

Full changelog: https://github.com/MineraleYT/sugo/compare/cab65cad6947c9ee7c74070317d359658b2d41a5...64fd7538555fd35cfe4acb140bb028c9ca42f084

Sugo Nightly 1.0.2-nightly.20261105.22 (cab65cad6947)

Choose a tag to compare

@github-actions github-actions released this 05 Nov 14:58
cab65ca

v1.0.2-nightly.20261105.22 · 87 changes from 1 contributor

The branch testing at cab65ca, built automatically. It may have bugs; the stable releases are tested.

Download Sugo-x86_64.AppImage, make it executable and start it. In Settings → Updates, the Nightly channel keeps it up to date by itself.

On macOS 13 or later (Apple Silicon or Intel), open Sugo-macOS-universal.dmg and drag Sugo to Applications. Sugo is not notarized by Apple, so macOS blocks the first launch: on macOS 15, open System Settings → Privacy & Security and click "Open Anyway" next to the message about Sugo (on macOS 13 and 14, Control-click Sugo in Applications and choose Open), or run xattr -dr com.apple.quarantine /Applications/Sugo.app in Terminal. Sugo for macOS installs its updates by itself too (the Nightly channel in Settings → Updates) when it is in a folder it can write to (Applications for an administrator).

Highlights

  • test(sound): an alert player is released even if its sound never ends
  • test(secrets): a keyring without a default collection says why it is not used
  • test(notifier): the body stays as written where the server reads markup
  • test(screenlock): a work phase that starts by itself while locked is paused
  • test(caldav): no retry can go out while Retry-After is checked
  • test(sessions): quitting stores the sessions still waiting, or logs them
  • chore(i18n): update the template for the redesign
  • refactor(sync): read Retry-After through a shared helper
  • feat(timer): the Start button fades its colour when pressed
  • feat(timer): the phase line fades from one colour to the next
  • feat(timer): the glow behind the clock again
  • test(parity): the trimmed Advanced settings
  • docs: the trimmed Advanced settings
  • refactor(settings): no Show the Welcome Tour button
  • refactor(settings): one button for the diagnostic report
  • refactor(settings): the update channel beside the other update setting
  • refactor(settings): the D-Bus commands only in the user guide
  • refactor(settings): no history export in Advanced
  • refactor(settings): no database path in Advanced
  • refactor(ui): remove the keyboard key badge
  • docs: Timers and About in the settings
  • feat(settings): the controls of each row as in the redesign
  • test(sync): a redirect to another server never carries a token
  • test(caldav): a redirect to another server never carries the password
  • refactor(ui): remove the status pill
  • test(parity): the composer and its menus in the inventory
  • feat(ui): questions as sheets, and the recent notes as a plain list
  • feat(search): the search in the menus' style
  • feat(timer): choose how the phases start in a menu over the composer
  • feat(timer): choose the timer in a menu over the composer
  • feat(timer): the composer and today's figures at the foot of the page
  • feat(timer): a composer with the focus page's controls
  • feat(ui): repeat and bell line icons
  • feat(timer): the cycle track in the accent colour
  • feat(timer): a plain phase line and a larger clock
  • feat(sync): the Sync tab without pills
  • chore(i18n): update the template for the KRunner preset name and the newer messages
  • feat(settings): choose the accent colour
  • feat(settings): About as the last category of the settings
  • feat(timer): the timer's page inside the settings
  • feat(welcome): no keyboard hints on the last step
  • feat(welcome): the steps in the look of the redesign
  • feat(settings): a Timers category with every timer
  • feat(settings): groups and rows in the redesign's look
  • feat(stats): the task notes beside where the time went
  • feat(settings): the categories in a list beside the page
  • feat(stats): quiet bars for where the time went
  • feat(stats): a quiet chart with the chosen bar in the accent colour
  • feat(stats): the task notes of the shown period
  • feat(stats): today's work time and finished sessions
  • feat(stats): the figures in one strip
  • feat(stats): the header and margins of the redesign
  • feat(welcome): a footer of 56 px with small dots in the accent
  • feat(ui): text and number fields of 28 px
  • feat(ui): a compact segmented control
  • feat(ui): the slider's knob takes the accent colour
  • feat(ui): the switch takes the accent colour
  • feat(ui): the main button takes the accent colour
  • feat(ui): the drop-down list opens as a menu
  • feat(ui): add a menu that opens from its button
  • docs: the tabs and the title bar instead of the sidebar
  • refactor(window): remove the sidebar and the top bar
  • feat(timer): show and choose the timer on the focus page
  • feat(window): the title bar instead of the sidebar
  • feat(window): the update button in the title bar
  • feat(window): a title bar with the logo, three tabs and search
  • feat(theme): add the sizes of the redesign
  • feat(theme): add the accent palette and its tokens
  • feat(settings): remember an accent colour

Fixes

  • fix(nightly): never move the feed and the tag nightly back to an older build
  • fix(sound): release an alert's player when its backend never reports the end
  • fix(secrets): log when the keyring has no default collection
  • fix(notifier): escape the body for servers that read it as markup
  • fix(update): detach a disk image whose attach was cut off
  • fix(single-instance): put a socket too long for the system somewhere short
  • fix(sync): a time far in the future no longer wins every merge
  • fix(screenlock): pause the work that starts by itself while the screen is locked
  • fix(presets): resetting the built-in timer keeps its creation time
  • fix(sessions): try once more to store the waiting sessions at quit
  • fix(caldav): wait as long as Retry-After asks before sending again
  • fix(macos): don't pile up notifications behind an unanswered permission question
  • fix(macos): run a Focus shortcut whose name starts with "-" by its identifier
  • fix(ui): a drop-down list as wide as its longest entry
  • fix(sync): wipe a recovery code's characters on every way out
  • fix(macos): take Sugo's notifications out of the Notification Center on quit
  • fix(keychain): wipe the secrets the store keeps to put back
  • fix(welcome): new timers come from the timer menu, not the sidebar

Full changelog: https://github.com/MineraleYT/sugo/compare/9e1301848187d4d0670912b31beb121160cef12d...cab65cad6947c9ee7c74070317d359658b2d41a5

Sugo Nightly 1.0.2-nightly.20261105.21 (9e1301848187)

Choose a tag to compare

@github-actions github-actions released this 05 Nov 13:03
9e13018

v1.0.2-nightly.20261105.21 · 45 changes from 1 contributor

The branch testing at 9e13018, built automatically. It may have bugs; the stable releases are tested.

Download Sugo-x86_64.AppImage, make it executable and start it. In Settings → Updates, the Nightly channel keeps it up to date by itself.

On macOS 13 or later (Apple Silicon or Intel), open Sugo-macOS-universal.dmg and drag Sugo to Applications. Sugo is not notarized by Apple, so macOS blocks the first launch: on macOS 15, open System Settings → Privacy & Security and click "Open Anyway" next to the message about Sugo (on macOS 13 and 14, Control-click Sugo in Applications and choose Open), or run xattr -dr com.apple.quarantine /Applications/Sugo.app in Terminal. Sugo for macOS installs its updates by itself too (the Nightly channel in Settings → Updates) when it is in a folder it can write to (Applications for an administrator).

Highlights

  • test(screenlock): a lock that ends a due break still reports the unlock
  • test(update): an AppImage update keeps the exec bit or is not installed
  • test(power): wait for the client to see the refusal before a new phase
  • test(power): quit the inhibitor as the program does in cleanup()
  • test(sync): wait for the state, not a fixed time, after a pull
  • test(sync): wait for both devices to settle in twoDevices
  • test(sound): a player that cannot play gives way to the next
  • test(krunner): another preset keeps an active phase
  • Keep "&" in timer names shown in menus
  • test(focus): quitting must wait out a hung on, a hung off and its retry
  • Test that timer names keep their "&" in the tray and Dock menus
  • test: decide when a quit asked from outside must ask first
  • test(screenlock): pause on a lock seen by logind or by Xfce, Cinnamon and MATE
  • test(data): a restore keeps the 1.0.0 recovery mark of this database
  • test(inhibitor): a cookie in a reply that crossed an owner change stays held
  • test(secrets): a locked second copy must not hide the readable one
  • test(macos): a new notification replaces the earlier ones of its context
  • test(tray): Stop and Skip in the tray and Dock menus ask the window
  • test(sync): a merge the database refuses is downloaded again
  • test(diagnostics): prefixed secret keys, bare Bearer tokens and home path boundary
  • test(sync): expect a device-approval code too long to grind
  • test(focus): a failing on shortcut is not re-run on every list refresh
  • test(focus): release with the off shortcut paired with the on that ran

Fixes

  • fix(screenlock): keep a logind lock when a phase ends by itself
  • fix(update): set the AppImage update's exec bit before swapping it in
  • fix(sound): an alert moves on to paplay when pw-play cannot play it
  • fix(sound): the focus sound moves on to the next player when one cannot play
  • fix(krunner): refuse another preset while a phase is active
  • fix(macos): Quit from the Dock asks first while a phase runs
  • fix(focus): wait for the whole release when quitting
  • fix(screenlock): notice locks through logind and on Xfce, Cinnamon and MATE
  • fix(nightly): a nightly started by hand needs CI passed on its commit
  • fix(nightly): date the version by its run, not by the commit
  • fix(notifier): show a tray message where no notification server runs
  • fix(inhibitor): address the notification server by its unique name
  • fix(data): a restore keeps this database's 1.0.0 recovery mark
  • fix(secrets): a locked second copy no longer hides the readable one
  • fix(tray): ask before Stop or Skip from the tray or Dock menu cuts work short
  • fix(macos): forget and remove the banners a new notification replaces
  • fix(sync): make the device-approval code too long to grind
  • fix(focus): retry a failing on shortcut only when the list or names change
  • fix(sync): keep the ETag when a downloaded merge cannot be saved
  • fix(diagnostics): replace the home path with ~ only where the path ends
  • fix(diagnostics): redact prefixed secret keys and bare Bearer tokens
  • fix(focus): release with the off shortcut paired with the on that ran

Full changelog: https://github.com/MineraleYT/sugo/compare/8f18e04b978628d0645b975173f861a8ec9d0ff0...9e1301848187d4d0670912b31beb121160cef12d

Sugo Nightly 1.0.2-nightly.20261105.20 (8f18e04b9786)

Choose a tag to compare

@github-actions github-actions released this 05 Nov 04:12
8f18e04

v1.0.2-nightly.20261105.20 · 58 changes from 1 contributor

The branch testing at 8f18e04, built automatically. It may have bugs; the stable releases are tested.

Download Sugo-x86_64.AppImage, make it executable and start it. In Settings → Updates, the Nightly channel keeps it up to date by itself.

On macOS 13 or later (Apple Silicon or Intel), open Sugo-macOS-universal.dmg and drag Sugo to Applications. Sugo is not notarized by Apple, so macOS blocks the first launch: on macOS 15, open System Settings → Privacy & Security and click "Open Anyway" next to the message about Sugo (on macOS 13 and 14, Control-click Sugo in Applications and choose Open), or run xattr -dr com.apple.quarantine /Applications/Sugo.app in Terminal. Sugo for macOS installs its updates by itself too (the Nightly channel in Settings → Updates) when it is in a folder it can write to (Applications for an administrator).

Highlights

  • feat(data): say so when the data of Sugo 1.0.0 was taken back
  • perf(db): look for 1.0.0 data without a temporary directory when none was moved aside
  • test(screenlock): pin down the unlock reported after a locker restart
  • test(db): write the 1.0.0 test database exactly as 1.0.0 did
  • test(screenlock): wait for proof on the bus, not for a while
  • test(screenlock): lock again after the locker restarted while locked
  • test(db): give the 1.0.0 session its times in milliseconds
  • test(db): read timers and sessions from a database with a damaged page
  • chore(i18n): update the template for the approval button and the editor's message
  • About: point the project website link to sugo.stream
  • test(sync): a huge Retry-After must not make the retry fire at once
  • test(single-instance): wait only once for a primary that hangs
  • feat(macos): hand back a notification the Notification Center refused
  • test(caldav): a test connection refused with 403 does not pause sending
  • test(db): open a database exactly as Sugo 1.0.0 left it
  • test(autostart): a late answer from the Background portal is lost
  • test(caldav): keep queued events when the calendar answers 409 or 423
  • test(inhibitor): keep the cookie of an Inhibit answered after three seconds
  • test(macos): cover a Focus "off" shortcut that times out

Fixes

  • fix(settings): keep the sync status pill exactly as wide with every text
  • fix(caldav): a 403 at the Nextcloud root falls back to the usual calendars
  • fix(diagnostics): never redact inside a placeholder already put in
  • fix(caldav): a 403 test or lookup lifts the pause of an earlier 401
  • fix(caldav): pause sending after three 403s in a row
  • fix(db): accept 1.0.0's id only on 1.0.0's tables, convert all or nothing
  • fix(screenlock): ask a screen locker that comes back whether it is locked
  • fix(db): take back the 1.0.0 data only once
  • fix(caldav): a 403 is not described as a rejected login
  • fix(screenlock): forget a lock when the screen locker leaves the bus
  • fix(caldav): a 403 while looking for calendars does not pause sending
  • fix(sync): clamp Retry-After to an hour where it is read
  • fix(caldav): a test connection refused with 403 does not pause sending
  • fix(db): roll back a timer save when a stored row cannot be read
  • fix(db): look at every moved-aside file when taking back 1.0.0 data
  • fix(data): restore backups made by Sugo 1.0.0
  • fix(db): take back the 1.0.0 database that 1.0.1 moved aside
  • fix(single-instance): give up at once on a primary that does not answer
  • fix(update): put back a Sugo.app left only as Sugo.app.old
  • fix(stats): keep the session cursor when a row cannot be read
  • fix(update): keep Sugo.app.old when the bundle it would replace is gone
  • fix(db): fail to load the timers when a row cannot be read
  • fix(autostart): close a Background portal request Sugo stops waiting for
  • fix(sync): close the approval question when the device stops waiting
  • fix(sync): offer a new recovery code only once the keys are loaded
  • fix(settings): keep the recovery code typed until the device stops waiting
  • fix(settings): keep the sync status pill as wide as its widest text
  • fix(update): check that a failed macOS bundle swap puts the old bundle back
  • fix(macos): show a notification the Notification Center refused from the menu bar
  • fix(db): keep the databases of Sugo 1.0.0
  • fix(macos): retry a Focus "off" shortcut that timed out
  • fix(welcome): clear the start-at-login error once the entry is as asked
  • fix(autostart): keep the Background portal's answer when it comes late
  • fix(caldav): keep queued events when the calendar is gone or locked
  • fix(macos): don't let grep -q close the pipe in build.sh's checks
  • fix(keychain): put the old secret back when storing the new one fails
  • fix(power): wait for the screen saver's Inhibit reply
  • fix(keychain): check the new item's data before removing the old one
  • fix(inhibitor): wait for the Inhibit reply instead of giving up after 3 s

Full changelog: https://github.com/MineraleYT/sugo/compare/7b06a1455b229e52d4490a9afcb8e95564cd005e...8f18e04b978628d0645b975173f861a8ec9d0ff0

Sugo Nightly 1.0.2-nightly.20261105.19 (7b06a1455b22)

Choose a tag to compare

@github-actions github-actions released this 05 Nov 01:31
7b06a14

v1.0.2-nightly.20261105.19 · 16 changes from 1 contributor

The branch testing at 7b06a14, built automatically. It may have bugs; the stable releases are tested.

Download Sugo-x86_64.AppImage, make it executable and start it. In Settings → Updates, the Nightly channel keeps it up to date by itself.

On macOS 13 or later (Apple Silicon or Intel), open Sugo-macOS-universal.dmg and drag Sugo to Applications. Sugo is not notarized by Apple, so macOS blocks the first launch: on macOS 15, open System Settings → Privacy & Security and click "Open Anyway" next to the message about Sugo (on macOS 13 and 14, Control-click Sugo in Applications and choose Open), or run xattr -dr com.apple.quarantine /Applications/Sugo.app in Terminal. Sugo for macOS installs its updates by itself too (the Nightly channel in Settings → Updates) when it is in a folder it can write to (Applications for an administrator).

Highlights

  • feat(sync): approve a waiting device from the list of devices

Fixes

  • fix(presets): save only what was changed in the timer editor
  • fix(presets): announce the timers a Sugo Sync download changed
  • fix(sync): keep a running timer that another device deleted
  • fix(sync): do not report the keyring as working when libsodium did not start
  • fix(sync): keep a built-in timer changed before Sugo Sync over the untouched one
  • fix(sync): date a change after the version it changes
  • fix(sync): bring the times of a downloaded blob into range
  • fix(sync): end each field of a blob's associated data with a NUL
  • fix(data): record the timers a restored backup removes as deleted
  • fix(sync): close the approval and recovery dialogs only by their buttons or Escape
  • fix(sync): keep the waits the server asks for within limits
  • fix(sync): ignore a second Sign out while the first is on its way
  • fix(sync): take an answer cut off mid-transfer as a network error
  • fix(sync): wait for the recovery code when no device holds the key
  • fix(about): show the update's message and actions in the Updates row

Full changelog: https://github.com/MineraleYT/sugo/compare/e6862d31cef345d8c01b1cce906e4408283ca7d9...7b06a1455b229e52d4490a9afcb8e95564cd005e