Once bugfix:
- Rare permission errors occurring when probing pull-requests for mergeability (race condition). Fixed.
One enhancement:
- PR-Booster config pages now support JSON read/write over REST.
Once bugfix:
One enhancement:
Once bugfix:
One enhancement:
Version v2020.11.17-bb5 contains one bugfix and one enhancement:
Once bugfix:
One enhancement:
Version v2020.11.17-bb5 contains one bugfix and one enhancement:
Once bugfix:
One enhancement:
This version contains a single bugfix:
This version contains a single bugfix:
This version contains a single bugfix:
Note: this version (v2020.09.05-bb5) is from our backport branch, where we maintain backwards compatibility with Bitbucket 4.10.0 to Bitbucket 5.x.
This version contains a single bugfix:
Note: this version (v2020.09.05-bb5) is from our backport branch, where we maintain backwards compatibility with Bitbucket 4.10.0 to Bitbucket 5.x.
One bugfix:
One bugfix:
Implemented Bitbucket 7.x compatibility.
Also, three small bugfixes:
Implemented Bitbucket 7.x compatibility.
Also, three small bugfixes:
Three small bugfixes:
Note: this version (v2020.02.25-bb5) is from our backport branch, where we maintain backwards compatibility with Bitbucket 4.10.0 to Bitbucket 5.x.
Three small bugfixes:
Note: this version (v2020.02.25-bb5) is from our backport branch, where we maintain backwards compatibility with Bitbucket 4.10.0 to Bitbucket 5.x.
One new feature:
One bugfix:
One new feature:
One bugfix:
One new feature:
One bugfix:
Note: this version (v2019.10.17-bb5) is from our backport branch, where we maintain backwards compatibility with Bitbucket 4.10.0 to Bitbucket 5.x.
One new feature:
One bugfix:
Note: this version (v2019.10.17-bb5) is from our backport branch, where we maintain backwards compatibility with Bitbucket 4.10.0 to Bitbucket 5.x.
A regression in v2019.07.17 caused the Rebase / Cherry-Pick / Revert functionality to fail in repositories where Git LFS (Large File Support) was actively used.
----
Previous changelog (v2019.07.17):
Bug fix:
Performance Improvement:
We also changed the way we call Bitbucket APIs to address feedback from the DC certification process, including complete removal of jgit.jar from PR-Booster.
A regression in v2019.07.17 caused the Rebase / Cherry-Pick / Revert functionality to fail in repositories where Git LFS (Large File Support) was actively used.
----
Previous changelog (v2019.07.17):
Bug fix:
Performance Improvement:
We also changed the way we call Bitbucket APIs to address feedback from the DC certification process, including complete removal of jgit.jar from PR-Booster.
A regression in v2019.07.17 caused the Rebase / Cherry-Pick / Revert functionality to fail in repositories where Git LFS (Large File Support) was actively used.
----
Previous changelog (v2019.07.17):
Bug fix:
Performance Improvement:
We also changed the way we call Bitbucket APIs to address feedback from the DC certification process, including complete removal of jgit.jar from PR-Booster.
Note: this version (v2019.08.12-bb5) is from our backport branch, where we maintain backwards compatibility with Bitbucket 4.10.0 to Bitbucket 5.x.
A regression in v2019.07.17 caused the Rebase / Cherry-Pick / Revert functionality to fail in repositories where Git LFS (Large File Support) was actively used.
----
Previous changelog (v2019.07.17):
Bug fix:
Performance Improvement:
We also changed the way we call Bitbucket APIs to address feedback from the DC certification process, including complete removal of jgit.jar from PR-Booster.
Note: this version (v2019.08.12-bb5) is from our backport branch, where we maintain backwards compatibility with Bitbucket 4.10.0 to Bitbucket 5.x.
This is our first official Bitbucket Data Center compatible version! We're running a combined Server / Data-Center release, and so this version is also good on Bitbucket Server instances.
----
Full changelog:
Bug fix:
Performance Improvement:
We also changed the way we call Bitbucket APIs to address feedback from the DC certification process, including complete removal of jgit.jar from PR-Booster.
This is our first official Bitbucket Data Center compatible version! We're running a combined Server / Data-Center release, and so this version is also good on Bitbucket Server instances.
----
Full changelog:
Bug fix:
Performance Improvement:
We also changed the way we call Bitbucket APIs to address feedback from the DC certification process, including complete removal of jgit.jar from PR-Booster.
This is our first official Bitbucket Data Center compatible version! We're running a combined Server / Data-Center release, and so this version is also good on Bitbucket Server instances.
----
Full changelog:
Bug fix:
Performance Improvement:
We also changed the way we call Bitbucket APIs to address feedback from the DC certification process, including complete removal of jgit.jar from PR-Booster.
Note: this version (v2019.07.17-bb5) is from our backport branch, where we maintain backwards compatibility with Bitbucket 4.10.0 to Bitbucket 5.x.
This is our first official Bitbucket Data Center compatible version! We're running a combined Server / Data-Center release, and so this version is also good on Bitbucket Server instances.
----
Full changelog:
Bug fix:
Performance Improvement:
We also changed the way we call Bitbucket APIs to address feedback from the DC certification process, including complete removal of jgit.jar from PR-Booster.
Note: this version (v2019.07.17-bb5) is from our backport branch, where we maintain backwards compatibility with Bitbucket 4.10.0 to Bitbucket 5.x.
Bug fix:
Performance Improvement:
We also changed the way we call some Bitbucket internal APIs to address feedback we have received during the DC certification process, including the complete removal of jgit.jar from PR-Booster.
(Note: v2019.07.02 also had the same changes, but that version left a debug flag enabled in the build. Recutting a new v2019.07.03 release here with that debug flag removed.)
All deprecated features finally removed:
Bug fix:
Performance Improvement:
We also changed the way we call some Bitbucket internal APIs to address feedback we have received during the DC certification process, including the complete removal of jgit.jar from PR-Booster.
Note: this version (v2019.07.03-bb5) is from our backport branch, where we maintain backwards compatibility with Bitbucket 4.10.0 to Bitbucket 5.x.
The rebase / squash / amend functionality stopped working in Bitbucket 6.4.0 and newer. Fixed!
Data Center compatibility
The approval-reset and retain-needs-work logic would fail if any of the current approvers (or disapprovers) no longer had read access to the repository.
The approval-reset logic now checks each user's current permission and completely drops their review if they no longer have read access to the repo.
Three fixes in this release, and one troubleshooting enhancement:
The troubleshooting enhancement:
Bit-Booster renamed to PR-Booster.
Also introduced two new features:
These features were inspired by the free Auto Unapprove for Bitbucket Server app. We introduced per-project and global settings; ability to switch between an "all pushes" strategy versus a "significant pushes" strategy, and the ability to retain "needs-work" reviews.
Push significance is calculated using the "git patch-id" command.
This release feature major improvements to Bit-Booster's configuration screens:
Over the last year we've slowly re-implemented the graphing and hooks functionality from this original Bit-Booster add-on into a pair of free standalone add-ons:
To make this add-on smaller, easier to maintain, and more focused exclusively on Rebase, Amend, Squash, etc, we're encouraging our users to install those free add-ons. As of version 2018.07.16:
Version 2018.07.01-bb5 contains two important bug fixes:
Sadly (for us, the maintainers) that 2nd bugfix requires we run two branches of Bit-Booster from now on: a Bitbucket 4.x branch as well as a Bitbucket 5.x branch. Life on one branch was good while it lasted...
Version 2018.07.01-bb4 contains two important bug fixes:
Sadly (for us, the maintainers) that 2nd bugfix requires we run two branches of Bit-Booster from now on: a Bitbucket 4.x branch as well as a Bitbucket 5.x branch. Life on one branch was good while it lasted...
Version 2018.06.05 is creating a massive amount of logs because of a spurious RuntimeException that's being thrown/caught and logged on every push. Seems to be related to JIRA branch monitoring. Does not appear to affect functionality at all, but fills up logs.
Current theory: compiling against the Bitbucket 4.x libraries may be contributing to this problem. Recompiling against Bitbucket 5.x libraries to see if that helps.
Version 2018.06.05 includes two small bugfixes:
Also the wording on a few admin links and labels was improved.
A single regression was fixed in version 2018.04.10:
No change to functionality. Just the logo changed to better indicate what this plugin does.
remote: Repository hook com.bit-booster.bb:bit-booster-hook failedremote: Commit '0000000000000000000000000000000000000000' does not exist in repository
One bug fix:
Recent Bitbucket versions renamed the build-status API to 'bitbucket-plugin-build/internal/feature/build/common/build-status-common', so we now have some logic to probe for that.
Yes, yes, we know, we shouldn't call into "internal" APIs, but we're not interested in writing our own build-status integration from scratch, and we can get the native feature with only 3 nested try/catch blocks! :-D
One bug fixed, and one enhancement implemented:
Also a couple rare race conditions fixed around Rebase / Squash / Amend features and forked repos:
Background reading on "squash": I originally based the logic on "git merge --squash", but I've slowly transitioned to a "git rebase --interactive" model over the last 6 months: the pre-filled commit messages became more terse, their order reversed, and now I've dropped the rebase.
Two enhancements and thankfully no bug fixes this time:
Fixed this error (only happens with empty repositories):
Repository hook com.bit-booster.bb:bit-booster-hook failed remote: refs/heads/master is set as the default branch, but this branch does not exist
Before this version, the squash logic could result in an empty commit. We've removed that ability, and instead the pull-request gets automatically declined now if the end-result of a rebase or a squash would be an empty commit.
We've also updated the error messages around this scenario. Here's an example:
-----Rebasing...Success! (see note:)
Rebase succeeded, but caused the pull-request to be declined. The diff was empty. No work was lost, but the rebase caused branch "TKT-123" to be subsumed into branch "master".Reload page to see the now declined pull-request."-----
Background note: the reason a branch can be subsumed into its upstream through a rebase or squash is explained in the git rebase manual (e.g., "git help rebase"). Here's the pertinent sentence:
> Note that any commits in HEAD which introduce the same textual changes as a commit in HEAD..<upstream> are omitted (i.e., a patch already accepted upstream with a different commit message or timestamp will be skipped).
Version 2017.09.27 introduces Build-Status Propagation, a powerful productivity booster.
Bit-Booster - Rebase Squash Amend, with Build-Status Propagation enabled (it's enabled by default) greatly improves this situation:
1. Your CI build is on the slow side (e.g., slower than 1 minute)
2. Your merge policy enforces a rebase workflow.
3. Your merge policy also requires a minimum number of successful builds on the feature branch.
This release contains 2 fixes:
Minor Tweaks:
Version 2017.08.01 contains two features, and two bugfixes.
Features:
Bug Fixes:
Two changes:
1. The "blind revert blocker" has been removed. This functionality, introduced a year ago, would look for the word "revert" in commit messages and block pushes if a corresponding commit-id was not also present in the same commit message. It's annoyed many of my users, causing all sorts of awkward workarounds. It's time has come. Good bye, blind revert blocker. I liked you, but I think most other people did not.
2. The suggested commit-message in the squash dialogue is now similar to what "git rebase -i" would suggest. And lines that start with "#" are ignored.
New Features:
Bugfixes:
Version 2017.06.05 includes two major improvements to the Jira filter on the "All Branches Graph":
Some additional minor improvements to Bit-Booster also included in this release: breadcrumb on "All Branches Graph"; 18th stab-in-dark fix for our longest standing bug; more improvements to error/debug logging.
2017.05.08 release notes:
2017.05.05 release notes:
Author value for squash / cherry-pick / amend now uses "Display Name <user@email.com>" when the user is in Bitbucket's user database. Fixes Bug #23.
Bit-Booster now puts three buttons on the pull-request screen (can be disabled via add-on settings):
All three of these rewrite history via "git push --force" if successful. They respect all push hooks and branch permissions.
The "Squash" button also lets you choose the author for the squashed commit if the commits you are squashing happen to have different authors.
Small fixes to the "Squash" logic in this version since the previous version:
- New "Rebase" button appears on pull-request screen.
- Solves BSERV-2874
- New config screen let's you control commit dates on the main "commits" page. You can use this screen to control the source of the time & date values (CommitDate vs. AuthorDate), and to control whether to enable or disable relative time values (e.g., "42 minutes ago").
- The config screen also let's you disable the Bit-Booster commit graph in favor of the Awesome Graphs version instead, if that's what you prefer.
- Bugfix: commit message with raw tab characters breaks graph.
- Further enhancements to the Jira integration. Introduced a control for quickly switching between repositories that contain commits related to the provided Jira ticket on the All Branches Graph. Demo here: vm.bit-booster.com/bitbucket.
This is the minimum version you must install if you want the "Bit-Booster Git Graph for Jira" add-on to work. Licensing note: "Bit-Booster Git Graph for Jira" does *not* depend on this add-on being properly licensed. It only depends on this add-on being installed.
(Bit-Booster Git for Jira is currently in Marketplace's approval queue. The pre-approval version is hosted here, if you're curious: http://bit-booster.com/misc.html).
Introduces the Jira Git Integration Graph. Type in a Jira ticket on the "All Branches Graph" to see it in action, or click here for a live demo: Git Integration Graph Live Demo
- Foxtrot prevention uses "default" branch now (instead of being hard-coded to use "master") (change introduced in 2016.7.17)
- The "All Others" filter in the "All Branches Graph" was omitting branches that had been already merged into "master".
- Foxtrot prevention uses "default" branch now (instead of being hard-coded to use "master").
- "All Branches Graph" would not display on Windows installs if the git repo had over 750 branches & tags. Fixed.
- "All Branches Graph" performance (especially infinite scroll) improved significantly.
- Branch & Tag names over 30 characters long are truncated now on "All Branches Graph". The full branch & tag name is available as a tooltip (hover mouse for 0.5 seconds).
- Commit messages that reference Jira ticket numbers are now made clickable, both on the commits page, and on the "All Branches Graph".
- License check is less intrusive.
- License check no longer complains on every push. If the license is invalid, then only blocked reverts and foxtrot merges include a mention of the license being expired (and the commits are still blocked).
- repos with no tags no longer show a spurious error message on "all branches graph"
- blind revert blocker ported to stash3
- some wording fixups in the ui
- Repositories with no tags using Git 1.8.x or earlier no logger report a spurious error on "All Branches Graph". (The "git show-ref" invocation I use under the hood resturns the correct result, but also sets exit-code to -1 when git version <= 1.8.x and there are no tags).
- The "Revert Checker" introduced: this forces "git revert" commit messages to include the reverted commit-id in their log message. Otherwise we cannot cross out the reverted commit on the commits page and the all-branches graph (there is no way to identify it).
- Note: "revert checker" integrated with the foxtrot blocker, so it's still just one hook to enable.
- Minor renamings of some UI elements to improve clarity of the add-on (e.g., "first-parent-hook" renamed "bit-booster hook", "all branches" renamed to "all branches graph").