Skip to main content

Release notes

See Sapling VS Code extension changelog for changes to the sl web UI.

Feb 28, 2023

This release mainly brings better file move detection as well as various improvements to the sl pr submit command

  • Added file moves detection for sl diff.
  • @discentem added a config option to disable the ReviewStack message in PRs created by sl pr submit (#427). The ReviewStack message is auto disabled for single-commit stack.
  • Fixed "mark landed PRs" hook to work when sl not in PATH (71d6e67)
  • Fixed sl pr submit to not try to update closed PRs (5a354f7)
  • Fixed sl pr submit to use "overlapping" PR strategy by default (a050359)
  • Fix sl pr submit crash using non-placeholder issue approach (18a1987)
  • @vegerot added and improved shell completion and prompt (#369 #349 #348).
  • @vegerot added support for sl init --git on a non-empty directory.
  • Fixed not being able to launch sl web just after building with make oss.

Jan 24, 2023

This release focuses on bug fixes and improvements around the pr and ghstack commands.

  • Fixed an issue where sl pr list did not work correctly in combination with chg (a1187e8).
  • @discentem (BK) Updated sl pr pull to throw an appropriate error if no args were specified (#357).
  • Reverted the behavior introduced in the previous release that introduced the practice of using placeholder issues when creating GitHub pull requests. While this approach made it possible to create pull requests in parallel and had desirable guarantees with respect to PR numbers and branch names, it turned out to have a number of downsides that outweighed the benefits, as explained in 7ce516d .
  • @discentem (BK) Fixed a bug where sl clone silently failed for some repositories (#375) with (#386).
  • Added a PR revset (4720a2e). Now commands such as sl goto pr123 , sl log -r PR456 should work, even without having to manually download some pull request. Using sl pr pull is still necessary, however, if one wants to get the most recent version of some PR.
  • Fix sl ghstack land to properly rebase, avoiding spurious "non-fast forward" push errors (ebbe7d8), resolving #333 .

Dec 22, 2022

This release focuses on correct issues around handling submodules as well as various usability/workflow improvements.

  • We made a number of improvements to working in repos with submodules:
    • Rebasing past an update to a submodule no longer adds the submodule change to the bottom of the stack that was rebased: 2f0f0fd
    • Rebasing a stack that contains a submodule change will preserve the change in the destination if the destination does not change the submodules: 1f5424d
    • Rebasing a stack with a conflicting submodule change no longer crashes: 2b94b6f
  • Improvements to the sl pr command:
    • You must now specify sl pr submit explicitly: submit is no longer the default subcommand for sl pr, but s can be used as an alias for submit: 56b5e3e
    • The sl pr submit command now supports a --draft flag: 6e9c3d7
    • New sl pr pull subcommand: if you use sl pr submit to create a stack of pull requests, now you can use sl pr pull to import the stack back into your working copy: d09d598
    • New sl pr list subcommand that mirrors the functionality of gh pr list: 8f0a657
    • Experimental new command for creating stacks: sl -c github.pr_workflow=single pr submit. See #302 and 166e264 for details.
    • sl pr submit now appends the stack information to the end of the pull request body instead of prepending it to the top: 8910d18
    • The branch name for a PR created by sl pr submit is now guaranteed to match the PR number: e77e67b
  • Improvements to commands involving remote names and bookmarks:
    • SCP-style URIs (such as git@github.com:git/git-reference) are now supported for remote names: 67fa848
    • sl clone --git <URL> --updaterev <branch/commit> can now be used to clone a specific branch or commit: 9804c66
    • sl rebase -b was reworked for better selecting branching points by avoiding public commits (reverse rebase now works): 96b767e
    • sl bookmark --remote can be used to list remote branches. Further, sl bookmark --remote-path my-fork --remote tags will list tags from remote myfork:
    • e8f57d7
  • Removed a dependency on gdbm in the Python code, that was causing crashes for some users: cfbb6a2