Skip to content

v0.10.0

Compare
Choose a tag to compare
@martinvonz martinvonz released this 05 Oct 00:42
· 1785 commits to main since this release

Breaking changes

  • A default revset-alias function trunk() now exists. If you previously defined
    your own trunk() alias it will continue to overwrite the built-in one.
    Check revsets.toml and revsets.md
    to understand how the function can be adapted.

New features

  • The ancestors() revset function now takes an optional depth argument
    to limit the depth of the ancestor set. For example, use jj log -r 'ancestors(@, 5) to view the last 5 commits.

  • Support for the Watchman filesystem monitor is now bundled by default. Set
    core.fsmonitor = "watchman" in your repo to enable.

  • You can now configure the set of immutable commits via
    revset-aliases.immutable_heads(). For example, set it to
    "remote_branches() | tags()" to prevent rewriting those those. Their
    ancestors are implicitly also immutable.

  • jj op log now supports --no-graph.

  • Templates now support an additional escape: \0. This will output a literal
    null byte. This may be useful for e.g.
    jj log -T 'description ++ "\0"' --no-graph to output descriptions only, but
    be able to tell where the boundaries are

  • jj now bundles a TUI tool to use as the default diff and merge editors. (The
    previous default was meld.)

  • jj split supports the --interactive flag. (This is already the default if
    no paths are provided.)

  • jj commit accepts an optional list of paths indicating a subset of files to
    include in the first commit

  • jj commit accepts the --interactive flag.

Fixed bugs

Contributors

Thanks to the people who made this release happen!