Release Notes
Embark on an exhilarating journey through BlazorPlate-SaaS release notes, where each update is a testament to our unwavering commitment to excellence, dedication, and relentless pursuit of perfection. Like nurturing a baby, witness how our platform has grown and evolved into a powerhouse of innovation. Explore the latest enhancements, optimizations, breakthroughs, and advancements transforming software into a service (SaaS), and witness the future of BlazorPlate as it comes to life. Join us now and elevate your SaaS development experience to new heights!
New Features
- Introduced the User Impersonation feature, enabling administrators to log in as another user within the system. This feature is particularly useful for troubleshooting, testing, and providing support, as it allows admins to see exactly what the end user sees. It also includes functions to start and stop impersonation sessions, with visual cues in the UI to indicate when impersonation is active.
User Experience Enhancements
- Added new localized strings to improve the application's accessibility and user experience across multiple languages. Additionally, adjusted the alignment of existing text and updated related metadata to ensure consistency and accuracy in all supported languages.
Code Refactoring
- Refactored button groups into a centralized menu component, improving user interface consistency and simplifying the codebase for easier maintenance and future scalability.
- Performed comprehensive code cleanup throughout the solution, standardizing formatting, refining code structure, and enhancing readability. This effort has improved the maintainability of the codebase, making it easier to develop and debug in the future.
Miscellaneous
- Upgraded several NuGet packages to their latest versions. These updates bring in new features, security enhancements, and performance improvements, ensuring the application remains up-to-date and reliable.
Bug Fixes
- Fixed an issue where the logic for filtering users by roles was not returning the correct results, leading to inconsistencies in displaying users based on their assigned roles. This fix ensures that the role-based filtering now accurately reflects the intended user groups, providing reliable and precise filtering outcomes.
Performance Improvements
- Introduced an intermediate query to enhance translation management within the application. This refactoring strengthened translation fallback mechanisms and improved search performance by incorporating the RemarksTranslation field in the Applicant POC, leading to more accurate and responsive search results.
User Experience Enhancements
- Updated the role assignment dialog dimensions for a more user-friendly interface. Additionally, improved confirmation dialog visual feedback by using an error color, enhancing clarity and user interaction during critical actions.
Code Refactoring
- Revised the sorting mechanism to accommodate multiple sort fields and nested properties, enabling more detailed data organization. This enhancement improves the user's ability to sort and filter applicant data effectively. The sort labels have been updated to display as "Object.Property", offering a more intuitive and precise sorting experience.
- Updated the Permission Tree structure by replacing "Permissions" with "Children" for representing nested permissions across various classes and .razor files. This adjustment ensures a more consistent and clear representation of the hierarchy within the permissions model, improving code maintainability and comprehension.
- Refactored LINQ query variables across multiple classes to ensure greater uniformity and scalability in query processing. This change promoted better code maintenance and enhanced the application's scalability by standardizing query structures.
Miscellaneous
- Updated nuget packages for all projects to ensure compatibility and leverage potential new features or security patches.
New Features
- Upgraded to MudBlazor v7.0.0, which brought major enhancements to components and properties, improving functionality and performance.
Bug Fixes
- Improved multilingual data retrieval with a fallback to English translations, ensuring comprehensive translation availability and enhancing user experience.
User Experience Enhancements
- Dense margins added to all text fields for a more consistent and compact visual appearance.
- Enhanced margin consistency in Applicants.razor file for improved visual alignment and consistency.
Code Refactoring
- Refactored variable names in DataTranslationService for better readability.
- Refactored database query in PermissionService for improved clarity and code readability.
- Support for CancellationToken added to methods in TokenGeneratorService and PermissionService, improving method responsiveness.
Miscellaneous
-
Updated nuget packages for all projects to ensure compatibility and leverage potential new features or security patches.
New Features
- Unveiled the cutting-edge Dynamic Data Translation feature with our innovative DataTranslationService!
- Introduced CRUD operations for Human Races (POC) with full translation support.
- Implemented frontend pages for managing human races (POC) in the Blazor app.
Code Refactoring
- Refactored database queries to improve performance and readability.
- Improved data sorting functionalities and added new validation logic.
- Enhanced localization and search functionalities.
- Improved code readability across multiple files.
- Renamed variables and methods for better context and understanding.
- Removed unused DatabaseInitializerService.
Miscellaneous
- Updated nuget packages for all projects to ensure compatibility and leverage potential new features or security patches.
- Updated comments in IPermissionService interface for clarity and better understanding.
- Improved inline documentation across various services and commands to enhance developer experience.
Bug Fixes
- Added a null check before assigning roles in CreateUserCommand to prevent errors when no roles are assigned.
- Initialized list properties in various commands to avoid NullPointerExceptions.
Code Refactoring
- Refactored UserExtensions to use distinct constant claim types and methods for specific user roles, improving role verification and code readability.
- Used more granular context information for report generation and simplified methods in ReportingServicesHub, enhancing readability and functionality.
- Renamed GatewayController.cs to TopController.cs to better reflect its functionality.
- Improved tenant mode checks and simplified conditions for better readability and reusability.
Security Enhancements
- Modified DataIsolationStrategy setting for better tenant data isolation.
Miscellaneous
- Updated multiple packages across different projects, including enabling detailed errors for ServerSideBlazor and updating the .NET version.
- Simplified the condition to display 'My Tenant' link, ensuring it only appears if the user is a tenant user and SuperAdmin.
- Enhanced comments and updated variable values for improved security and configuration, optimizing the development environment.
- Moved documentation into a new 'docs' directory for better organization. Added three new guides on deploying .NET Web API and Blazor applications to IIS server, deploying BinaryPlate BlazorPlate to Azure, and automating deployment with Azure Pipelines. These guides provide step-by-step instructions, making deployment processes more efficient.
- Created and updated documentation for BinaryPlate_SaaS_Clean_Architecture_Solution_Structure.md to improve clarity on the clean architecture solution structure.
Bug Fixes
-
Addressed an issue that led to failures in tenant creation through the Tenant Administration Portal
(TAP), ensuring smooth management of tenants.
Code Refactoring
- Optimized tenant management and cache service for improved performance and scalability.
-
Renamed TenantUrl to BaseTenantClientUrl across the projects for consistency and clarity in naming
conventions.
-
Decomposed AppState into AudioService and OverlayService, enhancing audio-related functionalities
and refining the management of progress indicator overlay.
- Refactored HTTP status code handling in interceptors, enhancing error handling mechanisms.
- Optimized TwoFactorAuthHttpInterceptor for improved authentication processes.
- Marked NamedHttpClient class as abstract, facilitating better abstraction and extensibility.
- Applied code cleanup for better readability and maintainability.
User Experience Enhancements
-
Rearranged "Remember this browser" switch position for better user experience and accessibility.
Miscellaneous
-
Updated nuget packages for all projects to ensure compatibility and leverage potential new features
or security patches.
New Features
-
Introduced the API-Level 2FA Enforcement feature, mandating users to authenticate via 2FA when
accessing designated APIs. This improvement redirects users to the 2FA page before proceeding,
thereby adding an extra security layer to safeguard sensitive API endpoints and enhancing the
overall security and authentication procedures of the application.
Code Refactoring
- Modified LINQ extensions to declutter the codebase and improve performance.
-
Conducted minor code refactoring across the solution to enhance code maintainability and
readability.
Bug Fixes
-
Fixed an issue in the background reporting services where the generated report was defaulting to the
system culture instead of the user-selected language, ensuring accurate language representation in
reports.
User Experience Enhancements
-
Implemented the "Remember this browser" functionality, giving users the option to remember their
browser during Two-Factor Authentication, thus improving user convenience and experience.
Performance Improvements
-
Optimized the RefreshTokenCommandHandler by introducing a SemaphoreSlim to manage access to critical
sections, resolving a concurrency issue and leading to smoother execution and enhanced performance.
Code Refactoring
-
Significantly refactored the 2FA module to enhance code readability and improve the overall user
experience, ensuring smoother authentication processes.
-
Conducted additional minor code refactoring across the solution to enhance code maintainability and
readability.
New Features
-
Implemented support for Separate Database Per Tenant in the Tenant Administration Portal (TAP),
offering improved tenant management with individual databases for each tenant.
Bug Fixes
-
Fixed an issue where trimming caused publishing errors when deploying the Blazor WebAssembly (WASM)
app, ensuring smoother deployment processes.
Bug Fixes
-
Fixed an issue where the Resend Email Confirmation page redirected users to a 404 page, ensuring a
seamless user experience during email confirmation processes.
-
Fixed an issue where the Sign-up page redirected users to a 404 page, resolving a navigation error
and improving the registration flow for new users.
Code Refactoring
-
Performed major code refactoring in the PermissionScanner service, enhancing code maintainability
and readability for improved development workflows.
-
Performed minor code refactoring in the BinaryPlate.BlazorPlate project, enhancing code quality and
readability.
Miscellaneous
-
Updated NuGet packages for all projects, ensuring compatibility and leveraging the latest features
and improvements.
Code Refactoring
-
Refactored and improved code in ReportingHub and FileStorageService, enhancing performance and
reliability.
-
Enhanced existing features by integrating the latest features available in .NET 8, ensuring the
project is up-to-date with the latest technologies and improvements.
-
Performed minor code refactoring in the BinaryPlate.BlazorPlate and BinaryPlate.Application
projects, improving code readability and structure.
Miscellaneous
-
Added documentation for the Authorization module in BinaryPlate.BlazorPlate, enhancing clarity and
providing guidance for users.
-
Refined tenant-aware directory path and optimized blob container creation in
BinaryPlate.Infrastructure, improving efficiency and scalability.
- Revised README.md files to provide documentation and project information.
- Updated nuget packages for all projects to ensure compatibility and leverage new features.
New Features
-
Upgraded the solution to .NET 8, leveraging the latest features, performance improvements, and
security enhancements offered by the framework for enhanced reliability, performance, and security.
Code Refactoring
-
Replaced Mediator property with Sender property in the ApiController, enhancing code readability and
efficiency.
-
Performed minor code refactoring across various modules to improve code quality and
maintainability.
Miscellaneous
-
Implemented an email sender configuration section in the appsettings.json file, providing
customization options and flexibility for email notifications.
- Deleted unused images, reducing clutter and optimizing resource utilization in the application.
- Updated nuget packages for all projects to ensure compatibility and leverage new features.
Bug Fixes
- Resolved minor issues in the reporting module and 2FA module of BinaryPlate.BlazorPlate.
-
Fixed an issue where pending database migrations were not applied at application startup, ensuring
database consistency.
- Fixed issues with download functionality in the DangerZone page of BinaryPlate.BlazorPlate.
-
Resolved JWT validation issue by aligning issuer and audience settings in
BinaryPlate.Infrastructure.
- Fixed a validation issue in TokenSettings.razor of BinaryPlate.BlazorPlate.
Code Refactoring
- Performed code cleanup and refactoring to enhance maintainability and performance.
- Simplified response DTO's names for better user understanding.
Miscellaneous
- Added SQL related exception handling properties, enhancing error management for SQL operations.
- Introduced AvatarViewer component for improved user profile management.
- Performed comments cleanup for code readability and documentation improvement.
- Updated nuget packages for all projects to ensure compatibility and leverage new features.
Bug Fixes
-
Fixed an issue where the Italy language setting displayed backend messages in English instead of
Italian, improving localization.
-
Addressed errors related to Concurrency Token Configuration for non-entity types in
BinaryPlate.Infrastructure, ensuring data consistency and stability.
Code Refactoring
- Performed code cleanup to enhance maintainability and readability.
- Performed comments cleanup and code cleanup, enhancing code quality and maintainability.
-
Conducted minor code refactoring in NavigationManagerExtensions.TryGetQueryString of
BinaryPlate.BlazorPlate, optimizing code structure.
Miscellaneous
-
Updated nuget packages for all projects, ensuring compatibility with the latest dependencies and
leveraging new features or fixes.
Bug Fixes
-
Fixed an issue where the UpdateIdentitySettingsCommand in the application project properties was not
aligned with its counterpart in the BlazorPlate project, ensuring consistency.
Code Refactoring
-
Performed minor code refactoring in various parts of the codebase to improve maintainability and
readability.
Bug Fixes
-
Fixed a minor issue in the PermissionService of BinaryPlate.Application, ensuring correct
functionality.
Code Refactoring
-
Performed minor code refactoring in the TokenGeneratorService of BinaryPlate.Infrastructure to
enhance code quality and maintainability.
-
Performed minor code refactoring in the MultiTenancyMiddleware of BinaryPlate.Infrastructure to
improve code quality and maintainability.
-
eliminated IApplicationDbContext from UpdateRoleCommand in BinaryPlate.Application as it was not
utilized.
-
Performed minor code refactoring in BinaryPlate.BlazorPlate for better code organization and
efficiency.
Miscellaneous
- Updated nuget packages for all projects to leverage new features and security patches.
New Features
-
Implemented optimistic concurrency handling to detect and resolve data conflicts during updates.
Bug Fixes
-
Fixed an issue where the tenant onboarding portal returns an error when using
SeparateDatabasePerTenant, ensuring smoother operation and eliminating potential disruptions for
users.
-
Fixed an issue where the reporting services were not working with single tenant mode, ensuring
compatibility.
User Experience Enhancements
-
Added FAQ list for Concurrency Conflict Handler feature to provide users with comprehensive
guidance.
-
Added breadcrumb to Concurrency Conflict Handler feature page for enhanced navigation experience.
Code Refactoring
-
Performed minor code refactoring across various components, enhancing codebase readability,
maintainability, and performance.
- Performed minor code refactoring for improved maintainability and readability.
- Performed comments cleanup for improved code readability.
Miscellaneous
- Updated nuget packages for all projects to ensure compatibility and leverage new features.
New Features
-
Implemented OAuth 2.0 support for signing in with leading external login providers such as
Microsoft, Google, LinkedIn, Twitter, and others. This addition broadens the application's user
reach, providing diverse authentication avenues that elevate the authentication process, user
experience, and accessibility.
Bug Fixes
-
Fixed an issue where GetRolePermissionsForEditQueryHandler threw an exception. This bug fix ensures
that role permissions editing functions correctly, improving the reliability and stability of the
application.
Code Refactoring
-
Removed empty code block sections from razor pages. This refactoring improves code cleanliness and
readability, enhancing maintainability and reducing potential confusion for developers working on
the project.
Bug Fixes
-
Resolved a multi-tenancy issue involving separate databases per tenant to ensure proper
functionality.
- Fixed Service Worker Install command issue in BinaryPlate.BlazorPlate.
Performance Improvements
-
Implemented caching mechanism to enhance performance by utilizing a Cache Service. This optimization
aims to reduce response times and server load by caching frequently accessed data, resulting in a
smoother user experience and improved overall system efficiency.
-
Enhanced the performance of the PermissionUseCase.GetAllPermissions() method by addressing a
slowness issue, resulting in improved application responsiveness.
Security Enhancements
-
Addressed a critical security vulnerability where an attacker could manipulate the user's token to
access data from another tenant, ensuring data integrity and confidentiality.
-
Updated ChallengeMiddleware to propagate correct status codes. This security enhancement ensures
that the application responds with accurate HTTP status codes, improving error handling and security
posture.
User Experience Enhancements
-
Added new resource keys and values in BinaryPlate.BlazorPlate to facilitate localization and improve
user experience.
Code Refactoring
-
Enhanced efficiency by eliminating use cases and migrating their business logic to command and query
handlers.
-
Deleted the IsDemo property from the ApplicationUser entity to eliminate redundant data and enhance
database efficiency.
-
Renamed ImmediateReportingService to OnDemandReportingService for better clarity and consistency.
-
Refactored the GetAllPermissions method for improved efficiency and clarity, enhancing
maintainability.
- Performed major code refactoring to the AppSeederService to improve maintainability.
-
Refactored Reporting Services and File Storage Services to simplify the codebase and improve
maintainability.
-
Performed additional minor code refactoring in BinaryPlate.Application to enhance code quality and
maintainability.
- Removed unused resources from BinaryPlate.AppResources.
Miscellaneous
-
Added an extra filter to the GetApplicants method in BinaryPlate.Application to improve data
retrieval accuracy.
-
Updated the inline comments in the appsettings.json file of BinaryPlate.WebAPI for better clarity
and understanding of configuration settings.
- Renamed HostController to GatewayController.
- Added XML comments for the undocumented services.
-
Updated nuget packages for all projects to ensure compatibility and leverage the latest features and
improvements.
New Features
-
Implemented the FreezeUtcTimeService within Infrastructure.Services to enable time manipulation,
ensuring a consistent time frame throughout the request lifecycle.
Bug Fixes
-
Fixed a security issue with Two-Factor Authentication (2FA) to ensure the protection of user
accounts.
User Experience Enhancements
- Added new resource keys and values to facilitate localization and improve user experience.
Code Refactoring
- Performed minor code refactoring to improve the efficiency and readability of the codebase.
-
Replaced IList collections with IReadOnlyList in BinaryPlate.Application for improved performance
and immutability.
- Performed code analysis and minor refactoring to enhance code quality and maintainability.
-
Cleaned up codebase in BinaryPlate.Infrastructure and Presentation projects for improved readability
and organization.
-
Refactored BackgroundReportingService and FileStorageService to optimize functionality and
performance.
Miscellaneous
- Updated features page in BinaryPlate.BlazorPlate to provide users with accurate information.
- Added inline comments to enhance clarity in appsettings.Development.
- Updated README.md file for project documentation.
New Features
-
Introduced BpExceptionHandlerMiddleware to enhance the application's exception handling
capabilities. This middleware replaces the AutoWrapper external library, offering improved
maintainability and performance while granting finer control over exception handling.
Bug Fixes
- Resolved minor issues in the reporting module, ensuring its functionality.
- Fixed minor issues in the 2FA module of BinaryPlate.BlazorPlate.
Code Refactoring
-
Adjusted some namespaces within the codebase to improve consistency and organization, enhancing
maintainability and readability of the application's source code.
Miscellaneous
-
Added success and exception response schemas for Swagger API documentation, enhancing the API's
usability and documentation completeness.
New Features
-
Implemented functionality allowing tenant owners to edit their tenant information, providing greater
flexibility and control over tenant management.
Bug Fixes
-
Fixed a major issue where the tenant header was not set properly in the request header, ensuring
correct tenant context for operations in the application.
-
Resolved the spinner center issue in the BlazorPlate project, enhancing the visual presentation and
user experience.
-
Resolved a minor issue in the EmailChangeConfirmation component where the value of
DisplayConfirmAccountLink was not properly set, ensuring correct functionality and user experience.
-
Resolved a right-to-left (RTL) issue in the Layout pages, ensuring proper rendering and alignment
for languages that read from right to left.
-
Fixed an issue with the TenantResolver.SetConnectionString() method where the tenantName was not
correctly set, ensuring accurate database connection setup for multi-tenant environments.
-
Resolved an issue where the Breadcrumb service was not rendered properly on the Index page, ensuring
consistent navigation functionality within the application.
-
Fixed an issue where the GetPermissionsOnDemand() method in the application layer failed to load
sub-permissions on demand, ensuring proper functionality and accurate permission retrieval.
-
Resolved an issue with the ReturnUrl property in the BlazorPlate component, ensuring its correct
behavior and functionality within the application.
-
Addressed an issue with the RefreshToken service in BlazorPlate, ensuring its proper functioning and
reliability for token refresh operations.
-
Fixed a bug in the Validate() method of the TenantResolver service within the infrastructure layer,
ensuring accurate validation processes.
User Experience Enhancements
-
Added Romanian language support, expanding language options for users and enhancing accessibility
for Romanian-speaking users.
-
Enhanced the AppSeederService.SeedDemoApplicants() method to generate more realistic data for demo
applicants, improving the demonstration experience.
-
Implemented CancelationToken support in the loader indicator, improving responsiveness and user
feedback during data loading processes.
Code Refactoring
-
Performed code refactoring in the multitenancy module to improve maintainability and readability.
-
Replaced the ServerSideValidator component with the ApiExceptionProvider, enhancing error handling
and consistency in error responses.
-
Removed obsolete properties from several components in the BlazorPlate project, streamlining the
codebase and reducing clutter.
-
Performed major code refactoring in the PermissionsUseCase and minor refactoring in the BlazorPlate
project, improving code structure and performance.
-
Updated AuthStateProvider and added async support to the ValidationBehavior service class in the
BinaryPlate.Application, enhancing functionality and responsiveness.
-
Applied new naming conventions to the EditContextServerSideValidator and ApiExceptionProvider,
ensuring consistency and readability in the codebase.
-
Performed minor code refactoring and enhancements to improve code quality, readability, and
maintainability.
Deprecations
-
Deprecated the nuget package "Toolbelt.Blazor.HttpClientInterceptor" within BinaryPlate.BlazorPlate.
This action aims to streamline dependencies and minimize unnecessary overhead.
Miscellaneous
- Updated README.md files to ensure accuracy and relevance of project documentation.
-
Performed minor enhancements across the application to improve overall functionality and user
experience.
Bug Fixes
- Fixed minor issues in the HttpService, ensuring smooth and reliable HTTP requests.
Performance Improvements
-
Enhanced performance and scalability in the BinaryPlate.BlazorPlate project by utilizing
HttpClientFactory instead of directly using HttpClient, leveraging its advanced features and
optimizations.
Code Refactoring
-
Performed major code refactoring in the HttpService and HttpInterceptor, improving code structure
and maintainability.
-
Performed minor code refactoring in the RolesLookupDialog and Envelope components, enhancing code
readability and organization.
-
Updated some obsolete properties in MudBlazor components, ensuring compatibility with the latest
version and optimizing usage.
Miscellaneous
-
Added technical inline and XML documentation to the Domain, Application, Infrastructure, and WebAPI
projects, facilitating better understanding of the codebase and improving maintainability.
-
Revisited the documentation in the Installation.razor component, improving clarity and usability of
the installation instructions.
- Fixed some minor documentation issues and updated the README.md file.
New Features
-
Implemented Single Database Per Tenant as a new data isolation strategy, enhancing the application's
scalability and security by providing dedicated databases for each tenant.
Bug Fixes
-
Fixed a minor issue in the ResetPasswordConfirmation.razor component within BinaryPlate.BlazorPlate,
ensuring smooth functionality and user experience.
-
Fixed a minor issue in the AppTokenOptions class within BinaryPlate.Application, ensuring correct
configuration and operation of authentication-related functionality.
Code Refactoring
-
Performed major code refactoring in the host application, enhancing maintainability and
readability.
- Performed minor code refactoring in the BlazorPlate project to improve code quality.
-
Performed major code refactoring in the ApplicationRoleManager & ApplicationUserManager within the
BinaryPlates.Application project, enhancing the structure and efficiency of user and role
management.
- Renamed TenantResolverService to TenantResolver, improving codebase clarity and consistency.
Miscellaneous
-
Added missing localized resources, ensuring comprehensive language support and improving
accessibility for users.
-
Removed unused profiles in launchSettings.json within BinaryPlate.BlazorPlate, improving project
organization and reducing clutter.
-
Updated nuget packages for all projects, ensuring compatibility with the latest dependencies and
leveraging new features or security patches.
New Features
-
Introduced a new feature allowing users to upload files on the fly via a separate request before
form submission, enhancing data submission flexibility and user experience.
Bug Fixes
-
Resolved an issue where the IdentityOptionsMiddleware failed when switching the app to single-tenant
mode, ensuring seamless operation and configuration.
- Fixed minor layout issues, enhancing overall interface consistency and aesthetics.
-
Fixed additional minor issues across the application, enhancing overall stability and reliability.
User Experience Enhancements
-
Added default avatar user icon in BinaryPlate.BlazorPlate, providing a visual representation for
users and improving interface aesthetics.
Code Refactoring
-
Performed major code refactoring in FileStorageService within BinaryPlate.Infrastructure and minor
code refactoring in BinaryPlate.Application and BinaryPlate.BlazorPlate, enhancing code
maintainability, readability, and performance.
-
Performed minor enhancements across the application, improving various aspects of functionality and
user experience.
Security Enhancements
-
Added IdentityOptions configuration section in BinaryPlate.WebAPI/appsettings.json, enhancing
security configuration and customization options.
Miscellaneous
-
Moved BpMultipleFileUpload component to the FileUpload folder in BinaryPlates.BlazorPlate, improving
project organization and navigation.
-
Added missing route paths to the breadcrumb menu in BinaryPlate.BlazorPlate, improving navigation
and
user guidance.
-
Unified BackendResources and FrontendResources projects into a single project, streamlining project
structure and management.
-
Updated nuget packages for all projects to ensure compatibility with the latest dependencies and
leverage new features or security patches.
User Experience Enhancements
-
Improved consistency and navigation by adding missing resources to the breadcrumb menu in
BinaryPlate.BlazorPlate.
Bug Fixes
-
Fixed minor issues with the projects' launchSettings.json, ensuring proper configuration and smooth
execution of the application.
-
Fixed an issue where the IdentityOptionsMiddleware failed when switching the app to single tenant
mode, ensuring smooth operation of the application under various configurations.
-
Fixed a minor layout issue in BinaryPlate.BlazorPlate, ensuring consistent and visually appealing
interface elements.
Code Refactoring
-
Performed minor code refactoring in BinaryPlate.Application and BinaryPlate.BlazorPlate, enhancing
code quality and maintainability.
-
Renamed FileUploadDialog to BpFileUploadDialog in BinaryPlate.BlazorPlate, improving component
naming consistency and clarity.
-
Renamed BpUploadFile to BpFileUpload in BinaryPlate.BlazorPlate, ensuring naming consistency and
clarity within the project.
-
Removed AppBrand.Razor from BinaryPlate.BlazorPlate, streamlining the project structure and reducing
unnecessary files.
Miscellaneous
-
Updated nuget packages for all projects to ensure compatibility with the latest dependencies and
leverage new features or security patches.
Bug Fixes
- Fixed minor bug issues to ensure the application operates smoothly and without interruptions.
Code Refactoring
- Removed unused files and methods to declutter the codebase.
- Renamed some services by adding "Service" postfix for consistency and clarity.
-
Performed minor code refactoring in the FileStorageService to improve code readability and
maintainability.
Bug Fixes
-
Fixed an issue where the IdentityOptionsMiddleware failed when switching the app to single-tenant
mode. This ensures smooth operation of the application in both single-tenant and multi-tenant
environments, enhancing reliability.
-
Fixed minor issues with the projects' launchSettings.json, ensuring proper configuration for
development and deployment environments.
- Fixed minor bug issues across the application, enhancing overall stability and performance.
-
Fixed an issue where the IdentitySeeder was unable to seed the database with the host user. This fix
ensures that the database seeding process functions correctly, enabling the proper initialization of
the application with essential user data.
-
Fixed an issue with ManageUseCase where changing the email was not working properly, ensuring smooth
functionality and user data accuracy.
-
Resolved an issue with ManageUseCase where changing the email was not functioning correctly,
ensuring proper functionality and user management within the application.
-
Fixed an issue where the host admin was not created properly when creating a new account in the host
portal for the first time, ensuring seamless account creation and management.
-
Fixed an issue where the IdentitySeeder was unable to seed the database with the host user, ensuring
proper database seeding and application initialization.
-
Fixed some minor routing issues BinaryPlate.BlazorPlate, ensuring consistent navigation and user
experience.
- Fixed some performance issues, aiming to improve overall system efficiency and responsiveness.
User Experience Enhancements
-
Enhanced the layout in BinaryPlate.BlazorPlate to improve visual presentation and user experience,
addressing minor inconsistencies.
-
Translated some resources to improve accessibility and usability for users speaking different
languages. This enhancement enhances inclusivity and broadens the application's user base.
Code Refactoring
-
Restructured some folders within the codebase to improve organization and maintainability. This
refactoring effort enhances code readability and developer efficiency, contributing to long-term
project sustainability.
-
Performed minor code refactoring in BinaryPlate.Application, BinaryPlate.BlazorPlate, and
BinaryPlate.HostApp, improving code maintainability and readability.
-
Removed unused methods, files, and extra variables across the application, optimizing resource
utilization and improving performance.
-
Renamed some services by adding "Service" postfix, improving consistency and clarity in service
naming conventions.
-
Removed unused references, adjusted namespaces, and extracted global usings, contributing to
codebase cleanliness and maintainability.
Miscellaneous
-
Added a new flag to the NavigationService.NavigateToTenantPortalAsync method in
BinaryPlate.BlazorPlate, allowing users to be transferred to the registration page when accessing a
tenant portal from within the host portal, enhancing flexibility and user experience.
-
Added SeedApp() method to the DataSeeder service to seed the default user in SingleTenantMode
environment, ensuring smoother setup and configuration for new instances.
-
Introduced a new flag to the NavigationService.NavigateToTenantPortalAsync to determine whether
users should be redirected to the registration page when accessing a tenant portal from within the
host portal, enhancing flexibility and user guidance.
-
Updated NuGet packages for all projects to ensure compatibility and leverage the latest features and
improvements.
New Features
-
Upgraded the solution to .NET 7, leveraging the latest features, performance improvements, and
security enhancements offered by the framework for enhanced reliability, performance, and security.
-
Introduced the Tenant Administration Portal, a significant breakthrough in tenant management. This
development serves to considerably enhance administration capabilities. It equips host admins with
an array of potent tools required for productive tenant management.
Security Enhancements
-
Added TenantVisibility property to the ApplicationPermission entity, enabling fine-grained
permission management tailored to tenant-specific operations, further enhancing security and
customization capabilities.
-
Added HostVisibility property to the ApplicationPermission entity, enabling fine-grained permission
management tailored to host-level operations, further enhancing security and customization
capabilities.
Code Refactoring
-
Performed minor code refactoring in the BinaryPlate.Application project to improve code quality,
maintainability, and readability, ensuring a robust and sustainable codebase.
-
Removed unnecessary tags from project assemblies, streamlining the application's build process and
reducing unnecessary clutter, contributing to improved performance and efficiency.
Performance Improvements
-
Removed the dbContext parameter from the UpdateApplicantCommand.MapToEntity method to gain better
performance, enhancing the overall responsiveness and efficiency of the application.
Code Refactoring
-
Optimized the AppSettings module with major code refactoring, improving code quality and
maintainability.
-
Performed additional minor code refactoring and enhancements throughout the solution to enhance
overall code quality.
Miscellaneous
-
Removed BinaryPlate.Common reference, streamlining the project structure and reducing
dependencies.
Bug Fixes
-
Fixed an issue where the RoleManager & UserManager cannot be called from the DbContextSeeder service
due to an invalid implementation in the MultiTenantRoleValidator and MultiTenantUserValidator,
ensuring proper functionality of role and user management.
-
Resolved performance issue in the AddOrRemoveDirectUserPermissionsAsync method, improving
application responsiveness.
Code Refactoring
-
Performed minor code refactoring and enhancements throughout the solution to enhance overall code
quality.
Miscellaneous
-
Updated nuget packages for all projects to ensure compatibility and leverage potential new features
or security patches.
Bug Fixes
- Corrected minor typos, improving the accuracy of the application's content.
Code Refactoring
-
Reverted back the original name of the GetPermissions endpoint in BinaryPlate.BlazorPlate,
addressing a naming inconsistency and ensuring compatibility with the application's functionality.
-
Performed minor code refactoring in the EF Configurations files, improving maintainability and
readability of the codebase in BinaryPlate.Infrastructure.
- Eliminated unused dependencies and properties for enhanced code cleanliness and readability.
-
Performed code clean up in the BinaryPlate.BlazorPlate project, removed unused types, and
adjusted namespaces, enhancing codebase readability and maintainability.
-
Performed minor code refactoring in the BinaryPlate.Application project, improving code structure
and
organization.
Miscellaneous
- Updated version number in Swagger, reflecting the current version of the application.
-
Added GetUsersInRoleCountAsync method in the UserManager in BinaryPlate.Application, providing a
convenient way to retrieve the count of users in a specific role.
-
Removed useless comments in the TokenGeneratorService, enhancing code cleanliness in
BinaryPlate.Infrastructure.
-
Added IsSuperAdmin property to the ApplicationUser entity, enhancing user management capabilities
and allowing differentiation of super admin users.
- Updated README.md with relevant information.
-
Updated all nuget packages for all projects to ensure compatibility and leverage new features and
security patches.
User Experience Enhancements
-
Enhanced user experience by providing more control over menu visibility based on user permissions,
leading to a more tailored and intuitive navigation experience.
Code Refactoring
-
Performed code refactoring in the ClientSideAuthorization proof of concept (POC) and in the
Applicants Module, improving code maintainability and readability.
- Performed code cleanup, ensuring codebase hygiene and organization.
Miscellaneous
-
Added a new extension method to check whether the user has the required permission, enhancing user
access control and permission management.
-
Added an example in the NavMenu.razor file illustrating how to dynamically hide and show menu items
based on user permissions, improving the user interface customization.
-
Updated all nuget packages for all projects, ensuring compatibility with the latest versions of
dependencies.
New Features
-
Introduced custom permissions functionality, enabling system administrators to customize user
interface elements based on user permissions, enhancing user access control and interface
flexibility.
Bug Fixes
-
Resolved an issue in HttpInterceptorService.cs where methods were not unsubscribed properly,
preventing memory leaks and improving performance.
-
Fixed minor bugs in the Applicants POC module, ensuring smoother functionality and user
experience.
-
Fixed an issue in the DataExportHub.OnConnectedAsync method where the null check for identity was
not functioning correctly, enhancing reliability and stability.
-
Resolved a recurring issue within BinaryPlates.WebAPI, where the GetUserName method inadequately
handled unauthorized exceptions, ensuring more seamless error management and enhancing the overall
user experience.
-
Fixed a significant issue in the AccountUseCase.RefreshToken method where the access token was not
renewed when required, improving security and authentication andensuring uninterrupted user
sessions.
-
Rectified a critical issue where an expired access token was not invalidated when necessary,
enhancing application security.
-
Fixed an issue in HttpInterceptorService.cs where methods were not unsubscribed properly, ensuring
proper execution and preventing memory leaks.
-
Fixed an issue where the filtering in the Users Module was not functioning correctly in
BinaryPlates.BlazorPlate, ensuring accurate data presentation.
-
Resolved CORS (Cross-Origin Resource Sharing) policy issues in both single and multi-tenant modes,
ensuring proper communication between client and server.
-
Fixed Null Reference exception occurring when an unauthenticated user searches for items in
BinaryPlates.BlazorPlate, ensuring uninterrupted application functionality and preventing errors.
-
Resolved an issue in BinaryPlates.WebAPI where the filtering criteria in the Reports Module was not
functioning correctly, ensuring accurate data filtering.
-
Fixed an issue with the filtering criteria in the ReportUseCase module, ensuring accurate data
filtering and search functionality.
Performance Improvements
-
Converted BeforSend and AfterSend methods to Async version in HttpInterceptorService.cs, potentially
improving responsiveness and efficiency.
-
Optimized BlazorPlate app initial load time by enabling trimming support, enhancing overall
performance.
User Experience Enhancements
- Added Striped attribute to all table components, improving readability and visual consistency.
-
Set LightMode as the default theme, providing users with a cleaner and more visually appealing
interface by default.
-
Set LightMode as the default theme in BinaryPlates.BlazorPlate, improving the default visual
experience for users.
-
Added notification messages to indicate the status of SignalR hubs connection, enhancing user
feedback and interaction.
- Updated the dark mode behavior in MainLayout.razor, improving the visual experience for users.
-
Added Italian localization support, expanding the application's accessibility to Italian-speaking
users and improving global usability.
-
Improved dark mode behavior and cleaned up code in the MailLayout component, ensuring a consistent
and visually appealing user experience.
-
Added a toggle button to start and stop the SignalR Hub connection in the Applicants Module,
providing users with more control over real-time communication.
Code Refactoring
-
Renamed MaxDepth variable to MaxParentCount in PermissionUseCase.GetLoadedOneShotPermissions for
better clarity and understanding.
-
Performed minor code refactoring across various components and classes to maintain code cleanliness
and organization.
- Renamed variables and methods for clarity and consistency.
-
Removed unnecessary code and partial keyword from classes, improving code readability and
maintainability.
- Removed unused methods, reducing code clutter and improving codebase cleanliness.
-
Performed minor code refactoring in the BinaryPlate.BlazorPlate project, enhancing code
maintainability and readability.
-
Removed unused methods and cleaned up the codebase, ensuring optimal performance and reducing
technical debt.
Miscellaneous
- Updated README.md and created a new one, ensuring up-to-date project documentation.
-
Updated nuget packages for all projects, ensuring compatibility with the latest versions and
leveraging new features.
Bug Fixes
-
Fixed an issue where the filtering in the Users page was not working properly, ensuring accurate
data representation and user interaction.
-
Fixed the CORS Policy issue in single tenant mode, resolving cross-origin resource sharing problems
and ensuring proper communication between client and server.
-
Fixed a minor issue where the GetRolePermissions endpoint was not identical to its signature,
ensuring consistency and accuracy in API responses.
Performance Improvements
-
Optimized BlazorApp initial load time by enabling trimming support, resulting in faster application
startup and improved user experience.
-
Added .AsNoTracking() method for read-only scenarios, enhancing database performance and reducing
resource consumption.
Miscellaneous
- Included XML Comments in Swagger for improved API documentation and clarity.
Bug Fixes
-
Fixed a minor issue where the GetRolePermissions method was called twice during page initialization,
ensuring proper data retrieval and reducing unnecessary overhead.
-
Fixed the exception "WebSocket is closed before the connection is established," resolving WebSocket
connection issues for improved reliability.
-
Fixed an issue where the EditUser form incorrectly validated password properties that did not exist
as fields in the form, ensuring accurate form validation.
-
Resolved an issue where the form did not allow adding a new user with an empty password, enhancing
usability and flexibility in user management.
- Fixed minor issues with the HubConnection, ensuring stable and reliable WebSocket connections.
Code Refactoring
-
Performed minor code refactoring in various modules, improving code maintainability and
readability.
Miscellaneous
-
Introduced a new extension method, GetSubDomain(), to the NavigationManager service, facilitating
easier access to subdomain information within the application.
-
Updated nuget packages for all projects, ensuring compatibility and leveraging the latest features
and improvements.
Bug Fixes
-
Fixed a minor issue in the CreateSampleApplicants() method, ensuring proper functionality within the
TenantUseCase.cs component.
- Fixed critical issue in the TenantResolver.cs, ensuring proper tenant resolution.
-
Fixed an issue in the InitializeTree in EditRole.razor.cs where lazy loading was not working
properly, improving application stability.
-
Fixed an issue where breadcrumb disappeared when initiating SignalR connection, enhancing user
experience.
- Fixed design issue in the Applicants.html, improving interface aesthetics.
- Fixed some minor bugs in the Applicant References module, ensuring smoother functionality.
-
Fixed an issue where the GenerateApplicantsPdfFromHtml was not rendering the nested References
array, ensuring accurate report generation.
-
Fixed a minor issue where the filtering in the Users page was not functioning correctly, enhancing
user experience.
- Fixed minor bugs in the Applicants POC, ensuring smoother functionality.
-
Fixed an issue where the GetUserName method did not handle unauthorized exceptions properly,
enhancing security.
-
Fixed an issue where the form did not allow adding a new user with an empty password, improving user
interaction.
- Fixed minor issues with the HubConnection, ensuring proper functionality.
-
Fixed an issue in the DataExportHub.OnConnectedAsync method, improving hub connection stability.
User Experience Enhancements
- Added ActivePanelIndex to the Applicants.razor.cs, improving user interaction.
- Polished some areas in the Reporting Module, enhancing overall user experience.
Code Refactoring
-
Renamed the GetCategoryProjection method to GetPermissionsRecursively in the PermissionUseCase.cs
component, improving code clarity and consistency.
-
Performed minor code refactoring in the Index.razor.cs component of the Blazor application,
enhancing maintainability and readability.
-
Removed unnecessary 'partial' keyword from some classes, ensuring a cleaner and more concise
codebase.
-
Removed unused methods and unnecessary partial keywords, ensuring a cleaner and more efficient
codebase.
-
Renamed the GetCategoryProjection method to GetPermissionsRecursively in the PermissionUseCase.cs,
enhancing code clarity and consistency.
-
Performed additional minor code refactoring and enhancements throughout the solution to enhance
overall code quality.
Miscellaneous
-
Added Min and Max values for the generated SSN in the CreateSampleApplicants() method, improving
data integrity.
-
Updated nuget packages for all projects, ensuring compatibility and leveraging new features and
security patches.
Bug Fixes
-
Fixed minor issue where the AllowedUserNameCharacters were set to an invalid character set, ensuring
proper user validation.
- Fixed major bugs in the data export module, ensuring smoother functionality.
-
Fixed an issue where the X-Tenant header was not passed to the SignalR Hub and Hangfire Jobs,
ensuring proper tenant identification.
- Fixed some typos and performed minor coding bug fixes, ensuring code quality.
Performance Improvements
- Excluded unnecessary checks from tenant verification, optimizing system performance.
User Experience Enhancements
-
Added Snackbar alerts to notify users about the status of the report being generated, improving user
interaction.
Code Refactoring
-
Performed code clean-up and refactoring in various modules to improve maintainability and
readability.
Miscellaneous
- Updated nuget packages for all projects to leverage new features and bug fixes.
- Installed missing package "Microsoft.AspNetCore.SignalR" to support SignalR functionality.
New Features
-
Introducing the AutoRedirect functionality to the 401 error page, empowering administrators to
customize automatic redirection for unauthorized users directly to the login page.
-
Introducing PWA (Progressive Web App) support, empowering users to install the application on their
devices for an app-like experience, even in offline mode.
-
Introducing Reporting Services utilizing Hangfire and SignalR, providing efficient reporting with
background processing and real-time updates.
-
Implemented a new feature in the Data Export Service to notify only the report issuer, improving
communication efficiency.
Bug Fixes
-
Fixed an issue in BpUploadFile.razor.cs where uploaded files exceeding the maximum size were
erroneously displayed in the image viewer, ensuring correct file handling.
- Fixed some typos across the application for better code readability and consistency.
-
Fixed an issue in the BlazorPlate/Settings Module where the settingsId was not properly set in a
hidden field, ensuring accurate data processing.
-
Added missing string interpolation in the HTTP delete methods, ensuring correct data processing and
communication.
- Fixed minor bugs in Applicants Master-Details POC, ensuring correct functionality.
-
Fixed minor bugs in the ApplicantReferencesForEdit.razor.cs POC, improving the editing experience.
-
Fixed an issue where the breadcrumb component was not displaying items properly, ensuring consistent
navigation experience.
-
Fixed minor bugs in the ApplicantUseCase.cs/GetApplicants, ensuring accurate retrieval of applicant
data.
-
Fixed an issue where the Breadcrumb disappeared when resizing the window, maintaining UI
stability.
Security Enhancements
-
Replaced role-based authorization with permission-based authorization in the BlazorPlate project,
improving security by utilizing a more granular access control approach.
-
Enhanced token management within the front-end project involves the implementation of the
AccessTokenProvider, ensuring improved security by regulating access tokens.
Performance Improvements
-
Added ConfigureAwait(false) to the HttpService.cs to prevent potential deadlocks during asynchronous
operations, enhancing application stability.
User Experience Enhancements
-
Set Dark Mode as default, providing users with an alternative interface option for improved
visibility and reduced eye strain.
-
Added LoginRedirectIfUserNotAuthenticated and LoginRedirectIfUserNotAuthorized props to the 401
error page, improving user experience by handling unauthorized access more gracefully.
-
Polishing the Applicant-References Master-Details form, enhancing the user interface and workflow.
- Added some localization resources, improving accessibility for users in different regions.
- Converted WPA PNG icons to SVG for better scalability and visual quality.
Code Refactoring
-
Performed code refactoring across various areas of the BlazorPlate project, including DashboardHub,
Data Export services, some razor pages, and reporting module, to enhance maintainability,
readability, and performance.
Miscellaneous
-
Reinitialized permission list in the permission dialogue lookup when needed, ensuring accurate
permission management.
-
Added One-Many relationship between Applicant and References, facilitating better data management
and organization.
-
Enhanced data integrity of the Applicant's References POC entity collection by introducing
server-side validators, thereby augmenting data validation and user direction.
-
Added HTML to PDF Converter functionality in the HtmlReportBuilder.cs, allowing users to generate
PDF reports from HTML content.
-
Implemented Export to PDF function in the Applicant POC module, enabling users to export applicant
data to PDF format for easy sharing and printing.
- Added new elements to BlazorPlate/Index.razor to enhance the overall application layout.
Bug Fixes
-
Fixed nullable warning and minor flag issues in AddUser.razor and EditUsers.razor, ensuring correct
application behavior and data handling.
-
Fixed an issue where the MudDialog was not closing when the user's access token expired, enhancing
user experience and application reliability.
User Experience Enhancements
-
Added AppBrand component to display the application name and logo, providing users with visual
identification and branding.
-
Fixed minor RTL styling issue and added the cancel button label to the resource file, improving the
overall user interface and accessibility.
Code Refactoring
- Removed unused tags in BlazorPlate/Index.html for improved code cleanliness and optimization.
-
Removed unused namespace from EditUser.razor.cs and performed minor updates for improved code
maintenance.
Miscellaneous
-
Added Null check in AfterSendAsync/HttpInterceptorService.cs to enhance security and prevent
potential null reference exceptions.
-
Added AutoWrapperExcludePath for dashboardhub in WebApi/Program.cs to optimize routing and exclude
unnecessary paths.
-
Updated nuget packages for all projects to ensure compatibility and leverage new features or
security patches.
Bug Fixes
-
Fixed an issue with GetUserAPI where there was a conflict in some namespaces, ensuring proper
functionality.
-
Fixed a minor issue with DashboardHub relative URL in BlazorPlate/Index, ensuring correct URL
resolution.
-
Fixed a minor bug where the reference of ServerSideValidator was missing in the dashboard page,
ensuring proper display of dashboard server exceptions.
-
Fixed an issue where the unauthenticated user was sometimes not transferred to the 401 page,
ensuring consistent user experience.
-
Fixed an issue where the MudBreadcrumbs disappeared when requesting the same page for a second time,
ensuring breadcrumb visibility.
-
Fixed an issue where the access token is sometimes not refreshing, ensuring proper authentication.
-
Resolved issues with ApplicationUserManager's SendResetPasswordAsync method in single tenant mode,
ensuring proper functionality.
- Fixed namespace conflicts and typos, enhancing code consistency and readability.
-
Fixed layout issues and minor bugs, improving overall application stability and user experience.
-
Fixed an issue with ValidationBehavior returning exceptions, ensuring smooth validation processes.
-
Addressed an issue where role.TenantId was incorrectly set to null, ensuring proper data handling.
- Fixed minor typos in Installation page, improving documentation clarity.
-
Fixed minor issue with RequiresTwoFactor property in LoginResponse object, ensuring proper
authentication flow.
User Experience Enhancements
-
Moved some header buttons in the BlazorPlate project to the HeaderButtons component, enhancing code
organization and modularity.
-
Added Class="mt-4" to the error pages in the BlazorPlate/Pages/Shared/401|404 for improved page
layout.
-
Auto fill username and password in the login page for demo purposes, providing convenience during
demonstrations.
-
Added BP official YouTube channel link, providing users with access to additional resources and
tutorials.
-
Introduced MobileButtons component to enhance mobile view usability, improving accessibility for
mobile users.
- Removed unnecessary links from MainLayout, improving navigation simplicity.
-
Recovered missing links and updated contents of Localization resources, enhancing user engagement
and accessibility.
Code Refactoring
-
Combined Program.cs and Startup.cs in the WebAPI project into one file and removed Startup.cs,
simplifying project structure.
- Converted to file scope namespace for all projects files, improving namespace management.
- Removed unused code from HttpService in the BlazorPlate project, enhancing code cleanliness.
-
Removed unused code in Utilities.js in the BlazorPlate project, improving codebase optimization.
- Renamed DynamicAuthorize to BPAuthorize for improved clarity and consistency.
- Moved ApplicationUserClaimConfiguration to a separate file for better organization.
-
Refactored EditUser module, BpUploadFile component, and other areas for improved code structure and
readability.
- Refactored MultiTenantUserValidator and MultiTenantRoleValidator for better maintainability.
-
Performed minor code refactoring in various modules, enhancing code maintainability and
performance.
Miscellaneous
-
Added GlobalUsings.cs to each project for centralized management of global usings, enhancing code
organization.
-
Implemented TreeProjectionUsingRecursiveExpression as an alternative option in
GetLoadedOneShotPermissions, expanding functionality.
-
Updated nuget packages for all projects to ensure compatibility and leverage new features or
security patches.
New Features
-
Upgraded the solution to .NET 6, leveraging the latest features, performance improvements, and
security enhancements offered by the framework for enhanced reliability, performance, and security.
-
Added Remove Avatar functionality, providing users with the ability to easily remove their avatar,
enhancing profile management capabilities.
Bug Fixes
- Fixed broken images, ensuring visual elements display correctly.
- Resolved issues with token expiration date format, ensuring compatibility with Arabic culture.
-
Addressed various minor bugs and UI issues, improving overall application stability and user
experience.
- Fixed issues related to refresh token functionality, ensuring proper functioning and security.
-
Fixed a critical issue where transaction rollback was not working correctly, ensuring data
integrity.
-
Fixed ReturnUrl bug and minor issues with Two-Factor Authentication (2FA), enhancing overall
application
security.
Performance Improvements
- Enabled BlazorCacheBootResources and optimized code, enhancing application performance.
- Added await InvokeAsync(StateHasChange) in MainLayout.razor.cs, improving responsiveness.
User Experience Enhancements
-
Implemented Hijri Date Format and other UI refinements, enhancing accessibility and localization.
Code Refactoring
-
Refactored TokenGeneratorService and TryRefreshToken code for better maintainability and
readability.
- Performed minor code refactoring throughout the solution to enhance overall code quality.
Miscellaneous
-
Updated NuGet packages to the latest versions, ensuring compatibility and leveraging new features
and security patches.