Skip to content

Commit b9bc8ac

Browse files
committed
Release v0.7.0
1 parent 7dd199a commit b9bc8ac

8 files changed

Lines changed: 259 additions & 17 deletions

File tree

CHANGELOG.md

Lines changed: 242 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,247 @@ This file is automatically generated from commit messages during releases.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
66
and 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

LocalizationManager.Core/LocalizationManager.Core.csproj

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@
66
<Nullable>enable</Nullable>
77

88
<!-- Version and Assembly Information -->
9-
<Version>0.6.25</Version>
10-
<AssemblyVersion>0.6.25.0</AssemblyVersion>
11-
<FileVersion>0.6.25.0</FileVersion>
9+
<Version>0.7.0</Version>
10+
<AssemblyVersion>0.7.0.0</AssemblyVersion>
11+
<FileVersion>0.7.0.0</FileVersion>
1212
<Authors>Nikolaos Protopapas</Authors>
1313
<Company>Nikolaos Protopapas</Company>
1414
<Product>Localization Resource Manager (LRM) - Core Library</Product>

LocalizationManager.JsonLocalization.Generator/LocalizationManager.JsonLocalization.Generator.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212

1313
<!-- NuGet Package Metadata -->
1414
<PackageId>LocalizationManager.JsonLocalization.Generator</PackageId>
15-
<Version>0.6.25</Version>
15+
<Version>0.7.0</Version>
1616
<Authors>Nikolaos Protopapas</Authors>
1717
<Company>LocalizationManager</Company>
1818
<Product>LocalizationManager.JsonLocalization.Generator</Product>

LocalizationManager.JsonLocalization/LocalizationManager.JsonLocalization.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
<!-- NuGet Package Metadata -->
1010
<PackageId>LocalizationManager.JsonLocalization</PackageId>
11-
<Version>0.6.25</Version>
11+
<Version>0.7.0</Version>
1212
<Authors>Nikolaos Protopapas</Authors>
1313
<Company>LocalizationManager</Company>
1414
<Product>LocalizationManager.JsonLocalization</Product>

LocalizationManager.Shared/LocalizationManager.Shared.csproj

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@
66
<Nullable>enable</Nullable>
77

88
<!-- Version and Assembly Information -->
9-
<Version>0.6.25</Version>
10-
<AssemblyVersion>0.6.25.0</AssemblyVersion>
11-
<FileVersion>0.6.25.0</FileVersion>
9+
<Version>0.7.0</Version>
10+
<AssemblyVersion>0.7.0.0</AssemblyVersion>
11+
<FileVersion>0.7.0.0</FileVersion>
1212
<Authors>Nikolaos Protopapas</Authors>
1313
<Company>Nikolaos Protopapas</Company>
1414
<Product>Localization Resource Manager (LRM) - Shared Library</Product>

LocalizationManager.csproj

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@
88
<Nullable>enable</Nullable>
99

1010
<!-- Version and Assembly Information -->
11-
<Version>0.6.25</Version>
12-
<AssemblyVersion>0.6.25.0</AssemblyVersion>
13-
<FileVersion>0.6.25.0</FileVersion>
11+
<Version>0.7.0</Version>
12+
<AssemblyVersion>0.7.0.0</AssemblyVersion>
13+
<FileVersion>0.7.0.0</FileVersion>
1414
<Authors>Nikolaos Protopapas</Authors>
1515
<Company>Nikolaos Protopapas</Company>
1616
<Product>Localization Resource Manager (LRM)</Product>

0 commit comments

Comments
 (0)