Changelog
June 14, 2026 · View on GitHub
This file is automatically generated from commit messages during releases.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
0.7.17 - 2026-06-14
Fixed
- fix(vscode): resolve correctness & robustness bugs from extension bug hunt
- fix(issue-6): invalidate stale scan cache on resource edits in editor
0.7.16 - 2026-06-10
Fixed
- fix(issue-6): round-5 — delete key, restart flow, single-line resx, data annotations
0.7.15 - 2026-06-09
Fixed
- fix(issue-6): round-4 fixes + cross-surface coverage (CodeLens, Add-Key, CLI, TUI, sync)
0.7.14 - 2026-06-07
Fixed
- fix(web): default-wins merge in GetKey detail endpoint (issue #6)
- fix(vscode): Add-Key resource-group selector, send resourceGroup, surface errors (issue #6)
- fix(sync): default-wins merge in push extract so default+culture collision doesn't drop values (issue #6)
- fix(cloud): merge empty-code and default-code language groups (issue #6)
- fix(tui): default-wins + gap-fill cell resolution for merged language columns (issue #6)
- fix(web): merge language columns in GetResources + conflict indicator in editor (issue #6)
- fix(web): propagate IsPlural through column gap-fill + test gap-fill path (issue #6)
- fix(web): merge default+culture columns with default-wins in GetAllKeys (issue #6)
- fix(web): pass config (DefaultLanguageCode) to backend factory (issue #6)
- fix(web): scan applies configured localization methods (issue #6)
- fix(scan): separator-aware scan-root prefix check in _Imports walk (issue #6)
- fix(scan): ignore @using/@namespace directives in Razor scanner (issue #6)
- fix(scan): ignore namespace/using declarations in C# scanner (issue #6)
Added
- feat(core): add language-column merge helper with default-wins + conflict (issue #6)
- feat(scan): apply _Imports.razor injected localizers folder-wide (issue #6)
- feat(scan): detect indexer usage of per-file injected localizers (issue #6)
- feat(scan): parse @inject IStringLocalizer
variable names (issue #6)
Changed
- docs(scan): correct InjectedLocalizerExtractor doc to match supported types (issue #6)
- docs: implementation plan for issue #6 round-3 fixes
- test(sync): verify default-language mapping across push/pull round-trip (issue #6)
- style(core): full license header + reuse GetDisplayCode in merge helper (issue #6)
0.7.13 - 2026-06-05
Fixed
- Fix default-language, recursive discovery, multi-group scanning and VS Code reference paths
- Fix POT reader test to match new source-text behavior
Added
- Add multi-base resource group support to the TUI editor
Changed
- Ignore .superpowers scratch directory
- Bump Scriban to 7.2.0 and MailKit to 4.16.0 (security)
- Migrate web GUI to Radzen and propagate PO SourceText to cloud
0.7.12 - 2026-05-28
Fixed
- Fix web stats calculation to handle plural forms correctly
- Fix web command static file serving in single-file executable
Added
- Add multi-base resource group support (closes #6)
- Add database migration for SourceText columns on ResourceKey
- Add format-agnostic SourceText support to entities and DTOs
- Add Source column to grid and improve TranslateDialog UX
- Add PluralForm tracking and SourceText restoration to sync history
0.7.11 - 2026-01-06
Fixed
- Fix ISO week calculation in backup rotation policy
0.7.10 - 2026-01-06
Fixed
- Fix low priority maintenance and consistency issues
- Fix medium priority logic bugs across all backends
- Fix critical data loss bugs in iOS, Android, Po, and Json backends
Added
- Add security hardening and atomic writes to backend writers
- Add XLIFF 2.0 plural support using group elements
0.7.9 - 2026-01-06
Fixed
- Fix case-insensitive key lookups in view and data processing commands
- Fix backup rotation test for weekly backups
- Fix ApiKeyResolver tests to isolate from system credential store
Added
- Add Radzen Advanced Filtering for Translation Grid
- Add Umami analytics integration with runtime website ID injection
Changed
- Improve PO file format preservation
- Improve translation grid table readability and column management
0.7.8 - 2026-01-04
Fixed
- Fix lrm-cloud.com URLs and add ShareX case study to README
- Fix cloud push duplicate key error on batch insert
- Fix cloud per-language coverage calculation
- Fix stats coverage calculation to show coverage vs default language
- Fix translation lookup and dialog refresh behavior
- Fix login loop after server redeploy
- Fix 401 on /api/projects during auth transition
- Fix export dialog 404 by using authenticated HttpClient
- Fix cloud tests to match current service behavior
Added
- Add ShareX case study with cloud integration documentation
- Add useLocalCredentialStore parameter to prevent server-side credential fallback
- Add validation to reject empty key names
- Add Demo badge, banner, and frontend sample project integration
- Add SampleProjectService and API endpoints for sample project creation
- Add sample project entities and migration for onboarding
- Add welcome card with better empty state for first-time users
- Add import preview endpoint and improve import/export tracking
- Add token selector pattern for O(1) refresh token lookup
- Add Import Files dialog to project page
- Add file import/export API endpoints and web UI
- Add full integration test suite for cloud sync operations
Changed
- Improve API key handling in CLI commands
- Disable local credential store lookup in cloud API
- Exclude ResXFileRef entries from scan missing keys report
- Skip ResXFileRef entries in resx parsing
- Replace ugly Blazor error UI with modern overlay
- Show GitHub Verified badge for OAuth users
- Improve auth flow to prevent refresh token loops
- docs: add Supported Formats section to COMMANDS.md
- docs: add PO and XLIFF format badges to cloud docs
- docs: add Po and Xliff configuration sections
- docs: add PO and XLIFF to supported formats in README
- Enhance GitHub OAuth to fetch email from /user/emails endpoint
0.7.7 - 2025-12-30
Changed
- Update CloudSyncValidator tests for client-agnostic API design
0.7.6 - 2025-12-30
Fixed
- Fix XLIFF backend encoding and structure issues
- Fix token refresh race condition causing login loop
- Fix button overlap in KeyDetailDrawer, limit drawer height on mobile
- Fix Editor page mobile responsiveness: toolbar wrapping, flexible widths, responsive drawer
- Fix RadzenTabs mobile scrolling with broader CSS selectors
- Fix mobile responsiveness for project tabs, settings, organizations, and scrollable tab navigation
- Fix mobile responsiveness: wrap page headers and search/filter rows on small screens
- Fix cancel upgrade for incomplete subscriptions: fully reset state instead of just setting CancelAtPeriodEnd
- Fix billing UI: hide Cancel Subscription for incomplete, show PayPal without email
- Fix billing page: add cancel button for incomplete subscriptions, fix PayPal button
- Fix PayPal plan IDs to be per-mode (sandbox/live)
- Fix intermittent login loop caused by timezone and race condition bugs
- Fix GitHub OAuth login loop caused by forceLoad race condition
- Fix GitHub OAuth callback navigation paths
- Fix security issue: GitHub OAuth callback now redirects instead of exposing tokens
Added
- Add dev.to blog post link to README
- Add PO and XLIFF format support to cloud project creation
- Add SourcePluralText support to cloud platform
- Add SourcePluralText support for PO plural translation
- Add PO and XLIFF format backends
- Add centralized rate limit handler to prevent request storms
Changed
- Refactor cloud sync with language code normalization
- Refactor: Make API client-agnostic by removing Format from Project entity
- Handle PayPal subscription NotFound on cancel (incomplete payments)
0.7.5 - 2025-12-28
Fixed
- Fix OTA API documentation: use X-API-Key header instead of Bearer
- Fix GitHub localization path detection depth
Added
- Add cross-reference to .NET Libraries documentation in OTA page
- Add OTA SDKs to documentation navigation
- Add dedicated OTA SDKs documentation page
- Add OTA demo sample with mock HTTP handler
- Add tests for OTA functionality
- Add OTA client support to JsonLocalization NuGet package
- Add OTA API endpoints for over-the-air localization
- Add default superadmin user creation on first run
Changed
- Update documentation with OTA sample references
- Update cloud screenshots and documentation
- Refactor: Move ResourceDiscovery and ResourceFileParser into backend implementations
- Refactor project detail page to use in-place tabs
0.7.4 - 2025-12-28
Fixed
- Fix: SyncStatus default changed from 'pending' to 'idle'
- Fix: Handle already-decoded content from GitHub API
- Fix: Clear old PAT when connecting via OAuth
- Fix SyncStatus not being reset on connect/disconnect
- Fix GitHub link redirect URL to use AppBaseUrl instead of BaseUrl
- Fix GitHub integration UI issues
- Fix Cancel button missing in ConnectGitHubDialog after step 0
- Fix nginx proxy_pass in regex locations
- Fix email verification and password reset flows
- Fix Blazor version mismatch error on deployment
Added
- Add NeedsReview conflict type for first sync scenarios
- Add GitHub sync status indicators to project cards and dashboard
- Add no-cache headers for auth pages and improve error messages
Changed
- Move Open Editor button to toolbar as primary action
- UI modernization: light theme, sidebar polish, StatCard component, project toolbar
- Update docs with GitHub integration and open source emphasis
0.7.3 - 2025-12-27
Fixed
- Fix cloud test assertions for ApiResponse wrapper and expected values
Added
- Add per-translation comment support with UI editing and sync
- Add ca-certificates to API container for Let's Encrypt TLS validation
Changed
- Run update-ca-certificates to generate SSL bundle in API container
0.7.2 - 2025-12-26
Fixed
- Fix glossary dialog: use component instead of broken inline dialog
- Fix service worker update notification by disabling cache for SW and index.html
- Fix markup error in cloud init project selection
- Fix project creation JSON serialization and improve error messages
- Fix snapshot list JSON deserialization error
- Fix TranslationGrid row deselection after Select All
- Fix theme persistence when using RadzenAppearanceToggle
Added
- Add inline validation indicators to Editor TranslationGrid
- Add validation page and API endpoint for project validation
- Add i18next placeholder support and use shared PlaceholderValidator in API
- Add validation cache to Project entity
- Add organization selector to organization glossary page
- Add open source and self-hosting section to CLOUD.md documentation
- Add cloud platform screenshots and documentation
Changed
- Show validation status icons on project cards
- Use shared EntryHasher in KeySyncService
- Make KeyEditorDialog larger and fix grid refresh on data changes
- Redesign KeyEditorDialog with RadzenDataGrid for better UX
- Replace numeric CSS variables with theme-adaptive semantic equivalents
0.7.1 - 2025-12-25
Fixed
- Fix NuGet release notes shell escaping in release workflow
Changed
- Skip invalid CSS requests in service worker
0.7.0 - 2025-12-25
Fixed
- Fix GlobalErrorBoundary navigation not working after error
- Fix Glossary page dropdown by replacing tuples with record class
- Fix CloudSyncValidator tests to expect errors for DefaultLanguage mismatch
- Fix Android backend path semantics to be consistent with other backends
- Fix theme persistence - save user preference to localStorage
- Fix CloudSyncValidatorTests for updated error messages
- Fix GlossaryController route attributes
- Fix RemoteUrlParser test for new org project API route
- Fix setup.sh to preserve unknown config.json fields (payment, lrmProvider)
- Fix plural translation for unsaved UI changes
- Fix plural translation display and token refresh race condition
- Fix organization billing page to use config-based limits
- Fix drawer isolation and translation source text handling
- Fix CloudTranslationService IOptions injection and add SourceTexts support
- Fix organization page routes to include /app prefix
- Fix all navigation links to include /app prefix
- Fix PayPal invoice and payment method lookups using subscription ID
- Fix empty lrm.json on pull and add RESX BaseName to default config
- Fix RESX base name detection for pull operations
- Fix RESX write failing on empty temp files
- Fix PayPal manage subscription button and usage dashboard link
- Fix PayPal webhook user lookup and EF Core query splitting
- Fix registration response parsing - API returns message not user data
- Fix Blazor UI consistency issues
- Fix Editor save flow consistency
- Fix Dockerfile heredoc syntax for non-BuildKit compatibility
- Fix UsageService to use direct CloudConfiguration injection
- Fix security vulnerabilities: CORS, MinIO path traversal, CLI path traversal
- Fix browser autofill on API key fields using text input with CSS masking
- Fix code quality issues in cloud services
- Fix code quality issues in OrganizationService
- Fix Codacy code quality issues
- Fix authentication and add various improvements
- Fix completion percentage calculation for plural keys and translation status
- Fix translation provider settings in project edit dialog
- Fix Blazor navigation to use relative paths with base href
- Fix nginx restart in deploy scripts to refresh DNS resolution
- Fix ConflictDetectorTests to use FileDto instead of ResourceFile
- Fix hardcoded .resx extensions and default language detection
- Fix Docker build context to include Core dependencies
- Fix JWT token uniqueness by adding JTI claim
Added
- Add Help & Support pages with changelog and about
- Add admin Communications page for sending emails to users
- Add documentation for cloud log, revert, and snapshot commands
- Add Android and iOS support to VS Code extension
- Add Android and iOS support to cloud sync
- Add Android and iOS localization backends
- Add SuperAdmin authorization policy and JWT claims
- Add IsSuperAdmin field to User entity
- Add WebhookEvent entity for tracking webhook deliveries
- Add admin dashboard with analytics, user management, and org details
- Add review workflow, IMAP mail backend, org project routes, and CLI token refresh
- Add KeyEditorDialog component for inline key editing
- Add opt-in organization glossary inheritance for projects
- Add Glossary feature for projects and organizations
- Add Translation Memory feature
- Add per-plan storage and snapshot limits
- Add LRM Cloud section to README
- Add Buy Me a Coffee badge and button to README
- Add www (landing page) support to setup.sh and deploy.sh
- Add documentation pages and update landing page pricing
- Add usage events tracking for detailed analytics
- Add SourceTexts and PluralForm fields to translation DTOs
- Add organization selector to project settings page
- Add project-organization assignment/transfer support
- Add organization usage stats API endpoint
- Add invoice history and payment method display to billing UI
- Add cloud clone command and update documentation
- Add project slug support and subscription fields migration
- Add Blazor billing UI with dynamic plan limits
- Add billing API endpoints and webhook handlers
- Add PayPal configuration and simplify payment provider config
- Add payment provider abstraction with Stripe and PayPal support
- Add snapshot error codes to ErrorCodes
- Add file import functionality to ImportProjectDialog
- Add pagination support to projects API
- Add per-provider translation usage tracking
- Add rate limiting to TranslationController
- Add Project Settings page and persist translation provider selection
- Add snapshot management UI to Blazor web app
- Add commit message support to CLI push command
- Add snapshot API services and controller
- Add Snapshot entity and database schema
- Add --build option to deploy.sh for selective api/web/both builds
- Add proactive limit checks to UI buttons and translation warnings
- Add fallback reload for PWA updates
- Add proper autocomplete attributes to auth password fields
- Add nginx reverse proxy config for lrm-cloud.com
- Add plural key support to web editor
- Add translation preview mode for UI workflow
- Add stream-based resource reading to Core library
- Add authorization checks to TranslationController endpoints
- Add API rate limiting middleware
- Add privacy policy and terms of service pages
- Add ByokCharsUsed field to DTOs for BYOK usage tracking
- Add LRM meta-provider for managed translations
- Add LRM provider configuration and ByokCharsUsed tracking
- Add server-side pagination for translation editor
- Add PWA update notification banner for web app
- Add provider configuration hierarchy with options support
- Add controller tests and update project service tests
- Add static www site for LRM Cloud landing page
- Add PWA support and update web assets
- Add reusable UI components for web app
- Add organization management and invitations
- Add translation service and UI components
- Add usage tracking service and API
- Add CLI API Keys management UI and API endpoints
- Add CLI API key support for cloud commands
- Add API key authentication handler and dual auth scheme
- Add comprehensive Blazor WebAssembly UI implementation plan
- Add unit tests for SyncStateManager and AuthTokenManager
- Add unit tests for RemoteUrlParser and ConfigurationManager cloud methods
- Add comprehensive tests for CloudSyncValidator
- Add cloud logout command and format validation for sync operations
- Add cloud init command for interactive project setup
- Add cloud login command
- Add authentication and auto-refresh to CloudApiClient
- Add refresh token support to AuthTokenManager
- Add file-based sync DTOs and SyncState tracking
- Add Comment field to Translation entity
- Add username/project-name API routes for CLI sync
- Add unit tests for configuration sync
- Add server-side configuration storage and API endpoints
- Add CLI configuration sync and cloud integration
- Add MinIO storage service for file management
- Add Core API for Projects and Resources (Phase 2)
- Add Teams & Organizations feature (Phase 1)
- Add comprehensive unit tests for authentication
- Add AuthController with complete authentication API
- Add database schema for Phase 1 authentication
- Add API response standards and error handling guidelines to ROADMAP
- Add Blazor WASM frontend container and nginx routing
- Add nginx configuration prompts and API rebuild option to setup.sh
- Add nginx reverse proxy with SSL support and security headers
- Add matching query filters to dependent entities to fix EF Core warnings
- Add unified log viewer with journalctl-like interface
- Add database management script with status, export, import, etc.
- Add interactive password prompts in setup.sh
- Add entrypoint script for volume permission handling
- Add LrmCloud solution and gitignore
- Add LrmCloud.Tests unit test project
- Add LrmCloud.Web Blazor project scaffold
- Add LrmCloud.Shared library with configuration and entity models
- Add LrmCloud.Api Entity Framework data context and configuration
- Add Docker deployment infrastructure
- Add Serilog logging to LrmCloud.Api
- Add CI/CD deployment script to cloud roadmap
- Add LocalizationManager.Core to version bump scripts
- Add SaaS planning documentation
Changed
- Reuse TranslateDialog component in project detail page
- Enhance TranslateDialog with language display names, character estimates, and checkbox UX
- Migrate LrmCloud.Web from MudBlazor to Radzen Blazor
- Implement key-level cloud sync with conflict detection and config protection
- Update API to match new Android path format
- Ignore all .lrm folders (contain credentials)
- Remove accidentally committed cloud.json with credentials
- Update cloud landing page for Android and iOS support
- Update documentation for Android and iOS formats
- Update Blazor UI for Android/iOS and remove EditProjectDialog
- Update CLI commands for Android and iOS format support
- Update Blazor UI for auth state and billing display improvements
- Enhance billing service with BYOK usage tracking and PayPal improvements
- Integrate TM and Glossary with translation workflow
- Register TM and Glossary services and add navigation
- Security: Fix double-encoding path traversal vulnerability
- Reorganize Usage dashboard into 3 clean sections
- Security: Fix file upload vulnerabilities (XXE, path traversal, size limits)
- Set Buy Me a Coffee username
- Remove platform key support and fix API key hierarchy documentation
- Minor organization and project page updates
- Move LRM provider backend configuration to config.json
- Sync user plan limits with config on login
- Rename Stripe fields to generic Payment fields for multi-provider support
- Update components to use UiHelpers
- Update Organization pages to use UiHelpers
- Update Project pages to use UiHelpers and improved patterns
- Refactor TranslationService to use ServiceResult pattern
- Enhance snapshot service with comparison and restore
- Improve error handling in Home and ProjectList pages
- Extract UiHelpers for consistent UI styling
- Implement email template rendering in SmtpMailService
- Implement LrmTranslationProvider failover
- Update ResourceService tests for snapshot integration
- Use project format from database as fallback when config doesn't specify ResourceFormat
- Standardize page widths by removing individual MudContainer wrappers
- Improve sidebar: remove header, add website link, make title clickable
- Update domain from lrm.cloud to lrm-cloud.com
- Update landing page messaging to emphasize open source and localization management
- Update tests for CloudConfiguration and ILrmTranslationProvider
- Update Blazor UI to show LRM and BYOK usage separately
- Update CLI to display LRM vs BYOK usage separately
- Update AuthService and UsageService for BYOK tracking
- Update documentation for simplified cloud commands
- Simplify cloud commands with single CloudConfigManager
- Update cloud roadmap and Blazor UI plan
- Update Docker and nginx deployment configuration
- Update web app layouts, pages and auth
- Update resource service with language management
- Update documentation for cloud API key authentication
- Implement Phase 4B and 4C of Blazor UI
- Implement Phase 4A: Blazor WebAssembly foundation with MudBlazor
- Reorganize roadmap: merge Blazor UI and Translation Service into Phase 4
- Mark Phase 3 testing as complete in roadmap
- Update roadmap - Phase 3 CLI Sync progress
- Enable automatic token refresh in cloud commands
- Move remote commands under cloud hierarchy
- Move cloud configuration from lrm.json to .lrm/remotes.json
- Update API controllers for file-based sync endpoints
- Update CloudApiClient and ConflictDetector for file-based sync
- Update CLI push/pull commands for incremental sync
- Implement file-based resource sync using Core backends
- Improve email error handling to prevent operation failures
- Update roadmap: mark Phase 3 config storage tasks complete
- Update roadmap with completed phases
- Update roadmap and add Teams & Organizations plan
- Implement complete authentication service layer
- Update README.md to enhance deployment instructions and container details
- Implement standardized API response structure and global exception handling
- Enhance deployment script to check for .env file and regenerate nginx configuration based on SSL settings
- Enable Redis caching and MinIO object storage services in API
- Handle password changes in setup.sh for PostgreSQL, Redis, and MinIO
- Update documentation for nginx and mark Phase 0 complete
- Move API logs to data/logs/api/ subdirectory
- Update deploy README with db.sh and logs.sh documentation
- Remove implemented setup/deploy script specs from roadmap
- Implement IMailService with SMTP provider
- Exclude cloud folder from main project compilation
- Update LRM Cloud roadmap
- Update deploy.sh to default to local development mode
- Update ROADMAP.md
- Update README with Core library information
- Extract LocalizationManager.Core shared library
0.6.25 - 2025-12-06
Fixed
- Fix JSON plural detection and add i18next suffix consolidation
Added
- Add comparison table with i18n tools to JSON docs
- Add JSON Localization section and comprehensive docs for React/Vue/Angular/i18next
- Add --ask-missing option to add command for CLI-friendly default behavior
- Add plural support to VS Code extension providers
- Add plural key indicator and editing support to Web and VS Code UIs
- Add VS Code extension unit test infrastructure
- Add VS Code extension unit tests to CI workflow
- Add plural form support for JSON localization
- Add plural support to CLI add/update commands and API
- Add plural key creation and conversion to TUI
- Add plural key creation and conversion to Web UI
- Add proper plural form support to ResourceEntry model
- Add JSON support to VS Code extension
- Add JSON localization NuGet packages with release workflow integration
- Add JSON backend support with multi-backend architecture
- Add JSON backend implementation plan
Changed
- Filter hidden directories from RESX folder auto-discovery
- Show all CLDR plural forms in edit modal
- Update documentation for JSON localization and plural support
- Update documentation for plural key support
- Remove inaccurate i18next claims from README
- Update NuGet package READMEs with comprehensive documentation
- Improve JSON backend implementation plan
- Update README.md
0.6.24 - 2025-11-30
Added
- Add CodeLens provider for localization keys
Changed
- Update VS Code extension plan with CodeLens implementation
0.6.23 - 2025-11-30
Fixed
- Fix VS Code extension comment handling and translate dialog
Added
- Add unit tests for ResourcesController UpdateKey
- Add per-language comment support to UpdateKey API
- Add VS Code extension status bar Quick Actions and config listener
0.6.22 - 2025-11-30
Added
- Add secure credential storage UI integration
0.6.21 - 2025-11-30
Changed
- Enhance VS Code extension settings panel and fix packaging
0.6.20 - 2025-11-30
Added
- Add IntelliSense autocomplete for localization keys
0.6.19 - 2025-11-30
Fixed
- Fix VS Code extension display name for marketplace
0.6.18 - 2025-11-30
Fixed
- Fix bundle script path in release workflow
- Fix backend process cleanup on extension exit
- Fix dashboard to use actual API response format
- Fix inconsistencies in VS Code extension plan
- Fix test for new Lingva and MyMemory providers
Added
- Add link to VS Code extension documentation
- Add VS Code extension section to main README
- Add LICENSE file
- Add VS Code extension build and publish to release workflow
- Add extension icon and update publisher to nickprotop
- Add VS Code extension launcher and task configurations
- Add Windows ARM64 support to VS Code extension
- Add VS Code extension version sync to release scripts
- Add content-based scanning support for in-memory file scanning
- Add VS Code extension build and bundling scripts
- Add VS Code extension core files
- Add lrm.json configuration support to Settings Panel
- Add comprehensive tests for single-file scan functionality
- Add single-file scan support to CLI and API
- Add comprehensive VS Code extension development plan with tracking
- Add security hardening to Web API
- Add Lingva and MyMemory free translation providers
- Add unit tests for ConfigurationSchemaService
- Add multi-select with bulk operations to Web UI Editor
- Add schema-enhanced configuration editor with inline documentation
Changed
- Improve VS Code extension marketplace categories and keywords
- Update extension README for marketplace with screenshots
- Move extension scripts to vscode-extension/scripts/
- Update VS Code extension version to 0.6.17
- Refactor build system: eliminate redundancy, add macOS support
- Update build script and API documentation
- Update .gitignore for VS Code extension development
- Update VS Code extension plan with completed Phase 4 items
- Register Dashboard and Settings commands in package.json
- Remove duplicate status bar and use StatusBarManager only
- Update VS Code extension plan: same repo, bundled binary, random port
- Refactor provider lists to use factory as single source of truth
0.6.17 - 2025-11-25
Added
- Add web command to COMMANDS.md documentation
- Add Web UI documentation and screenshots
- Add and enhance API controllers for Web UI
- Add API client services and models for Blazor UI
- Add Blazor Server UI with terminal-themed design
- Add Phase 6: Web API implementation with full CLI parity
Changed
- Update ROADMAP with Web UI implementation status
- Register Blazor services and SearchApiClient in WebCommand
- Extend ResourceFilterService for API search support
- Implement web command foundation for Phase 6
- Enhance ROADMAP with comprehensive Web API/WASM architecture details
0.6.16 - 2025-11-24
Fixed
- Fix PPA distribution: change unstable to noble in release.sh
0.6.15 - 2025-11-24
Fixed
- Fix PPA upload: change distribution from unstable to noble
Added
- Add Shift+F7 keyboard shortcut to view code references in TUI
Changed
- Implement Phase 5: Simple CLI Chaining
- Update man page and completion files for batch operations
0.6.14 - 2025-11-23
Fixed
- Fix GPG signing in GitHub Actions workflow
0.6.13 - 2025-11-23
Fixed
- Fix null reference warning in BackupManagerWindow
- Fix backup list --all showing no output
- Fix key name standardization not persisting in merge duplicates
- Fix case-insensitive duplicate detection to match MSBuild behavior
- Fix build-source-package.sh and remove debian/compat conflict
- Fix build-deb.sh to properly build Debian packages
- Fix release script to commit shared project version changes
Added
- Add batch operations support to TUI editor
- Add Phase 4 TUI enhancements and refactor ResourceEditorWindow
- Add Phase 4: TUI Visual & Workflow Enhancements to roadmap
- Add comprehensive tests for case-variant duplicate handling
- Add key name selection and standardization to TUI merge duplicates
- Add comprehensive duplicate key handling to view and merge commands
- Add Debian package build scripts
- Add man page for lrm command
- Add Debian packaging infrastructure
- Add Debian packaging support to v0.7.0 roadmap
Changed
- Enhance --show-details to display changed key names in backup list
- Run both validate and scan in check command regardless of validation result
- Automate debian/changelog generation in release script
- Set assembly name to 'lrm' and remove rename logic from build script
- Update ROADMAP: Mark Phase 3 (Debian packaging) as completed
- Update documentation for Debian package distribution
- Update release workflow for Debian packages and PPA
0.6.12 - 2025-11-16
Fixed
- Fix broken version management system
Added
- Add shell completions for placeholder validation options
- Add configurable placeholder type validation with .NET default
- Add placeholder type filtering support to validation system
- Add comprehensive backup system documentation
- Add comprehensive backup system tests and fixes
- Add comprehensive backup and versioning system
Changed
- Simplify v0.7.0 roadmap: remove plugin/flow systems, add CLI chaining
- Update bump-version.sh to handle Shared project version
- Sync LocalizationManager.Shared version to 0.6.11
- Update documentation for configurable placeholder validation
- Implement Phase 2: Placeholder Validation
- Update roadmap to reflect completion of enhanced backup system implementation
- Remove non-functional backup configuration
- Update shell completion for backup commands
- Mark Phase 1 complete in roadmap
- Migrate all commands to use BackupVersionManager
0.6.11 - 2025-11-14
Fixed
- Fix TUI translation dialog to handle duplicate keys and update status correctly
Added
- Add comprehensive integration tests for duplicate key handling
- Add duplicate key handling to CLI delete command
- Add comprehensive comment support and search features to TUI
Changed
- Update .gitignore file
- Update documentation and add zsh completion for duplicate handling features
- Implement merge-duplicates command and update delete command for duplicate handling
- Update documentation and completion for duplicate key handling
- Implement duplicate key handling in TUI and fix save flow
- Update documentation for TUI comment features and translation enhancements
0.6.10 - 2025-11-14
Added
- Add two-level safety protection to prevent accidental translation overwrites
- Add comprehensive tests for AI translation prompt generation
- Add Azure AI Translator provider support
- Add AI-powered translation providers (OpenAI, Claude, Ollama, Azure OpenAI)
Changed
- Update documentation and completion to use safe translate patterns
- Consolidate language configuration by removing redundant DefaultSourceLanguage
- Improve AI translation prompts with language names
- Update shell completion with new AI translation providers
- Update configuration files for AI translation providers
- Update documentation for AI translation providers
- Update CLI commands with new AI provider options
- Update tests for new AI translation providers
0.6.9 - 2025-11-13
Added
- Add configuration system with scanning settings
- Add comprehensive tests for source code scanning
- Add source code scanning functionality
- Add sample configuration file and comprehensive configuration guide
Changed
- Update documentation and CLI for new scan and check commands
- Expand test data and fix test assertions
- Update installation documentation for automatic shell completion
- Enhance installation with automatic shell completion setup
- Update shell completions with new commands and features
0.6.8 - 2025-11-12
Fixed
- Fix critical and high-severity bugs in ViewCommand
Added
- Add configuration management and secure credential storage
- Add machine translation support with multiple providers
- Add comprehensive tests for translation features
- Add DefaultLanguageCode configuration for customizable default language display
- Add comprehensive tests for bug fixes
Changed
- Integrate translation and config features into CLI
- Update shell completion with all current commands and options
- Reorganize documentation and add comprehensive CI/CD guide
- Update documentation for DefaultLanguageCode configuration
0.6.7 - 2025-11-11
Added
- Add advanced filtering features to view command
- Add --search-in option to view command for searching in keys, values, or both
- Add comprehensive unit tests for ResourceFilterService
- Add filter infrastructure for TUI
- Add culture filtering, keys-only mode, and extra keys warning to view command
Changed
- Update documentation for --search-in and --case-sensitive options
- Update TUI documentation to reflect new filter UI
- Improve TUI filter UI and fix hidden column display
- Update documentation for TUI filtering features
- Implement advanced filtering and language management in TUI
- Refactor tests to use persistent TestData folder
0.6.6 - 2025-11-11
Fixed
- Fix markup bug and simplify wildcard detection logic
- Fix duplicate -c option conflict by removing shorthand from --config-file
Added
- Add integration tests for ViewCommand regex functionality
- Add regex pattern support to ViewCommand
- Add format support to ImportCommand
- Add --config-file option and configuration notices
- Add configuration file infrastructure
Changed
- Update Scenario 4 to use add-language command instead of manual cp
- Update documentation to remove -c shorthand from --config-file option
- Update documentation for configuration file support and regex pattern matching
- Standardize ListLanguagesCommand format handling
0.6.5 - 2025-11-09
Added
- Add LocalizationManager.Tests/build/ to .gitignore
- Add JSON and simple output formats to validate, stats, view, and export commands
- Add explicit permissions to CI workflow for security
Changed
- Use 'Release v' naming and exclude from CI workflow
0.6.4 - 2025-11-09
Fixed
- Fix release script to create new commit instead of amending
- Fix GitHub Action version references from @v1 to @v0
- Fix action.yml to use static filenames without version numbers
Added
- Add language management to TUI editor
- Add language file management commands
- Add release.sh script and simplify release workflow
Changed
- Remove update-changelog workflow and move logic to release.sh
- Remove version numbers from release artifact filenames
0.6.3 - 2025-11-09
Fixed
- Fix release workflow to checkout main branch to prevent push conflicts
- Fix YAML syntax error in update-changelog workflow
- Fix CI workflow condition syntax
- Fix ResourceFileParser to preserve file order and structure
Added
- Add workflow_dispatch to release workflow for manual triggering
- Add CI/CD integration and streamline documentation
- Add GitHub Discussions badge and comparison table
- Add community files and auto-updating changelog
- Add status badges to README
Changed
- Update CHANGELOG and add automation workflow
- Remove VERSION from build.sh for safety
0.6.2 - 2025-01-09
Added
- GitHub Actions CI/CD workflows for automated releases
- Version management scripts (
bump-version.shandget-version.sh) - Status badges to README (CI, Release, Version, License, .NET, Platform)
- Repository topics and improved description
Changed
- Build script now uses dynamic version extraction from
.csproj - Removed hardcoded VERSION variable from
build.shfor safety - Workflow only modifies
.csprojandREADME.md(build scripts untouched)
Fixed
- Build script now explicitly publishes main project only (excludes test project)
0.6.0 - 2025-11-09
Added
- Initial release of Localization Resource Manager
- CLI Commands:
validate- Validate resource files for missing translations, duplicates, and empty valuesstats- Display translation coverage statistics with chartsview- Display specific key details in table, JSON, or simple formatadd- Add new localization keys to all languagesupdate- Modify existing key values with previewdelete- Remove keys from all languagesexport- Export translations to CSV formatimport- Import translations from CSV with conflict resolutionedit- Launch interactive TUI editor
- Interactive TUI Editor:
- Real-time search and filter
- Multi-column table view for all languages
- Add, edit, delete keys with keyboard shortcuts
- Automatic validation (F6)
- Unsaved changes tracking
- Keyboard shortcuts help (F1)
- Core Features:
- Auto-discovery of
.resxfiles and languages - Dynamic language support (no hardcoded languages)
- Language validation with helpful errors
- Automatic backup system before modifications
- Multi-platform build support (Linux/Windows x64/ARM64)
- Shell completion scripts (bash and zsh)
- Auto-discovery of
- Testing:
- 21 passing unit and integration tests
- Test coverage for core logic, CRUD operations, and validation
- Documentation:
- Comprehensive README with usage examples
- EXAMPLES.md with real-world scenarios
- INSTALLATION.md with platform-specific instructions
- BUILDING.md with build and distribution guide
- Build System:
- Automated multi-platform build script (
build.sh) - Self-contained executables (no .NET runtime required)
- Distribution archives ready for release
- Automated multi-platform build script (
- License:
- MIT License with copyright headers in all source files