-
-
Notifications
You must be signed in to change notification settings - Fork 372
/
Copy pathCHANGELOG.md
2086 lines (1403 loc) · 74 KB
/
CHANGELOG.md
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
<!--
// Please add your own contribution below inside the Main section, no need to
// set a version number, that happens during a deploy. Thanks!
//
// These docs are aimed at users rather than danger developers, so please limit technical
// terminology in here.
// Note: if this is your first PR, you'll need to add your link to your
// username handle to the footnotes. see the bottom of this file.
// The list there is sorted, try to follow that.
-->
## Main
<!-- Your comment below this -->
<!-- Your comment above this -->
## 11.3.1
- Adds `pull_number` into `thisPR` in the GitHub SDL [@radimsv]
- Clear missing DSL timeout when DSL is found so danger runner can exit faster when done [@normano64]
- Customise GHE actions bot user ID via `DANGER_GHE_ACTIONS_BOT_USER_ID` #1404 [@dimitar-hristov]
## 11.3.0
- GitLab: Upgrade `@gitbeaker/node` from `^21.3.0` to `^35.8.1` [@buffcode]
## 11.2.8
- Another fix for Gitlab inline comments #1395 [@glensc]
## 11.2.7
- Fix issue where GitLab inline comments would not show on merge requests #1351 - [@davidbrunow]
## 11.2.6
- A fix for the fix in 11.2.5
## 11.2.5
- Fix for running in projects which contain the path `danger-pr` e.g. `~/danger-projects` #1375
## 11.2.4
- Feature: Expose addLabels, removeLabels via gitlab.utils, [@glensc] [#1353](https://github.com/danger/danger-js/pull/1353)
- Fix remote dangerfiles always parsing as JavaScript. TypeScript files should now work properly - [@snowe2010]
- Add support for BitBucket Cloud Repository Access Token - [@thawankeane]
## 11.2.3
Turns on skipLibCheck so that an @types change doesn't break deploys to homebrew
## 11.2.2
Reverts a change for GitHub Actions which was likely causing duplicate comments #1337
## 11.2.1
- Updates jsonwebtoken due to security issues
- Support arm64 binary generation for Apple silicon users [#1342](https://github.com/danger/danger-js/pull/1342) [@pepix]
## 11.2.1
- Bug fix for bitbucket bot detection ignoring case #1291
## 11.2.0
- Append random string to danger-results.json and danger-dsl.json files to better support concurrent processes #1311
- Gitlab: add support for skipping remove of messages when empty [#1330](https://github.com/danger/danger-js/issues/1330) [@ivankatliarchuk]
- Gitlab: package moved to a new home "@gitbreaker/*" [#1301](https://github.com/danger/danger-js/issues/1301) [@ivankatliarchuk]
- GitLab: Improve support for MRs from forks [#1319](https://github.com/danger/danger-js/pull/1319) [@ivankatliarchuk]
- GitLab: Added provider tests [#1319](https://github.com/danger/danger-js/pull/1319) [@ivankatliarchuk]
- GitHub: Added `danger.github.pr.draft` field to DSL
- GitLab: Add support for using threads instead of comments [#1331](https://github.com/danger/danger-js/pull/1331) [@uncaught]
## 11.1.2
- Improvements to `--staging` in Danger local
- Protection against custom git prompts in Danger local
## 11.1.1
- Bug fix for over-deleting inline comments #1287
## 11.1.0
- Adds support for the new [GitHub Job summaries](https://github.blog/2022-05-09-supercharging-github-actions-with-job-summaries/) API via:
- `danger.github.setSummaryMarkdown("[markdown]")` for the JavaScript DSL
- The results DSL for sub-processes now accepts `{ github: { stepSummary: "[markdown]" } }` from projects the Swift and Kotlin implementations of Danger.
This gives you the chance to leave feedback on the overview page for a PR, it won't ping people
in the PR thread or trigger emails which is why it's a separate attribute in the DSL. Potentially open to having the main
comment in the job summary if someone can make a good case for it in the Danger JS issues. [@orta]
# 11.0.5
- Set the timeout for getting results from the Danger runner to be 10 seconds
# 11.0.4
- Deploying from my Mac to see if that's what's causing the build issues for homebrew. [@orta]
# 11.0.3
- Bump up @babel/* plugins for Core-JS support. [@parvez]
- Replace deprecated @Babel/polyfill dependency with Core-JS + Regenerator-Runtime. [@gpetrioli]
- *Fix:* / *Improvement* Don't drop inline comments which fall outside of the diff in GitHub PRs - [#1272](https://github.com/danger/danger-js/pull/1272) [@rouby]
- *Chore:* Switch from tslint to eslint (tslint is end-of-life) - [#1205](https://github.com/danger/danger-js/pull/1205) [@fbartho]
# 11.0.0 -> 11.0.2
- *Breaking:* Upgrade @octokit/rest from ^16.43.1 to ^18.12.0 - [#1204](https://github.com/danger/danger-js/pull/1204) [@fbartho]
This is only likely to hit you if you use `danger.github.api` pretty extensively in your Dangerfiles, but better to keep an eye out.
# 10.8.1
- Fix: [Github] Multiple Inline Comments on the same file/line should all be posted [#1176](https://github.com/danger/danger-js/pull/1176) [@Rouby]
- Fix: [git] JSONDiffForFile when passed the path of a JSON File that was moved, crashes [#1193](https://github.com/danger/danger-js/pull/1193) [@fbartho]
- Resolve node-fetch dependency to 2.6.7 to resolve [GHSA-r683-j2x4-v87g](https://github.com/advisories/GHSA-r683-j2x4-v87g) [@jonny133]
# 10.8.0
- Feature: `danger local --outputJSON` for [#1177](https://github.com/danger/danger-js/pull/1177) [@orta]
- Fix: Updates `jsonpointer` for [#1174](https://github.com/danger/danger-js/pull/1174) [@unfernandito]
- Fix: Updates `parse-link-header` for CVE-2021-23490 [#1190](https://github.com/danger/danger-js/pull/1190) [@fbartho]
# 10.7.1
- Updates micromatch dependencies for CVE-2021-23440
# 10.7.0
- Adds support for XcodeCloud
# 10.6.6
- Fix for supporting Bitbucket Server personal repositories
- GitLab: Added `GitLabApi` to `danger.gitlab.api`. - [@shyim]
- GitLab: Added label helper functions to `danger.gitlab.api.addLabels` and `danger.gitlab.api.removeLabels`. - [@shyim]
# 10.6.5
- Improvements to the git parsing for `danger local` - [@denieler]
- Bitbucket Cloud: Fix type of BitBucketCloudPRDSL.created_on and updated_on. - [@hellocore]
# 10.6.4
- DEBUG="\*" will now log out the response for any HTTP request which isn't classed as "OK" - [@orta]
# 10.6.3
- Fixed Bitrise's `ciRunURL` underlying env var - [@rogerluan]
- Simplified Bitrise repo slug lookup, fixing SSH URL parsing in BitBucketServer - [@rogerluan]
- Log failure to update status also when not in verbose mode - [@rogerluan]
# 10.6.2
- Added Codemagic.io as a supported CI - [@fbartho]
- Switched Danger's default branch to be 'main' from 'master' - [@orta]
- Added GitLab Approvals to the DSL: `gitlab.approvals` - kelvin-lemon
# 10.6.1
- Better detection of using the github actions bot for comment deletion - [@orta]
# 10.6.0
- Bitbucket Cloud: Add markdown emoji instead of unicode - [@JanStevens]
- Add `DANGER_DISABLE_TSC` environment variable to disable transpiling with tsc, providing a way to force transpiling
with Babel - [@ozzieorca]
- Adds options `--newComment` and `--removePreviousComments` - [@davidhouweling]
- Add support for a file path filter when calculation lines of code - [@melvinvermeer]
# 10.5.4
- Fix for `danger local` not passing through `--staging` - [@g3offrey]
# 10.5.3
- Fix for `danger local` not showing commit messages - [@hmschreiner]
# 10.5.2
- Adds `danger.git.head` and `danger.git.base` - [@jamiebuilds]
# 10.5.1
- Bitbucket Cloud: Fix bug when Danger updating inline comment with summary comment. - [@hellocore]
- Fall back to alternative methods for establishing the PR number from CodeBuild - [@alexandermendes]
# 10.5.0
- Handle deprecations for the APIs used with `--use-github-checks` #1073 [@wardpeet]
# 10.4.1
- Improved `tsconfig.json` file lookup strategy: it now looks for it starting from the location of the danger file.
#1068 [@igorbek]
- Upgrade node-fetch to 2.6.1 to fix GHSA-w7rc-rwvf-8q5r. #1071 [@hmcc]
# 10.4.0
- Adds aliases to the FakeCI env vars. You could now have something like:
```yml
- run: "npx danger-ts ci"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
DANGER_MANUAL_CI: true
DANGER_MANUAL_GH_REPO: ${{ steps.pr_info.outputs.repo }}
DANGER_MANUAL_PR: ${{ steps.pr_info.outputs.number }}
```
Which looks more intentional instead of: `DANGER_FAKE_CI` etc. [@orta]
# 10.3.1
- Experimental support for internal routing when using `npx danger-ts` [@orta]
# 10.3.0
- Added a CLI option `--ignoreOutOfDiffComments` so that you can ignore inline-comments for lines that were not changed
in the checked PR. The comments would be ignored completely - they won't even show in the results comment. [@pinkasey]
# 10.2.2
- Add support for `danger local` on repos without a master branch - [@ahobson]
# 10.2.1
- Wait for close event on spawned process in local git platform - [@gzaripov]
- Fix Typo in README.md [@NotMoni]
- Fix danger failure on getting diff for files with spaces in file path [@HonzaMac]
- Document how to disable transpilation [@rzgry]
- Fix get blob url for pr commit [@doniyor2109]
# 10.2.0
- Take commit hash from CircleCI environment variable [@valscion]
- Fix project path with /- in GitLab MR URL [@pgoudreau]
- When creating a new PR with `createOrUpdatePR`, add the description (as done when editing) - [@sogame]
# 10.1.0
- Adds support for Bamboo CI [@tim3trick]
- Replace regex to a long url repos approach on Bitrise [@lucasmpaim]
- Pass process arguments back to the original process [@f-meloni]
- When fetching existing labels in `createOrAddLabel` use pagination to fetch them all - [@sogame]
# 10.0.0
- Changed JSON patch implementation for better memory performance. [@dkundel]
**Breaking:** `JSONPatchForFile` will return a different order of operations than previously. It will also return a
`path` with the index of the element inserted into an array for `add` operations.
# 9.3.1
- Don't fail when using `createOrAddLabel` if label fails to be created or added - [@sogame]
# 9.3.0
- Add the staged flag to `danger local` command - [@soyn]
- Don't use hardcoded userId to update comments if using personal token in Github Actions - [@rohit-gohri]
- Disable warning in Github Action if using DANGER_GITHUB_API_TOKEN - [@rohit-gohri]
- Update `parse-diff` library - [@417-72KI]
- Fix repository slug in Jenkins provider - [@sandratatarevicova]
- Add Gitlab diff support - [@rohit-gohri]
- Fix Typos across danger-js Repo - [@yohix]
- Fix `@octokit/rest` deprecation warning when using `.issues.addLabels()` - [@sogame]
# 9.2.10
- Fixes for the homebrew generated binaries - [@hellocore]
# 9.2.9
- Bitbucket Cloud: Allow DangerCI to get UUID from Bitbucket - [@hellocore]
- Update docs for GitLab - [@orta]
# 9.2.7-8-9
- Maybe fix deploys to GPR for Docker - [@orta]
# 9.2.6
- Add support for Cirrus CI - [@RDIL]
# 9.2.5
- Remove additional danger from pr generated json - [@f-meloni]
# 9.2.4
- Fix github actions checks - [@f-meloni]
# 9.2.3
- Support more events on GitHub actions - [@f-meloni]
# 9.2.2
- Fix binary files for BitBucket Server - [@osmestad]
- Allow GHE to use checks - [@adam-bratin]
# 9.2.1
- Fix structuredDiffForFile for BitBucket Server - [@osmestad]
- Fix Buddy.works isPR and use PR number instead of PR ID - [@mmiszy]
- remove jsome package and replace with prettyjson - [@watchinharrison]
- Add GitLab support to Jenkins provider - [@sandratatarevicova]
# 9.2.0
- Add Buddy.works Pipelines support - [@kristof0425]
- Added flag to bypass Jira/Issues - [@orieken]
- Improve docs for GitHub Actions - [@nguyenhuy]
# 9.1.8
- Get GitHub Actions event file pathname from env variable - [@IljaDaderko]
# 9.1.7
- GitHub Actions docs update - [@orta]
# 9.1.6
- Release only made for GitHub Actions - [@orta]
# 9.1.5
- Take commit hash from bitrise env - [@f-meloni]
# 9.1.4
- Use new env `BITBUCKET_REPO_FULL_NAME` in bitbucket pipeline. - [@Soyn]
- Take commit hash from CI Source if available - [@f-meloni]
# 9.1.3
- Updates GitLab API to 10.x - [@awgeorge]
# 9.1.2
- Add retry handling for API requests - [@jtreanor]
# 9.1.1
- Fixes TS declarations - [@orta]
- Fix Github Actions documentation - [@ravanscafi]
- Improve Performance by Caching BitBucket Cloud Commits - [@hellocore]
- Add compliment message to comment template on Bitbucket Cloud - [@hellocore]
- Add option to set custom icon in messages - [@rohit-gohri]
# 9.1.0
- Expose BitBucketServerAPI - [@NMinhNguyen]
# 9.0.3
- Add support OAuth for BitBucket Cloud - [@hellocore]
- Allow `handleResults` to be called without a `git` object - [@jtreanor]
# 9.0.2
- Fix for the GitLab dependency making danger not load - [@f-meloni]
# 9.0.1
- Fixed incorrect main comment template on Bitbucket Cloud - [@hellocore]
# 9.0.0
- Add BitBucket Cloud & BitBucket Pipelines support - [@hellocore]
- Add GitLab missing states - [@f-meloni]
- Fixes incorrect slug for builds from forks on Codefresh - [@stevenp]
# 8.0.0
- Adds GitLab & GitLab CI support - [@notjosh], [@bigkraig], [@jamime]
- Add support for AppCenter - [@mrndjo]
# 7.1.4
- Un-hardcodes the repo in `danger.github.utils.createOrUpdatePR`- [@ds300]
# 7.1.3
- Cleans up the declarations a little bit - [@orta]
- Adds support for [Codefresh CI](https://codefresh.io) - [@stevenp]
# 7.1.2
- Update ts-jest to 24.0.2 - [@friederbluemle]
- Adds a fix for the default name of Danger in status - [@orta]
- Adds `danger.git.fileMatch.getKeyedPaths()`, providing more convenient access to paths. This replaces
`fileMatch.tap()` and `fileMatch.debug()`.
```ts
const components = fileMatch("components/**/*.js", "!**/*.test.js")
const componentTests = fileMatch("!**/*.test.js")
if (components.edited && !componentTests.edited) {
warn(
[
"This PR modified some components but none of their tests. <br>",
"That's okay so long as it's refactoring existing code. <br>",
"Affected files: ",
components.getKeyedPaths().edited.join(", "),
].join("")
)
}
```
This makes it much simpler to compose a collection of file checks - [@paulmelnikow]
# 7.1.0
- Adds Chainsmoker, and expands the Danger DSL with the addition of `danger.git.fileMatch`.
```ts
const documentation = danger.git.fileMatch("**/*.md")
const packageJson = danger.git.fileMatch("package.json")
const lockfile = danger.git.fileMatch("yarn.lock", "package-lock.json")
if (documentation.edited) {
message("Thanks - We :heart: our [documentarians](http://www.writethedocs.org/)!")
}
if (packageJson.modified && !lockfile.modified) {
warn("This PR modified package.json, but not the lockfile")
}
```
This makes it much simpler to compose a collection of file checks - [@paulmelnikow]
# 7.0.19
- Taken a stab at trying to make the commit status summary to feel better in both Danger & Peril [@orta], [@dblandin]
# 7.0.18
- Adds a CLI option `--failOnErrors` so that you can force `danger ci` to return a failed exit code on any `fail`s in a
Dangerfile [@f-meloni]
# 7.0.17
- Send different build update keys based on the id on Bitbucket [@f-meloni]
# 7.0.16
- Add support for CodeBuild CI source [@sharkysharks]
# 7.0.15
- Enable Danger runs with different DangerIDs to post separate statuses [@randak]
- Docs: fix typo - [@hiroppy]
- Fixed: isCI check for Codeship - [@msteward]
# 7.0.14
- Fixed: Crash on BitbucketServer when the change type is unknown - [@f-meloni]
- Add `linesOfCode` in `GitDSL` - [@ninjaprox]
- Docs: document GitHubMergeRef type - [@nornagon]
# 7.0.13
- Adds some Debug logs for babel transformation - [@orta]
# 7.0.12
- Support multi-line import/require statements in Dangerfiles & possibly fix source-mapping for errors - [@fbartho]
# 7.0.11
- Return the DangerResults meta after sorting and merging operations - [@f-meloni]
- Make bitbucket generated signature less aggressive - [@f-meloni]
# 7.0.9
- Updates the import for octokit at the top of the danger.d.ts - [@orta]
# 7.0.8
- Handles the previews API correctly - [@orta]
# 7.0.7
- Removed `vm2` from Danger, it's not being used in Peril now - [@orta]
- `danger pr` with `--json` or --js` now don't require a Dangerfile to be present - [@orta]
# 7.0.5
- Remove dead links to example danger files. - [@stevemoser]
- Allow danger-pr to work also on Bitbucket Server - [@f-meloni]
- Fix for nulls in modified_files - [@orta]
- Use new APIs in OctoKit - [@orta]
# 7.0.4
- More fixes for `GITHUB_URL` instead of just `DANGER_GITHUB_URL` for GitHub Enterprise. - [@Aghassi]
# 7.0.3
- Lets you use `GITHUB_URL` instead of just `DANGER_GITHUB_URL` for GitHub Enterprise. - [@Aghassi]
# 7.0.2
- Fix issue where the PR command could not be run with a GitHub Enterprise URL.
- Specify filename when loading Babel options. Fixes [#664](https://github.com/danger/danger-js/issues/664)
([#804](https://github.com/danger/danger-js/pull/804)) - [@NMinhNguyen]
- Running Danger on GitHub Actions now runs Danger from source code. Before that, Danger on GitHub Actions is stuck at
v5.0.0-beta-24. [@dtinth](https://github.com/danger/danger-js/pull/810)
# 7.0.1
- Make use of GitHub Checks optional and disabled by default, pass `--use-github-checks` to enable.
[@cysp](https://github.com/danger/danger-js/pull/798)
# 7.0.0
- Updates `@octokit/rest` to v16.x.x - this is a **major** semver change on their end, which I know it breaks some of
Artsy/Danger's Peril Dangerfiles, so it's possible that it could break your Dangerfiles too. How do you know?
Roughly, if you have any code that uses `danger.github.api` then it's very possible that you need to update your code.
There are update notes [here](https://github.com/octokit/rest.js/releases/tag/v16.0.1), but if you're using TypeScript
then it'll raise the issues at a type-check level. Note, that this version may cause issues if you are using GitHub
Enterprise, you can get [updates here](https://github.com/danger/danger-js/issues/797).
# 6.1.13
- Allow sub-processes to pass their own name an href so that it doesn't say made by Danger JS [@orta]
This is done by extending the `DangerResults` object passed back to Danger JS, by adding a meta section to the JSON:
```json
{
"markdowns": [],
"fails": [],
"warnings": [],
"messages": [],
"meta": {
"runtimeHref": "https://mysite.com",
"runtimeName": "My Danger Runner"
}
}
```
`"meta"` is optional, and will fall back to the DangerJS one.
- Removed a dependency (voca) now that we're using TypeScript and have access to .includes [@orta]
# 6.1.12
- Fix issue with detecting Babel if `babel-core` is installed - [@sajjadzamani]
# 6.2.0
- Fix detection of GitHub Actions event types [@cysp]
# 6.1.9
- Add commit ID to the comment footer [danger/danger-js#168] - [@randak]
- Add support for `COPY` change type to fix a BitBucket Server regression in
[danger/danger-js#764](https://github.com/danger/danger-js/pull/764) - [@sebinsua]
- Add support for older Babel versions (prior 7) [@sajjadzamani]
# 6.1.8
- Revert removal of implicit `<p>` tag from [danger/danger-js#754](https://github.com/danger/danger-js/pull/754) and add
distinction depending on containing markdown or not - [@hanneskaeufler]
# 6.1.7
- Update comment instead deleting, if it has replies (BitBucket Server) [@langovoi]
- Fix BitBucket Server GitDSL [@langovoi]
- Add support of paged APIs of BitBucket Server [@langovoi]
# 6.1.6
- Adds a CLI flag for custom Danger Runners to be able to request a URL to a JSON file instead of receiving the entire
DSL as a big JSON dump. We're exploring using this in Danger Swift with
[danger/swift#108](https://github.com/danger/swift/issues/108) - [@orta]
# 6.1.5
- Adds `html_url` to the PR JSON declaration - [@orta]
- Adds a way for a sub-process to tell danger-js that it wants a copy of the DSL. This is a potential fix for when you
have a process that might not be ready to grab the DSL instantly from danger-js. The subprocess can print the message
`danger://send-dsl` to stdout and danger-js will re-send the DSL via STDIN.
[danger/swift#108](https://github.com/danger/swift/issues/108). - [@orta]
- Allows a FakeCI to get a FakePlatform, should fix [#767](https://github.com/danger/danger-js/issues/767) - [@orta]
# 6.1.4
- Fix `GitJSONDSL` and `diffForFile` for BitBucket Server - [@langovoi]
# 6.1.3
- Add support for personal tokens of BitBucket Server - [@langovoi]
- Ships a command `danger-js` which means other languages could also use the command danger and they won't conflict with
the JS version - [@orta]
# 6.1.2
- Checks for the JSON results file reported by a subprocess before accessing it - [@orta]
# 6.1.1
- Improves debug logging, messaging on CI about status updates - [@orta]
- Better detection of json results: {} from a sub-process - [@orta]
- CLI Args are actually passed to subprocess instead of an empty object - [@orta]
- Fix Netlify integration when repo url includes an access token - [@imorente]
# 6.1.0
- Add CI integration for Netlify - [@imorente]
# 6.0.7
- Removes an accidental import - [@orta]
# 6.0.6
- Adds an internal flag for disabling checks support when being controller by Peril - [@orta]
# 6.0.5
- Fix `danger pr` - [@orta]
# 6.0.4
- Fix GitHub checks API payload - [@pveyes]
# 6.0.3
- Fix passing stdout from the sub-process back to the user - [@orta]
- Fix handling a `"pending"` status update properly using Bitbucket API - [@sgtcoolguy]
- Fix #614 - Posting status updates to Github using issue workflow broken - [@sgtcoolguy]
- Fix vertical alignment in GitHub issue template - [@patrickkempff]
# 5.0.1, err. 6.0.0
- Hah, my computer ran out opf power mid-deploy, and now I have to ship another build to make sure the brew versions of
Danger JS are set up correctly. - orta
- Hah, I managed to run the same 'deploy major' command instead. So... Happy v6! - orta
# 5.0.0
_No breaking changes_ - I'm just bumping it because it's a lot of under-the-hood work, and I've not been able to test it
thoroughly in production.
This release bring support for GitHub actions. It does this merging in some of the responsibilities that used to live
inside Peril into Danger.
Notes about Danger JS:
- Adds support for running remote GitHub files via the `--dangerfile` argument. It supports urls like:
`orta/peril-settings/file.ts` which grabs `file.ts` from `orta/peril-settings`.
- Adds support for taking a GitHub Actions event JSON and exposing it in the `default export` function in the same way
that Peril does it.
- Adds a GitHubActions CI provider - it declares that it can skip the PR DSL so that Danger can also run against
issues/other events
- Handle remote transpilation of the initial Dangerfile correctly
- Adds support for not include a tsconfig for typescript projects, danger will use the default config if it can't find
one in your project
- Hardcodes the GitHub Actions userID into danger ( blocked by
https://platform.github.community/t/obtaining-the-id-of-the-bot-user/2076 )
- Allows running with a simplified DSL when running on a GitHub action that isn't a PR
- Use new env vars for GitHub Actions
There is now 2 ways for a subprocess to communicate to Danger JS - prior to 5.x it was expected that a subprocess would
pass the entire JSON results back via STDOUT to the host Danger JS process, but sometimes this was unreliable. Now a
subprocess can pass a JSON URL for Danger JS by looking in STDOUT for the regex `/danger-results:\/\/*.+json/`.
There is now a JSON schema for both directions of the communication for sub-processes:
- The data Danger sends to the subprocess:
[`source/danger-incoming-process-schema.json`](source/danger-incoming-process-schema.json)
- The data Danger expects from the subprocess:
[`source/danger-outgoing-process-schema.json`](source/danger-outgoing-process-schema.json)
This can be used for language DSL generation and/or formal verification if you're interested. Or, for just feeling
completely sure about what is being sent to your process without diving into the Danger JS codebase.
Also, `danger pr` now accepts a `--process` arg.
# 4.4.9
- Add logic for "DANGER_DISABLE_TRANSPILATION" env [@markelog]
- Jenkins: Respect `CHANGE_URL`/`CHANGE_ID` for GitHub and BitBucket Server [@azz]
- Docs: Guides - Update link to apollo-client dangerfile.ts example [@andykenward]
- Fix crash that may occur when no message is set on generic event [@flovilmart]
- Add support to proxy requests using `HTTP_PROXY` or `HTTPS_PROXY` environment variables [@steprescott]
# 4.4.0-7
- Supports installation using Homebrew [@thii]
# 4.3.x
- Some experimental beta builds which didn't turn out very useful
# 4.2.1
- Adds a fallback to `GITHUB_TOKEN` if it's in the ENV - orta
- There was some versioning faffing going on
# 4.1.0
- Adds the ability to send a PR from a Dangerfile easily.
```ts
import { danger } from "danger"
export default async () => {
// This is a map of file to contents for things to change in the PR
const welcomePR = {
LICENSE: "[the MIT license]",
"README.md": "[The README content]",
}
// Creates a new branch called `welcome`, from `master`. Creates a commit with
// the changes above and the message "Sets up ...". Then sends a PR to `orta/new-repo`
// with the title "Welcome to ..." and the body "Here is ...".
await danger.github.utils.createOrUpdatePR(
{
title: "Welcome to [org]",
body: "Here is your new repo template files",
owner: "orta",
repo: "new-repo",
baseBranch: "main",
newBranchName: "welcome",
commitMessage: "Sets up the welcome package",
},
welcomePR
)
}
```
OK, so this one is cool. This function will create/update an existing PR. You pass in a config object that defines;
the commit, the branch and the PR metadata and then this function will go and set all that up for you.
The second argument is a fileMap, this is an object like `{ "README.md": "[the content]" }` and it defines what files
should change in the commit. The files are completely changed to the content in the fileMap, so if you're making a
single line change - you need to submit the enfile file.
This is all based on my module
[memfs-or-file-map-to-github-branch](https://www.npmjs.com/package/memfs-or-file-map-to-github-branch) so if you need
a set of lower level APIs for PR/branch needs, `import` that and use it. - [@orta]
# 4.0.1
- Fixed a bug where Danger would fail to update status when there are no failures or messages [@johansteffner]
- Fixed a bug where Danger was throwing an error when removing any existing messages [@stefanbuck]
# 4.0.0
- Updates Danger's runtime to work with Babel 7 - [@adamnoakes]
**Breaking:** 3.9.0 was the last version to support inline transpilation via Babel 6. Danger doesn't specify babel in
its dependencies, so this warning won't show anywhere else.
# 3.9.0
- Adds CI integration for Concourse - [@cwright017]
# 3.8.9
- Adds debug logs to the vm2 runner used in Peril - [@orta]
# 3.8.5 - 3.8.8
- Adds a function to handle creating or adding a label on a PR/Issue. Works with both Danger and Peril:
`danger.github.createOrAddLabel` - [@orta]
# 3.8.4
- Exposes some internals on module resolution to Peril - [@orta]
# 3.8.3
- Fix bitbucket error when trying to obtain a response json when the response code is 204 (which means that there is no
response).
- Fix bitbucket link of the PR status, so it opens the web version of the PR, pointing to the Danger comment
[646](https://github.com/danger/danger-js/pull/646) - [@acecilia](https://github.com/acecilia)
- Adapt emoji for Bitbucket server to fix "Database error has occurred"
[645](https://github.com/danger/danger-js/pull/645) - [@acecilia](https://github.com/acecilia)
# 3.8.2
- Use the Peril Bot ID for the comment lookup checks - [@orta]
# 3.8.1
- Adds additional logging to handleResultsPostingToPlatform - [@ashfurrow]
# 3.8.0
- Fixes a crash if lodash isn't a transitive dependency in your node_modules - [@orta]
- Using the Checks API will now post a summary comment on a PR - [@orta]
# 3.7.20
- Logging / verification improvements for the subprocess - [@orta]
# 3.7.19
- Convert the `exec` in `danger local` to a `spawn` hopefully unblocking large diffs from going through it -
[@joshacheson][@orta]
# 3.7.18
- Report the error in a commit status update when in verbose - [@orta]
# 3.7.17
- Improvements to PR detection on Team City - [@markelog]
# 3.7.16
- More work on `danger.github.utils.createUpdatedIssueWithID`. - [@orta]
# 3.7.15
- Turns on the strict mode in the typescript compiler, this only gave build errors, so I was basically there anyway.
This is so that the type defs will always pass inside environments where strict is already enabled. - [@orta]
- Updates to TypeScript 2.9. - [@orta]
# 3.7.14
- Minor refactoring in GitHubUtils to allow Peril to re-create some of the util functions - [@orta]
# 3.7.13
- Updates type declarations to use top-level exports instead of a module augmentation - [@DanielRosenwasser]
- Bug fixes for `danger.github.utils.createUpdatedIssueWithID` - [@orta]
# 3.7.2-12
- Improved debugging when using the GitHub OctoKit - [@orta]
- Added `danger.github.utils.createUpdatedIssueWithID` which can be used to have danger continually update a single
issue in a repo, for example:
```ts
await danger.github.utils.createUpdatedIssueWithID("TestID", "Hello World", {
title: "My First Issue",
open: true,
repo: "sandbox",
owner: "PerilTest",
})
```
Will first create, then update that issue with a new body. - [@orta]
# 3.7.1
- Improve checks support for Danger - orta
# 3.7.0
- Adds support for the GH Checks API.
This brings some interesting architectural changes inside Danger, but more important to you dear reader, is that using
the Checks API has some API restrictions. This makes in infeasible to re-use the user access token which we've
previously been recommending for setup.
Instead there are two options:
- Use a GitHub app owned by Danger: https://github.com/apps/danger-js
- Use your own GitHub app.
The security model of the GitHub app means it's totally safe to use our GitHub app, it can only read/write to checks
and has no access to code or organizational data. It's arguably safer than the previous issue-based comment.
To use it, you need to hit the above link, install the app on the org of your choice and then get the install ID from
the URL you're redirected to. Set that in your CI's ENV to be `DANGER_JS_APP_INSTALL_ID` and you're good to go.
If you want to run your own GitHub App, you'll need to set up a few ENV vars instead:
- `DANGER_GITHUB_APP_ID` - The app id, you can get this from your app's overview page at the bottom
- `DANGER_GITHUB_APP_PRIVATE_SIGNING_KEY` - The whole of the private key as a string with `\n` instead of newlines
- `DANGER_GITHUB_APP_INSTALL_ID` - The installation id after you've installed your app on an org
Checks support is still a bit of a WIP, because it's a whole new type of thing. I don't forsee a need for Danger to be
deprecating the issue based commenting (we use that same infra with bitbucket).
So now there are three ways to set up communications with GitHub, I'm not looking forwards to documenting that.
[@orta]
- JSON diffs use the JSON5 parser, so can now ignore comments in JSON etc [@orta]
- Allows the synchronous execution of multiple dangerfiles in one single "danger run".
Not a particularly useful feature for Danger-JS, but it means Peril can combine many runs into a single execution
unit. This means people only get 1 message. [@orta]
# 3.6.6
- Updates vm2 to be an npm published version [@orta]
# 3.6.5
- Fix setting the status url on bitbucket [@orta]
- Adds more logs to `danger process` [@orta]
# 3.6.4
- Fix running Danger on issues with no comments for real [@mxstbr]
# 3.6.3
- Fix running Danger on issues with no comments [@mxstbr]
# 3.6.2
- Automatically rate limit concurrent GitHub API calls to avoid hitting GitHub rate limits [@mxstbr]
# 3.6.1
- Catch the github api error thrown from @octokit/rest [@Teamop]
- Replace preview media type of github pull request reviews api [@Teamop]
- Add support for [Screwdriver CI](http://screwdriver.cd) [@dbgrandi]
# 3.6.0
- A Dangerfile can return a default export, and then Danger will handle the execution of that code [@orta]
- Changes the order of the text output in verbose, or when STDOUT is the only option [@orta]
- Prints a link to the comment in the build log [@orta]
## 3.5.0 - 3.5.1
- Fixed a bug where Danger posts empty main comment when it have one or more inline comments to post [@codestergit]
- fix bug when commiting .png files on BitBucket [@Mifi]
- Adds support for inline comments for bitbucket server. [@codestergit]
## 3.4.7
- Update dependencies [@orta]
## 3.4.6
- Fixed Babel 7 breaking due to invalid sourceFileName configuration [@kesne]
## 3.4.5
- Don't print error for commit status when there was no error [@sunshinejr]
## 3.4.4
- Fixed a bug where Danger would get access to _all_ inline comments, thus deleting comments posted by other people
[@sunshinejr]
## 3.4.3
- Fixed a bug where updating multiple inline comments caused a Javascript error [@sunshinejr]
## 3.4.2
- Improving reporting when multiple violations are o nthe same line of a file [@sunshinejr]
## 3.4.1
- Protection against nulls in the inline comment data [@orta]
## 3.4.0
- Adds support for inline comments when using GitHub.
This is one of those "massive under the hood" changes, that has a tiny user DSL surface. From this point onwards
`fail`, `warn`, `message` and `markdown` all take an extra two optional params: `file?: string` and `line?: number`.
Adding `file` and `line` to the call of any exported communication function will trigger one of two things:
- Danger will create a new comment inline inside your PR with your warning/message/fail/markdown
- Danger will append a in the main Danger comment with your warning/message/fail/markdown
Inline messages are edited/created/deleted with each subsequent run of `danger ci` in the same way the main comment
does. This is really useful for: linters, test runners and basically anything that relies on the contents of a file
itself.
If you're using `danger process` to communicate with an external process, you can return JSON like:
```json
{
"markdowns": [
{
"file": "package.swift",
"line": 3,
"message": "Needs more base"
}
]