Skip to content

Releases: AGSQ11/SSHSpan

v1.1.1

Choose a tag to compare

@github-actions github-actions released this 02 Sep 15:33

Added

  • Import keys from a file, not only by pasting: the Import tab has a
    "Browse for key file…" button that opens a native file picker
    (.ppk, .pem, .key, .pub, .txt and all files). The main process
    reads the chosen file and feeds it through the same import path as pasted
    material, so both routes behave identically; the name field pre-fills from
    the file name. Files larger than 512 KB are refused.

Full Changelog: v1.1.0...v1.1.1

v1.1.0

Choose a tag to compare

@github-actions github-actions released this 02 Sep 12:33

Added

  • PuTTY key support (.ppk, version 3 — the format current PuTTYgen writes):
    import passphrase-protected or plain .ppk files, and export any stored key
    as a .ppk (encrypted with Argon2id + AES-256-CBC when a passphrase is
    given). Covers RSA, Ed25519 and ECDSA (nistp256/384/521). Import/export are
    wired into the Import tab and the Export format dropdown.
  • Sidebar shows the real application icon instead of the [SSH] text badge,
    using an optimized 256x256 PNG derived from the app artwork
    (scripts/make-sidebar-icon.js, npm run icon:sidebar).

Security

  • PuTTY .ppk version 2 files are rejected with guidance to re-save them in a
    current PuTTYgen, because that format derives its key material and integrity
    check with SHA-1.
  • The PPK MAC (HMAC-SHA-256 over the algorithm, encryption type, comment,
    public key and decrypted private blob) is verified timing-safely before any
    key material is returned, so a wrong passphrase or a tampered file never
    yields a usable key. Argon2 parameters from an incoming file are validated,
    with implausible memory requests refused.

Full Changelog: v1.0.8...v1.1.0

v1.0.8

Choose a tag to compare

@github-actions github-actions released this 01 Sep 21:09

Fixed

  • Narrow-window layout: the keys list and detail pane squeezed each other
    instead of stacking (the detail pane had a hard min-width: 340px inside a
    non-wrapping flex row), and key rows overflowed because the renderer builds
    .key-row-main/-name/-sub while the stylesheet only defined
    .key-info/.key-name/.key-sub, leaving them unstyled with no truncation.
    The layout now wraps and stacks, long names and fingerprints ellipsize, and
    the sidebar collapses to icons under 900px / 620px breakpoints. Also fixed
    the unstyled "public only" badge (.badge.ghost) and made the topbar,
    toolbar, export row, deploy options, settings rows and audit table reflow
    instead of squashing.

Full Changelog: v1.0.7...v1.0.8

v1.0.7

Choose a tag to compare

@github-actions github-actions released this 01 Sep 20:15

Fixed

  • Release notes: the changelog-section extraction used an awk dynamic regex
    in which the escaped brackets opened a character class, so no section ever
    matched and every release fell back to the generic "see CHANGELOG.md" text.
    It now uses an anchored literal-string comparison.

Full Changelog: v1.0.6...v1.0.7