Index index by Group index by Distribution index by Vendor index by creation date index by Name Mirrors Help Search

otpclient-bash-completion-5.1.5-1.2 RPM for noarch

From OpenSuSE Ports Tumbleweed for noarch

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.

Provides

Requires

License

GPL-3.0-or-later

Changelog

* 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

Files

/usr/share/bash-completion/completions/otpclient-cli


Generated by rpm2html 1.8.1

Fabrice Bellet, Sun Aug 2 03:14:27 2026