Verify Store packages against pinned Ed25519 keys and catalog metadata, persist installation provenance, and add Marketplace review and installation UI while preserving unsigned local packages.
Bundle standalone plugin authoring tools and add a six-platform CLI packaging workflow. Official key initialization and protected signing environment setup remain separate rollout steps.
- Added support for handling MCP session open requests, including the ability to respond to session creation with success or error messages.
- Introduced new permission modes for AI interactions, including "full_access", and updated the permission handling logic to accommodate these changes.
- Refactored the AiPermissionSelect component to manage permission modes more effectively and added corresponding tests to ensure functionality.
- Updated translations for new permission modes and improved the UI to reflect changes in session handling.
- Added `useMcpActiveSession` hook to manage and report the active MCP session ID.
- Integrated the hook into the main `App` component to ensure active session updates.
- Created tests for the `useMcpActiveSession` hook to validate session reporting behavior.
- Introduced `report_mcp_active_session` command in the Tauri backend to handle session updates from the frontend.
- Updated MCP tool definitions to include new capabilities and ensure proper session management.
- Added the McpApprovalHost component to handle external MCP approval requests, enhancing user interaction with external tools.
- Updated the App component to include the McpApprovalHost, ensuring it is rendered within the application layout.
- Introduced external MCP settings in the AiTab component, allowing users to configure MCP options such as enabling/disabling and permission modes.
- Implemented state management for MCP runtime status and client configurations, improving the overall functionality and user experience.
- Added default settings for external MCP in the AI settings module, ensuring a consistent initial configuration.
- Moved `russh-sftp` to the vendor directory and updated its path in `Cargo.toml`.
- Added new files for `russh-sftp`, including its `Cargo.toml`, `.gitignore`, and various source files for serialization, deserialization, and error handling.
- Implemented a basic structure for the SFTP client and server functionalities, enhancing the overall SSH file transfer capabilities.
- Introduced error handling and utility functions to support the new SFTP features.
- Implemented `symlink_openssh` method in `RawSftpSession` and `SftpSession` to create symlinks using OpenSSH's argument order.
- Updated `create_symlink` in `SftpBackend` to utilize the new OpenSSH-compatible method.
- Enhanced directory listing functions in `ScpEnhancedBackend` and `ScpNormalBackend` to correctly handle symlink checks and path formatting.
- Introduced `remote_dir_listing_path` utility function to standardize directory path handling.
- Introduced a new benchmark for upload performance using Criterion.
- Updated the `Limits` struct to derive `PartialEq` and `Eq` for better comparison.
- Added methods to `SftpSession` for retrieving server-advertised limits and effective maximum packet length.
- Implemented a new `read_at` method in the `File` struct to read data at a specific offset without altering the stream position.
- Enhanced `TransferController` with a method to update total size and item count for improved transfer tracking.
- Added a new `russh-sftp` crate for SFTP functionality, including client and server implementations.
- Implemented serialization and deserialization for SFTP packets.
- Created error handling mechanisms specific to SFTP operations.
- Established a modular structure for handling SFTP commands and responses.
- Included utility functions for reading packets and managing session limits.
- Added support for various SFTP extensions such as `limits@openssh.com` and `fsync@openssh.com`.
- Enhanced the overall architecture for better maintainability and extensibility.
- Revised the description of the main package to better reflect its purpose as a modern remote terminal workspace.
- Updated the edition field in both the main package and the otp crate to 2024 for compatibility with the latest Rust features.
- Added safety comments in runtime.rs for clarity on environment variable settings during app startup.
- Simplified reference handling in zmodem.rs and io.rs for improved code readability.
This commit replaces all instances of "Dragonfly" with "NyaTerm" in various files, including documentation, configuration, and UI elements. The changes ensure consistency in branding and improve clarity for users transitioning from the previous version. Additionally, updates to the changelog and README reflect the new application name and its features.