Skip to content

reddacted v0.2.3

Choose a tag to compare

@taylorwilsdon taylorwilsdon released this 04 Apr 19:57
· 32 commits to main since this release

📦 Release v0.2.3 · April 4, 2025

This release focuses on major internal refactoring, improved configuration management, enhanced LLM model fetching logic, improved CLI parsing, and strengthened robustness for the Textual UI.

✨ Highlights

  • 🧱 Refactored Textual CLI logic into separate configuration modules
  • ⚙️ New flexible configuration loading, validation, and saving system
  • 📑 Improved CLI argument handling and boolean parsing logic
  • 🔄 Automatic LLM model recovery and async cancellation handling
  • 🐛 Critical OpenAI base URL fix and enhanced edge case handling

🚀 Features & Enhancements

✅ Configuration Management Overhaul

  • 🔧 Introduced new cli_config.py module
    • Handles:
      • Config file I/O via JSON
      • Environment variable mapping
      • Boolean conversion from CLI flags or strings
      • Consistent validation for Textual input widgets
  • 🧪 add validate_inputs() utility method for UI input checks

🖥️ Textual UI (ConfigApp)

  • 🔄 Migrated all config-related logic to use new cli_config.py methods
  • ✨ New improved validation summary messaging
  • 🧹 Removed in-class validation complexities with clean callbacks
  • ✏️ Updated button text ("Submit Configuration" ➝ "Submit", etc.)
  • 🌐 Fixed OpenAI URL default (https://api.openai.com/v1 ➝ https://api.openai.com)

🤖 LLM Model Selection

  • ⏱️ Sleep added between base URL and API key fetch to prevent UI race conditions
  • 🧠 Model fetch cancellation now handled safely before Textual exits
  • 🧭 Fallback to saved config for previously selected model (if still available)
  • ⚠️ Graceful message prompts for unexpected model fetch errors

💻 CLI Improvements

  • 🧹 Refactored CLI argument parsing logic
    • Default limits and clearer intent for zero-based logic
    • Imports tidied and aligned for consistency
  • 🐛 Fixed argparser bugs that caused default fallbacks to fail

🐞 Bug Fixes

  • 🛠️ Fixed OpenAI base URL issues in model lookups for compatibility
  • 📉 Correctly handles "0" limits as "unlimited"
  • 🔒 Fixed edge case causing worker thread issues during screen suppression in Textual UI
  • 📄 Resolved string-vs-list parsing edge case in PII summary screen

🧪 Dev Quality & Internals

  • 📁 Reorganize ENV_VARS_MAP to reside cleanly in cli_config
  • 📜 Converted constant definitions to more centralized/shared
  • 🧪 Improved test coverage & type annotations (TYPE_CHECKING, etc.)

📂 Files Changed

  • 5 source files updated
  • 319 insertions, 178 deletions

🔧 How to Upgrade

Pull the latest tag and reinstall dependencies:

git checkout v0.2.2
pip install -r requirements.txt

📣 Feedback, suggestions, or bugs? Please open an issue or discussion. We're excited to keep iterating based on community feedback!