Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

jj 0.9.0 #141625

Merged
merged 2 commits into from
Sep 6, 2023
Merged

jj 0.9.0 #141625

merged 2 commits into from
Sep 6, 2023

Conversation

chenrui333
Copy link
Member

Created by brew bump


Created with brew bump-formula-pr.

release notes
### Breaking changes
  • The minimum supported Rust version (MSRV) is now 1.71.0.

  • The storage format of branches, tags, and git refs has changed. Newly-stored
    repository data will no longer be loadable by older binaries.

  • The : revset operator is deprecated. Use :: instead. We plan to delete the
    : form in jj 0.15+.

  • The --allow-large-revsets flag for jj rebase and jj new was replaced by
    a all: before the revset. For example, use jj rebase -d 'all:foo-'
    instead of jj rebase --allow-large-revsets -d 'foo-'.

  • The --allow-large-revsets flag for jj rebase and jj new can no longer be
    used for allowing duplicate destinations. Include the potential duplicates
    in a single expression instead (e.g. jj new 'all:x|y').

  • The push.branch-prefix option was renamed to git.push-branch-prefix.

  • The default editor on Windows is now Notepad instead of pico.

  • jj will fail attempts to snapshot new files larger than 1MiB by default. This behavior
    can be customized with the snapshot.max-new-file-size config option.

  • Author and committer signatures now use empty strings to represent unset
    names and email addresses. The author/committer template keywords and
    methods also return empty strings.
    Older binaries may not warn user when attempting to git push commits
    with such signatures.

  • In revsets, the working-copy or remote symbols (such as @, workspace_id@,
    and branch@remote) can no longer be quoted as a unit. If a workspace or
    branch name contains whitespace, quote the name like "branch name"@remote.
    Also, these symbols will not be resolved as revset aliases or function
    parameters. For example, author(foo@) is now an error, and the revset alias
    'revset-aliases.foo@' = '@' will be failed to parse.

  • The root revset symbol has been converted to function root().

  • The ..x revset is now evaluated to root()..x, which means the root commit
    is no longer included.

  • jj git push will now push all branches in the range remote_branches()..@
    instead of only branches pointing to @ or @-.

  • It's no longer allowed to create a Git remote named "git". Use jj git remote rename to rename the existing remote.
    #1690

  • Revset expression like origin/main will no longer resolve to a
    remote-tracking branch. Use main@origin instead.

New features

  • Default template for jj log now does not show irrelevant information
    (timestamp, empty, message placeholder etc.) about the root commit.

  • Commit templates now support the root keyword, which is true for the root
    commit and false for every other commit.

  • jj init --git-repo now works with bare repositories.

  • jj config edit --user and jj config set --user will now pick a default
    config location if no existing file is found, potentially creating parent directories.

  • jj log output is now topologically grouped.
    #242

  • jj git clone now supports the --colocate flag to create the git repo
    in the same directory as the jj repo.

  • jj restore gained a new option --changes-in to restore files
    from a merge revision's parents. This undoes the changes that jj diff -r
    would show.

  • jj diff/log now supports --tool <name> option to generate diffs by
    external program. For configuration, see the documentation.
    #1886

  • A new experimental diff editor meld-3 is introduced that sets up Meld to
    allow you to see both sides of the original diff while editing. This can be
    used with jj split, jj move -i, etc.

  • jj log/obslog/op log now supports --limit N option to show the first
    N entries.

  • Added the ui.paginate option to enable/disable pager usage in commands

  • jj checkout/jj describe/jj commit/jj new/jj squash can take repeated
    -m/--message arguments. Each passed message will be combined into paragraphs
    (separated by a blank line)

  • It is now possible to set a default description using the new
    ui.default-description option, to use when describing changes with an empty
    description.

  • jj split will now leave the description empty on the second part if the
    description was empty on the input commit.

  • branches()/remote_branches()/author()/committer()/description()
    revsets now support exact matching. For example, branch(exact:main)
    selects the branch named "main", but not "maint". description(exact:"")
    selects commits whose description is empty.

  • Revsets gained a new function mine() that aliases author(exact:"your_email").

  • Added support for :: and .. revset operators with both left and right
    operands omitted. These expressions are equivalent to all() and ~root()
    respectively.

  • jj log timestamp format now accepts .utc() to convert a timestamp to UTC.

  • templates now support additional string methods .starts_with(x), .ends_with(x)
    .remove_prefix(x), .remove_suffix(x), and .substr(start, end).

  • jj next and jj prev are added, these allow you to traverse the history
    in a linear style. For people coming from Sapling and git-branchles
    see #2126 for
    further pending improvements.

  • jj diff --stat has been implemented. It shows a histogram of the changes,
    same as git diff --stat. Fixes #2066

  • jj git fetch --all-remotes has been implemented. It fetches all remotes
    instead of just the default remote

