Commit 32c869a
authored
Release/v3.0.0 (#17)
* Remove OpenSSH_GUI.Tests project and obsolete IDE metadata files.
* Upgrade projects to .NET 9, update NuGet package versions, and add IDE metadata changes.
* Remove Qodana workflow, refine build workflow, and update IDE metadata files.
* Remove Qodana configuration and update IDE metadata files.
* Remove Qodana code quality workflow.
* Update `.idea` metadata and `.gitignore` to include IDE files.
* Remove obsolete `.idea` metadata files and update `.gitignore`.
* Change `Label` to `TextBlock` in `MainWindow.axaml` tooltip. (#14)
* .NET 10 Upgrade
* Feature/#13 - Massive refactoring(#15)
* Remove OpenSSH_GUI.Tests project and obsolete IDE metadata files.
* Upgrade projects to .NET 9, update NuGet package versions, and add IDE metadata changes.
* Remove Qodana workflow, refine build workflow, and update IDE metadata files.
* Remove Qodana configuration and update IDE metadata files.
* Remove Qodana code quality workflow.
* Update `.idea` metadata and `.gitignore` to include IDE files.
* Remove obsolete `.idea` metadata files and update `.gitignore`.
* Change `Label` to `TextBlock` in `MainWindow.axaml` tooltip. (#14)
* .NET 10 Upgrade
* Migrate from .sln to .slnx; removed obsolete configuration files; add SSH wildcard matcher and token expander.
* Update package dependencies, migrate to .NET SDK 10.0, and add AUR packaging files.
* Remove deprecated SSH configuration parser, tests, and related classes; refactor app startup and introduce dependency injection.
* Add `SshKeyFile` class, update `DirectoryCrawler` to load keys from disk, and refactor DbContext usage
* Refactor view-model naming, simplify view resolution logic, and update asynchronous initialization routines.
* Refactor windows to use a `WindowBase` class, introduce enhanced dialog handling, and update `SshKeyFile` functionality for password and format support.
* Remove redundant interfaces and classes related to SSH key abstractions.
* Refactor clipboard handling and server connection logic with new service abstractions, simplify view-model interactions, and update disposal patterns.
* Remove unused connection credential logic and ComboBox, update `SshKeyFormat` binding, and clean up `ConnectToServerViewModel`.
* Remove database-related code and `ApplicationSettings` logic; clean up unused views, view-models, and migrations.
* Add staging workflow for nightly builds, introduce versioning logic, and update project configuration files.
* Remove `FileStreamExtensions` and `UnixPermissions`, add `IDialogHost` for dialog handling, and update project configuration.
* Remove `FileOperations`, migrate file operations to `FileStream` constructs, add `FileSystemAnalyzer`, and refactor methods for asynchronous initialization and file handling.
* Refactor core services and view-models for enhanced asynchronous support. Transition methods to `ValueTask`, update initialization patterns, and remove synchronous file handling.
* Add SSH configuration parsing and serialization support with tests. Integrate `AddSshConfig` extension for `IConfigurationBuilder`, add `SshHostSettings` model, and refactor program configuration handling.
* Add keyed singleton support for SSH and SSHD configs, integrate `SshConfigFileService`, and enhance `MainWindowViewModel` to handle configuration dependencies. Include staging workflow in project files.
* Refactor `AuthorizedKeysFile` and `SshKeyFile` for enhanced asynchronous support, streamline file parsing and format conversion, and update related services and view-model bindings.
* Replace `KeyType` with `HashAlgorithmName` in view-models, converters, bindings, and styles for consistency and improved clarity. Remove unused `KeyType` logic.
* Refactor `KeyLocatorService` to use `ReactiveObject`, add `SshKeysCount` reactive property, and remove obsolete collection change handlers in view-models. Simplify `ItemsCount` evaluation logic.
* Remove `EditSavedServerEntry` view, view-model, and associated converters. Refactor server connection logic in views and view-models. Update `KeyLocatorService` for enhanced key deletion handling.
* Change `DirectoryCrawler` and `KeyLocatorService` lifetimes from transient to singleton for improved service consistency.
* Add `KeyType` support in `SshKeyFile`, update `KeyLocatorService` for collection change handling, and reintroduce `KeyType` in view models and styles. Refactor sorting logic and bindings accordingly.
* Add SshKeyType test coverage, simplify GetNewFromDisk implementation, and refactor DirectoryCrawler to improve async support.
* Refactor `SshKeyFile`, `KeyLocatorService`, and related components for improved asynchronous support, enhanced key format handling, and service consistency.
* Refactor `KeyLocatorService` and `SshKeyFile` for improved async handling, streamline key format conversion, and enhance semaphore-based concurrency control.
* Remove unused EF Core Design package and update dependencies to latest versions across projects for consistency.
* Remove `IDialogHost` interface and apply formatting fixes across projects for improved consistency in code style.
* Refactor multiple components to use null-safe patterns, apply code cleanup, and enhance consistency in type handling and configuration utilities.
* Add `SshKeyFilePassword` record to encapsulate password handling with encoding support, update validation binding logic, and modify settings for additional excluded files.
* Refactor `SshKeyFilePassword` for enhanced password handling, integrate secure memory management, and streamline related key file operations. Update bindings and validation logic to align with the new implementation.
* Update key file handling styles and bindings: Add styles for `SplitButton` and `MenuFlyoutPresenter`, enhance `SshKeyFullStyle` layout and bindings for better UI appearance and functionality
* Refactor `AuthorizedKey` and `AuthorizedKeysFile` for improved type safety and streamlined handling of authorized keys entries. Remove `IAuthorizedKey` and related dependencies to simplify implementation.
* Update excluded files configuration and fix connection status logic in `ConnectToServerViewModel`.
* Introduce `MessageBoxProvider` for consistent dialog operations, add supporting enums and dialog files, update service registrations, and integrate `IMessageBoxProvider` into `MainWindowViewModel`.
* Replace `MsBox.Avalonia` with `IMessageBoxProvider` across view models for consistent dialog management and refactor constructor dependencies accordingly.
* Moved Files
* Remove `BottomButtons` control and associated resources from the project.
* Integrate `AppIcon` support into window constructors for consistent window icon management, refactor `WindowBase` to handle icons and logging more appropriately.
* Introduce centralized exception handling with `ExceptionHandler`, refactor `App` initialization for dependency injection support, and enhance logging configuration.
* Remove `ISshKeyManager` interface and refactor usage to directly rely on `SshKeyManager` class. Update dependency injection registration and adjust all references to reflect the change.
* Add `ValidatedInputDialog`, `MessageBoxParams`, and `SecureInputParams` for flexible and reusable dialog components. Update `IMessageBoxProvider` and `MessageBoxProvider` to support new dialog types and integrate filename change functionality in `MainWindowViewModel`.
* Remove `IServerConnectionService` interface and refactor usage to directly rely on `ServerConnectionService` class. Update dependency injection registration and adjust all references accordingly.
* Revamp GitHub Actions workflow for streamlined nightly builds, multi-platform artifacts, and AUR package updates. Add auto-tag workflow for release merges. Update related PKGBUILDs.
* Add AppImage build and upload steps for Linux in GitHub Actions workflows
* Dynamically determine .NET version in GitHub Actions workflows, remove hardcoded values, and refactor versioning logic to use project configuration.
* Adjust XML documentation formatting in `SshKeyFilePassword` and `SshKeyFile` classes for improved consistency and clarity. Minor refactoring for field initialization ordering.
* Remove unused classes `Settings`, `SshKeyGenerateParams`, and `SshKeyGenerateParamsExtensions`. Add ReactiveUI source generators and refactor `SshKeyFile` for improved reactivity and property initialization.
* Refactor `RerunSearchAsync` in `SshKeyManager` to improve concurrency management with semaphores and enhance exception handling logic. Adjust key path handling in `WatcherOnRenamed`.
* Refactor codebase to remove redundant initializations, organize XML documentation, and standardize formatting across solution files. Simplify constructors and enhance code clarity.
* Add ReactiveUI test fixture and embedded file support in tests. Update dependencies and introduce DI-based SSH config parsing tests.
* Update dependency versions across projects: `Microsoft.Extensions.*` to 10.0.5 and `coverlet.collector` to 8.0.1.
* Introduce dedicated Avalonia UI thread for tests and ensure Dispatcher is invoked to fix threading issues. Update `ReactiveUiInitFixture` and adjust tests for proper UI thread access.
* Refactor `DirectoryCrawler` to use `IConfiguration` for handling SSH configuration. Simplify key file discovery logic and update related tests for improved parsing and validation.
* Update `DirectoryCrawler` to enhance SSH key path resolution and improve key file discovery logic. Add `ResolvePath` extension method to handle various path formats. Update tests to use embedded file provider and introduce advanced `SshConfig` binding scenarios.
* Refactor view models, views, and services for improved DI setup and consistency. Introduce `UsedImplicitly` attribute, refactor `SshKeyManager` initialization, and enhance key format handling logic.
* Remove `ClipboardService`, `IClipboardService`, and `IClipboardHost` along with associated references and configuration files.
* Refactor DI to use DryIoc, remove legacy service configuration, and update window constructors. Migrate `ConfigureServicesInternal` to `DependencyInjectionExtensions`.
* Refactor `SshKeyManager` to replace `IServiceProvider` with `IResolver` for DryIoc integration.
* Refactor SSH key management to introduce `SshKeyFileSource` for improved key source handling and simplify API usage.
* Add tooltip for disabled filename change and update `DirectoryCrawler` key file filtering logic
* Refactor `ConnectToServerViewModel` and related components to enhance SSH host configuration handling, enable preconfigured connections, and improve connection credential management.
* Refactor `AddKeyWindow` and `AddKeyWindowViewModel` for improved validation logic, key type handling, and memory management. Enhance base `ViewModel` classes with `IDisposable` and `IAsyncDisposable` support.
* Add `ApplicationSettings` feature with logging configuration, log file cleanup, and dynamic log level support. Introduces `CallerEnricher` for enhanced debugging and updates dependency injection for new view models and views.
* Remove unused interfaces `IAuthorizedKeysFile` and `IServerConnection` along with related references. Refactor `ServerConnection`, `AuthorizedKeysFile`, and view models to simplify API usage and eliminate interface dependencies.
* Refactor view models to utilize `ReactiveUI.SourceGenerators` and improve property initialization, sort handling, and resource disposal logic.
* Add "Clear Whole Cache" functionality in `ApplicationSettingsViewModel` and localize related UI text.
* Add `FileInfoWindow` and `FileInfoWindowViewModel` with DI support and update key file style bindings.
* Refactor `ConnectionCredentials` and related classes to remove `AuthType`, simplify constructor parameters, and update credential management logic.
(cherry picked from commit 7248b64)
* Add consistent XML formatting for solution file and include `auto-tag.yml` workflow
* Remove redundant sections from README: tooltips, password storage details, outdated plans, and unused dependencies.
* release v3 changes1 parent 12f3509 commit 32c869a
0 file changed
0 commit comments