Skip to content

Releases: FumingPower3925/libreutils

v0.3.0

09 Mar 22:26
Immutable release. Only release title and notes can be modified.
39299a0

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v0.2.0...v0.3.0

v0.2.0: The Privacy Core (Crypto)

22 Dec 23:14
Immutable release. Only release title and notes can be modified.
55e889c

Choose a tag to compare

Release Notes v0.2.0

We are excited to announce LibreUtils v0.2.0!
This release delivers on our "Privacy-First" promise by introducing powerful cryptographic tools that run entirely in your browser—no data ever leaves your device.

New Features

Text Encryptor / Decryptor Tool

A full-featured encryption tool supporting modern authenticated encryption algorithms.

  • Multiple Algorithms: AES-128-GCM, AES-192-GCM, AES-256-GCM, and ChaCha20-Poly1305 (when browser supports it)
  • PBKDF2 Key Derivation: Secure password-based key derivation with configurable iterations (default: 100,000)
  • File & Text Support: Encrypt both text input and binary files with seamless decryption
  • Original Filename Preservation: Encrypted files remember their original filename and MIME type
  • Advanced Options: Customize PBKDF2 iterations, salt length, and IV length
  • Binary Detection: Automatic text vs. binary detection for proper output handling

File Checksum Generator Tool

Generate and verify cryptographic hashes for files and text.

  • 6 Hash Algorithms: MD5, SHA-1, SHA-256, SHA-384, SHA-512, and BLAKE3
  • Security Indicators: Visual "Insecure" badges for deprecated algorithms (MD5, SHA-1)
  • File Streaming: Large file support with progress indication
  • Hash Verification: Auto-detect algorithm and verify file integrity
  • Vendored noble-hashes: Zero external runtime dependencies

Shared Components

Copy-to-Clipboard Component (<lu-copy-to-clipboard>)

Reusable web component with visual feedback integrated across all tools.

Download Button Component (<lu-download-button>)

Modern file download component with File System Access API support where available.

Security Infrastructure

  • Secure Cleanup Lifecycle: Automatic data wiping when navigating between tools
  • Best-Effort Memory Scrubbing: Sensitive inputs are overwritten before clearing
  • Route-Aware Cleanup: onLeave hooks only fire when actually navigating away

Bug Fixes & Improvements

  • Router: Fixed cleanup running on same-route navigation (Issue #6 behavior)
  • Cloudflare Pages: Fixed workspace:* protocol incompatibility with npm
  • Type Safety: Addressed Copilot review comments across codebase
  • Home Page: Fixed card grid spacing and layout issues
  • Build: Removed external crypto dependencies in favor of vendored implementations

Technical Details

  • Vendored noble-hashes: MIT-licensed cryptographic primitives from @noble/hashes
  • Web Crypto API: PBKDF2, AES-GCM, and ChaCha20-Poly1305 via native browser APIs
  • Zero Network Requests: All cryptographic operations execute locally
  • 153 Tests: Comprehensive test coverage for all new functionality

Issues Closed

  • Issue #6: [Feat] Implement "Data Wipe" lifecycle method
  • Issue #7: [Feat] Shared Component: Copy-to-Clipboard
  • Issue #8: [Feat] Tool: Text Encryption (AES-GCM)
  • Issue #9: [Feat] Tool: File Checksum Generator

Pull Requests Merged

  • PR #18: feat(lifecycle): implement secureCleanup and data wipe on navigation
  • PR #19: feat(shared): add CopyToClipboard component and integrate into tools
  • PR #20: feat(encryption): enhance tool with robust binary handling and secure cleanup
  • PR #21: 9 feat tool file checksum generator
  • PR #22: Develop (sync to main)

Full Changelog: v0.1.0...v0.2.0

v0.1.0: The Skeleton & The Pipeline

20 Dec 00:48
Immutable release. Only release title and notes can be modified.
1a51f5e

Choose a tag to compare

Release Notes v0.1.0

We are excited to announce the first release of LibreUtils v0.1.0!
This release establishes the foundation of our privacy-first, browser-based utility suite and introduces our first two powerful tools.

New Features

Password Generator Tool

A robust, secure, and customizable password generator running entirely in your browser.

  • Cryptographically Secure: Uses crypto.getRandomValues() for high entropy.
  • Customizable Options: Toggle uppercase, lowercase, numbers, symbols, and avoid ambiguous characters.
  • Memorable Passwords: Generate XKCD-style passwords made of words with custom separators.
  • Advanced Features:
    • Session History: Collapsible view of the last 5 generated passwords.
    • Presets: Quick configurations for "Easy", "PIN", and "All" characters.
    • Static String Insertion: Insert a fixed string at the start, middle, or end of your password.
    • Quantum Safe Indicator: Visual badge for passwords with >256 bits of entropy.
  • Privacy Focus: Zero server-side generation.

Application Infrastructure

  • PWA Ready: Offline capabilities and installability groundwork.
  • Dark Mode: Fully supported system-aware dark theme.
  • Responsiveness: Mobile-first design for all tools.

Bug Fixes & Improvements

  • Accessibility: Improved ARIA labels and keyboard navigation across tools.
  • UI/UX:
    • Fixed scroll position retention on navigation (Issue #13).
    • Fixed dark mode visibility for select/input elements.
    • Added real-time slider updates.
  • Data Quality: Cleaned and sorted the internal wordlist for better memorable password generation.

Technical Details

  • Monorepo Structure: Organized using Bun workspaces (shared, tools/*, web).
  • Testing: Comprehensive Unit and E2E test suites setup.
  • CI/CD: GitHub Actions pipeline for linting, testing, and deployment checks.

Pull Requests & Issues Closed

  • PR #17: Develop (Sync main)
  • PR #14: Fix scroll to top when changing views
  • PR #11: Feat: complete core app structure
  • Issue #13: [Fix] When changing view the scroll should go to the top
  • Issue #2: [Feat] Implement Password Generator