Skip to content

Releases: facebook/sapling

0.2.20241202-155218+d2640f53

03 Dec 00:05
Compare
Choose a tag to compare
Pre-release
rust-remove: handle non-eden directory

Summary:
## Background

We are migrating eden remove command from Python to Rust for better error handling and code readability.

## This Diff

Implemented how we should handle the request when the user is trying to remove a non-eden directory. The handling logic is the same as the Python CLI:
- For a directory managed by Eden but not a root directory of the repo, we warn the user and do nothing.
- For a directory that is not managed by Eden, we prompt the user and go removing it after getting the permission.

Reviewed By: muirdm

Differential Revision: D65802306

fbshipit-source-id: 1e55adeef550b09da89bab83f0fc4351b8aca8c2

0.2.20240718-145624+f4e9df48

18 Jul 23:06
Compare
Choose a tag to compare

Sapling

  • Links now enabled by default for PRs in the smartlog

ISL

The full list of ISL features is here.

Community contributions

  • @horizon-blue fixed a _STACK_SECTION_START related test (#846)
  • @bolinfest got rid of an unnecessary decode() call (#862)
  • @bolinfest made it possible to _strip_stack_information() to work with \r\n (#863)
  • @rejc2 added a “follower” tag on ISL for PRs (#877)
  • @bolinfest fixed an issue where github.preserve-pull-request-description=true was adding \n to commit messages (#880)
  • @bolinfest expanded PR no. recognition support (#881)
  • @zadlg fixed a Rust compilation error (#883)
  • @randallb added a check for the websocket protocol of choice if HTTPs was being used (#886)
  • @thb-sb fixed a runtime error where it was possible for a Python symbol to not be found (#896)
  • @bolinfest made some changes to exclude the first line from body in new PRs (#899)

0.2.20240219-172743+3e819974

20 Feb 02:59
Compare
Choose a tag to compare

Sapling

  • Enable smarter merge algorithms for open source version (see ‘sl help automerge’ for more information)
  • Optionally limit the number of PRs created in each submission (#824)
  • Trim commit description from SSL (#820)
  • Fix AttributeError.name issue for Python < 3.10 (#825)
  • Avoid linkifying example URL (#813)

ISL

The full list of ISL features is here.

  • New DAG-based renderer
  • Fill blank commit messages from previous commits
  • Improvements to split UI tracking copied files
  • Fix dragging commits in edit stack being misaligned with the cursor
  • Node >= 16 is now required for running sl isl / sl web

0.2.20240116-133042+8acecb66

16 Jan 21:56
Compare
Choose a tag to compare

Sapling

  • Support ‘--amend’ for copy and rename command (link)
  • Enable cross-platform stdin listfile:pattern (link)
  • Rewrite mergestage in Rust (link)
  • Add configurable limits for files count in a commit (link)
  • Use Rust status for every operations (link)

ISL

The full list of ISL features is here.

  • Multiple improvements to Interactive Split
  • Previewing system was rewritten with several improvements, such as commits not appearing duplicated during a rebase
  • Added Bulk actions dropdown to the top bar to add actions that act on all commits at once

Community Contributions

0.2.20231113-145254+995db0d6

13 Nov 23:13
Compare
Choose a tag to compare

Below are the major changes of this release:

Sapling

  • Aside from ISL, sl now runs as a single binary on all platforms
  • New copy tracing algorithm for automatically detecting renames and resolving rename-update conflict
  • Symlink Support on Windows (requires enabling Developer Mode on Windows)
  • A new Sapling DSL for dynamically picking a merge tool per-file
  • chg was disabled on macOS
  • Fix build issues (thrift error, install-oss pep-0440 error etc)

ISL (Interactive Smartlog)

The full list of ISL changelog is here:

  • Conflict-free diff stack editing and reordering
  • Interactive Split UI, this lets you make multiple commits out of a single large commit
  • sl isl on the command line to open a dedicated OS window instead of just a browser tab
  • Many UI improvements, like Syntax highlighting, easier to drag & drop commit during rebase operations

Community Contributions

Full Changelog: 0.2.20230523-092610+f12b7eee...0.2.20231113-145254+995db0d6

0.2.20230523-092610+f12b7eee

23 May 16:50
Compare
Choose a tag to compare
  • Fixed (--no-root-relative) handling for the status command (bb37a6e)
  • Added shell completion for sl {hide, unhide, show}(9f2cfe4)

See Sapling VS Code extension changelog for changes to the sl web UI
Full Changelog: 0.2.20230426-145232+7ea1f245...0.2.20230523-092610+f12b7eee

0.2.20230426-145232+7ea1f245

26 Apr 22:39
Compare
Choose a tag to compare
  • @tomasreimers had several fixes for the ISL UI (#589, #604)
  • @skevy fixed documentation for PR command (#596)
  • @skevy fixed empty paths not being handled by dirfilter in fsmonitor (#601)
  • @vegerot fixed publicheads commits not getting set as public when cloned (#607)

Note that our version numbers changed to be compatible with PEP 440 in #606

See Sapling VS Code extension changelog for changes to the sl web UI
Full Changelog: 0.2.20230330-193452-h69692651...0.2.20230426-145232+7ea1f245

0.2.20230330-193452-h69692651

31 Mar 18:25
Compare
Choose a tag to compare

This release includes fixes in various areas:

  • @vegerot fixed a crash on macOS when the user belongs to more than 16 unix groups (#573).
  • @steveluscher improved githelp to properly include --dirs for clean command (#575).
  • @steveluscher improved Ubuntu build by including build dependencies (#576, #577).
  • Ctrl+C is now properly handled (1a697a2).

0.2.20230228-144002-h9440b05e

28 Feb 23:07
Compare
Choose a tag to compare

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.

0.2.20230124-180750-hf8cd450a

25 Jan 02:34
Compare
Choose a tag to compare

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 .