Bugfix for cherry-pick / revert:
- The "create cherry-pick via pull-request" feature was broken. Fixed !
Bugfix for cherry-pick / revert:
Bugfix for cherry-pick / revert:
Fixed permission bug in Rebase/Squash/Amend logic when PR spans fork. The buttons were correctly greyed out if the user did not have write permission to the "from" repository, but for the wrong reason:
PR-Booster canRebase() logic failed: com.atlassian.bitbucket.AuthorisationException: You are not permitted to access this resource
Version v2023.01.18 fixes the logic so that now PR-Booster correctly detects that write permission is not present, and greys out the buttons with that reason, instead of greying them out because an exception was tripped.
Fixed permission bug in Rebase/Squash/Amend logic when PR spans fork. The buttons were correctly greyed out if the user did not have write permission to the "from" repository, but for the wrong reason:
PR-Booster canRebase() logic failed: com.atlassian.bitbucket.AuthorisationException: You are not permitted to access this resource
Version v2023.01.18 fixes the logic so that now PR-Booster correctly detects that write permission is not present, and greys out the buttons with that reason, instead of greying them out because an exception was tripped.
Sometimes the rebase button would report back "stale data, cannot rebase", and users would need to refresh the pull-request screen as a workaround. Fixed!
Sometimes the rebase button would report back "stale data, cannot rebase", and users would need to refresh the pull-request screen as a workaround. Fixed!
The logic for the Amend and Squash buttons was incorrect when a pull-request spanned multiple repositories (e.g., a fork situation).
We believe there is a good chance this fixes issue #259
The logic for the Amend and Squash buttons was incorrect when a pull-request spanned multiple repositories (e.g., a fork situation).
We believe there is a good chance this fixes issue #259
One bugfix:
With our big refactor for 8.x compatibility, we did not realize that any hook rejections for the rebase/squash/amend were getting silently dropped (e.g., if you tried to "Squash" against a source branch that doesn't accept history rewrites). And so the user would click on "Squash" and then see that nothing happened, and be confused. The Squash dialog would even print "Success" despite Bitbucket rejecting the push under the hood!
Now in failure cases PR-Booster prints a status message showing that the operation failed, and explaining why it failed.
One bugfix:
With our big refactor for 8.x compatibility, we did not realize that any hook rejections for the rebase/squash/amend were getting silently dropped (e.g., if you tried to "Squash" against a source branch that doesn't accept history rewrites). And so the user would click on "Squash" and then see that nothing happened, and be confused. The Squash dialog would even print "Success" despite Bitbucket rejecting the push under the hood!
Now in failure cases PR-Booster prints a status message showing that the operation failed, and explaining why it failed.
Small tweak to our "Automatically Drop Approvals" feature:
Small tweak to our "Automatically Drop Approvals" feature:
This version contains one small improvement:
Enhancement:
Bug fix:
Enhancement:
Bug fix:
Fix build-status-propagation feature (Bitbucket 7.x and 8.x). It now works to propagate status for "Required Builds" jobs.
Fix build-status-propagation feature (Bitbucket 7.x and 8.x). It now works to propagate status for "Required Builds" jobs.
Build-status propagation broke in our Bitbucket 8.x logic. Fixing it for Bitbucket 7.x.
(To fix it for Bitbucket 8.x will require help from Atlassian, because it seems they have made a serious mistake with RepositoryBuildStatusSetEvent).
Build-status propagation broke in our Bitbucket 8.x logic. Fixing it for Bitbucket 7.x.
(To fix it for Bitbucket 8.x will require help from Atlassian, because it seems they have made a serious mistake with RepositoryBuildStatusSetEvent).
Version v2022.07.05 contains a single bug fix:
Version v2022.07.05 contains a single bug fix:
Further improved 8.x compatibility.
PR-Booster is *significantly* improved in this version and no longer maintains its own separate "bbClones" directory. PR-Booster no longer requires any disk for its operation.
PR-Booster is *significantly* improved in this version and no longer maintains its own separate "bbClones" directory. PR-Booster no longer requires any disk for its operation.
Bitbucket 8.x compatibility
Bitbucket 8.x compatibility
PR-Booster v2022.03.11 successfully passed DC certification. Publishing a new version with the DC compatibility flag re-enabled.
PR-Booster v2022.03.11 successfully passed DC certification. Publishing a new version with the DC compatibility flag re-enabled.
Unfortunately we let our Atlassian DC "approved" certification lapse in December. We are re-certifying now and expect to have the process completed within 2-8 weeks. Putting up this version as a place-holder (binary identical to v2021.08.12) while we complete DC re-certification.
- - -
Please welcome two new team-members !
Dr. Andrea Young, andrea@bit-booster.com, Director, Customer Success
Julius Davies, julius@bit-booster.com, Principal Software Engineer
- - -
Many have asked if any Bit-Booster plugins were vulnerable to the recent Log4J vulnerability (CVE-2021-44228). We analyzed all versions of all Bit-Booster plugins and are happy to report that Bit-Booster has never used any version of Log4J in any of our plugins.
- - -
Stay tuned for our upcoming DC compatible version!!! We are also re-certifying all our free Bitbucket plugins as well (Control Freak, and Commit Graph).
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: