Bugfixes and Other Minor Improvements#541
Merged
harrisoncramer merged 45 commits intomainfrom Apr 18, 2026
Merged
Conversation
This uses the gitlab.Scan function to iterate over all discussions and handle errors after the iterator is exhausted. The test for non-200s is no longer needed as the Scan function transforms such responses to standard errors.
…-checks feat: add mergeability checks to summary view
…discussions fix: use pagination to list MR discussions
…r_callback fix: revert removing on_error_callback
fix: check window valid when refocusing after closing popup
…th-local-changes fix: allow publishing drafts when local not in sync with remote
…ore-commenting feat: check local branch state when creating comments
Makes `parse_hunks_and_diff` pass `--no-ext-diff` to `git diff` to prevent an external diff tool configured in `~/.gitconfig` clobering the diff output it depends on to parse the hunks.
Prevent usage of external diff tools when parsing diff hunks.
This PR also fixes a bug when the `Delete source branch` setting of the
MR was not respected due to incorrect reference in
`lua/gitlab/actions/merge.lua` to `state.INFO.delete_branch` instead of
`state.INFO.force_remove_source_branch`.
This PR also changes the behaviour of how the `opts` in
`gitlab.merge(opts)` behave:
- Before this PR:
- when `lua require("gitlab").merge()` was run without parameters,
the values visible in the Summary view were used (except for the
bug mentioned above).
- specifying one of `squash` or `delete_branch` in `opts` caused the
other parameter to default to `false` even if Summary view would
show it's set to `true`.
- After this PR:
- running `lua require("gitlab").merge()` without parameters doesn't
change.
- specifying any of the `opts` values (`auto_merge`, `squash`,
`delete_branch`), has no effect on the other options - if not
specified in the `gitlab.merge()` call, the values from the
Summary are used.
This is a breaking change, since theoretically, before, a user could
rely on the fact that ignoring one of the options would set it to
`false` which now is not guaranteed (the value depends on the existing
MR settings).
The plugin should not assume its folder is writable. Instead, try to search for a writable folder by checking the data folder and the runtime paths. Also allows the user to give the path to the server's executable intead of always compiling it. All of this makes the plugin friendlier to restricted/read-only environments, like nix.
docs: recommend using dlyongemallo's fork of diffview
…e-server-path feat: better handling of server installation path
feat!: implement AutoMerge option to AcceptMergeRequest
fix(build): allow user-supplied binaries
GitLab's API can return this identifier but it wasn't in the known checks list, causing an "Unknown mergeability check identifier" error in the summary view.
…entifier fix: add SECURITY_POLICY_PIPELINE_CHECK mergeability identifier
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
fix(browser): add Windows support for opening URLs
fix(proxy): bypass proxy for localhost requests to Go server
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Breaking Changes
gitlab.merge(opts)no longer resets unspecified options tofalse. Unspecifiedvalues now use the MR's existing settings from the Summary view. (feat!: implement AutoMerge option to AcceptMergeRequest #530)
Features
gitlab.merge({ auto_merge = true })(feat!: implement AutoMerge option to AcceptMergeRequest #530)directory is writable, making it nix-friendly (feat: better handling of server installation path #528)
Bug Fixes
on_error_callback(fix: revert removing on_error_callback #525)--no-ext-difftogit diffto prevent external diff tools from breakinghunk parsing (Prevent usage of external diff tools #536)
delete_branchmerge option not respecting the MR setting (feat!: implement AutoMerge option to AcceptMergeRequest #530)SECURITY_POLICY_PIPELINE_CHECKmergeability identifier (fix: add SECURITY_POLICY_PIPELINE_CHECK mergeability identifier #542)