Fixed bugs

  • Fix issues related to .gitignore handling of untracked directories
    #2051.

  • jj config set --user and jj config edit --user can now be used outside of any repository.

  • SSH authentication could hang when ssh-agent couldn't be reached
    #1970

  • SSH authentication can now use ed25519 and ed25519-sk keys. They still need
    to be password-less.

  • Git repository managed by the repo tool can now be detected as a "colocated"
    repository.
    #2011

Contributors

Thanks to the people who made this release happen!

  • Alexander Potashev (@aspotashev)
  • Anton Bulakh (@necauqua)
  • Austin Seipp (@thoughtpolice)
  • Benjamin Brittain (@benbrittain)
  • Benjamin Saunders (@Ralith)
  • Christophe Poucet (@poucet)
  • Emily Kyle Fox (@emilykfox)
  • Glen Choo (@chooglen)
  • Ilya Grigoriev (@ilyagr)
  • Kevin Liao (@kevincliao)
  • Linus Arver (@listx)
  • Martin Clausen (@maacl)
  • Martin von Zweigbergk (@martinvonz)
  • Matt Freitas-Stavola (@mbStavola)
  • Oscar Bonilla (@ob)
  • Philip Metzger (@PhilipMetzger)
  • Piotr Kufel (@qfel)
  • Preston Van Loon (@prestonvanloon)
  • Tal Pressman (@talpr)
  • Vamsi Avula (@avamsi)
  • Vincent Breitmoser (@Valodim)
  • Vladimir (@0xdeafbeef)
  • Waleed Khan (@arxanas)
  • Yuya Nishihara (@yuja)
  • Zachary Dremann (@Dr-Emann)

@github-actions github-actions bot added rust Rust use is a significant feature of the PR or issue bump-formula-pr PR was created using `brew bump-formula-pr` labels Sep 6, 2023
jj: update build

Signed-off-by: Rui Chen <[email protected]>
@chenrui333 chenrui333 added the ready to merge PR can be merged once CI is green label Sep 6, 2023
@github-actions
Copy link
Contributor

github-actions bot commented Sep 6, 2023

🤖 An automated task has requested bottles to be published to this PR.

@github-actions github-actions bot added the CI-published-bottle-commits The commits for the built bottles have been pushed to the PR branch. label Sep 6, 2023
@BrewTestBot BrewTestBot added this pull request to the merge queue Sep 6, 2023
Merged via the queue into Homebrew:master with commit 8c435b5 Sep 6, 2023
@github-actions github-actions bot added the outdated PR was locked due to age label Oct 7, 2023
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Oct 7, 2023
@chenrui333 chenrui333 deleted the bump-jj-0.9.0 branch January 22, 2024 17:42
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
bump-formula-pr PR was created using `brew bump-formula-pr` CI-published-bottle-commits The commits for the built bottles have been pushed to the PR branch. outdated PR was locked due to age ready to merge PR can be merged once CI is green rust Rust use is a significant feature of the PR or issue
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants