All notable changes to AI Text Tools will be documented in this file.
- Reasoning model think tags appearing in output - Local models (DeepSeek R1, Qwen QwQ, etc.) that use
<think>...</think>chain-of-thought tags now have these stripped automatically from all provider responses
- Beta tester access broken after DPAPI security update - Beta testers could not use the app because
BetaManagerwas initialised after the Orchestrator, so beta access was never detected at startup- Moved
BetaManager.Init()beforeOrchestrator.Initialize()so the provider factory can detect beta tokens - Added beta access check to
AutoConnectProvider()so beta testers get their provider refreshed on startup
- Moved
- Beta re-registration now resumes existing session - Activating with an already-registered email now behaves identically to a fresh registration: shows the same activation message, restores remaining credits, and immediately switches to the beta provider
- Beta registration handles server response variations - Token extraction now works regardless of server
successflag; handles nulluses_remainingby querying status endpoint - Fixed crash when UsesRemaining is empty -
Integer()call inGetUsesRemaining()now handles empty strings gracefully - Beta registration popup closes before confirmation - Popup now destroys before showing success message for cleaner UX
- Ollama provider rewritten for reliability - Now uses
curl.exe(built into Windows 10 1803+) for long-running LLM requests- Eliminates
0x8000000A"data not yet available" errors with WinHTTP async mode - Falls back to WinHTTP sync mode if curl is unavailable
- Supports 5-minute timeout for slow model inference
- Uses UTF-8-RAW encoding to avoid BOM issues with JSON
- Eliminates
- HTTP client switched to synchronous mode - More reliable than async for AI API calls; timeouts now set before
Open()for proper effect
- DPAPI encryption for API keys - Credentials are now encrypted using Windows Data Protection API (DPAPI) instead of Base64 encoding
- DPAPI provides real cryptographic protection tied to the Windows user account
- Encrypted data can only be decrypted by the same user on the same machine
- Prevents casual viewing of API keys in the settings.ini file
- Automatic migration from legacy Base64 format (v1.6 and earlier)
- When retrieving a credential, the system first tries DPAPI decryption
- If DPAPI fails, it attempts Base64 decode (legacy format)
- Successfully decoded legacy credentials are automatically re-encrypted with DPAPI
- Seamless upgrade experience - no user action required
- New
DPAPIEncrypt()function usingCryptProtectDataWindows API - New
DPAPIDecrypt()function usingCryptUnprotectDataWindows API - Legacy
Base64Decode()retained for migration support only Base64Encode()removed (no longer needed for new credentials)
- Menu hover alignment issue - Fixed parallax-like effect where menu highlight would drift from cursor position as you moved down the menu
- Root cause: Coordinate conversion using simple subtraction didn't account for window borders and DPI scaling
- Solution: Now uses Windows API
ScreenToClientfor accurate screen-to-client coordinate conversion - Fix applied to both main prompt menu and provider submenu
CheckHover()now usesDllCall("ScreenToClient")instead of manualmouseX - winXsubtractionCheckSubmenuClick()updated with same fixGetClientRectAPI used to get accurate client area dimensions
- Beta Tester program - free AI access for beta testers
- Beta Tester button in About tab for registration
- Secure server-side API key storage (key never touches client)
- 80,000 uses limit per beta tester
- Automatic fallback to own API key when added
- Updated analytics to use new server endpoint format
- New BetaManager class for beta tester registration and proxying
- New BetaProvider for routing requests through server
- ProviderFactory auto-detects beta mode when no own API key exists
- Recommended models auto-selected when API key is provided:
- OpenAI: gpt-4.1-nano
- Anthropic: claude-haiku-4-5-20251001
- Google Gemini: gemini-2.5-flash
- Recommended models marked with ★ symbol in dropdown for easy identification
- Models sorted with recommended model at top of list
- README updated with actual model IDs and auto-selection documentation
- Animated wait cursor during AI processing for visual feedback
- Wait cursor animation files (wait-1.ani, wait-2.ani)
- Menu now appears on the correct monitor in multi-monitor setups
- README updated to reflect actual prompts (removed non-existent "Translate to English")
- README installation instructions clarified - users need to download full ZIP, not just setup file
- Added credits for cursor script contributors (Serenity, iseahound)
- Installer no longer incorrectly sets FirstLaunch=0 (was preventing "install" analytics event)
- Updater now uses WinHTTP with redirect handling for reliable GitHub downloads
- Download mechanism in updater.ahk now matches installer's robust implementation
- Uses ADODB.Stream for binary file handling (fixes COM SafeArray issues)
- Fixed binary download using ADODB.Stream instead of RawWrite (ComObjArray has no "Size" property error)
- Update success confirmation message shows version number after successful upgrade
- Version info included in error messages for easier troubleshooting
- Fixed registry version to use variable instead of hardcoded value
- Installer now uses WinHTTP with proper redirect handling for GitHub downloads
- Tries both tag formats (v1.4.8 and 1.4.8) when downloading updates
- Better error messages showing which URL was attempted
- License agreement in installer - must accept terms before proceeding
- Comprehensive Terms of Use and Disclaimer in application Settings
- Covers liability limitations, AI content warnings, data privacy, acceptable use
- Installer now forcefully closes running instances before upgrading (using taskkill)
- Added validation for downloaded files - checks size > 500KB to catch HTML error pages
- Better error messages when download fails or file is invalid
- Critical: Installer now downloads application files from GitHub when upgrading
- Previously, upgrades failed silently because Setup.exe was alone in temp folder
- Installer detects if running from download location and fetches AITextTools.exe and Uninstall.exe from the matching GitHub release
- Updater now constructs direct download URL as fallback when release assets aren't listed
- Download failures now offer to open releases page for manual download
- Validates downloaded file size to catch failed/empty downloads
- Download update now offers to open releases page if no installer is attached to the release
- "All Models" button in Models tab to refresh available models from provider
- Allows easy switching to newer models when older ones become outdated
- First launch "install" event sent to analytics (distinct from "startup" events)
- Windows security warning instructions in README for non-technical users
- "Get API Key" links for each provider in Models tab
- Step-by-step API key setup instructions in README for non-technical users
- Analytics payload now includes app_name field for multi-app tracking support
- Installer wizard now shows "Bykov-Brett Enterprises" branding
- About tab tagline changed to "./run the revolution."
- Auto-update system with GitHub release checking
- Automatic monthly update check (1st of month at 2pm, or next online day)
- One-click download and install updates from Settings
- Installer upgrade mode (
/upgradeflag) for seamless updates - Anonymous usage analytics for active user tracking (opt-out available)
- UK/US English spelling toggle in General settings
- "Run on Windows startup" option in installer and settings
- "Start minimized to system tray" option
- Custom tray icon when running from source
- Fully standalone distribution - no AutoHotkey installation required
- All executables are self-contained compiled binaries
- Simplified installer that only uses compiled executables
- App shows settings when launched manually, runs silently when auto-started
- Updated Anthropic default model to Claude Sonnet 4
- Gemini API now uses v1beta endpoint for latest models
- Installer "Finish" button showing cancel confirmation
- Uninstaller errors when closing running instances
- Application not launching after installation
- OpenAI API key not connecting (credential storage path issue)
- Anthropic "model not found" error on first connection
- Google Gemini not showing latest models
- Professional installer wizard for easy installation
- Uninstaller wizard accessible from About tab
- Settings now stored in AppData (works with Program Files installation)
- Add/Remove Programs integration
- Improved installation experience for non-technical users
- Settings migration from old location to AppData
- "Access denied" error when installing to Program Files
- Settings persistence issues with restricted folders
- "Ask AI" prompt with custom question dialog
- Dynamic model lists fetched from providers
- Default provider checkbox on Models and Local tabs
- Anthropic Claude provider support
- Google Gemini provider support
- Theme support (follows system dark/light mode)
- Improved provider connection status indicators
- Better error handling for API connections
- Reorganized settings tabs (Models, Local, Prompts)
- "Control is destroyed" error when closing settings during connection
- Model dropdown not updating after provider connection
- Initial release
- OpenAI GPT support
- Ollama local model support
- System tray integration
- Customizable hotkeys (Ctrl+Shift+J, Ctrl+Shift+K)
- Built-in prompts (Fix Grammar, Improve Writing, etc.)
- Custom prompt management
- Secure API key storage using Windows Credential Manager