- Release to GitHub Container Registry - @unlobito #1445
- Update README badges - @manicmaniac #1442
- Update Octokit dependency to version 6.0 - @spencertransier #1437
- Fixes dependency constraint issue on
ruby-git
- @ainame #1436
- Add CI Source of CustomCiWithGithub - @jmeridth #1435
- Fixes issue where a comment is posted to Bitbucket Cloud even when everything is green. @SalvatoreT #1299
Internals:
- Make specs independent from default branch setting in git config - @manicmaniac #1420
- Add missing error types to raise_error matcher - @manicmaniac #1421
- Cannot specify danger_id testing locally - @manicmaniac #1362
- Update ruby-git gem @manicmaniac - #1419
- Make specs independent from default branch setting in git config @manicmaniac #1420
- Add missing error types to raise_error matcher [@manicmaniac][https://github.com/manicmaniac] #1421
- Add /github/workspace to git safe.directory @hiro-flank #1427
- Add Ruby 3.2 to test matrix @mataku #1434
- Merge AzurePipelines and VSTS CI sources, and add support for VSTS as request source for local PR execution - @sphanley #1416
- Allow up to v3 of Faraday - @vilmantas #1415
- Fix offenses for RuboCop that can be fixed automatically. - @ydah #1406
- Add
ref
option toimport_dangerfile
method as an alias ofbranch
option. - @manicmaniac #1394 - Fixed incorrect help messages for
danger plugins lint
anddanger plugins readme
. - @manicmaniac #1397
- Fixed Docker image outdated ruby version by updating it to 2.7. - @axl89 #1383
- Added support for Appcircle - @tosbaha #1386
Breaking - Drop support for Ruby 2.4, support Ruby 2.7+ - @mathroule #1378
- Update Octokit dependency to version 5.0. - @mathroule #1377
- Check pull request to Danger repo on macOS, Ubuntu and Windows - @mathroule #1365
- Support batch builds in AWS CodeBuild - @ihatov08 #1369
- Add option to post file specific comments outside of the PR diff to Bitbucket Server, when using Code Insights API. - @pahnev
- Allow
import_dangerfile(path: '...')
to accept full path. - @jkmathew #1380 - VSTS / Azure DevOps: Fix submission of inline comments with recent Ruby versions. - @yanniks #1376
- Fix for
danger pr
posting results to provider. - @bobbymcwho #1365
-
Fix for branch names being able to trigger git commands - @kyoshidajp #1357
-
Fix
diff_for_file
for deleted files - @alexevanczuk #1357
- New feature on VSTS/Azure DevOps: inline comment - @damien-danglard #1356
- Don't post Dangerfile errors as comment on PR when the
DANGER_DO_NOT_POST_INVALID_DANGERFILE_ERROR
env var is set - @rymai #1354
- Fix issue in GitHub
pr_draft?
method which was returning false for draft Pull Requests - @rogerluan - Fix arguments length of
ArraySubclass#respond_to_missing?
- @manicmaniac - Don't save environment as an instance variable in
GitLabCI
- @rymai #1353
Adds support for using GitHub auth via the ENV var DANGER_GITHUB_BEARER_TOKEN
- Add a "
:
" separation between file_name + line_number and message for gitlab inline comments - Add support to pass in
DANGER_BITBUCKETSERVER_VERIFY_SSL
to toggle SSL Verification for Bitbucket Server - Add Bitbucket Server support for Buildkite CI. @pahnev
- Fixes issue where a comment is posted to Bitbucket Server even when everything is green. @pahnev
- Expose
DangerfileGitLabPlugin#mr_closes_issues
. - @revolter #1321 - Test with Ruby 2.7 and 3.0 on CI. - @mataku
- Added support for custom success message using the env var
DANGER_SUCCESS_MESSAGE
- @omarzl - Fix AppCenter CI source broken due to conflict with AzurePipelines - @lucasecf
- Adds Xcode Cloud CI source support - [@rpassis]((https://github.com/rpassis)
- Handle GitLab URL containing /-/ scope on Jenkins - @adamprice
- Add
pr_draft?
method to GitHub DSL. - @connorshea - Expose
DangerfileGitLabPlugin#mr_changes
. - @rymai #1309
- Do not print "Generated by" on GitLab inline comments - @ram-z
- Added support for Codemagic - @k-liakhovskii-hs
- Fix a test for Ruby 3.0 keyword arguments. - @mataku
- Allow teriminal-table versions through 3.x - @benasher44
- Comment on open gitlab MRs only for GitLab>=13.8.0 - @asifmohd
- Namespace the
Commits
class properly underDanger
. @rymai #1294
- Silence the ObjectifiedHash warnings when iterating over GitLab notes. - @dstull
- Replace
URI.escape
which is obsolete in Ruby 3. - @mataku - Fix run with Azure Pipelines as CI Source and Azure Repos Git as Request Source - @damien-danglard
- Delegate explicitly keyword arguments for Ruby 3. - @mataku
- Add
danger.import_dangerfile(url:)
to import Dangerfile from custom URL - @dstranz - Fixes issue with not being able to update comments, and instead always posting new comments regardless of settings for Bitbucket Cloud @tskulbru
- Fix incorrect command in error message @revolter
- Add support for Concourse-CI @matthewellis
- Add support for
pull_request_target
in GitHub actions. - @chesire
- correct the usage of double splat to fix Ruby 2.7 warning
- Adds support for Code Insights for Bitbucket Server. To use Code Insights, please ensure
DANGER_BITBUCKETSERVER_CODE_INSIGHTS_REPORT_KEY
,DANGER_BITBUCKETSERVER_CODE_INSIGHTS_REPORT_TITLE
andDANGER_BITBUCKETSERVER_CODE_INSIGHTS_REPORT_DESCRIPTION
optional environment variables are set. @qbeorama
- Add ability to set dismiss_out_of_range_messages for gitlab. - @fahmisdk6
- Preserve single and double quotes @caalberts
- Add support for multiple patterns
{a,b}
in FileList#include? - @l15 #1258
- Minor docs update, might also update the dockerfile
- Support external CI/CD for GitLab CI with GitHub code repository. To utilize this, please ensure
DANGER_GITHUB_API_TOKEN
andDANGER_PROJECT_REPO_URL
are both set. @philipqnguyen #1238
- Fix Danger::Helpers::CommentsHelper#process_markdown so that it doesn't result in broken HTML. @rymai #1236
Breaking - Drop support for Ruby 2.3, support Ruby 2.4+ @Kaspik #1225
- Fix github inline-comments always being struck-through. This was caused by a regression in PR #1182, fixed in PR #1208 for 6.3.2 but didn't make it to 7.0.0 @Kaspik #1225
- Fixed import Dangerfile in directory from GitLab
- Fixes warnings when using GitHub with Ruby 2.7
- Improves messaging specific to GitLab
- Updates Git dependency to 1.7 with Ruby 2.7 support without warnings
Breaking for BitBucket Cloud users only - with changes in their API, see below, then Danger has a new env var
requirement in order to support editing existing comments. You add DANGER_BITBUCKETCLOUD_UUID
which is the UUID of
the account which Danger should be using for commenting.
- Added support to git.info_for_file for added and deleted files. @ethan-riback #1216
- Allow danger to run with Faraday 1.0.0.
- Add message aggregation in a non-request-source-specific way: When the DANGER_MESSAGE_AGGREGATION environment variable is set (to anything that isn't an empty string) and the PR source supports it, this new message-aggregation method is used. Otherwise, the old way is used. @telyn #1201
- Allow github repository redirects to be followed. @telyn #1209
- Fix 404 on Bitbucket Cloud fetching
/users/$DANGER_BITBUCKETCLOUD_USERNAME
. This fix requires that everyone using Bitbucket Cloud now provides theDANGER_BITBUCKETCLOUD_UUID
environment variable containing the UUID of danger's user on bitbucket (with or without the{}
braces). See this blog post from Atlassian for details on the change Atlassian made which broke Danger. @telyn #1217
- Fix gitlab & github inline-comments always being struck-through. This was caused by a regression in PR #1182. @telyn #1208
- Update RegEx pattern used for URL matching for bitrise projects. @RonaldPrithiv
- Refactor shared code from Violation and Markdown into a base class @telyn #1186
- Add <=> methods to Violation and Markdown @telyn #1186
- Add sketch of MessageGroup and a totally unimplemented MessageAggregator, for the coming PR-host-agnostic inline-comment grouping support @telyn #1186
- Fix typo from environemnt -> environment @yohix #1199
- Remove ".git" at the end of project URL for bitrise projects. @RonaldPrithiv
- Adds
staging
command to run locally against local master @olbrichj - Fix RegEx pattern used to match URL.
- Fix for GitLab Pipelines for Merge Results. @rymai #1194
- Show correct error when GitLab Gem can't be loaded @glensc, #1191, #1192
- Fix Bitbucket Pipelines documentation
- Update Ruby-Git to 1.6.0 to fix output encoding
- Add inline-comments support to Bitbucket Cloud @telyn #1182
- Make emojis display better on Bitbucket Cloud @telyn #1182
- Enable Danger to be run from a subfolder of a git repository @scranen #1177
- Add github enterprise support to CodeBuild
- Fix CodeBuild to allow repo url which not ended
.git
- Add an example for gitlab.api on reference
- Fix
html_links
ofdangerfile_gitlab_plugin
for nongitlab
/jenkins
ci @mfiebig #1157 - Adds support for Atlassian Bamboo CI #985 @qbeorama
- Updated Semaphore to also work with Semaphore 2.0. @gabrielrinaldi #1165
- adding documentation in bitrise.rb with respect to #1164
- Fix GitHub Pull Request identifier in Azure Pipelines @Dahlgren
- Fixes CircleCI integration for builds without associated Pull Request @mvandervelden #1135
- Fixes a crash in FileList include @chemouna
- Fix typos across danger repository @kittenking #1144
- Add support for Azure Pipelines @jonasbark
- Exposes danger_id publicly via
EnvironmentManager
. Access it in theDangerfile
viadanger.env.danger_id
@rpassis
- Integrated build status Bitbucket Server REST API
- Bitbucket cloud api, migrating to 2.0 @susan335
- Added support for Codefresh CI/CD Platform @br4in3x
- Fixed branch_for_head API of Bitbucket cloud @susan335 #1133
- Fix regression introduced in 6.0.6 using import_dangerfile() for GitLab @jk #1128 #1130
- Update
faraday-http-cache
dependency from 1.0 to 2.0 - Fixed importing Dangerfile from Gitlab (uses Gitlab API now)
- Fixed missing Unified diff headers for
gitlab.mr_diff
due to a Gitlab API bug (See https://gitlab.com/gitlab-org/gitlab-ce/issues/53229).
- Fixed error of GitLab inline comments @oboenikui, #1111
- For GitLab >= 10.7, use a newer faster API to find the MR for the commit
- Support Bitbucket cloud OAuth @susan335 #1115
- Add project URL to Jenkins if available, @qyhongfan #1109
- Added Cirrus CI support @RDIL, #1114
- Fixed error management with GitLab inline comments @pbendersky, #1106
-
Support Kramdown 2.0+ (requires Ruby 2.3) @davidstosik, #1100
-
Rescues from failures when submitting inline comments to GitLab @pbendersky, #1097
-
Fixes issue with GitHub where some filenames have trailing tabs, preventing inline comments from being posted correctly. @daniel-beard
- Danger requires Kramdown 2.0 or more recent and will not work with lower versions.
- Danger requires Ruby 2.3 or more recent and will not work with lower versions.
- Fixes GitLab inline comments when violations happened in files outside of the MR diff @pbendersky, #1092
- Add support for Visual Studio App Center @rishabhtayal / @cojoj
- Add more helptext explaining what to do if Danger didn't run on a CircleCI build. @ghiculescu
- Add support for inline comments on GitLab (for versions >= 10.8.0) @pbendersky
- Fix
--new-comment
for GitLab to actually create the new comment instead of updating an old one. @AlexDenisov Original issue: danger#1084 - Use
CI_API_V4_URL
on GitLab 11.7+ installations @glensc, #1089
- Add
--fail-if-no-pr
flag, breaks builds if no PR is found @ghiculescu
- Add support for Bitbucket Pipelines @HelloCore
- Fixed interface with GitLab CI @pbendersky
danger pr
now supports Bitbucket Cloud repos @RicardoBelchior
- Fix duplicated REGEXPBB warning @jmromanos
- Add supports GitHub Actions @duck8823
- Fix issue in
Jenkins
lib with PR detection logic @serg-kovalev
- Support multiple gitlab groups using jenkins ci extracting
repo_slug
@kyaak
- Fix wrong test and implementation about
No newline
annotation @colorbox
danger pr
now supports Bitbucket Server repos @jmromanos
- Fix diff position calculation when diff includes
No newline
annotation @colorbox
- Add
git.tags
to get a list of existing Git tags @hotbott
- Fix diff range detection logic @r7kamura
- Update
BitbucketServerAPI
error message to include response body @cnoon
- Add AppVeyor support @tumugin
- Add CodeBuild support @s-faychatelard
- Fixes importing a Dangerfile from a GitLab repository @koffeinfrei
- Adds
dry_run
command to allow running danger on localhost without actual PR/MR @otaznik-net - GitLab: Determine base_commit from the MR API instead of querying the commits @leipert
- Fix
--no-ansi
behavior for decoloring output @otaznik-net
- Adds
failure
as an alias tofail
without incurring the wrath of default rubocop @orta
- Update the git gem so that Danger handles multi-byte chars correctly @tbrand
- Update Bitrise CI to parse repo_slug with two slashes @dstranz
- Fix to detect not Pull Request on CircleCI. @kompiro
- Add support for two slashes in repository slug like
organisation/team/repository
(for GitLab) @dstranz
- Update Screwdriver CI to parse repo_slug/repo_url correctly. @fandyfyf
- Use HTTPS links where applicable. @allewun
- Fix
Danger::GitLabCI
to useCI_PROJECT_PATH
instead ofCI_PROJECT_ID
for its#repo_slug
. @rymai
- Fix CircleCI API failing to detect PRs. @allewun
- Fix crash when messages are nil. @allewun
- Add support for Screwdriver CI - @dbgrandi
- Enable Bitbucket Cloud for Bitrise CI @masahide318
- Notes which CI is used when exiting with an invalid PR @dbgrandi
- Fix a multistage
import_dangerfile
error @tbrand - Fixing typo:
ArraySublcass
->ArraySubclass
@ivantse - Fix crash when having messages with nil line on GitHub @fwal
- Fix GitLab
html_link
url's for external repos. @sogame - Removing
--all
option forgit merge-base
@tbrand
- Improve Jenkins CI error handling when no ENV passed in - #954 Juanito Fatas
- Update rubocop and yard dependencies for vulnerabilities - #955 #957 Juanito Fatas
- Enable BitBucket Cloud for Circle CI. @andrewlord1990
- Fix handling of Github repo slugs with dots in them (for Bitrise CI). @provTheodoreNewell
- Add
--remove-previous-comments
functionality, which means that a you can make a new comment at the bottom of the code review conversation. @JoeS
- Add Bitbucket Server support for Bitrise CI. @copini
- Add Bitbucket Server support for TeamCity CI. @davevdveen
- Use unique entries for the validation reports
- Add Bitbucket Cloud support for TeamCity @neilkimmett
- Improves the inline docs on
danger local
anddanger pr
. @orta - Improves the GitLab CI error handling if port number is accidentally included in host. @mbogh
- Fix handling of Github repos slugs with dots in them (for BuildKite CI). @orj
- Fix handling of filenames that contain square brackets (and possibly other characters) - @allewun
- Fix comment posting logic for VSTS integration. @cyupa
- Fixes fetching merge request ID in GitLab CI - @nikolaykasyanov
- Update documentation for BitRise CI now that it supports Secret Env Vars - @AliSoftware
- Improves Circle CI reliability - @sean-clayton / @orta
- Fix bug with gitlab v4 API- @marocchino
- Fix issue where a single branch git clone on the PR head never fetched the base branch - @daveallie
- Fix removing comments when one danger_id is a substring of another - @marcelofabri
- Fix possible invalid binding.pry statement when Dangerfile does not have an empty new line at the end (
danger pr --pry
) - @pedrovieira
- Add support for Codeship - @ghiculescu
- Fix
Violation#to_s
showing file and line when they are empty and not showing when they are set
- Adds VSTS Dangerfile plugin - @petester42
- Add support to pass in
DANGER_OCTOKIT_VERIFY_SSL
to toggle SSL Verification for Octokit - @nikhilsh
- Add support for VSTS - @petester42
- Tightens up pronouns in
danger init
. - Add
--verify-ssl
option to bypass Octokit's SSL Verification - @nikhilsh - Add
no_proxy_fix
gem as Ruby's no proxy is not working in2.4.0/2.4.1
- @nikhilsh
This release adds compatibility for GitLab API v4, you need to update the danger-gitlab gem to be version 6.x
when you migrate to the new API. 👍
- Add actual support for buddybuild - @palleas
- Add ability to add multiple messages - @sleekybadger
- Use gitlab api v4, instead of deprecated v3 - @sleekybadger
- Add support for GitLabCI - @sleekybadger
- Add to documentation for TeamCity CI setup - @atelic
- Show more error detail for UnprocessableEntity - @litmon
- Use latest octokit pr reviews functionality - @antondomashnev
- Fix plugins search list to gitlab - @leonhartX
- Explicitly encode the results of
git
executions in UTF-8 - @nikhilmat - Adds BitbucketServer to XcodeServer's supported_request_sources @anreitersimon
- Fixes for duplicated GitHub inline comments - @litmon
- Fix wrong commits count for PR's that have more than 30 commits - @sleekybadger
- Fix markdown links to files in messages - @ffittschen
- Improve remotes parsing for init command - @sleekybadger
- Adds ability to get the whole diff object at
git.diff
- This lets you do more fine grained checks on the raw changes. - @sleekybadger - Add ability to set dismiss_out_of_range_messages per each message kinds. - @giginet
- Fix FileList returning arrays - @sleekybadger
- Fix broken violations order for github - @sleekybadger
- Add ability to get list of renamed files - @sleekybadger
- Add support for DotCi - Daniel Beard
- Send Dangerfile eval exceptions to PR - @sleekybadger
- Consider all comments when looking for existing danger comments in Gitlab MRs.
- Improved DroneCI support for versions 0.4+ - @fmartingr
- Made DroneCI still work with older version - @k0nserv
- Automates the add GitHub release notes when we release via chandler - orta
- Updates Danger's tests to use the gitlab 4.0 gem - orta
- #790 Fixes issue with BitbucketServer crashing when
DANGER_BITBUCKETSERVER_HOST
is not set - orta
- #787 Fixes issue with
use_ssl
for bitbucket server integration. - RishabhTayal - #788 Fix
diff_for_file
for added files - allewun
- #785 Added support for
http://
for bitbucket server integration. - RishabhTayal
-
#681, #498 - Fixes handling of files moved across directories by using diff to get list of modified files. Please note that the fix is not backward-compatible due to moved files names being the original file names - nikolaykasyanov
This is very likely not break any Dangerfiles out there, but it's better to be safe. So we're bumping the version number to let everyone know there could be a risk. - orta
- #775 Fixed calling undefined method
start_with
- Fix danger init - Kohki Miki
danger.import_dangerfile(github:)
now supports private repositories and GitHub Enterprise - hotbott
- Change from
git fetch --unshallow
togit fetch --depth=1000000
- Juanito Fatas
- Fix find inline comment position at the last line of diff - leonhartX
- Add inline comments to changed lines only when
dismiss_out_of_range_message
is enabled - leonhartX - Add documentation for buddybuild - sunshinejr
- Minor changes to the danger Gemfile - orta
- Make danger pr & local commands recognize -h to print help - Juanito Fatas
- Fix inline comment url when using github enterprise - leonhartX
- Fix repo slug
nil
when using a GitHub repo that contains dot in name - johnlinvc - Fix find wrong diff position for inline comment - leonhartX
- Add
dismiss_out_of_range_messages
option togithub
plugin to support inline comments only, instead of moving them into the main comment - leonhartX - Fix inline comment url when using github enterprise - leonhartX
- Fix repo slug
nil
when using a GitHub repo that contains dot in name - johnlinvc - Fix find wrong diff position for inline comment - leonhartX
- gitlab project names don't need to be urlencoded anymore - hanneskaeufler
- Fix inline comment failed to fall back when there is only inline comments - leonhartX
- Fix only inline markdown comments will fall back to main comment even in diff's range - leonhartX
- Improved support for Bitbucket Branch Source Plugin - bartoszj
- Refactoring of
danger local
anddanger pr
commands - hanneskaeufler - Fixes crash of
danger local
with github enterprise hosts - hanneskaeufler
- Fixed an issue that broke markdown rendering in Github comments - turekj
- Use the colored2 gem instead of colored - orta
- Add summary to dangers comment to show in e.g. slack - hanneskaeufler
- Minor docs formatting change - orta
- PR Review in Beta. Provides access to creating a GitHub Review instead of a typical GitHub comment - antondomashnev
To use you announce the start of your review, and the end via the start
and submit` functions,
for example:
github.review.start
github.review.fail("Please add a CHANGELOG entry") if has_no_changelog
github.review.warn("Highway to the Danger Zone") if pr_includes_word_danger
github.review.message("You might want to read #{url}") if may_require_docs
github.review.markdown("Please update your changelog entry according an #{\example}") if changelog_format_not_valid
github.review.submit
- Transform
line
into an int before comparing it with ranges when posting inline comments to GitHub - barbosa - Fix danger pr command cannot specify API host - Juanito Fatas
- Better handling of long comments - Juanito Fatas
- Test on Ruby 2.4.0 - Connor Shea
- Don't rely on regular expressions to determine whether or not a file will register a plugin. - Ray Zane
- Fixes parsing Gems for pulling in their plugin JSON metadata - orta/barbosa
- Print out an error when posting a comment to BitBucket Server fails - Buju77
- Refactor plugin_support/plugin_file_resolver.rb - Juanito Fatas
- Extend BitBucket Server request source support - Alexandr Chaplyuk
- Fixed --new-comment not working with Bitbucket - Bruno Rocha
- Adjust GitHub comment output for new Markdown parser - Yuki Izumi
Welcome to 4.0. This one comes with only breaking changes. There are two of them. They both change pretty fundamental behavior in Danger:
- Switch messaging's sticky to default to
false
- Bogren - Move the
gitlab
gem intodanger-gitlab
- Orta
The sticky one affects every Dangerfile. When we first introduced the feature, we wanted
to experiment with how people used it. Looks like in general, people are writing sticky: false
a lot in their Dangerfiles. Enough that it is worth going through the pain of migrating the change.
If you prefer the old behavior, you need to add sticky: true
to the end of every call to
warn
, fail
and message
. E.g. message("Let's show something", sticky: true)
.
Otherwise, you can just remove sticky: false
from the Dangerfile.
We want to keep the dependency tree for Danger as small as possible for the majority of our users.
What this means is that we are moving the gitlab dependencies out into a separate gem. danger-gitlab
.
This reduces the number of dependencies we have for the majority of Danger's users. We love GitLab, I've been super happy with their work, and we use GitLab for Danger.Systems. This is not a slight on the project.
However, as of 4.0. Anyone using Danger with GitLab will need to use danger-gitlab
instead of danger
. It will stay
in lock-step with the same major SemVer releases with Danger. That should be your only change.
./orta
- Support for Jenkins pipelines - fwal
- Implemented '--new-comment' support for GitLab - Nikolay Kasyanov
- Improves Danger: Ignore "[warning/error text]" parsing - Juanito Fatas
- Show warning when Danger is missing permissions to update PR status, even on successful build - hanneskaeufler
- Fixed '--new-comment' creating multiple GitHub status checks, and removing the argument on a subsequent build will now make Danger correctly edit it's last comment - Bruno Rocha
- Fix crash in git_repo.rb (#636) - Kyle McAlpine & Viktor Benei & orta & Juanito Fatas
-
fail fast if still cannot find the commit after fetch - Juanito Fatas
-
Adds the
--new-comment
argument todanger
command - Bruno RochaMakes Danger post a brand new comment by ignoring other Danger instances.
-
Fixed an issue where EnvironmentManager's output UI could be
nil
, and would blackhole error messages - @notjosh -
danger pr
now accepts--dangerfile
argument - Juanito Fatasdanger pr https://github.com/danger/danger/pull/518 --dangerfile ~/Dangerfile
- Removes the mr/pr diff from the tabled output during
danger pr
,danger local
anddanger --verbose
. This is because it can be a very large output that's not too useful, and can occasionally cause errors. - orta
-
danger pr
takes an argument as PR URL instead of--use-pr
option - Juanito FatasWork with Open PR:
danger pr https://github.com/danger/danger/pull/615
Work with Merged PR:
danger pr https://github.com/danger/danger/pull/613
Works with forks, too:
danger pr https://github.com/JuanitoFatas/danger/pull/3
-
Adds
danger pr
command to run against Pull Requests - Juanito FatasWork with Open PR:
danger pr --use-pr=https://github.com/danger/danger/pull/615
Work with Merged PR:
danger pr --use-pr=https://github.com/danger/danger/pull/613
Works with forks, too:
danger pr --use-pr=https://github.com/JuanitoFatas/danger/pull/3
-
Adds a template for creating a gem-based Dangerfile - dblock (+ orta)
Adding two new commands:
danger dangerfile init
which creates the same Dangerfile generated indanger init
but without all the talking.danger dangerfile gem [gemname]
which uses the dangerfile-gem-template repo to create a Gem based on our current best practices.
- Adds backwards compatibility for plugin testing API - sorry - @orta
- Multiple remotes support for Jenkins - Juanito Fatas
- Fixed a problem when checking if the latest PR commit have been fetched - @fwal
- Added option to run a Dangerfile from a
branch
and/orpath
when using a remote repo - felipesabino - Add specs for
Danger::EnvironmentManager
- Juanito Fatas - Fixes plugin that inherits from
Danger::Plugin
should not raise error - Juanito Fatas
- Simplify initialization of Octokit client in request_sources/github.rb - Juanito Fatas
- Ensure commits exist inside the local git repo before using them for diffs - orta
- Big improvements to the warning around no API tokens being found - orta
- Support for failing on errors - orta/Juanito Fatas (the PR was pretty shared)
- Improves
danger local
merged Pull Request finding logic - Juanito Fatas - Adds some tests for Danger::Runner - Juanito Fatas
- Remove unused CLI options from
danger local
- Juanito Fatas - Raises error if plugin file doesn't contain any class inherits from Plugin - Juanito Fatas
- Use danger_id as context for GitHub status - Thiago Felix
- Increase the number of commits
danger local
to search for merged PR - Juanito Fatas - Fix rubocop offenses in plugin_linter.rb - Juanito Fatas
- Add missing require statements in bitbucket cloud and server - Juanito Fatas
- "danger local" can find squash-and-merge-type Pull Request - Juanito Fatas
- Fix request_sources files and specs location - Juanito Fatas
- Fix request_sources references in CI subclasses - Juanito Fatas
- trying to fix danger bugs - Juanito Fatas
- Fix Danger breaks when files are moved - Juanito Fatas
-
Add support for Bitbucket Cloud - Wolfgang Damm
This adds a new object to the DSL,
bitbucket_cloud
which offers the same API as Bitbucket Server! To use it, ensureDANGER_BITBUCKETCLOUD_USERNAME
andDANGER_BITBUCKETCLOUD_PASSWORD
are in your Jenkins environment, and you should be good to go. -
Add
git.info_for_file("some/file.txt")
: line counts and before/after file contents - tikitu -
Remove
String#danger_class
- Juanito Fatas -
Set defaults for file and line args of Violation#new & Markdown#new - Juanito Fatas
-
Add docs to
String#danger_pluralize
&String#danger_underscore
- Juanito Fatas -
Refactor Comment class out of CommentsHelper - Juanito Fatas
- Link to https://danger.systems/ in Bitbucket Server comments - HeEAaD
- Add
markdown_link
for the Bitbucket Server plugin - HeEAaD - Updated Bitrise documentation about env vars - kylejm
- Fix
html_link
for gitlab - hanneskaeufler
- Fix for markdown accidentally crashing Danger when sending a message #520 - orta
- Improved the width handling for the output of the
danger local
table - orta - Added a check for the merge inflection point inside the diff, and will fetch it if needed - orta
- Improved the width handling for the output of the
danger local
table - orta - Update comment & remove unused regexp name in request_source.rb - JuanitoFatas
- Mask password on BitbucketServerAPI object - JuanitoFatas
- Add
scm_provider
to the DSL allowing users and plugins to check which scm provider is being used when running danger - K0nserv - Deprecated
branch_for_merge
for GitLab. Usebranch_for_base
instead. - K0nserv - Added
branch_for_base
andbranch_for_head
for GitLab. - K0nserv
- Added
file
andline
optional parameters to methods on the messaging plugin - champo
This means that if you'd like to comment specifically on a line in a file inside the diff, you can use an API like:
message("Please add your name to the CHANGELOG", file: "CHANGELOG.md", line: 4)
If you are using GitHub (who are the only ones with an API that supports line comments) you will have the comments added inline. This makes changes to a lot of the logic inside the github API, so we'd love bug reports (or PRs! :D) on things like "I expected this comment to be deleted."
On other platforms, it will ignore the file
and line
parameters.
-
Add Bitbucket Server aka. Stash integration - heeaad
This adds a new object to the DSL,
bitbucket_server
which offers the following API:bitbucket_server.pr_title # The title of the Pull Request bitbucket_server.mr_body # The body text of the Pull Request bitbucket_server.mr_author # The username of the author of the Pull Request bitbucket_server.mr_labels # The labels assigned to the Pull Request bitbucket_server.branch_for_merge # The branch to which the PR is going to be merged into bitbucket_server.base_commit # The base commit to which the PR is going to be merged as a parent bitbucket_server.head_commit # The head commit to which the PR is requesting to be merged from bitbucket_server.mr_json # The hash that represents the PR's JSON bitbucket_server.html_link (paths: String or Array, full_path=true: Bool) # Returns a list of HTML anchors for a file, or files in the head repository.
-
Deprecated
import_dangerfile(String)
in favor ofimport_dangerfile(Hash)
- dblockThe new
import_dangerfile
method supports loading Dangerfile from Github.danger.import_dangerfile github: 'ruby-grape/danger'
You can package a Dangerfile in a gem, add it to Gemfile and import it.
danger.import_dangerfile gem: 'ruby-grape-danger'
Use a local path for testing Dangerfile changes.
danger.import_dangerfile path: '/Users/me/source/ruby-grape/danger'
See #504 for details.
-
Prints updated danger message when installed danger is outdated - JuanitoFatas
-
Remove a variable assignment in comments_helper.rb - JuanitoFatas
-
Minor improvement to Danger.gem_path - JuanitoFatas
- Fixes for
danger.import_dangerfile "org/repo"
- orta re:#487
- Show appropriate error message when GitHub repo was moved - KrauseFx
danger plugins json [gem]
will now give gem metadata too - orta- Crash fix for
bundle exec danger
- hanneskaeufler - Fix Buildkite repo slug URL generation - phillfarrugia
- Added support for Bitrise - kylejm
- Set LANG variable to en_US.UTF-8 before running git commands - bogren
- Add
mr_diff
/pr_diff
forDanger::DangerfileGitLabPlugin
- K0nserv - Fixes a bug where
danger
wouldn't work on Jenkins when setup with the GitHub Pull Request Builder plugin - vittoriom
- Spelling and grammar fixes. - connorshea
- More crash fixes for
danger local
, maybe we need more tests here - orta
- Crash fix for
danger local
- hanneskaeufler
-
GitLab support - k0nserv / deanpcmad / hjanuschka
This started back in February, and is now shipping. Documentation has been updated on the Getting Started for those interested in the setup.
This adds a new object to the DSL,
gitlab
which offers the following API:gitlab.mr_title # The title of the Merge Request gitlab.mr_body # The body text of the Merge Request gitlab.mr_author # The username of the author of the Merge Request gitlab.mr_labels # The labels assigned to the Merge Request gitlab.branch_for_merge # The branch to which the MR is going to be merged into gitlab.base_commit # The base commit to which the MR is going to be merged as a parent gitlab.head_commit # The head commit to which the MR is requesting to be merged from gitlab.mr_json # The hash that represents the MR's JSON gitlab.api # Provides access to the GitLab API client used inside Danger gitlab.html_link (paths: String or Array, full_path=true: Bool) # Returns a list of HTML anchors for a file, or files in the head repository.
A lot of thanks for the GitLab team also, who helped handle updates for one of our dependencies.
-
Adapt CI Sources that support GitLab - k0nserv
-
BREAKING Removes the implicit Dangerfile support. - orta
The implicit support was a feature that would check for an
[org]/danger
repo, and automatically parse that Dangerfile. Think it was a bit too magic, and the only person who I know is using it, said they think it should have been this way from the start. I'm cool with this.To handle the replacement, we've added a new object to the DSL. This is the
danger
API. It has two responsibilities at the moment, downloading a Dangerfile:danger.import_dangerfile = "artsy/danger"
and importing local plugins:
danger.import_plugin [path_or_url]
Which the astute may have remembered used to be the purview of
plugin.import
. Which is now removed, in favour of thedanger.import_plugin
. Think there's more space for improvement inside the context ofdanger
thanplugin
.I also removed
plugin.download
- couldn't see a use for it inside a Dangerfile. Happy to change that, if it's being used it. -
Rename
DANGER_GITHUB_API_HOST
toDANGER_GITHUB_API_BASE_URL
. - k0nserv UsingDANGER_GITHUB_API_HOST
is still supported to preserve backwards compatibility, but usingDANGER_GITHUB_API_BASE_URL
is encouraged.
- Crash fix for
danger init
- marcelofabri
- Lols, more Circle CI stuff, and importantly - more documentation - orta
- Improve detection of PR content on CircleCI. - jamtur01
- Improve detection of Buildkite's PR context - cysp
- An attempt at fixing a misalignment with what Danger says is inside the diff range, and what people have seen #160 #316 - orta/yimingtang/jamtur01/segiddins
- Copyedit the README and vision statement - suchow
- Improvements to
danger init
- orta - Circle CI validation improvements - orta
- Adds
danger-junit
to thedanger/danger
repo, requiring changes to the plugin testing systems - orta - Improves the "is a shared Dangerfile from the Danger Repo" check #366 - orta
- Replaces
redcarpet
throughkramdown
to avoid jruby foo - LeFnord
- Refactors the CI Source init, and verification section - orta
- Adds a
danger systems ci_docs
command that outputs the CI sources and their docs - orta - Merges some of the work on splitting the request source done in #299 - orta, who merged k0nserv's work.
- Add
git.diff_for_file("some/file.txt")
to get a Git::Diff::DiffFile - dbgrandi - Improves the default file resolves for all the
danger plugins
commands, it will now work with a new plugin by default. - orta - \n now works in HTML tables - marcelofabri
- You can now pass
full_path: false
togithub.html_link("/path/file.txt", full_path: false)
to have it only show the filename. - orta danger plugins readme
shows attributes correctly. - orta
- Updates the
danger init
template to 2.0 syntax - orta
- BREAKING Removes a lot of top-level attributes in the DSL, moving them into scoped plugins - orta
Full list of changes:
# Git Stuff
modified_files -> git.modified_files
added_files -> git.added_files
deleted_files -> git.deleted_files
lines_of_code -> git.lines_of_code
deletions -> git.deletions
insertions -> git.insertions
commits -> git.commits
# GitHub Stuff
pr_title -> github.pr_title
pr_body -> github.pr_body
pr_author -> github.pr_author
pr_labels -> github.pr_labels
branch_for_base -> github.branch_for_base
branch_for_head -> github.branch_for_head
base_commit -> github.base_commit
head_commit -> github.head_commit
env.request_source.pr_json -> github.pr_json
env.request_source.api -> github.api
# Importing Stuff
import -> plugin.import
The main reason for this is that we can support many code review APIs without having to fudge the Dangerfile DSL to make them conform to GitHub standards. This would mean a gitlab user could write gitlab.mr_author
to access the author once #229 lands.
It also ensures that Danger's plugins are treated like external plugins. This means any work going into improving core plugins (via documentation or automation for example) will improve the upcoming plugin community.
I don't like breaking backwards compatibility. Sorry, for as far as I can see at this point, this is the only one Danger needs.
- add
pr_diff
exposing the unified diff for the PR to the GitHub plugin - champo - Improvements to the linter and the JSON output for plugin docs - orta
- Add
html_link
to the GitHub plugin - marcelofabri I don't like breaking backwards comparability. Sorry, for as far as I can see at this point, this is the only one Danger needs. - add
pr_diff
exposing the unified diff for the PR to the Github plugin - champo - Improvements to the linter, readme generator and the JSON output for plugin docs - orta
- Add
danger local --pry
, which drops into a Pry shell after eval-ing the Dangerfile - dbgrandi
-
Improves wording when failing a OSS build - orta
-
Add support for org-wide Dangerfile -- KrauseFx
- To use this, create a repo on your GitHub organization called "danger" (or "Danger")
- Add a
Dangerfile
to the root of that repo. - This new
Dangerfile
is ran after current repo'sDangerfile
.
The org
Dangerfile
will have access to all of the same plugins, and metadata. For an example, see: https://github.com/Themoji/danger -
Breaking:
import_url
does not append.rb
to your url anymore. - KrauseFx -
Minor core documentation updates - orta
-
danger plugin lint
now says it's failed when it's failed, not when it succeeds - orta -
Fixes to the markdown support in
warn
,fail
andmessage
- orta -
Add http caching for Github API calls when running
danger local
- dbgrandi
- Danger no longer relies on the GNU utilities and can run on Windows - henriwatson
danger plugins lint
is a linter - ortadanger plugins json
will show you the JSON output of your docs - orta
danger plugin
is removed in favor ofdanger plugins
- dbgrandi/ortadanger plugin lint
is nowdanger plugins lint
danger plugin readme
is nowdanger plugins readme
- use
claide-plugins
gem to provide plugin management - dbgrandi- extends
claide-plugins
gem with list, search, create commands list
is the default command fordanger plugins
list
shows all pluginssearch
let's you search with a regexpcreate
uses https://github.com/danger/danger-plugin-template to bootstrap a new danger plugin
- extends
- Warn users not to store GitHub tokens in the repository -- dantoml
- Crash on load fix for
danger plugins readme
-- orta - Add support for Surf CI (https://github.com/surf-build/surf) -- paulcbetts
danger plugins lint
contains more information - orta- Make link instructions in onboarding OS aware -- K0nserv
- Converts the message link to be http://danger.systems - orta
- Fix
danger lib lint
with no params not finding the plugin paths - orta - Converts
""
usage to''
where possible -- dantoml - More documentation params are exposed to the linter - orta
- Documentation audit - orta
- Use proper commits for calculating diff.
- Update environment variables used by Buildkite - bentrengrove
- Initial work on
danger plugin lint
command - orta danger plugin lint
can run with either:- a list of file paths
- a list of gems
- no arguments, which will parse
lib/**/**/*
to lint your local plugins
- Moved new plugin to
danger plugin new
- orta - Added
api
to the DSL, which is a shortcut to the activeOctokit::Client
- orta - Renamed
branch_for_merge
tobranch_for_base
and also addedbranch_for_head
- orta - Initial work on namespacing existing plugins - orta
- Notify the user to add the new GitHub account as collaborator to Close Source project
- Fixes a problem running
danger local
due to a missing dependency on yard - ashfurrow - Improvements for CircleCI CI detection - orta
- Fix updating of the commit status after danger check. - justMaku
- Relies on the current git HEAD, instead of pulling a merge branch from GitHub - justMaku
- Use Cork for console output. - DanToml
- Print a list of results, instead of a table. - DanToml
- Support multiple Danger instances with
--dangerId
- marcelofabri - Add base request source so services other than GitHub could be used with Danger. - justMaku
- Don't validate CI sources that don't expose all required environment variables. - justMaku
- Add support for TeamCity CI - rbuussyghin
- Fix Ruby 2.0 support - segiddins
- Considerable under-the-hood changes around the DSL, shouldn't affect end-user Dangerfiles though - orta
- Fix for
danger local
crash due to ^ - dbgrandi - Add support for Drone CI - gabro
- [BREAKING] Add initial support for more expressive and documented plugins. Breaks all existing plugins. - dbgrandi/orta
- All core DSL attributes are handled via Danger Plugins - orta
- Initial work on the Plugin -> JSON mapper - orta
- Add support for Semaphore CI - starsirius
- Add Ruby 2.3 support - segiddins
- Allow Dangerfile path to be configured - gabro
- Adds the ability to specify a PR number in
danger local
- orta - Ensures local branches are set up with
danger local
- orta - Add
commits
for the Git SCM source - segiddins
- Minor
danger init
typo fixes - orta + danger - Added support for CLAide-based plugins - segiddins
- Auto follow of remote plugin URL redirects - KrauseFx
- Adding XcodeServer provider - antondomashnev
- Hotfix: import of plugins didn't work depending on alphabetical order - KrauseFx
- Added support for local plugins - KrauseFx
- Added support for remote plugins - KrauseFx
- Added new
danger new_plugin
command to create plugins in the fastlane - KrauseFx - Added printing of table summaries after running danger - KrauseFx
- Refactored all plugins to be classes instead of methods - KrauseFx
- Added auto-import of local plugins - KrauseFx
- Resolved issues are now crossed out by Danger - marcelofabri
- Added new
markdown
command to Danger DSL - KrauseFx - Added new
modified_files.include?("rakelib/*_stats.rake")
file globbing support - KrauseFx
- Enterprise GitHub support - dbgrandi
- Use branches for comparison, not commits - orta
- Breaking: DSL change
files_*
to*_files
for readability - jeroenvisser101
- Added internal plugin system - KrauseFx
- Refactored unit tests - KrauseFx
- Fixed issue when PR Title or PR body is nil - KrauseFx
- Added support for
git://
-prefixed url as remote - jeroenvisser101 - Added comment based violation suppression - marcelofabri
- Typo fixes for
danger init
- lumaxis
- Fixes for
danger init
- krausefx
- New: Converted
danger init
into a wizard for setting up Danger, walking you though tokens/ci - orta - Breaking:
files_removed
tofiles_deleted
( to be more consistent with git's terminology. ) - orta - Revised underlying git tooling for generating file/diff metadata - orta
- re-revise underlying git tooling to not use something based on libgit2 - orta
- Set CHANGELOG merge strategy to union - marcelofabri
- Remove
nap
dependency - marcelofabri - Show command summary in help - marcelofabri
- Use 100% width tables for messages - marcelofabri
- Adding Jenkins provider - marcelofabri
- Add a
danger local
command to test your current Dangerfile against the last PR merged on the repo - orta - Calling CircleCI API when
CI_PULL_REQUEST
is not set - marcelofabri - Look inside PR JSON for the commit range (instead of getting from CI providers) - marcelofabri
- Adds
pr_labels
to DSL - marcelofabri - Makes the CircleCI provider validate, but not run on non-PR builds - orta
- Take the git before...after references out of ENV vars from CI providers - orta
- Fixes CircleCI when dealing with URLs like
https://github.com/artsy/eigen/compare/b0f6a2a9ff6f%5E...316b694875c8
- orta - Ensure all comments are downloaded, previously it was capped at 30 - orta
- Attach commit metadata to the message invisibly - orta
- On danger/danger we now fail if there's no changelog entry - orta
- Moved to an org [feb 9]
- Adds support for Circle CI on danger/danger
- Edits an existing ticket rather than making a new one - orta
- Support making comments on a GitHub PR - Felix
- Use GitHub status API to provide extra info on a PR - Felix
- DRY the HTML comment - orta
- Don't show a message if there are not warnings/errors - orta
- Parses a
Dangerfile
- orta - Gets GitHub details from Travis & CircleCI - orta
- Gets PR details from GitHub - orta
- Gets Git details from local Git - orta
- Fails when you say it's failed in the Dangerfile - orta