@@ -5,6 +5,247 @@ This file is automatically generated from commit messages during releases.
55The format is based on [ Keep a Changelog] ( https://keepachangelog.com/en/1.0.0/ ) ,
66and this project adheres to [ Semantic Versioning] ( https://semver.org/spec/v2.0.0.html ) .
77
8+ ## [ 0.7.0] - 2025-12-25
9+
10+ ### Fixed
11+ - Fix GlobalErrorBoundary navigation not working after error
12+ - Fix Glossary page dropdown by replacing tuples with record class
13+ - Fix CloudSyncValidator tests to expect errors for DefaultLanguage mismatch
14+ - Fix Android backend path semantics to be consistent with other backends
15+ - Fix theme persistence - save user preference to localStorage
16+ - Fix CloudSyncValidatorTests for updated error messages
17+ - Fix GlossaryController route attributes
18+ - Fix RemoteUrlParser test for new org project API route
19+ - Fix setup.sh to preserve unknown config.json fields (payment, lrmProvider)
20+ - Fix plural translation for unsaved UI changes
21+ - Fix plural translation display and token refresh race condition
22+ - Fix organization billing page to use config-based limits
23+ - Fix drawer isolation and translation source text handling
24+ - Fix CloudTranslationService IOptions injection and add SourceTexts support
25+ - Fix organization page routes to include /app prefix
26+ - Fix all navigation links to include /app prefix
27+ - Fix PayPal invoice and payment method lookups using subscription ID
28+ - Fix empty lrm.json on pull and add RESX BaseName to default config
29+ - Fix RESX base name detection for pull operations
30+ - Fix RESX write failing on empty temp files
31+ - Fix PayPal manage subscription button and usage dashboard link
32+ - Fix PayPal webhook user lookup and EF Core query splitting
33+ - Fix registration response parsing - API returns message not user data
34+ - Fix Blazor UI consistency issues
35+ - Fix Editor save flow consistency
36+ - Fix Dockerfile heredoc syntax for non-BuildKit compatibility
37+ - Fix UsageService to use direct CloudConfiguration injection
38+ - Fix security vulnerabilities: CORS, MinIO path traversal, CLI path traversal
39+ - Fix browser autofill on API key fields using text input with CSS masking
40+ - Fix code quality issues in cloud services
41+ - Fix code quality issues in OrganizationService
42+ - Fix Codacy code quality issues
43+ - Fix authentication and add various improvements
44+ - Fix completion percentage calculation for plural keys and translation status
45+ - Fix translation provider settings in project edit dialog
46+ - Fix Blazor navigation to use relative paths with base href
47+ - Fix nginx restart in deploy scripts to refresh DNS resolution
48+ - Fix ConflictDetectorTests to use FileDto instead of ResourceFile
49+ - Fix hardcoded .resx extensions and default language detection
50+ - Fix Docker build context to include Core dependencies
51+ - Fix JWT token uniqueness by adding JTI claim
52+
53+ ### Added
54+ - Add Help & Support pages with changelog and about
55+ - Add admin Communications page for sending emails to users
56+ - Add documentation for cloud log, revert, and snapshot commands
57+ - Add Android and iOS support to VS Code extension
58+ - Add Android and iOS support to cloud sync
59+ - Add Android and iOS localization backends
60+ - Add SuperAdmin authorization policy and JWT claims
61+ - Add IsSuperAdmin field to User entity
62+ - Add WebhookEvent entity for tracking webhook deliveries
63+ - Add admin dashboard with analytics, user management, and org details
64+ - Add review workflow, IMAP mail backend, org project routes, and CLI token refresh
65+ - Add KeyEditorDialog component for inline key editing
66+ - Add opt-in organization glossary inheritance for projects
67+ - Add Glossary feature for projects and organizations
68+ - Add Translation Memory feature
69+ - Add per-plan storage and snapshot limits
70+ - Add LRM Cloud section to README
71+ - Add Buy Me a Coffee badge and button to README
72+ - Add www (landing page) support to setup.sh and deploy.sh
73+ - Add documentation pages and update landing page pricing
74+ - Add usage events tracking for detailed analytics
75+ - Add SourceTexts and PluralForm fields to translation DTOs
76+ - Add organization selector to project settings page
77+ - Add project-organization assignment/transfer support
78+ - Add organization usage stats API endpoint
79+ - Add invoice history and payment method display to billing UI
80+ - Add cloud clone command and update documentation
81+ - Add project slug support and subscription fields migration
82+ - Add Blazor billing UI with dynamic plan limits
83+ - Add billing API endpoints and webhook handlers
84+ - Add PayPal configuration and simplify payment provider config
85+ - Add payment provider abstraction with Stripe and PayPal support
86+ - Add snapshot error codes to ErrorCodes
87+ - Add file import functionality to ImportProjectDialog
88+ - Add pagination support to projects API
89+ - Add per-provider translation usage tracking
90+ - Add rate limiting to TranslationController
91+ - Add Project Settings page and persist translation provider selection
92+ - Add snapshot management UI to Blazor web app
93+ - Add commit message support to CLI push command
94+ - Add snapshot API services and controller
95+ - Add Snapshot entity and database schema
96+ - Add --build option to deploy.sh for selective api/web/both builds
97+ - Add proactive limit checks to UI buttons and translation warnings
98+ - Add fallback reload for PWA updates
99+ - Add proper autocomplete attributes to auth password fields
100+ - Add nginx reverse proxy config for lrm-cloud.com
101+ - Add plural key support to web editor
102+ - Add translation preview mode for UI workflow
103+ - Add stream-based resource reading to Core library
104+ - Add authorization checks to TranslationController endpoints
105+ - Add API rate limiting middleware
106+ - Add privacy policy and terms of service pages
107+ - Add ByokCharsUsed field to DTOs for BYOK usage tracking
108+ - Add LRM meta-provider for managed translations
109+ - Add LRM provider configuration and ByokCharsUsed tracking
110+ - Add server-side pagination for translation editor
111+ - Add PWA update notification banner for web app
112+ - Add provider configuration hierarchy with options support
113+ - Add controller tests and update project service tests
114+ - Add static www site for LRM Cloud landing page
115+ - Add PWA support and update web assets
116+ - Add reusable UI components for web app
117+ - Add organization management and invitations
118+ - Add translation service and UI components
119+ - Add usage tracking service and API
120+ - Add CLI API Keys management UI and API endpoints
121+ - Add CLI API key support for cloud commands
122+ - Add API key authentication handler and dual auth scheme
123+ - Add comprehensive Blazor WebAssembly UI implementation plan
124+ - Add unit tests for SyncStateManager and AuthTokenManager
125+ - Add unit tests for RemoteUrlParser and ConfigurationManager cloud methods
126+ - Add comprehensive tests for CloudSyncValidator
127+ - Add cloud logout command and format validation for sync operations
128+ - Add cloud init command for interactive project setup
129+ - Add cloud login command
130+ - Add authentication and auto-refresh to CloudApiClient
131+ - Add refresh token support to AuthTokenManager
132+ - Add file-based sync DTOs and SyncState tracking
133+ - Add Comment field to Translation entity
134+ - Add username/project-name API routes for CLI sync
135+ - Add unit tests for configuration sync
136+ - Add server-side configuration storage and API endpoints
137+ - Add CLI configuration sync and cloud integration
138+ - Add MinIO storage service for file management
139+ - Add Core API for Projects and Resources (Phase 2)
140+ - Add Teams & Organizations feature (Phase 1)
141+ - Add comprehensive unit tests for authentication
142+ - Add AuthController with complete authentication API
143+ - Add database schema for Phase 1 authentication
144+ - Add API response standards and error handling guidelines to ROADMAP
145+ - Add Blazor WASM frontend container and nginx routing
146+ - Add nginx configuration prompts and API rebuild option to setup.sh
147+ - Add nginx reverse proxy with SSL support and security headers
148+ - Add matching query filters to dependent entities to fix EF Core warnings
149+ - Add unified log viewer with journalctl-like interface
150+ - Add database management script with status, export, import, etc.
151+ - Add interactive password prompts in setup.sh
152+ - Add entrypoint script for volume permission handling
153+ - Add LrmCloud solution and gitignore
154+ - Add LrmCloud.Tests unit test project
155+ - Add LrmCloud.Web Blazor project scaffold
156+ - Add LrmCloud.Shared library with configuration and entity models
157+ - Add LrmCloud.Api Entity Framework data context and configuration
158+ - Add Docker deployment infrastructure
159+ - Add Serilog logging to LrmCloud.Api
160+ - Add CI/CD deployment script to cloud roadmap
161+ - Add LocalizationManager.Core to version bump scripts
162+ - Add SaaS planning documentation
163+
164+ ### Changed
165+ - Reuse TranslateDialog component in project detail page
166+ - Enhance TranslateDialog with language display names, character estimates, and checkbox UX
167+ - Migrate LrmCloud.Web from MudBlazor to Radzen Blazor
168+ - Implement key-level cloud sync with conflict detection and config protection
169+ - Update API to match new Android path format
170+ - Ignore all .lrm folders (contain credentials)
171+ - Remove accidentally committed cloud.json with credentials
172+ - Update cloud landing page for Android and iOS support
173+ - Update documentation for Android and iOS formats
174+ - Update Blazor UI for Android/iOS and remove EditProjectDialog
175+ - Update CLI commands for Android and iOS format support
176+ - Update Blazor UI for auth state and billing display improvements
177+ - Enhance billing service with BYOK usage tracking and PayPal improvements
178+ - Integrate TM and Glossary with translation workflow
179+ - Register TM and Glossary services and add navigation
180+ - Security: Fix double-encoding path traversal vulnerability
181+ - Reorganize Usage dashboard into 3 clean sections
182+ - Security: Fix file upload vulnerabilities (XXE, path traversal, size limits)
183+ - Set Buy Me a Coffee username
184+ - Remove platform key support and fix API key hierarchy documentation
185+ - Minor organization and project page updates
186+ - Move LRM provider backend configuration to config.json
187+ - Sync user plan limits with config on login
188+ - Rename Stripe fields to generic Payment fields for multi-provider support
189+ - Update components to use UiHelpers
190+ - Update Organization pages to use UiHelpers
191+ - Update Project pages to use UiHelpers and improved patterns
192+ - Refactor TranslationService to use ServiceResult pattern
193+ - Enhance snapshot service with comparison and restore
194+ - Improve error handling in Home and ProjectList pages
195+ - Extract UiHelpers for consistent UI styling
196+ - Implement email template rendering in SmtpMailService
197+ - Implement LrmTranslationProvider failover
198+ - Update ResourceService tests for snapshot integration
199+ - Use project format from database as fallback when config doesn't specify ResourceFormat
200+ - Standardize page widths by removing individual MudContainer wrappers
201+ - Improve sidebar: remove header, add website link, make title clickable
202+ - Update domain from lrm.cloud to lrm-cloud.com
203+ - Update landing page messaging to emphasize open source and localization management
204+ - Update tests for CloudConfiguration and ILrmTranslationProvider
205+ - Update Blazor UI to show LRM and BYOK usage separately
206+ - Update CLI to display LRM vs BYOK usage separately
207+ - Update AuthService and UsageService for BYOK tracking
208+ - Update documentation for simplified cloud commands
209+ - Simplify cloud commands with single CloudConfigManager
210+ - Update cloud roadmap and Blazor UI plan
211+ - Update Docker and nginx deployment configuration
212+ - Update web app layouts, pages and auth
213+ - Update resource service with language management
214+ - Update documentation for cloud API key authentication
215+ - Implement Phase 4B and 4C of Blazor UI
216+ - Implement Phase 4A: Blazor WebAssembly foundation with MudBlazor
217+ - Reorganize roadmap: merge Blazor UI and Translation Service into Phase 4
218+ - Mark Phase 3 testing as complete in roadmap
219+ - Update roadmap - Phase 3 CLI Sync progress
220+ - Enable automatic token refresh in cloud commands
221+ - Move remote commands under cloud hierarchy
222+ - Move cloud configuration from lrm.json to .lrm/remotes.json
223+ - Update API controllers for file-based sync endpoints
224+ - Update CloudApiClient and ConflictDetector for file-based sync
225+ - Update CLI push/pull commands for incremental sync
226+ - Implement file-based resource sync using Core backends
227+ - Improve email error handling to prevent operation failures
228+ - Update roadmap: mark Phase 3 config storage tasks complete
229+ - Update roadmap with completed phases
230+ - Update roadmap and add Teams & Organizations plan
231+ - Implement complete authentication service layer
232+ - Update README.md to enhance deployment instructions and container details
233+ - Implement standardized API response structure and global exception handling
234+ - Enhance deployment script to check for .env file and regenerate nginx configuration based on SSL settings
235+ - Enable Redis caching and MinIO object storage services in API
236+ - Handle password changes in setup.sh for PostgreSQL, Redis, and MinIO
237+ - Update documentation for nginx and mark Phase 0 complete
238+ - Move API logs to data/logs/api/ subdirectory
239+ - Update deploy README with db.sh and logs.sh documentation
240+ - Remove implemented setup/deploy script specs from roadmap
241+ - Implement IMailService with SMTP provider
242+ - Exclude cloud folder from main project compilation
243+ - Update LRM Cloud roadmap
244+ - Update deploy.sh to default to local development mode
245+ - Update ROADMAP.md
246+ - Update README with Core library information
247+ - Extract LocalizationManager.Core shared library
248+
8249## [ 0.6.25] - 2025-12-06
9250
10251### Fixed
@@ -426,6 +667,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
426667- ** License:**
427668 - MIT License with copyright headers in all source files
428669
670+ [ 0.7.0 ] : https://github.com/nickprotop/LocalizationManager/compare/v0.6.25...v0.7.0
429671[ 0.6.25 ] : https://github.com/nickprotop/LocalizationManager/compare/v0.6.24...v0.6.25
430672[ 0.6.24 ] : https://github.com/nickprotop/LocalizationManager/compare/v0.6.23...v0.6.24
431673[ 0.6.23 ] : https://github.com/nickprotop/LocalizationManager/compare/v0.6.22...v0.6.23
0 commit comments