Releases: facebook/sapling
0.2.20260317-201835+0234c21f
Sapling
Important
This release contains security fixes. If you use sapling with untrusted repos, you should upgrade.
- Improved
sl statusperformance for large.gitrepos. - Linux releases now use portable binaries that target a wide range of Linux distros, not limited to just Ubuntu.
- Various other improvements and fixes.
ISL
See here.
Community contributions
-
Documentation and website
- @JamBalaya56562 replaced
@theme/CodeBlockwith triple backticks in installation docs (#1038) - @Marukome0743 added hideable sidebar to the website (#1047)
- @JamBalaya56562 replaced
-
EdenFS OSS build
-
GitHub actions
- @salmanmkc upgraded GitHub Actions to latest versions for Node 24 compatibility (#1166, #1167)
- @ajaymenon fixed reviewstack.dev deploy by removing broken Docker container dependency (#1216)
-
GitHub
pr
0.2.20250521-115337+25ed6ac4
Sapling
- Various bug fixes and improvements.
ISL
See here.
Community contributions
-
streampager
- @ilyagr made streampager work without reading config files (#1011)
- @martinvonz fixed a Rust UB in
buffer.rs(#1025) - @martinvonz upgraded outdated streampager dependencies (#1008)
-
Documentation
- @JamBalaya56562 fixed
generate-command-markdown.py --commands(#1020) - @JamBalaya56562 fixed missing code block in
pull.md(#1017) andfold.md(#1040) - @Marukome0743 improved README (#1046)
- @Marukome0743 updated organization name (#1039)
- @matt-fff fixed typos in
signing.md(#1010) - @robinbrandt fixed typos in the scale docs (#1083)
- @trevorm4 imporved reviewstack README (#1080)
- @vincent-4 added
prto help output (#1022) - @vincent-4 fixed various typos (#1035)
- @JamBalaya56562 fixed
-
ReviewStack and
pr -
Development
- @stepancheg made
PYTHON_SYS_EXECUTABLEoptional (#1034)
- @stepancheg made
0.2.20241203-120811+a2174689
Sapling
- Sapling now supports
.gitmode
ISL
See here.
Community contributions
- @alex-statsig fixed ISL for GitHub Enterprise without merge queue support (#926)
- @daranday added arm64 Ubuntu 20.04 and 22.04 images useful for Raspberry Pi developers (#933)
- @vegerot updated scm-prompt for
.gitmode and betterchpwdhook support (#921, #985) - @vegerot added
corepacksupport for better package management (#935) - @vegerot improved
ghstart time by settingTCELL_MINIMIZE=1(#961) - @markbhasawut improved Python 3.12 compatibility by revising the lazy import blocklist (#977)
0.2.20240718-145624+f4e9df48
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_STARTrelated 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=truewas adding\nto 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
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
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
Below are the major changes of this release:
Sapling
- Aside from ISL,
slnow 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
chgwas 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 islon 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
- @ahornby fix many issues about EdenFS build and ReviewStack (link)
- @alex-statsig fix many issues about ISL and ReviewStack (link)
- @ktf avoids display issues with multiple hunks on macOS (#755)
- @vegerot fix Makefile target-specific variable values (#741)
- @touilleMan fix subcommands list in github extension's sl pr -h command (#737)
- @vegerot fix version number when building with old Sapling (#712)
- @vegerot set publicheads to remote HEAD when cloning (#607)
- @0o001 fix function names typo (#705)
- @Flameeyes use my-fork consistently (#702)
- @Vertexwahn improve doc (#677)
- @skevy add “goto” zsh completion (#666)
- @tomasreimers updates repository.ts (#604)
- @skevy fix empty path in dirfilter (#601)
- @skevy fix subcommands in pr.md (#596)
Full Changelog: 0.2.20230523-092610+f12b7eee...0.2.20231113-145254+995db0d6
0.2.20230523-092610+f12b7eee
- 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
- @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
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
githelpto properly include--dirsforcleancommand (#575). - @steveluscher improved Ubuntu build by including build dependencies (#576, #577).
- Ctrl+C is now properly handled (1a697a2).