- Remove upper bound constraint on the git gem - @andrewmarkle #1526
- Add "Add GitLab Merge Request support" again with fix - @manicmaniac #1522
- Revert "Add GitLab Merge Request support with a new
mrcommand" - @manicmaniac #1521
- Add GitLab Merge Request support with a new
mrcommand - @jtslear #1516 - Support v4 of colored2 gem to make danger work with --enable-frozen-string-literal RUBYOPT of newer Ruby versions - @eiskrenkov #1513
- Support ruby-git 2.x - @manicmaniac #1511
- Allow terminal-table versions through 4.x - @murilooon #1508
- Bump kramdown to 2.5.1 - @manicmaniac #1514
- Update ruby version in Dockerfile to 3.2 - @okatatuki #1472 #1473
- Fix: git diff called by methods like
git.modified_filesmay fail with error[!] Invalid `Dangerfile` file: git ... 'diff' '-p' 'true' '{head}' 2>&1- @nagataaaas #1498 - Add gems ejected from future stdlib - @manicmaniac #1499
- Always use
LocalOnlyGitReposource withdry_runcommand - @imaginaris #1452 - Support repository access token on Bitbucket Cloud - @manicmaniac #1481
- Update "What is Danger?" in README - @manicmaniac #1482
- Fix broken YARD documents - @manicmaniac #1484
- Add Ruby 3.3 to test matrix - @ydah #1486
- Bump rubocop version and fix new offenses - @ydah #1487
- Use GitHub files API with pagination for PR diff - @timbaev #1491
- Add keyword arguments to MessageAggregator.aggregate for Ruby 3.X compatibility - @dirtyhabits97 #1466
- Fix: remove stale violations when there are no new violations to report - @iangmaia #1477
- Fix compatibility issue with Octokit >= 8 - @manicmaniac #1479
- 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
refoption toimport_dangerfilemethod as an alias ofbranchoption. - @manicmaniac #1394 - Fixed incorrect help messages for
danger plugins lintanddanger 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 prposting results to provider. - @bobbymcwho #1365
-
Fix for branch names being able to trigger git commands - @kyoshidajp #1357
-
Fix
diff_for_filefor 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_ERRORenv 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_SSLto 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
Commitsclass properly underDanger. @rymai #1294
- Silence the ObjectifiedHash warnings when iterating over GitLab notes. - @dstull
- Replace
URI.escapewhich 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_targetin 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_TITLEandDANGER_BITBUCKETSERVER_CODE_INSIGHTS_REPORT_DESCRIPTIONoptional 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_TOKENandDANGER_PROJECT_REPO_URLare 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_UUIDenvironment 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
stagingcommand 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_linksofdangerfile_gitlab_pluginfor nongitlab/jenkinsci @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 theDangerfileviadanger.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-cachedependency from 1.0 to 2.0 - Fixed importing Dangerfile from Gitlab (uses Gitlab API now)
- Fixed missing Unified diff headers for
gitlab.mr_diffdue 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-commentfor GitLab to actually create the new comment instead of updating an old one. @AlexDenisov Original issue: danger#1084 - Use
CI_API_V4_URLon GitLab 11.7+ installations @glensc, #1089
- Add
--fail-if-no-prflag, breaks builds if no PR is found @ghiculescu
- Add support for Bitbucket Pipelines @HelloCore
- Fixed interface with GitLab CI @pbendersky
danger prnow supports Bitbucket Cloud repos @RicardoBelchior
- Fix duplicated REGEXPBB warning @jmromanos
- Add supports GitHub Actions @duck8823
- Fix issue in
Jenkinslib with PR detection logic @serg-kovalev
- Support multiple gitlab groups using jenkins ci extracting
repo_slug@kyaak
- Fix wrong test and implementation about
No newlineannotation @colorbox
danger prnow supports Bitbucket Server repos @jmromanos
- Fix diff position calculation when diff includes
No newlineannotation @colorbox
- Add
git.tagsto get a list of existing Git tags @hotbott
- Fix diff range detection logic @r7kamura
- Update
BitbucketServerAPIerror 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_runcommand 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-ansibehavior for decoloring output @otaznik-net
- Adds
failureas an alias tofailwithout 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::GitLabCIto useCI_PROJECT_PATHinstead ofCI_PROJECT_IDfor 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_dangerfileerror @tbrand - Fixing typo:
ArraySublcass->ArraySubclass@ivantse - Fix crash when having messages with nil line on GitHub @fwal
- Fix GitLab
html_linkurl's for external repos. @sogame - Removing
--alloption 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-commentsfunctionality, 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 localanddanger 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_sshowing 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_SSLto toggle SSL Verification for Octokit - @nikhilsh
- Add support for VSTS - @petester42
- Tightens up pronouns in
danger init. - Add
--verify-ssloption to bypass Octokit's SSL Verification - @nikhilsh - Add
no_proxy_fixgem 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
gitexecutions 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_HOSTis not set - orta
- #787 Fixes issue with
use_sslfor bitbucket server integration. - RishabhTayal - #788 Fix
diff_for_filefor 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 --unshallowtogit 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_messageis 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
nilwhen using a GitHub repo that contains dot in name - johnlinvc - Fix find wrong diff position for inline comment - leonhartX
- Add
dismiss_out_of_range_messagesoption togithubplugin 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
nilwhen 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 localanddanger prcommands - hanneskaeufler - Fixes crash of
danger localwith 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
lineinto 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
gitlabgem 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-commentargument todangercommand - 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 prnow accepts--dangerfileargument - 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 localanddanger --verbose. This is because it can be a very large output that's not too useful, and can occasionally cause errors. - orta
-
danger prtakes an argument as PR URL instead of--use-proption - Juanito FatasWork with Open PR:
danger pr https://github.com/danger/danger/pull/615Work with Merged PR:
danger pr https://github.com/danger/danger/pull/613Works with forks, too:
danger pr https://github.com/JuanitoFatas/danger/pull/3
-
Adds
danger prcommand to run against Pull Requests - Juanito FatasWork with Open PR:
danger pr --use-pr=https://github.com/danger/danger/pull/615Work with Merged PR:
danger pr --use-pr=https://github.com/danger/danger/pull/613Works 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 initwhich creates the same Dangerfile generated indanger initbut 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
branchand/orpathwhen using a remote repo - felipesabino - Add specs for
Danger::EnvironmentManager- Juanito Fatas - Fixes plugin that inherits from
Danger::Pluginshould 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 localmerged 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 localto 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_cloudwhich offers the same API as Bitbucket Server! To use it, ensureDANGER_BITBUCKETCLOUD_USERNAMEandDANGER_BITBUCKETCLOUD_PASSWORDare 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_linkfor the Bitbucket Server plugin - HeEAaD - Updated Bitrise documentation about env vars - kylejm
- Fix
html_linkfor gitlab - hanneskaeufler
- Fix for markdown accidentally crashing Danger when sending a message #520 - orta
- Improved the width handling for the output of the
danger localtable - 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 localtable - orta - Update comment & remove unused regexp name in request_source.rb - JuanitoFatas
- Mask password on BitbucketServerAPI object - JuanitoFatas
- Add
scm_providerto the DSL allowing users and plugins to check which scm provider is being used when running danger - K0nserv - Deprecated
branch_for_mergefor GitLab. Usebranch_for_baseinstead. - K0nserv - Added
branch_for_baseandbranch_for_headfor GitLab. - K0nserv
- Added
fileandlineoptional 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_serverwhich 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_dangerfilemethod 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_diffforDanger::DangerfileGitLabPlugin- K0nserv - Fixes a bug where
dangerwouldn'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,
gitlabwhich 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]/dangerrepo, 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
dangerAPI. 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 ofdangerthanplugin.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_HOSTtoDANGER_GITHUB_API_BASE_URL. - k0nserv UsingDANGER_GITHUB_API_HOSTis still supported to preserve backwards compatibility, but usingDANGER_GITHUB_API_BASE_URLis 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-junitto thedanger/dangerrepo, requiring changes to the plugin testing systems - orta - Improves the "is a shared Dangerfile from the Danger Repo" check #366 - orta
- Replaces
redcarpetthroughkramdownto avoid jruby foo - LeFnord
- Refactors the CI Source init, and verification section - orta
- Adds a
danger systems ci_docscommand 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 pluginscommands, it will now work with a new plugin by default. - orta - \n now works in HTML tables - marcelofabri
- You can now pass
full_path: falsetogithub.html_link("/path/file.txt", full_path: false)to have it only show the filename. - orta danger plugins readmeshows attributes correctly. - orta
- Updates the
danger inittemplate 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_diffexposing 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_linkto 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_diffexposing 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
Dangerfileto the root of that repo. - This new
Dangerfileis ran after current repo'sDangerfile.
The org
Dangerfilewill have access to all of the same plugins, and metadata. For an example, see: https://github.com/Themoji/danger -
Breaking:
import_urldoes not append.rbto your url anymore. - KrauseFx -
Minor core documentation updates - orta
-
danger plugin lintnow says it's failed when it's failed, not when it succeeds - orta -
Fixes to the markdown support in
warn,failandmessage- 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 lintis a linter - ortadanger plugins jsonwill show you the JSON output of your docs - orta
danger pluginis removed in favor ofdanger plugins- dbgrandi/ortadanger plugin lintis nowdanger plugins lintdanger plugin readmeis nowdanger plugins readme
- use
claide-pluginsgem to provide plugin management - dbgrandi- extends
claide-pluginsgem with list, search, create commands listis the default command fordanger pluginslistshows all pluginssearchlet's you search with a regexpcreateuses 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 lintcontains more information - orta- Make link instructions in onboarding OS aware -- K0nserv
- Converts the message link to be http://danger.systems - orta
- Fix
danger lib lintwith 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 lintcommand - orta danger plugin lintcan 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
apito the DSL, which is a shortcut to the activeOctokit::Client- orta - Renamed
branch_for_mergetobranch_for_baseand 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 localdue 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 localcrash 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
commitsfor the Git SCM source - segiddins
- Minor
danger inittypo 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_plugincommand 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
markdowncommand 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*_filesfor 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 initinto a wizard for setting up Danger, walking you though tokens/ci - orta - Breaking:
files_removedtofiles_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
napdependency - marcelofabri - Show command summary in help - marcelofabri
- Use 100% width tables for messages - marcelofabri
- Adding Jenkins provider - marcelofabri
- Add a
danger localcommand to test your current Dangerfile against the last PR merged on the repo - orta - Calling CircleCI API when
CI_PULL_REQUESTis not set - marcelofabri - Look inside PR JSON for the commit range (instead of getting from CI providers) - marcelofabri
- Adds
pr_labelsto 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