Skip to content

Commit 32c869a

Browse files
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 changes
1 parent 12f3509 commit 32c869a

0 file changed

File tree

    0 commit comments

    Comments
     (0)