| Index | index by Group | index by Distribution | index by Vendor | index by creation date | index by Name | Mirrors | Help | Search |
| Name: otpclient-bash-completion | Distribution: openSUSE Tumbleweed |
| Version: 5.1.5 | Vendor: openSUSE |
| Release: 1.2 | Build date: Mon Jul 20 08:28:30 2026 |
| Group: System/Shells | Build host: reproducible |
| Size: 1732 | Source RPM: otpclient-5.1.5-1.2.src.rpm |
| Packager: http://bugs.opensuse.org | |
| Url: https://github.com/paolostivanin/otpclient | |
| Summary: Bash completion for otpclient | |
Bash command line completion support for otpclient.
GPL-3.0-or-later
* Mon Jul 20 2026 Paolo Stivanin <info@paolostivanin.com>
- Update to 5.1.5:
* FIX: a database stored on a filesystem without lock support
(the Flatpak document portal, and some NFS/SMB mounts) could
not be opened or created, failing with Failed to acquire
database lock: Function not implemented. Locking is now best-
effort, so the database opens normally on those filesystems,
while real locking is unchanged everywhere else (#466)
* FIX: the secure-memory pool reserved the whole RLIMIT_MEMLOCK
budget, so the GTK password entry could not lock its own buffer
and warned couldn't lock 16384 bytes of memory (gtk): Cannot
allocate memory, falling back to unlocked memory for the typed
password on every unlock. The pool now leaves headroom for it
(Debian #1141809)
* Fri Jul 10 2026 Paolo Stivanin <info@paolostivanin.com>
- Update to 5.1.4:
* FIX: a database containing a token with an out-of-range digit
count or period refused to open, locking you out of all of your
tokens. The accepted ranges now match the OTP engine exactly
(digits 4 to 10, period 1 to 120 seconds), so such tokens load
again. Any token the engine still cannot use (out-of-range
value, invalid secret, unsupported algorithm) is set aside and
preserved in the database rather than blocking the whole load
(#464, follow-up to #458/#462)
* FIX: right-click context menus on tokens and databases were
clipped to the scrolled area and needed scrolling to reach
lower items such as "Set Group"; they now size to their
contents (#465)
* Thu Jul 09 2026 Paolo Stivanin <info@paolostivanin.com>
- Update to 5.1.3:
* FIX: a database (or import) containing a token with neither an
account name nor an issuer refused to open on 5.1.x with "Token
N has neither a label nor an issuer", locking you out of all of
your tokens. Such tokens now load with a synthesized Unknown N
placeholder label instead of being rejected, so the database
opens and the token stays usable and editable. Interactive
manual entry and editing still require a name (#462, follow-up
to #458)
* Wed Jul 08 2026 Paolo Stivanin <info@paolostivanin.com>
- Update to 5.1.2:
* FIX: screensaver, session lock, and suspend now respect the Auto-
Lock setting. With Auto-Lock off, the app no longer locks the
database on every screen lock and then leaves you behind a manual
password prompt. The mutual exclusivity between Auto-Lock and
Secret Service is also restored, enabling one greys out the
other, and a legacy profile with both enabled is reconciled on
startup (#460, re-report of #279)
* Tue Jun 30 2026 Paolo Stivanin <info@paolostivanin.com>
- Update to 5.1.1:
* FIX: databases containing a token with an issuer but no account
name (for example some ProtonMail or Steam entries) refused to
open on 5.1.0 with "Could not open database: Token has a missing
label", locking you out of the entire database. A token is now
valid as long as it has either an account name or an issuer; the
same rule applies to imports and manual token entry (#458)
* Thu Jun 25 2026 Paolo Stivanin <info@paolostivanin.com>
- Update to 5.1.0:
* BREAKING: After upgrading to 5.1.0, older OTPClient releases
will NOT be able to open v3 databases, so keep a backup before
upgrading if you may need to downgrade
* NEW: webcam QR scanning runs on a worker thread, no more main-
thread freeze while the camera initializes or while frames are
decoded
* NEW: you can quit OTPClient while the database is locked (#456)
* NEW: the app locks automatically when the system suspends (via
logind PrepareForSleep), so the database is never left
decrypted across sleep
* IMPROVEMENT: database file format bumped to v3 with a portable,
byte-addressable big-endian header. v1 and v2 databases are
read transparently and upgraded to v3 on first successful
open/unlock. Older OTPClient releases cannot open v3 databases,
so keep a backup before upgrading if you may need to downgrade
* IMPROVEMENT: cross-process write serialization via a bounded-
wait .lock sidecar, prevents two OTPClient instances from
clobbering each other on save
* IMPROVEMENT: search-filter cache, large token lists filter
without re-walking the model on every keystroke
* IMPROVEMENT: changing the password now requires verifying the
current one before the change is applied
* IMPROVEMENT: CLI plain imports dispatch by file type
automatically, no longer prompt for a password on unencrypted
formats
* IMPROVEMENT: Google Authenticator migration import was
rewritten with bounded payload/token/batch limits and now
reports multi-batch progress, across the file, screen, and
webcam paths
* SECURITY: locking wipes the decrypted database and master key
from memory; unlocking re-derives the key instead of comparing
a copy held in RAM
* SECURITY: generated codes, notification text, clipboard
contents, and per-token values are wiped after use, and live
codes are kept in libgcrypt secure memory
* SECURITY: search-provider activation IDs are now random 128-bit
capability tokens with a 30-second TTL and single-use
enforcement, replacing the predictable db_index:json_index
scheme
* SECURITY: HOTP entries are excluded from the search provider at
load time, advancing a counter from a desktop search result is
too easy to do by accident
* SECURITY: transient password buffers are wiped after use across
the GUI and CLI, including on password-dialog cancel and
dispose
* SECURITY: search-provider derived-key cache + rate limit on OTP
delivery, using a single global rate bucket (no per-connection
bypass) and an idle-wipe timer for keys and caches
* SECURITY: 2FAS encrypted import now surfaces decryption errors
instead of silently swallowing them
* SECURITY: broad correctness and hardening pass across src/
(core, GUI, importers, CLI), including a parse-uri double-error
fix, an authpro stream check, a bytes_to_hexstr overflow guard,
and NULL-checked secure-memory allocations
* SECURITY: tightened Argon2id parameter bounds (MAX_ITER 100 ->
64, MAX_MC 4 GiB -> 1 GiB, MAX_PARAL 64 -> 16) to reject
pathological configurations
* FIX: v2 databases were misread as a far-future format version
and refused to open; both v2 and v3 headers are now read
correctly
* FIX: the window no longer gets stuck on the "Unlocking..." page
when a database fails to load for a reason other than a missing
file or wrong password; it drops back to the no-database view
so you can retry
* FIX: the desktop search provider copies the OTP to the
clipboard asynchronously on KDE; the synchronous Klipper D-Bus
call could block every activation for up to a second when
Klipper did not reply in time, delaying the copy and the
notification
* FIX: CLI HOTP counter is now persisted before the code is
printed, the counter upper bound is exclusive everywhere, the
terminal is restored on interrupt, and CR/LF is stripped from
piped input
* FIX: memory leaks in DB and OTP handling paths
* FIX: freeotp importer secmem budget and GError-overwrite bug
that also affected other importers
* FIX: in-memory database state is now restored if an encrypt-on-
save fails, instead of being left half-mutated
* FIX: debianStable CI build and the JPEG sanitizers test
* Thu May 28 2026 Paolo Stivanin <info@paolostivanin.com>
- Update to 5.0.6:
Fixes
* FIX: unlock dialog re-prompting forever with the correct
password. A wrong-password attempt was poisoning the in-memory
key cache, so even the correct password kept being rejected until
the app was restarted (#448)
* FIX: auto-unlock via the system keyring stopped working after
upgrading from 4.x. On first launch, OTPClient now picks up the
old keyring entry, uses it to unlock, and re-saves it under the
new format so it keeps working (#448)
* FIX: Backup and Restore buttons in Settings did nothing on Ubuntu
24.04, Pop!_OS 24.04, Linux Mint 22.3, and other distros shipping
libadwaita 1.5 (#449)
* FIX: a revealed OTP could fall out of sync with the clipboard
near the end of a 30-second window, leaving you unsure which code
you actually pasted. Reveal now ends cleanly when the code
rotates, and the clipboard rolls to the new code if "Show next
OTP" is on (#450)
* FIX: "Hide OTPs by default" only took effect after restarting the
app. Toggling it now updates the visible list immediately (#450)
* FIX: re-clicking an already-selected token did nothing, so it
could not be copied or advance the HOTP counter a second time.
Re-clicks now re-trigger the copy and counter-advance action
(#451)
* FIX: window close/minimize/maximize buttons were forced to the
right side, ignoring the system setting. They now follow the
desktop's decoration layout, e.g. left-side buttons on macOS-
style KDE setups (#452)
* FIX: switching to a different database (sidebar click, Open DB,
or New DB) while an unlock was still in progress could corrupt
memory. The app now shows a toast and waits for the unlock to
finish
Improvements
* Saving the database after a fresh unlock is noticeably faster.
The password-derivation result is now cached on save just like on
unlock, so the first save no longer re-runs the slow key
derivation
* Thu May 21 2026 Paolo Stivanin <info@paolostivanin.com>
- Update to 5.0.5:
* Welcome dialog Back/Next/page-indicator row got pushed below the
visible area when an AdwStatusPage's natural height exceeded the
dialog's content area (#441). The nav row lived inside the same
GtkBox as the stack; now pinned via AdwToolbarView's bottom bar
so it stays visible while the status page's internal scroll
handles long descriptions. Dialog also bumped from 500×420 to
560×560.
* Keyboard focus did not land on the token list after unlock
(#445). 5.x was leaving focus on whatever widget the stack last
rendered, so Up/Down/Enter required a mouse click into the list
first. Restored the 4.x default of focusing the token list after
unlock, and extended the same idea to the empty and no-database
pages so the obvious next action (add the first token / create
the first database) is one keystroke away. Focus only moves on
page transitions, so search-bar typing and in-page item changes
don't get stolen.
* Per-launch loop when the registered Secret Service is unavailable
(#446). On Kubuntu/KDE Plasma with KWallet disabled (but still
owning the org.freedesktop.secrets D-Bus name), libsecret has no
way to fall back to gnome-keyring — that has to be configured at
the session layer. The previous behavior looped: every launch did
a failing lookup, prompted for the password, then a failing store
fired a notification. Now the "Use Secret Service" toggle pre-
flights the keyring with a sync store/lookup/verify/clear round-
trip when you enable it; if the round-trip fails the switch
reverts and you get a dialog with the libsecret error. If the
keyring breaks after the setting was already enabled, the first
failed lookup or store flips the setting OFF, surfaces one
notification, and falls through to the password dialog so you can
still unlock. CLI and search-provider also fall through
gracefully without mutating GSettings (avoids races with the GUI
session).
* Lock bypass via unlock dialog dismissal (#447). The token list
was still rendered and on_otp_selection_changed was unguarded, so
a click would copy the OTP; the right-click "Show QR" action also
remained enabled and would render the secret. Defense in depth:
password dialog set non-dismissable for DECRYPT, new locked page
in content_stack hides the token list while locked,
lock_app_lock() wipes cached OTP values via
otpclient_window_clear_displayed_otps(), set_db_actions_enabled()
expanded from 5 to 18 actions gating every token-touching path
including show-qr. Lock guards added in on_otp_selection_changed,
on_drag_prepare, and on_token_right_click. A closed-signal
handler re-presents the dialog if it ever slips closed while
still locked.
* Fri May 15 2026 Paolo Stivanin <info@paolostivanin.com>
- Update to 5.0.3:
* Startup crash gdk_display_manager_get() was called before
gtk_init() when use-dark-theme is enabled on environments without
a portal-reported color scheme (#440). The dark-theme preference
was being applied before AdwApplication's startup chain ran, so
adw_style_manager_get_default() reached into an uninitialized GDK
display and aborted. Now applied after chaining up to the parent
startup().
* Thu May 14 2026 Paolo Stivanin <info@paolostivanin.com>
- Update to 5.0.2:
* NEW: Add → Scan QR from Clipboard (#438). Reads a GdkTexture from
the focused display's clipboard, downloads it to RGBA, converts
to grayscale, and decodes via zbar.
* FIX: Scanning a QR that does not encode an otpauth:// URI now
surfaces a toast instead of silently doing nothing. Applies to
file and webcam scans too, not just the new clipboard path.
* Wed May 13 2026 Paolo Stivanin <info@paolostivanin.com>
- Update to 5.0.1:
* QR import (file picker and webcam) no longer duplicates pre-
existing tokens (#435). Root cause: data_to_add was not cleared
after update_db, so subsequent imports re-merged the entire
list.
* Set Group / Remove from Group / New Group act on the right
token when a group filter or column sort is active (#437).
* Token actions — delete, edit, show QR, move to database, HOTP
increment — act on the right token when a filter or column sort
is active. Same root cause as #437: bare selection position was
used as a JSON index, ignoring the filter+sort offset.
* Clicking a database row in the sidebar now actually loads that
database (#436). The selection callback was an empty stub left
over from the AdwOverlaySplitView refactor.
* The sidebar now distinguishes the default database (loaded on
startup, marked with a star) from the currently open database
(shown in bold).
* Creating or opening an additional database no longer overrides
which one loads on startup — that's now controlled exclusively
by right-click → Set as Primary. Previously, every new or
opened database silently became the default.
* Set as Primary now persists across restarts. The startup
sidebar repopulation was clobbering the saved choice with
whichever database happened to be added to the list first.
* Fri May 08 2026 Paolo Stivanin <info@paolostivanin.com>
- Update to 5.0.0:
First stable release of the GTK4 / libadwaita rewrite, with
multi-database support, token grouping, an opt-in trigger
keyword for the desktop search provider, and a sweeping
crypto and import-path hardening pass. Existing v2 databases
unlock and migrate automatically.
Features
* Complete GUI rewrite on GTK4 + libadwaita.
* Persistent multi-database support with sidebar and
right-click "Move to..." between databases.
* Token grouping with header-bar dropdown and "group:" /
"#" search prefix; groups round-trip through Aegis,
AuthPro and 2FAS.
* Cross-database search with auto-select-and-copy on a
single result.
* Hidden-by-default OTPs with click-to-reveal and
auto-hide.
* Async unlock with KDF spinner.
* Search-provider trigger keyword (default "otp");
KRunner subtitle no longer leaks live codes; activation
copies the OTP.
* Settings -> Backup is the unified entry point for
native (encrypted) backup and restore; format-specific
export becomes migration-only with a plaintext warning.
* Settings import/export, Welcome and What's New
dialogs, KDF presets, paste-to-fill otpauth:// URI,
backup-age banner, lock-time clipboard wipe.
* Scriptable CLI output (--output=table|json|csv),
translated CLI strings, --list-databases, HOTP counter
in CSV, bash/zsh/fish completions.
* Native StatusNotifierItem tray
(libayatana-appindicator dependency removed).
Security
* Argon2id header validation refuses out-of-bounds
parameters on unlock.
* KDF byte-length fix: gcry_kdf_* was passed character
count instead of byte count, weakening keys for
non-ASCII passwords; transparent retry plus
opportunistic re-encryption on the next write.
* O_NOFOLLOW + fstat S_ISREG on every importer and
database read site, closing the symlink-swap TOCTOU
window.
* 0600 mode on backup files; PR_SET_DUMPABLE=0 +
RLIMIT_CORE=0 to suppress core dumps.
* AEAD validation tightened across decrypt paths; 2FAS
no longer accepts plaintext on tag mismatch.
* Search provider refuses every D-Bus method when the
keyword is empty (closes arbitrary local enumeration
of accounts).
* otpauth:// URI capped at 4 KB, HOTP counter capped at
2^48, PNG QR capped at 4096x4096, settings import
capped at 1 MiB.
* Signal-safe clipboard wipe on SIGINT/SIGTERM/SIGHUP;
CLI --password-file refuses group/world-readable
files; secret service disabled by default.
* HOTP counter increment is transactional (rolled back
if save fails).
Fixes
* NULL-deref crashes across Aegis, AuthPro, 2FAS,
FreeOTP+ and otpauth importers on malformed input.
* Use-after-free in async secret lookup; double-free of
filter_model in window dispose; DBus assertion on
exit.
* Notification spam during store rebuilds and search-bar
close.
* Window size and group dropdown restored across
sessions; schema and icon cache updated on install.
Performance
* KDF-derived key cache, lazy cross-DB OTP, deferred
HOTP writes, pre-folded labels in search provider.
Breaking
* GTK 4.18+ and libadwaita 1.5+ required; configuration
migrated to GSettings (GKeyFile not migrated
automatically).
* Wed Apr 22 2026 Paolo Stivanin <info@paolostivanin.com>
- Update to 4.5.0:
Features
* Search-provider trigger keyword (default otp): only desktop
search queries whose first whitespace-separated token equals
the keyword surface OTP results, so they're no longer drowned
under file/app/web runner output. Configurable in Settings →
Integration. Empty keyword falls back to legacy unfiltered
behaviour. Daemon restart required after a change.
Security
* KRunner Match subtitle no longer leaks the live OTP code. Any
process on the session bus could previously poll Match and read
codes without user action; the code is still delivered via the
Run notification.
* Argon2id header validation: refuse v2 databases whose iter /
memcost / parallelism fall outside safe ARGON2ID_MIN/MAX_*
bounds (would otherwise enable memory-exhaustion or
KDF-weakening DoS on unlock).
* Core-dump suppression: prctl(PR_SET_DUMPABLE,0) +
RLIMIT_CORE=0 in init_libs() so a crash with secrets in memory
cannot leak them to disk.
* KDF byte-length fix: gcry_kdf_* was being passed
g_utf8_strlen (character count) instead of byte count,
weakening keys for non-ASCII passwords. Fixed in
db-common.c, common.c (AuthPro), aegis.c, twofas.c, and
freeotp.c. Existing v2 databases unlock via a transparent
retry path and are silently re-encrypted with the corrected
length on the next write.
* O_NOFOLLOW everywhere: new path_open_safe_regular_file()
helper (open(O_RDONLY | O_NOFOLLOW | O_CLOEXEC) + fstat
S_ISREG check) applied to all importers (Aegis, AuthPro,
2FAS, FreeOTP+) and to both database read sites. Subsequent
reads run through /proc/self/fd/<n> so the inode stays bound
across the whole operation, closing the symlink-swap TOCTOU
window.
* chmod 0600 on database backups so a permissive umask cannot
leave .bak files group/world-readable.
* otpauth:// URI length capped at 4 KB to prevent multi-
gigabyte allocations from malformed input.
* CLI hard-refuses --password-file with group/world-readable
permissions instead of merely warning; recommends chmod 600.
* GUI clears the system clipboard on SIGINT / SIGTERM / SIGHUP
via g_unix_signal_add and at shutdown.
Fixes
* 2FAS importer: NULL-deref crashes on missing
servicesEncrypted, malformed colon-separated payload, and
under-sized AEAD ciphertext; secure-buffer leaks on decrypt
and tag-check failure; silent acceptance of unauthenticated
plaintext on tag mismatch (now properly rejected).
* 2FAS exporter: NULL-deref on missing algo / type fields.
* Aegis importer: NULL-deref when header.slots is missing or
the password slot lacks key_params.
* FreeOTP+ exporter: unconditional g_object_unref(NULL) after a
failed g_file_replace; correct byte length passed to write.
* AuthPro importer: leaked GFile / GFileInputStream on the
plain-backup path (no password).
* Tue Apr 21 2026 Paolo Stivanin <info@paolostivanin.com>
- Update to 4.4.2:
* Allow click to copy when searching via desktop provider
* Wed Mar 04 2026 Paolo Stivanin <info@paolostivanin.com>
- Update to 4.4.1:
New Features
* Add cross-desktop search provider for GNOME Shell and KDE Plasma 6 (KRunner). OTP codes are displayed directly in search results and copied via system notification on activation. Can be toggled in settings.
* Add --password-file CLI option to read the password from an external file instead of stdin (thanks @kouta-kun)
Security
* Harden CLI password input: use read() with gcry_calloc_secure instead of fgets() to prevent password remnants in libc internal buffers. Disable all terminal echo modes and restore state via TCSAFLUSH.
* Fix under-allocation of secure password buffer for multibyte UTF-8 passwords (g_utf8_strlen returns character count, not byte count)
Bug Fixes
* Fix copy-paste bug in Authenticator Pro export: "issuer" key was read instead of "label" when building the Username field
* Fix secure-memory leak in get_otpauth_data: g_file_get_contents overwrote a gcrypt secure-buffer pointer with non-secure memory
* Fix g_utf8_strdown() memory leak in URI parsing
* Fix silent guint8 truncation of period/digits values; now validated with range checks
* Add missing g_set_error() on five error paths in Aegis encrypted backup import
* Fix salt and key_nonce leak on kdf_derive failure in Aegis export
* NULL-guard json_string_value() results across URI parsing, Authenticator Pro, and Aegis modules
* Unify hash type to guint32 in database layer (was mixing guint/guint32, potential issue on ILP64 platforms)
* Remove duplicate json_object_set() for "secret" key in build_json_obj
* Replace VLA stack buffers (salt, iv, tag) with heap allocations in get_data_from_encrypted_backup
* Fix search provider: add missing gcrypt initialization, fix memory leaks, eliminate redundant Argon2id+AES256-GCM cycle in result activation
* Improve --password-file error handling and terminal detection
* Fixed Ctrl+F search not working due to premature key controller destruction.
* Fixed GTK-CRITICAL assertions on close caused by accessing the tree view after widget destruction.
Refactoring
* Modernise application and window layer to GTK idioms: G_DECLARE_FINAL_TYPE, GtkEventControllerKey, configure-event for window-size tracking, proper dispose() for builder ownership
* Split monolithic activate() into resolve_db_path(), load_db_with_password(), setup_ui_and_timers()
* Extract config-misc.c/h utility module from window code
* Wed Feb 18 2026 Paolo Stivanin <info@paolostivanin.com>
- Update to 4.3.1:
* Made countdown colors configurable.
* Added support for selecting the countdown display type (numeric value or cake-style).
* Wired the validity countdown switch to disable color pickers when “show countdown as seconds” is enabled, and stored those widgets in the settings state for reuse in callbacks.
* Added a dedicated handler to update color picker sensitivity whenever the display mode switch changes (including on dialog initialization).
* Added persistence for tree view column widths by loading saved widths on startup and saving current widths to the configuration on shutdown.
* Renamed the “OTP Value” column header to “OTP” and tagged columns with IDs to support width tracking.
* Added polished empty-state screens with direct call-to-action buttons.
* Improved consistency and clarity across menus, headers, and dialogs.
* Enhanced OTP list readability with resizable columns, ellipsized labels, and monospace formatting.
* Replaced the validity text column with a progress bar showing remaining TOTP time.
* Switched visual indicators from bar-based to filled pie charts for clearer status at a glance.
* Improved CLI usability and feedback.
* Refactored the codebase to follow proper GTK coding patterns and lifecycle management.
* Removed obsolete option-migration logic.
* Added an explicit shutdown event.
* Hardened shutdown cleanup to safely handle partially initialized components, avoiding GTK critical warnings while still persisting window state when possible.
* Sat Dec 27 2025 Paolo Stivanin <info@paolostivanin.com>
- Update to 4.2.0:
* ADDED: interactive search (ctrl-f)
* IMPROVED: search now matches query against type, account label, and issuer uniformly
* IMPROVED: Streamlined treeview model population to read JSON directly with safe defaults
* IMPROVED: Simplified OTP update flow and tightened reorder/delete safety and cleanup
* IMPROVED: Centralized app/db default initialization and early cleanup paths in app.c
* IMPROVED: Tightened error handling by clearing config migration errors and freeing the config path
* IMPROVED: Made early-exit cleanup safer by avoiding double-freeing the database key
* IMPROVED: Added a helper to clear password entries and reset visibility on successful submit
* IMPROVED: Cleared old/new password fields before the dialog closes to avoid brief exposure
* IMPROVED: Initialized settings defaults when the config load fails and persisted them to otpclient.cfg
* IMPROVED: Added warning dialog only when saving fallback defaults fails
* IMPROVED: cli: improve robustness and correctness in string and file handling
* FIXED: duplicate windows and tray icons on re-activation (#409)
* Fri May 09 2025 Paolo Stivanin <info@paolostivanin.com>
- Update to 4.1.0:
* ADDED: minimize to tray with ayatana-appindicator3 (#386 thanks a lot @len-foss)
* IMPROVED: only show memlock warning dialog when secure memory is unavailable (#397)
* IMPROVED: allow creating a database via CLI (#392)
* FIX: allow using different databases in flatpak (#372)
* CHANGED: dropped andOTP support
* Wed Aug 07 2024 Paolo Stivanin <info@paolostivanin.com>
- Update to 4.0.2:
* FIX: importing data on a first run (#376)
* FIX: better error handling
* IMPROVED: handling of memlock when too low
* Wed Jul 31 2024 Paolo Stivanin <info@paolostivanin.com>
- Update to 4.0.1:
* CHANGE: switch from PBKDF2 to Argon2id (#358).
This change is completely transparent to the end user, therefore no action is required.
* NEW: make Argon2id parameters configurable (#358)
* NEW: add support for importing plain Aegis txt
* FIX: various issues related to importing Aegis backups (#371)
* FIX: improving handling of json files (#369)
* FIX: parsing QR codes (#374)
* FIX: show db parameters dynamically
* FIX: add missing ui file to CMakeLists.txt
* Fri Jun 28 2024 Paolo Stivanin <info@paolostivanin.com>
- Update to 3.7.0:
* CHANGE: deleting a row, editing a row and showing the qr code
is now done via right click on the target row (#359).
* FIX: multiple fixes to QR handling (#364).
* FIX: exporting to FreeOTP+ format (#367).
* FIX: updated otpclient and otpclient-cli man pages (thanks @fvcr).
* FIX: code more readable thanks to macros.
* Thu Mar 14 2024 Paolo Stivanin <info@paolostivanin.com>
- Update to 3.6.0:
* NEW: add possibility to import plain/encrypted backups
using the CLI.
* FIX: make GUI and CLI independent, so that CLI only can be built
and installed without GTK being present.
* FIX: check file size against memlock before importing a backup.
* FIX: code cleanup and internal refactoring.
* Fri Mar 08 2024 Paolo Stivanin <info@paolostivanin.com>
- Update to 3.5.2:
* NEW: add possibility to export plain/encrypted
Authenticator Pro/2FAS backups using the CLI.
* FIX: improve popover layout.
* FIX: exporting plaing Aegis via CLI.
* FIX: cleanup code.
* Tue Mar 05 2024 Paolo Stivanin <info@paolostivanin.com>
- Update to 3.5.1:
* NEW: add back buttons to the various popover menus
* FIX: split popovers into their own UI files
* FIX: remove upgrade message when upgrading from a version older than 2.6.0
* Fri Mar 01 2024 Paolo Stivanin <info@paolostivanin.com>
- Update to 3.5.0:
* NEW: add support for importing and exporting plain/encrypted 2FAS backups (#322)
* NEW: add support for importing and exporting plain/encrypted AuthenticatorPro backups (#322)
* CHANGE: show warning when exporting a plain backup
* CHANGE: remove support for older Glib and GCrypt
* FIX: add 2fa keyword to the desktop file (#349)
* FIX: remove custom keywords from metadata file (#348)
* FIX: returning to a dialog won't crash the widget
* Mon Feb 12 2024 Paolo Stivanin <info@paolostivanin.com>
- Update to 3.4.1:
* FIX: FreeOTP+ export (thanks @hubnut)
* Sat Feb 10 2024 Paolo Stivanin <info@paolostivanin.com>
- Update to 3.4.0:
* NEW: CLI was completely refactored, and the options have changed.
Be sure to check the new options using the help command (-h)
* NEW: you can now specify a database when calling the CLI (#340)
* FIX: handling errors when path and/or password is incorrect (#336)
* FIX: prompt for file again, if needed (#335)
* FIX: prevent about dialog from hiding
* FIX: use system RNG as source of entropy
* Wed Feb 07 2024 Pablo Herranz Ramírez <pablo.herranz@suse.com>
- Update to 3.3.0:
* Set brackground to red when delete mode is entered
* Fix base32 encoding/decoding
* Requires libcotp >= 3.0
* Fri Nov 03 2023 Paolo Stivanin <info@paolostivanin.com>
- Update to 3.2.1:
* FIX: increase secure memory pool to 64 MB, if possible
* FIX: parsing of big aegis encrypted json (#309)
* FIX: better memory management
* Wed Oct 25 2023 Paolo Stivanin <info@paolostivanin.com>
- Update to 3.2.0:
* NEW: add file chooser dialog on export (#305).
* FIX: overwrite exported file instead of appending it (#305).
* FIX: exported file will be accessible only by the current user (#305).
* FIX: multiple issues related to failed first launch (#303).
* FIX: couple of issues with secret-service.
* Mon Jul 03 2023 Paolo Stivanin <info@paolostivanin.com>
- Update to 3.1.9:
* Fix db corruption when symbols are used (#301).
* Fix crash when user changes db multiple times.
* Wed Jun 14 2023 Paolo Stivanin <info@paolostivanin.com>
- Update to 3.1.8:
* Fix importing Aegis plain text json (#296).
* Fri May 26 2023 Paolo Stivanin <info@paolostivanin.com>
- Update to 3.1.7:
* Add new Database info dialog (Hamburger menu -> Database info)
* Fix crash when no row is selected (#295)
* Fix UI when creating/changing a database
* Multiple fixes when creating a new database
* Use current db folder when creating/changing database
* Fix memory leak in case of error when opening the settings dialog
* Wed Mar 22 2023 Paolo Stivanin <info@paolostivanin.com>
- Update to 3.1.6:
* Correctly quit the password dialog on export. This avoid dumping
the database in plaintext format if the user presses either the
cancel or close button.
* Wed Mar 15 2023 Paolo Stivanin <info@paolostivanin.com>
- Update to 3.1.5:
* allow db to be a symlink (fix #289)
* Fri Feb 10 2023 Paolo Stivanin <info@paolostivanin.com>
- Update to 3.1.4:
* make auto-lock and secret service mutually exclusive (#279)
* fix importing plain AEGIS (#281)
* fix importing encrypted AEGIS on some distros (#281)
* rename disable_secret_service setting to use_secret_service
* Fri Jan 13 2023 Paolo Stivanin <info@paolostivanin.com>
- Update to 3.1.3:
* Fix Aegis import/export when using long pwds.
* Fix secret service cleanup
* Show the correct error message when import fails
* Use g_utf8_strlen instead of strlen
* Add libcotp >= 2.0 compatibility
/usr/share/bash-completion/completions/otpclient-cli
Generated by rpm2html 1.8.1
Fabrice Bellet, Sun Aug 2 03:14:27 2026