Skip to content

Releases: useFormseal/decrypt

v0.6.0

Choose a tag to compare

@github-actions github-actions released this 08 Jun 14:47
Immutable release. Only release title and notes can be modified.

What's new

Breaking changes

  • OS keychain is now required — no more secrets.json fallback. fsd connect pre-checks keychain availability and fails with a clear error if none is found.

Security

  • Credentials are now stored exclusively in the OS keychain (Windows Credential Manager, macOS Keychain, Linux Secret Service). Removed the unencrypted secrets.json fallback with base64 encoding.
  • Rewrote security.md with a full credential storage table, threat model, and clearing guide.

Improvements

  • fsd connect now validates keychain availability before prompting for credentials

Docs

  • Purged all references to secrets.json and fallback storage across all documentation
  • Removed versioning section from CONTRIBUTING.md
  • Cleaned up troubleshooting.md (removed obsolete credential storage section, renumbered sections)

Internal

  • Removed HAS_KEYRING boolean, _load_secrets, _save_secrets, and all JSON/base64 fallback code from security/keys.py
  • Renamed version.txt to version in project root and updated ci for so

v0.5.1

Choose a tag to compare

@github-actions github-actions released this 03 Jun 15:43
Immutable release. Only release title and notes can be modified.

What's new

Improvements

  • Border width now comes from a single BORDER constant in fsd.ui.styles — no more hardcoded "─" * N across files
  • Help section dividers now match the header divider (52 chars) — was 44, looked off
  • Shortened help command descriptions (e.g. "configure source, destination, key" instead of "…and private key")

Docs

  • Added last_decrypt and last_format to config.json example and field table

v0.5.0

Choose a tag to compare

@github-actions github-actions released this 31 May 10:07
Immutable release. Only release title and notes can be modified.

What's new

Features

  • Three-tier error system: neutral() (😐) for user mistakes, warn() (⚠️) for warnings, fail() (Error: bright red-orange) for system issues
  • Strict flag validation: connect, decrypt, and disconnect reject unknown flags with "😐 Invalid flag."
  • --formats flag lists available export formats

Breaking changes

  • --about flag removed — fsd alone (no args) shows the about page
  • Format names simplified: "JSON Lines" → "JSONL", "Pretty JSON" → "JSON", format aliases dropped
  • Format prompt removed from connect — always stores jsonl as default; override at decrypt time with --format
  • --help and --version are no longer commands, they're global flags

Fixes

  • version.py path corrected in inject-version.yml workflow
  • unknown_command() no longer takes a cmd parameter it never used

Security

  • SECURITY.md trimmed from 115 lines of corporate boilerplate to a concise reporting guide

Improvements

  • Case-insensitive format lookup via get_formatter() — accepts CSV, csv, Json, JSON, md, MD, etc.
  • Header format updated: ┌─ 🙈 formseal-decrypt \ [subtext] with dim separator and white-bold lowercase subtexts
  • Header subtexts added to status, help, disconnect commands
  • disconnect warning text dedented; --wipe success message says "Decrypted messages deleted."
  • Empty source file detected with "⚠️ Source file contains no records."
  • Ciphertext error message improved: "The ciphertext may be corrupted or encrypted for a different key."
  • | pipe separators removed from all error/warning messages
  • Command paths highlighted in green (C) in error messages

Docs

  • Flattened docs tree: removed concepts/, reference/, deployment/ subdirectories
  • Added 4. output-formats.md with format specs, overwrite policy, CSV injection safety
  • docs/README.md merged "Quick links" and "For developers" tables into one
  • how-it-works.md trimmed output model section, links to new output-formats page
  • getting-started.md added disconnect confirmation prompt, overwrite note, .jsonl interactive nuance
  • commands.md added -f shorthand, --source/--dest flag syntax, disconnect confirm, error tiers
  • security.md added keyring dependency note, runtime fields, disconnect confirm, accurate --wipe scope
  • configuration.md added runtime behavior details

Internal

  • FORMATTERS is now the single source of truth for formats — no separate aliases dict
  • Version bumped to 0.5.0 in version.txt, version.py, pyproject.toml

v0.4.1

Choose a tag to compare

@github-actions github-actions released this 24 May 15:41

What's new

Features

  • fsd status now shows the format used in the last decrypt run

v0.4.0

Choose a tag to compare

@github-actions github-actions released this 24 May 14:18

What's new

This release adds CSV output, a new canonical JSONL architecture, and cleans up the format system.

Features

  • CSV export — Spreadsheet-compatible output with sorted columns, value normalization, and formula injection protection.
  • Canonical JSONL — fsd decrypt always writes formseal.decrypted.jsonl as the source of truth. Additional formats are derived projections via --format.
  • --format flag (in decrypt command) — Override the export format per-run (fsd decrypt --format csv). No need to reconnect.
  • --formats flag — Lists available export formats.

Improvements

  • Streamlined connect — Format prompt removed. Always defaults to JSON Lines.
  • Richer status — Shows decryption status: entry counts and last decrypt timestamp.
  • Removal of dead code throughout.

v0.3.0

Choose a tag to compare

@github-actions github-actions released this 22 May 12:11

What's new

This release adds Markdown table output and improves format handling.

  • Markdown format — All submissions in a single flat table. Opens in any markdown viewer, editor, or git diff.
  • Dynamic field detection — Columns adapt automatically to whatever fields exist in your data. No hardcoded schema.
  • Smarter format validation — Both display names (JSON Lines) and internal keys (jsonl) are accepted during connect.

Changes

  • Format validation now case-insensitive and display-name-aware
  • Stale docs cleaned up (removed client_tz, added markdown references)

v0.2.0

Choose a tag to compare

@github-actions github-actions released this 06 May 08:38

What's new

This release introduces a modular output format system and migrates from formseal-inbox (fsi) to formseal-decrypt (fsd).

  • Output format selection — Choose between JSON Lines or JSON during connect
  • Modular format system — Easy to add new output formats (CSV, table, etc.)
  • Auto-generated filenames — Output files named formseal.decrypted.{jsonl|json}

Changes

  • CLI renamed from fsi to fsd
  • Source file must end in .jsonl (auto-appended if missing)
  • Destination is now a directory (not a full file path)

v0.1.0: See grayguava/formseal-inbox — original CLI with JSON Lines-only output.