Skip to content

Releases: Buct0r/PassPort

v0.3.0

29 May 13:51
v0.3.0
329e5de

Choose a tag to compare

Features

  • Introduced search bar for GUI application. You can now search for a desired password in your list.
  • Now you can press the Enter key on you keyboard instead of pressing the buttons with the mouse when typing in text entry widgets, like the search bar or the password entry for authentication at the start of the GUI application

Bug fixes

CLI: whitespace characters errors on input

  • Changed input method for CLI to prevent whitespaces errors when typing the name of a service

CLI: Menu infinite loop on non-numeric input

  • Previously: Entering "abc" instead of a number caused infinite loop because bad input was never consumed from stdin
  • Fixed: fmt.Scanln() error is now checked, and bad input is explicitly discarded with fmt.Scanln(&discard) before continuing

CLI: setupMasterPassword memory leak on password mismatch

  • Previously: password = nil and confirmation = nil only changed the slice pointer, not the underlying byte array
  • Fixed: Now uses zeroBytes(password) and zeroBytes(confirmation) to explicitly clear all bytes before returning error

CLI: changeMasterPassword silent data loss on decryptData failure

  • Previously: Error from decryptData() was NOT checked immediately, could print "success" on actual failure
  • Fixed: Error is checked IMMEDIATELY after decryptData() call, returns error to user instead of silently proceeding
  • Also fixed: json.Unmarshal error at lines 505-509 is properly checked

GUI: Search bar duplicate container.Add calls

  • Previously: container.NewBorder() already contained elements, then Add() was called again for the same elements
  • Fixed: Extra searchContainer.Add(searchBar) and searchContainer.Add(searchButton) calls removed

GUI: Error messages printed to console instead of shown in dialogs

  • Previously: fmt.Println("Error:", err) was invisible to GUI users
  • Fixed: All error paths now use dialog.ShowError(err, w) to display errors to users
  • Affected functions: deletePasswordGUI, editPasswordGUI, addPasswordGUI

GUI: Session timeout not re-checked inside button callbacks

  • Previously: Timeout checked only at function entry, not inside button callbacks
  • Fixed: All 3 sensitive button callbacks now re-check session timeout before performing the actual file write
  • Fixed locations: deletePasswordGUI confirm callback, editPasswordGUI save callback, addPasswordGUI save callback

CLI: Improved stdin input handling

  • Added readLine() helper using bufio.Reader.ReadString('\n')
  • Replaced 7 bufio.NewScanner(os.Stdin) calls with shared bufio.Reader in savePassword() and modifyPassword()
  • Added reader.Discard(reader.Buffered()) before ReadPassword() calls

GUI: Session timeout refresh across all actions

  • Changed start parameter from time.Time to *time.Time in deletePasswordGUI, editPasswordGUI, addPasswordGUI, editMasterPasswordGUI
  • Updated start = time.Now() to *start = time.Now() and time.Since(start) to time.Since(*start)
  • External callers pass &start instead of start

Other

  • Increased time to reveal password for CLI application
  • Added "-c" parameter for CLI mode

Changelog

v0.2.0

08 May 14:13
v0.2.0
40bc72b

Choose a tag to compare

Bug Fixes

Security

  • Fixed session expiry bypass — all 4 guarded functions (deletePasswordGUI, editPasswordGUI, addPasswordGUI, editMasterPasswordGUI) now properly return after session timeout instead of continuing the operation
  • Fixed invisible error dialogs — setupMasterPasswordGUI no longer passes nil parent window to dialog.ShowInformation
  • Fixed password byte cleanup — authenticate() in GUI now zeroes the password byte slice after use via VerifyPassword + nil assignment
  • Fixed CLI password leak on mismatch — passwords not matching now zero the password slice before returning (pending fix in cli/functions.go)
  • Fixed dead nil checks — bytes.TrimSpace results no longer have unreachable == nil conditions

UX & Correctness

  • Fixed password length check — changed for to if and now checks trimmed length (len(passwordN)) instead of raw input (len(password))
  • Fixed editMasterPasswordGUI Close button — no longer calls onComplete(false), which previously showed a misleading "Failed to update master password" error
  • Fixed unchecked os.WriteFile errors — both occurrences in editMasterPasswordGUI now properly handle write failures
  • Fixed theme config path — saveConfig now creates the config file path when it doesn't exist instead of silently failing

CLI

  • Fixed discarded errors — deletePassword and modifyPassword in CLI now check the error from AuthenticateUser() instead of discarding it
  • Fixed authentication retry — modifyPassword now checks AuthenticateUser errors during retry loop

Build & Cross-Platform

  • Fixed version inconsistency — both CLI and GUI now report v0.1.2
  • Fixed dead code — removed exec.Command("") from src/main.go
  • Fixed binary name case — all binary names changed to lowercase (passport / passport-cli) for consistency on case-sensitive filesystems
    • Updated: .goreleaser.yaml, .goreleaser-macos.yaml, AGENTS.md, README.md, CI workflows, Homebrew formula
  • Fixed Homebrew cask — replaced broken passport-gui cask (referenced non-existent PassPort.app) with two formulae:
    • passport (combined GUI + CLI via resource mechanism)
    • passport-cli (CLI-only, no longer renames to passport)
    • Updated: .github/workflows/homebrew-publish.yml

Changelog

  • 40bc72b Update v0.2.0
  • 18b1a93 Fixed workflow
  • 0609659 fix: homebrew publish waits for all releases to complete

v0.1.1

05 May 16:41
v0.1.1
ed93a63

Choose a tag to compare

Important !!!

I highly recommend to manually uninstall the old version of the application and then install the new one to avoid any PATH variable conflicts on windows.
Don't worry, you won't loose any of your saved passwords and you will not need to update your master password

Changelog

v0.1.0

01 May 11:01
v0.1.0
951e196

Choose a tag to compare

Changelog