- Added new entries for RDP client selection, including options for built-in RDP and Windows Remote Desktop across multiple languages.
- Introduced descriptions for default RDP client settings and connection handling in English, Korean, Simplified Chinese, and Traditional Chinese.
- Enhanced user experience by providing clearer options for opening connections with specified clients.
- Added options for selecting between built-in RDP and Windows Remote Desktop in the settings and connection menus.
- Updated connection handling to respect user preferences for RDP client mode during connection attempts.
- Introduced context menu actions for opening RDP connections with specified client modes.
- Enhanced documentation for RDP session types to clarify client selection behavior.
- Added tests to ensure correct behavior of RDP client mode selection and connection handling across different platforms.
- Simplified atomic operations in SessionCommandQueueMetrics by replacing fetch_update with custom compare-exchange loops for better clarity and performance.
- Added new utility functions for saturating atomic addition and subtraction for both usize and u64 types.
- Introduced tests to ensure that counters saturate correctly at their limits in both session command metrics and terminal presentation step counters.
- Added new functions for inserting tabs and restoring layouts in terminal windows.
- Implemented tests to verify the preservation of tab order and layout after insertion and restoration.
- Updated serialization logic to ensure tab indexes match the order in which they are opened.
- Improved test coverage for terminal window persistence scenarios.
- Updated `release_metadata` function to support manual testing from the main branch without publishing.
- Added tests to verify behavior for manual main runs, tag releases, and restrictions on other branches.
- Modified workflow to conditionally publish images based on the event type and added logging for manual test results.
- Enhanced documentation to clarify manual testing procedures and workflow behavior.
- Added a GitHub Actions workflow for building and releasing the web application on version tag pushes.
- Introduced Python and JavaScript scripts for release metadata generation, validation, and smoke testing of the web release image.
- Updated .gitignore to include new artifacts and Python cache directories.
- Created Docker Compose configuration for deploying the web application with environment variable management.
- Enhanced documentation for deployment instructions and usage of the official web release image.
- Removed NYATERM_WEB_PUBLIC_URL from docker-compose.yml and related files, replacing it with NYATERM_WEB_BASE_PATH for improved path management.
- Adjusted Dockerfile and README to reflect changes in environment variable usage.
- Enhanced validation logic in auth module to support multiple host configurations without a public URL.
- Updated tests to ensure compatibility with the new base path configuration.
- Expanded development commands for frontend and backend, including new build and test commands.
- Added detailed instructions for web deployment and server management.
- Improved organization of commands for better clarity and usability.
- Updated AIAssistantPanel to include savedGroups and savedConnections in the app state.
- Added tests to validate the integration of selected connection metadata and runtime profiles in AI chat requests.
- Refactored buildAIContext to support new group and session information, ensuring sensitive data is redacted before processing.
- Introduced new types and context fields in AIContext to accommodate additional metadata for connections.
Added a new `useSecretListSorting` hook to manage the drag-and-drop functionality for reordering SSH keys and passwords. Updated the `KeyManagementTab` and `PasswordManagementTab` components to utilize this hook, allowing users to reorder entries visually. Introduced sort_order property to both SshKey and SavedAccount types to maintain the order of entries. Added tests to ensure the sorting functionality works as expected.
Updated the socket loop to read control frames and heartbeats more effectively, ensuring buffered terminal output is prioritized during backend cancellations. Introduced new logic for handling continuous output commands in the Echo struct, allowing for better management of session detachment during abrupt transport losses. Enhanced test coverage for continuous output scenarios to validate session behavior under network disruptions.
Introduced a new utility function, gotoLogin, to handle login navigation with retry logic for network changes. Updated existing tests to utilize this function, enhancing stability during login processes. Removed direct page.goto calls in favor of the new method.
Deleted the web audit script and removed associated commands from package.json and CI workflow to streamline the project and eliminate unused functionality.
Deleted outdated files related to plugin development, validation, and GPU plugin records to streamline documentation and focus on current implementation.
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.
Persist server keys only after authenticated RA2 and RFB initialization, guarded against cancellation and stale generations. Preserve owner routing through creation, restoration, and reconnect, and clear resolved verification prompts.
Keep the compatible RSA range, honor the configured 8192-bit maximum, support both documented and TigerVNC random lengths, and add protocol, storage, and frontend regressions.
- Updated the PowerShell prompt initialization to better manage virtual environment prompts, ensuring that the original prompt is preserved and restored correctly.
- Added a new test to validate that the virtual environment prompt survives idle repairs and deactivation, preventing recursive prompt issues.
- Enhanced the prompt wrapper logic to avoid cycles when dealing with shared delegates, improving overall stability.
- Introduced `useAppWindowEvents` hook to manage cross-window events, including session creation and security prompts.
- Added `useAssetMonitoringCache` hook for efficient handling of asset monitoring data, ensuring snapshots are managed correctly during session lifecycle.
- Implemented `useConnectAfterEdit` hook to streamline session reconnections after edits, improving user experience.
- Created comprehensive tests for the new hooks to validate functionality and ensure reliability in various scenarios.
- Enhanced the useNetworkHistory hook to manage live session IDs, allowing for the eviction of closed sessions while retaining live history.
- Updated the useRemoteStats hook to incorporate live session management, ensuring that only active sessions are monitored and stale data is properly handled.
- Added tests to validate the behavior of session eviction and caching, ensuring that closed sessions do not affect live data retrieval.
- Added caching mechanism for remote stats using a Map to store session data, improving performance and reducing unnecessary fetches.
- Implemented tests to validate session ownership behavior, ensuring cached stats are restored correctly during session switches and polling only occurs for active sessions.
- Enhanced handling of manual refreshes to prevent stale data from affecting new session states.
- Implemented the QuickCommandEditor component for enhanced command input with undo/redo functionality.
- Added unit tests to validate selection preservation, external value handling, and proper rendering in StrictMode.
- Removed the deprecated QuickCommandScriptEditor from QuickCommandPage and integrated QuickCommandEditor for a more streamlined user experience.
- Introduced `build_initial_agent_conversation` function to construct the initial conversation with prior messages, ensuring context is maintained across sessions.
- Implemented logic to filter and limit history messages based on session ID and specified history turns.
- Updated `run_agent_stream` to utilize the new conversation building function, improving the handling of user input and assistant responses.
- Added unit tests to validate the correct restoration of previous turns and session-specific history management.
- Added support for reading and expanding Windows environment variables from the registry.
- Introduced `RegistryEnvValue` struct to manage registry values and their expandability.
- Implemented `reg_value_to_env` and `expand_environment_value` functions for converting registry values to environment variables and expanding them recursively.
- Enhanced `merge_windows_env` function to merge system and user environment variables, ensuring proper handling of expandable values.
- Updated the environment retrieval logic to utilize the new functions, improving compatibility with Windows environment management.
- Added `paneId` to `PendingTabCreation` and updated related functions to handle recording scope IDs for various session types.
- Implemented logic to finish recording scopes when sessions are disconnected or finalized, ensuring proper resource management.
- Updated session creation functions to accept and utilize `recordingScopeId`, improving the integration of recording features across different session types.
- Enhanced tests to validate the new recording scope functionality and ensure isolated pane behavior during session management.
- Introduced `TerminalOutputPressureTracker` to monitor output pressure and manage performance modes based on backlog and burst conditions.
- Added logic to handle long lines and wrapped lines efficiently, preventing excessive processing.
- Updated `XTerminal` and related components to integrate output pressure tracking, ensuring smoother terminal performance under load.
- Added tests for new functionality to validate output pressure detection and logical line processing.
- Introduced `shell_available` field in `AutoRemoteFs` and `SftpBackend` to manage shell command execution availability.
- Updated SFTP command execution to return an error if shell commands are attempted in SFTP-only sessions.
- Enhanced logging for SFTP directory read operations and identity resolution processes.
- Added a new constant for SFTP execution timeout to improve command handling.
- Refactored `buildZmodemReceiveCommand` to include control escaping options for overwrite and skip modes.
- Introduced new tests for `buildZmodemReceiveCommand` to validate command generation.
- Updated ZMODEM header and transmission logic to support control escaping, ensuring proper handling of control characters during transmission.
- Added tests to verify control escaping functionality in the ZMODEM protocol.
- Added `sendSessionBinaryInputWithSync` function to broadcast binary input to sync peers.
- Updated `XTerminal` component to utilize the new function for handling binary input with peer synchronization.
- Enhanced tests to verify the correct broadcasting of binary input to multiple peers without text bookkeeping.
- Introduced `escape_telnet_application_data` function to handle IAC byte escaping for telnet transport.
- Added tests for the new escaping functionality to ensure proper data handling in telnet sessions.
- Implemented `sendSessionBinaryInput` function to send binary data to terminal sessions.
- Enhanced `XTerminal` component to handle binary input events, ensuring proper data transmission.
- Updated session commands to support raw data writing, allowing for better handling of binary inputs.
- Added tests for binary input functionality to ensure accurate data processing without text bookkeeping.
- Added the `clearTerminalAll` function to clear the terminal's output while preserving cursor position and handling shell redraws.
- Updated the `XTerminal` component to utilize `clearTerminalAll` for resetting the terminal state.
- Introduced tests to verify the functionality of `clearTerminalAll`, ensuring it clears scrollback without altering the CMD cursor row and requests redraws for shells that handle Ctrl+L.
- Updated the `create_gcc_blocks` function to change the attribute from `#[expect(single_use_lifetimes)]` to `#[allow(single_use_lifetimes)]`, addressing stability concerns with anonymous lifetimes in `impl Trait`.
- Updated the FileExplorer and FileExplorerEntryContextMenu components to include new terminal action icons.
- Replaced existing icons with MdTerminal, MdFolderOpen, and MdOpenInNew for improved visual representation of terminal functionalities.
- Enhanced context menu options for entering directories and opening them in new terminals, improving user experience.
- Introduced new translation keys related to terminal actions, including copying information, entering directories, and opening directories in new terminals.
- Updated English, Korean, Simplified Chinese, and Traditional Chinese localization files to enhance user experience with terminal functionalities.
- Added functionality to open a specified directory in a new terminal session from the file explorer.
- Introduced new callbacks for handling directory changes and terminal commands.
- Enhanced context menu options for directory actions, including entering directories and opening them in new terminals.
- Updated relevant components and tests to support the new directory navigation features.
- Introduced new translation keys related to ConPTY functionality in English, Korean, Simplified Chinese, and Traditional Chinese.
- Enhanced localization to support the recently integrated bundled ConPTY features, improving user experience across different languages.
- Added scripts to prepare and verify the Microsoft ConPTY package for Windows.
- Updated build workflows to include checks for bundled ConPTY in installers.
- Enhanced application support info to display ConPTY status and version.
- Modified the portable updater to handle ConPTY files during updates.
- Updated documentation to reflect changes in ConPTY usage and requirements.
- Introduced tests for ConPTY backend functionality to ensure reliability.
- Added new translation keys for import dialog titles and backup restore confirmations in English, Korean, Simplified Chinese, and Traditional Chinese.
- Enhanced user guidance with clearer descriptions for session import and backup restoration processes.