Releases: SchoofsKelvin/vscode-sshfs
Releases · SchoofsKelvin/vscode-sshfs
Release 1.26.1
Changes
- Apply a patch to ssh2 and make use of it to fix OpenSSH 8.8+ disabling
ssh-rsa(SHA1) by default (#309) (8f62809)- Patch file in
.yarn/patchesbased on https://github.com/Eugeny/ssh2/tree/rsa-sha applied to[email protected] - The patch adds an option
convertSha1topublickeyandagentauthentication methods on top of Eugeny's modifications- When the option is present,
ssh-rsakeys will be treated asrsa-sha2-512orrsa-sha2-256, if the server supports it
- When the option is present,
- Added a flag
OPENSSH-SHA1(enabled by default) to pass thisconvertSha1flag when usingpublickeyoragentauths - Part of this change required creating a custom ssh2
authHandler(based on the built-in version) to pass the option if desired
- Patch file in
- Changed the
lastVersionextension version tracking to a newversionHistorysystem to better track bug origins (5314e21) - Fix error notifications appearing for missing Python config file (d878b78, #379)
- The
FS_NOTIFY_ERRORSflag was supposed to default to'write'for VS Code 1.56+ but defaulted totrue(i.e.'all') instead - Added
/pyproject.tomlto the ignore list (added as aconfigBasedExtensionTipsinproduct.jsonin VS Code 1.77)
- The
Release 1.26.0
Changes
- Internally we now have a
subscribeToGlobalFlagsto use up-to-date global flags (1fb7a52)- Currently, this makes it that changing the global flags can immediately have an effect for some flags
- Global flags are those defined in your User Settings or Workspace(Folder) Settings
- Mind that if you override those flags by specifying them in your SSH FS config, it'll keep using them
- Added the
DEBUG_FSflag to allow enabling detailed conditional logging insshFileSystem(76a28be, #341)- This flag will auto-update when it changes in global flags, unless it's overriden in your SSH FS config
- Mostly meant for internal debugging or helping with debugging specific user-reported issues
- Added the
DEBUG_FSRflag to allow enabing detailed conditional logging for theFileSystemRouter(7d59992)- Similar to
DEBUG_FSthis is mostly meant for internal debugging or when useful for user-reported issues - This flag will also auto-update when it changes in global flags.
- This is a singleton flag and thus unaffected by overriding it in your SSH FS configs
- Similar to
- Improved the above
DEBUG_FSflag and refactored the already-existingFS_NOTIFY_ERRORSflag (20cf037, #341)- The
FS_NOTIFY_ERRORSflag will auto-update when it changes in global flags, unless it's overriden in your SSH FS config - The
FS_NOTIFY_ERRORSflag is now a string representing a comma-separated list instead of just a boolean - While disabled by default for older VS Code versions, starting from VS Code 1.56.0 the default is
write - The
writeflag will show a notification should an error happen for a "write" operation - Write operations are:
createDirectory,writeFile,delete, andrename - Since
readDirectory,readFileandstatare disabled by default, it should prevent extension detection spam (see #341)
- The
- Added the
SHELL_CONFIGflag to force a specific remote shell configuration (5721f1c, #331) - Refactored how (and also from where) configuration files are loaded (831a247)
- The extension is now better at splitting up where it loads configs from into layers (global, workspace, ...)
- When settings change, only the appropriate layer (e.g. a workspace folder) is reloaded, instead of reloading everything
- Loading config files from the VS Code settings in remote workspaces is now supported
- All layers, including (remote) workspace folders should fully support the
sshfs.configpathssetting - Although this can change, for workspace folders, paths specified in the global/workspace settings are also scanned
- Add a new
extendconfig option that allows a config to extend one or more other configs (6eff0be, #268)- The extension will automatically detect and report missing or cyclic dependencies, skipping them
- Note that if a config tries to extend a non-existing config, it will be skipped and an error will also be shown
- Start screen of Settings UI will use the cached list of configs instead of reloading them (5900185)
- This should make navigating to the start screen (especially when navigating back and forth between configs) faster
- The Refresh button is now renamed to Reload and will still reload the configs (from disk, remote workspaces, ...)
- Add support for extending configs to the Settings UI (a5372a4, #268)
- This adds a visual editor to the Settings UI for the
extendconfig option
- This adds a visual editor to the Settings UI for the
Development changes
- Move the whole flag system from config.ts to flags.ts (11b8f05)
- Updated Yarn to version 3.5.0 (4d389f3)
- Upgrade a ton of dependencies (8909d05)
- Replace deprecated
vscewith@vscode/vsce@^2.18.0 - Upgrade TypeScript from ~4.5.5 to ~5.0.2
- Upgrade Webpack from ^5.69.1 to ^5.76.3
- Upgrade a bunch of plugins and other dependencies
- Replace deprecated
- Fix linter warnings in Markdown files and remove default webview/README.md (4a62035)
- Fix build workflow to account for incompatibility from using a new
vsceversion (6985ead) - Updated the GitHub workflows (eac8a06, #372)
- Added
issue/**to thepushandpull_requesttriggers to automatically build on these branches - The build workflow upgraded from
ubuntu-18.04toubuntu-22.04 - All actions are upgraded to a more recent version
- Caching of Yarn dependencies is now handled by
actions/setup-node - Migrated from
actions/create-releaseandactions/upload-release-assettosoftprops/action-gh-release
- Added
- Fix Webpack only listening on IPv6 instead of all interfaces + update VS Code default styles (574d466)
- Added the
FieldListand derivateFieldConfigListfield types to the Settings UI (796d1c2)
Release 1.25.0
Major change
- Updated from
[email protected]to[email protected](2e14709)- Part of this update forces me to ditch
ssh2-streamswhich played a major role for SFTP - The
ssh2package has a built-in but unexposed alternative we can more or less use directly - The
@types/ssh2is semi-outdated and has lots of inaccuracies, along with missing internal things - For this major update a
ssh2.tsreplacing@types/ssh2is added to thecommonmodule - This does pull in a lot of new fixes/features added since
[email protected]though - Some feature requests are now easier/possible to implement with these new features
- Part of this update forces me to ditch
- Add initial support for Windows OpenSSH servers (fixes #338) (9410ac2)
- This adds initial support for Command Prompt, and theoretically PowerShell (untested)
- The
REMOTE_COMMANDSis not yet supported, as it uses the pty'sttyfor cross-terminal communication - Future
REMOTE_COMMANDSsupport for PowerShell (since it can interact with named pipes) is planned - Future
REMOTE_COMMANDSsupport for Command Prompt is currently not yet planned, but might be possible - Mind that some (future) features won't work (maybe just for now, maybe forever) on Windows
New features
- Added
FS_NOTIFY_ERRORSflag to display notifications for FS errors (ddfafd5, #282) - Added a
${workingDirectory}variable that gets replaced during terminal creation (ddfafd5, #323)- This applies to both the
Terminal Commandsetting andssh-shelltask type - See the issue (#323) for why this got added and how you can use it
- This applies to both the
Changes
- Small improvements to Dropdown(WithInput) UI components (9c83b07)
- Delay and wait for loadConfigs() after logging version info (8c8b950)
- This solves a small issue/annoyance where logs regarding loading logs appear before the version logging
- When
${workingDirectory}is present in a terminal command, the extension doesn't auto-cdanymore (749a611)- Normally the extension runs
cd <workingDirectory>; <terminalCommand>or similar
- Normally the extension runs
- Auto-silence FileNotFound erors for stat (dc20709, #334)
- The extension will no longer show notification bubbles for failed
statoperations due to non-existing files
- The extension will no longer show notification bubbles for failed
Development changes
- Added
semveras dependency in preparation ofFS_NOTIFY_ERRORSflag (57b8ec6) - Pin some dependencies and in-range upgrade recursively (c7ac129)
- More specifically, we now use
typescript@~versioninstead oftypescript@^version - All dependencies are upgraded within their (package.json-specified) ranges, to get latest patches
- More specifically, we now use
- Update to Yarn 3.1.1 and TypeScript ~4.5.5 (83cf22a)
- Also ditched
@yarnpkg/plugin-versionwhich wasn't even really used in the first place
- Also ditched
- Created a
commonmodule which now holdsfileSystemConfig.tsandwebviewMessages.ts(85f7a69) - Improve webview ESLint setup, namely update
@typescript-eslint/*and remove unused plugins (2673c72) - Add prettier and its Yarn PnP SDK integration + VS Code settings (e95c16a)
Release 1.24.1
Changes
- The default
newFileModeis now0o664instead defaulting to the underlying library's0o666(af76438, #214)- This changes the permission for newly created files, defaulting to
rw-rw-r--instead ofrw-rw-rw- - While
0o664is the default umask for non-root users and0o644for root, we default to0o664regardless
- This changes the permission for newly created files, defaulting to
Development changes
- Fix/improve
map-error.jsutility (now also usesformatIdfromwebpack.plugin.js) (768bfda) - Update build process (fa3bc68)
- Build workflow broke due to using
yarn dlx vsceand anvscemajor version update requiring Node 14 - The workflow is now configured to use Node 14 instead of Node 12
vsceis now added as adevDependency, which will also result in a speedup due to Yarn caching
- Build workflow broke due to using
- The
FieldNumbercomponent in the webview now doesn't always default to22as value (00b52d7)- This component is only used for the
portfield, which now passes22toFieldNumberby default
- This component is only used for the
- Extracted checkbox CSS from
FieldCheckboxto something generic using CSS classes to allow reuse (10cfa31)- Also added
getValueClassName(): stringtoFieldBaseto allow extra classes. Defaults to"value"
- Also added
Release 1.24.0
Changes
- Set
$TERMtoxterm-256colorinstead of the defaultvt100(16ffd1e, #299) - Terminals that exit within 5 seconds should now remain open until a key is pressed (55d7216)
- Refactored the
REMOTE_COMMANDSbeta feature (#270) to use the newShellConfigsystem (b9f226e)- Commands (currently only
code) are now written to a unique folder and passed to$PATH - Commands are written in shell scripts (
#!/bin/shshebang) and should work on all shells/systems - Using
$PATHshould allow support for recursive shells, switching shells, ...
- Commands (currently only
Fixes
- Write
REMOTE_COMMANDSprofile script to separate file for each user (69c2370, #292)- Multiple users making use of this feature would use the same
/tmp/...file, resulting in permission issues
- Multiple users making use of this feature would use the same
New features
- Added a
ShellConfigsystem to support more shells regardingenvironment, home detection andREMOTE_COMMANDS(cc823c6)
Release 1.23.1
Release 1.23.0
Fixes
- Fix remote
codecommand (#267) not working without the filesystem already connected (#292) (b821bae) - Fix bug with broken connections when connections are initiated by spawning named terminals (6f6e3ad)
- Fix issue where
.bashrcechoing would result in home directory detection failing (860f65a, #294)
Changes
- Proxy hop field now actually lists all known configs to pick from, instead of "TO DO" (1f7e333, #290)
- Remote
codecommand (#267) now prompts to create an empty file for non-existing path (30c213a) - Remote
codecommand (#267) now displays a help message when not providing arguments (518e246)
Development changes
- Webpack setup has been improved quite a bit, mostly to clean up long ugly paths and make builds deterministic:
- The custom
ProblemMatcherReporterplugin is moved to/webpack.plugin.jsand renamed toWebpackPlugin - Now both webpack configs (extension and webview) make use of this plugin
- The plugin has the ability to remap module names/paths, accounting for several things:
- Paths in the global
/Yarn/Berry/folder are now displayed as/yarn/and are simplified for easier reading - Paths in the local
.yarnfolder get the same treatment as global ones, but using.yarn/as the prefix - Other paths that are located within the (config's) project are made relative to the (config's) project root
- Paths in the global
- The plugin enhances the stats printer to use the clean simplified paths instead of e.g.
../../../Yarn/etc - The plugin handles generating chunk ids (
optimization.chunkIdsoption)- Acts mostly like a simplified version of the built-in
deterministicoption - Uses the path remapping, resulting in paths not being different depending on where your global Yarn folder is
- These deterministic builds result in e.g. the same output chunk filenames
- Building the same commit on GitHub Actions or your own PC should result in e.g. the same source maps
- Acts mostly like a simplified version of the built-in
- The
excludeModulesis now configured (and better handled) by the plugin - Commits: 3d1aff3, 865969f, c121647
- The custom
- The problem matcher for the
Extension Webview - Watchtask has been simplified and fixed due to the above change (3d1aff3) - Updated Yarn to 3.0.2 (with manual git issue fix applied) (06c8e21)
- Updated TypeScript to ^4.4.3 (06c8e21)
- Added
enhance-changelog.jswhich add commits to "top-level" items in the changelog's "Unreleased" section (dce279d)
Release 1.22.0
Fixes
Development changes
- I've added a
CHANGELOG.mdfile to the repository containing the changelog for earlier versions. It'll contain already committed changes that have yet to be released. - The extension now only enters debug mode when the environment variable
VSCODE_SSHFS_DEBUGis the (case insensitive) string"true". TheExtensionContext.extensionModeprovided by Code does not influence this anymore. This is part due to #279, implemented in 05e1b69 which supersedes 48ef229.
Release 1.21.2
Release 1.21.1
NOTE: Due to an issue in OpenVSX, the extension won't be updated on OpenVSX. Affected users can still download and install the While the OpenVSX issue isn't actually fixed as far as I know, today's attempt to publish v1.21.1 to OpenVSX succeeded..vsix file manually. Extension is properly released on VS Marketplace.
Fixes:
Changes:
- Better error handling and
CHECK_HOMEflag support fortryGetHome(87d2cf8)
Development changes: