All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
- Issue a "minor" issue that prevented you from automatically publishing a
major
version on save
- Updated VSCode dependency to the latest version (^1.56.0). Hopefully this will resolve some of the compatibility issues e.g. #142.
- Issue this issue, where relative paths in broke
- Resolved NPM Dependency Security issues
- SPGo will display alerts related to editing checked-in files in a modal dialog so that This issue does not continue to be a poor user experience.
- Completed a major refactor of the SPGo command set. I've hated the implementation now for 4 years and it felt good to clean this up.
- A long over-due renaming of
master
branch tomain
- Support for Addin-only authentication, so that you have another work-around for MFA.
- Improved error logging to add more exception detail to the extension output window.
- I found (and fixed) another corner-case for This issue.
- This issue which caused an error populating the local workspace when specifying a glob pattern ending with
.
in theremoteFolders
property.
- the Populate Workspace command now accepts individual files as parameters.
- Performance Enhancement:
spgo.json
configuration files are now cached by workspace folder. No need to reload from disk every time. - To resolve this issue, I have adopted the
context.workspaceState
object for storing credential data locally (and still securely).
- The ability to publish files from any directory in the local Workspace, not just from
src
. Documentation here. Thanks to everyone for the great feedback in this issue.
- Better documentation for working with multiple workspaces.
- Better documentation for working with SubSites.
- Fixed an issue where running commands from the palette were not working for many file-scoped commands.
- Support for retrieving and working with files from any level in a site collection (e.g. Root Site Collection, and SubSites). See here for more details.
- Fixed an issue where error detail was not being correctly written to the SPGo output logs for a certain class of SharePoint errors.
- This issue where the
Publish File
andConfigure Workspace
commands would fail under certain conditions.
- Support for multi-root workspaces. This involved a major change to the SPGo architecture for managing configuration and will allow me to support working with Sites under the Site Collection Root in the next release. Please see the documentation for more.
- [Command] Get Server Version. A context menu command and shortcut to automatically get the server version of a file. Keyboard shortcut:
alt+shift+g
. Great idea mesh7 and mlung1
- Started refactoring the urlHelper class to be more internally consistent, and cleaned up packaging in
package.json
. Refactoring is good for the soul. - Updated the
ThirdPartyNotices.txt
file with new OS dependencies.
- This issue where special characters were not URL decoded correctly, because I apparently still fail CS 101 after 20 years of doing this.
- Re-enabled bundling. Extension should load more quickly.
- These issues which prevented users from successfully working with the SP root web in the root site collection.
- Summoned the spirit of 1776 to free SPGo from VSCode Packaging and dependency errors.
- [Command]
SPGO> Copy Absolute Url
- Copies the absolute URL of the file on the server. - [Command]
SPGO> Copy Relative Url
- Copies the relative URL of the file on the server. - Big thank you to CPritch for developing both of these commands for SPGo and being SPGo's first community submission!
- Started bundling SPGo for better performance.
- Resolved this issue with file comparison not working.
- Regex Support for all file-based commands, e.g Retrieve Folder, Populate Workspace.
- Updated the
Build Locally
documentation page to include instructions for f5 support in VSCode.
- This issue by applying a more OS-friendly approach to parsing the
sourceDirectory
property inspgo.jason
. - Multiple bug-fixes from downstream dependencies.
- Massive code cleanup, spelling mistakes fixed, linting, consistency.
- Better documentation for MFA. Updated documentation here.
- Increased the amount of data logged when an error or exception occurs.
- HTML escaped characters in filenames will now be handled properly. example:
Style%20Library
in theremoteFolders
property will no longer cause a download error. - This error where I was not matching files against the proper root of a site. Also my first Pull request to one of the OS packages I depend on to make SPGo work!
- Resolved a security issue with dependencies of the [email protected] package.
- Running any SPGo-based command will now activate SPGo, or prompt you to configure a local workspace if no
spgo.json
config file is present. Great UX enhancement idea via email request.
- This Issue where SPGo did not consistently apply the correct auth headers for NTLM + www Auth, which did consistently annoying users.
- This Other Issue where SPGo was unable to download files outside of folders. Really I didn't do much outside of type "npm update", as the heavy lifting was done by @koltyakov. THANKS!
- This Other, Other, Issue where json files without json extensions did not properly download. Again, thanks to @koltyakov for providing a fix via his great sppull library!
- Support for NTLM v2 authentication, via node-sp-auth package upgrade
- Resolved an issue with file names in packaging. strictly cased file systems should be able to run SPGo without issue.
- Integrated cpass, allowing users to store credentials for each SharePoint site, removing the need to always reenter creds when launching SPGo. Issue 47
- The
SPGo> Publish a major version of the current file
andSPGo> Publish a major version of the current file
commands now works at the folder level. All other context menu items will gracefully fail with a message that they do not yet support operations at the folder-level.
- Found/fixed another Glob issue, related to globstar searches (e.g.
/directory/**/*.*
), hopefully resolving all cases of Issue 46 - Better URL concatenation prevents double-slashes when setting a SharePoint site URL ending in a slash, which resolves Issue 50
- Delete files from SharePoint (plus your local file system) using the
SPGo: Publish local workspace
command.- Inspiration: this issue from GitHub.
- This Issue opened a number of Glob->Caml related issues. I've resolved as many of them as I could find.
- Continued Improving Unix/Linux support for SPGo. Authoring SP customizations from Ubuntu; what a world we live in!
- Unix-related Issues.
- A packaging issue which prevented dependencies from being resolved.
- Unix support! Resolved This Request for Ubuntu support. OK, it sorta sounds like a bug, but really this is the first time I've tried building SharePoint solutions in a Unix environment.
- Better warnings/errors for bad passwords and checked-out files.
- This request from Github will now allow you to specify a default check-in message using the
checkInMessage
config property inSPGo.json
- This other request from Github will now allow you to manually reload config data from
SPGo.json
using the commandSPGO> Reload Configuration
or the shortcut<alt> + r, <alt> + c
- An issue where Git integration caused unnecessary error messages in the SPGo output file
- You will now be prompted to enter a check-in message when you set "Publish a Major|Minor" Version" as your default save action.
- Refactored our core promise chain to properly, and most-importantly: DRY-ly, handle errors. Errors should consistently log and the progress bar will once again cease its endless spinning.
- Glob support for retrieving files (e.g. /SiteAssets/., /SiteAssets/*.css)
- Resolved the final dependency issue, #27 & #30, preventing SPGo from loading. Root cause was an issue with NPM resolving dependencies.
- SPGo now supports Germany, China, and the US Government's private Office 365 deployments! Not so private now, huh?!?
- Resolved a visual issue where a glob pattern matching 0 items would cause the progress spinner to spin endlessly.
- Resolved a number of dependency errors and version incompatibilities between SPGo, TypeScript, VSCode and various Typings.
- Glob file management for uploads using the
SPGo: Publish local workspace
command.- Inspiration: this issue from GitHub.
- Unit Tests! They're all the rage these days.
- By Popular demand, all folders specified in the
remoteFolders
configuration property now respect glob formatting. If you want to download a folder and all subfolders, make sure to append**/*.*
to all existing folder entries. - Note: Glob support is ongoing development. File masking for remote file download is still in development.
- Security issue with dependency:
marked
- Custom commit messages for publishing files and workspace.
- Cleaned up Changelog + Readme visual layouts.
- This issue from Github which prevented authentication when users specified NTLM.
- This issue from Github which prevented file synchronization on save when users selected "SaveOnly" as the publishing scope.
- Integrated VSCode's file comparison tools. File compare can now be used:
- via the treeview context menu - right click on a file and compare to server.
- when checking out a file - if the current server version and your local copy of a file are different, you will be prompted to view both files in a compare window.
- Refactored File Check in/out: Now you can manage binary files as well as text files through SPGo.
- Reduced memory pressure with File checkout.
- Refactored Http error handling to provide a consistent user experience and DRY up a bunch of code. I'm only 80% happy with the current system, so expect more updates here in the future.
- Random testing showed that a publishing type of
None
failed in keeping its promise to not upload your file.
- You will now receive an error messages when attempting to edit or check out a file that another user has already checked out.
- Resolved This issue from Github - Better handling for folder casing and managing files in root site collections.
- Resolved This other issue from Github wherein we handle non-existent folders more gracefully when populating a local workspace.
- Current file status (Checked in | Checked out) now displayed in the VS Code footer.
- Added support for Forms authentication.
- Added support for ADFS authentication.
- Enhanced support for NTLM authentication.
- Refactored the command objects and much of the File Service/Gateway code to be more Typescripty.
- Changelog dates were a month off. And you thought you WERE writing SharePoint code in the future!
- Better bad credential management. Was bad, now better.
- Resolved This issue from Github - When an error (or manual cancellation by the user) occurs during workspace configuration, SPGo will no properly handle an empty config file.
- Resolved This other issue from Github - Authentication issues when using Multi Auth Site (NTLM + Forms).
- Resolved This other, other issue from Github - When an error or cancellation causes an empty SPGo.json file to be created, SPGo will now properly recreate the json config on a subsequent use of the
>SPGo: Configure Workspace
command.
- File Management (Publish, Check out, Undo check out) added as context menu items to
- Logged Messages, Warnings, and Errors are now color coded for better readability.
- Lots of code cleanup.
- Our first Open Issue on Github! - Consequently our first resolved issue on Github. SPGo will now properly retrieve files from the root Site Collection of a SharePoint Web Application.
- Entering incorrect credentials will no longer cause the progress spinner to spin endlessly, robbing it of its one joy in life.
- [Command] Publish local workspace - publishes all local files to SharePoint.
- [Command] SPGo: Discard check out - Discard the current file check-out and revert server file to the previous version.
- Added some shine to this thing! - Progress spinner rendered to window frame during server activity.
- renamed "Synchronize files" to Populate local workspace
- Readme.md typos (I need type checking assistance for capital letters!)
- Publish Minor version of a file via menu or hotkey
- Synchronize files now reports success on completion.
- Synchronize Folders works now, regardless of which publish type a user has specified.
- CHANGELOG.md schema alignment
- Language support for Master Pages (.master)
- New Publishing Setting: "Save & continue Editing" - Save the file to the server, but do not publish.
- [Command] Check out the current file from the server.
- Better output logging: activity start and finish.
- Readme.md typos
- [Command] Configure local workspace
- [Command] Reset SharePoint session credentials
- [Command] Publish file to SharePoint
- [Command] Retrieve the contents of a specified folder from SharePoint
- [Command] Retrieve the contents of multiple folders from SharePoint (Synchronize)
- Automatically save|publish|check-in current file on save action
- Initial project documentation (Changelog.md, Readme.md, LICENCE.txt)