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 `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.
When the login shell exports PROMPT_COMMAND (for example from
/etc/profile), the bash shell integration line keeps that export, so
`su`, a nested `bash` and zellij panes inherit "__nyaterm_prompt; ..."
without the function. They print
"bash: __nyaterm_prompt: command not found" before every prompt, and
the user's own hook sees $? = 127.
For an exported PROMPT_COMMAND, call the hook through a variable that
is not exported. Child shells then skip it and run the rest of
PROMPT_COMMAND with the real $?. A non-exported PROMPT_COMMAND is
installed exactly as before.
A full Gitee snippet could wedge cloud sync for good: the API answered 200
without storing the new snapshot file, the read-back verification then reported
a missing snapshot, and that failure was classified as non-retryable, so even
automatic checks stopped until the settings changed.
- verify gist PATCH responses so a silently dropped write or an ignored delete
surfaces as an explicit error instead of a missing-snapshot mystery
- treat a response without a files map as unknown rather than rejected
- count every file in the gist, including entries outside the current sync
root: the managed listing alone made capacity math far too optimistic
- keep the hard file limit Gitee-only, since GitHub gists have no such cap
- prune capacity before every upload path (push, recovery, legacy migration),
best effort, and only when the upload would exceed the limit, so the common
case costs one count request instead of reading every snapshot
- classify SnapshotNotAccepted/RemoteFileRejected as retryable again, and
publish CloudSyncStatus.error_code so the UI stops matching English error
prose to decide whether to offer its recovery action
- offer the capacity recovery action for gist providers only
- Added logic to detect gist capacity sync failures and introduced a recovery button in the SyncBackupTab for users to clean remote snapshots and retry the push.
- Updated internationalization files to include new strings for the recovery action and hints regarding gist capacity limits.
- Enhanced cloud sync management to prune snapshots before uploads to avoid exceeding gist file limits, improving overall sync reliability.
- Implemented tests to ensure proper functionality of the new gist handling features.
- 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 `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.
- 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`.
- 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.
- Introduced a new atomic boolean to manage file transfer availability.
- Updated clipboard advertisement methods to reflect the new file transfer logic.
- Improved handling of clipboard formats based on file transfer capabilities.
- Updated UI component to use a more descriptive translation for clipboard options.
- Added state management for pane focus mode and native fullscreen in the App component.
- Introduced keyboard shortcuts to toggle pane focus and native fullscreen.
- Updated the AppLayout and PaneWorkspace components to support the new focus mode, ensuring inactive panes remain mounted but hidden.
- Enhanced the file transfer context to handle RDP events, allowing users to paste files after RDP transfers.
- Added translations for new clipboard options and updated relevant UI components to reflect these changes.
- Improved test coverage for pane focus behavior in the PaneWorkspace component.
- Deleted the entire `ironrdp-client` and `ironrdp-connector` directories, including all associated files such as Cargo.toml, Cargo.lock, and source code.
- This cleanup removes unused components from the project, streamlining the codebase.
- Implemented `handleUploadFolderContents` to allow users to upload the contents of a selected local directory.
- Integrated the new upload option into the File Explorer context menu, toolbar, and list items.
- Enhanced error handling and user notifications for empty uploads and failures during the upload process.
- Updated relevant components to support the new upload feature, ensuring a seamless user experience.
- Increased the `sync_debounce_seconds` from 15 to 60 to improve sync performance.
- Added new fields to `CloudSyncState` for better tracking of remote validation and garbage collection attempts.
- Implemented a function to detect changes in sync settings, ensuring notifications are sent only when necessary.
- Refactored cloud sync manager to optimize settings replacement and remote check logic.
- Added tests for new functionality and validation logic.