- Adds mergeable state property in the Github PR struct [@Juanpe][] - #318
- Danger dependencies manager @f-meloni - #303
- Update swift toolchain to 5.0 @f-meloni - #307
- Move to swift 5.1 @f-meloni - #275
- Add a new
LintStyleenum to be able to also lint a specific set of files with SwiftLint @avdlee - #308
- Use enums as namespace @f-meloni - #296
- Add error message when danger js is not installed @f-meloni - #295
- Read standard error when the shell executor fails @f-meloni - #288
- Add --version support @f-meloni - #287
- Fix GitLabDSL parsing (missing arguments) @fortmarek - #283
- Protect bitbucket cloud inline comment with all options being optional @khoogheem - #280
- Update Marathon to a revision that supports swift 5.1 @f-meloni - #271
- Optimise danger actions clone @f-meloni - #270
- Use
command -vinstead ofwhich@f-meloni - #269 - Remove swiftlint install commands from Dockerfile @f-meloni - #268
- Fix not to log in to shell twice @manicmaniac - #264
- Use /bin/sh as command line interpreter @manicmaniac - #265
- Release only made for GitHub Actions - @orta
- Allow nil GitHub milestone descriptions @smalljd - #253
- Handle not existing PR commit author and contributor @f-meloni - #252
- Update Architecture documentation @mollyIV - #250
- Add support for GitHub bot users @JosephDuffy - #251
- GitLab support @f-meloni - #246 (Requires DangerJS 8.0.0+, remember to export the
DANGER_GITLAB_API_TOKENbefore use it)
- Remove free floating "mutating" keyword from DangerDSL @sunshinejr - #241
- Remove swift 4.0 CaseIterable implementation @f-meloni - #235
- Use enumerated to improve lines(for:, inFile:) function @f-meloni - #235
- Remove not needed force unwrap @f-meloni - #234
- Remove not needed coding keys @f-meloni - #233
- Re use the same executor on the runner @f-meloni - #230
- Fix Danger crashing when PR has no description @davdroman - #237
- Use executor to find swiftc path @f-meloni - #225
- Use danger shell executor instead of ShellOut @f-meloni - #224
- Use if let instead of try catch to decode fileMap @f-meloni - #223
- Support danger swift options and don't pass them to danger ci @f-meloni - #215
- Support swift 5.0 on OSX @f-meloni - #210
- Support custom danger-js path @f-meloni - #206
- Fix running SwiftLint plugin when system shell is fish @JosephDuffy - #207
- Make danger edit compile in the projects that are not the Danger main project @f-meloni - #204
- Create imported files if not present on edit command @f-meloni - #202
- Import correctly the files when one of the files contains an emoji @f-meloni - #198
- Improve file type parsing @f-meloni - #197
- Refactor code to fix SwiftLint warnings @ChaosCoder - #196
- Add ability to run swiftlint in strict mode @FabioTacke - #195
- Support unregistered users on BitbucketServer @f-meloni - #193
- Reset markdowns on the resetDangerResults method @f-meloni - #192
- Leave SPM decide if rebuild or not the dependencies library @f-meloni - #183
- Fix excluded Swiftlint paths @absolute-heike - #180
- Support a full Danger SPM usage #174 by @f-meloni
- Replace codable where was not needed by @f-meloni - #177
- Fix malformed Swiftlint inline paths by @absolute-heike - #176
- Make globalResults private by @f-meloni
- Make swiftlint rule id code on the message by @f-meloni
- Append Swiftlint rule id to the Swiftlint danger messages by @f-meloni
- Run Swiftlint from SPM by default when available by @f-meloni
It's time, Danger Swift now has enough to be useful to nearly everyone and is in use in production environments today.
As of 1.0.0, Danger Swift is fully documented at https://danger.systems/swift and sits as a peer with Ruby and JavaScript. Most of the documentation lives here in this repo, and the reference is auto-generated.
It's been over a year of work, so I'm (orta) really glad to see this get out and be a first-class citizen for the iOS community.
There are still some big upcoming features planned:
This release also includes:
- Improve invalid DSL error message @f-meloni
- Fail if danger-js version is below the minimum supported version by @f-meloni
- Add method to get all the lines that contain a word on a file by @f-meloni
- Fix danger report system by @f-meloni
- More docs by @orta
- Fixes for people installing via homebrew (thanks @f-meloni) by @orta
-
Whoah! The SwiftLint plugin has been merged into Danger by @orta
This is not my work, really, it's the work of the contributors to the Danger SwiftLint plugin (which, yes, I am a contributor, so...) - but it's mainly the work of @ashfurrow @sunshinejr @Killectro and @thii.
This is discussed in ashfurrow/danger-swiftlint#17 where I pitched that maybe we should just inline this dependency because so many people are going to use this. The Swift community is likely the only community using Danger Swift, so why not make this version have a bit more focus on what people are doing with it?
-
Docs, lots of lots of docs by @orta
This is a blocker on 1.0ing Danger Swift. So, we're getting there now.
-
Internal faffing, and splitting of some test-related code so that Plugins can have an elegant test API by @orta
This revises the way in which you can write tests in Danger plugins. Should be much easier now.
-
Adds some utils functions for doing one-off commands in the terminal by @orta
danger.utils.execwill return the string of the STDOUT outputted by that command, use this for things you're sure aren't going to fail.danger.utils.spawnis a throwable version of the above which includes all the essential error information if the command fails.
- Fix BitbucketServer JSON parsing #129 by @f-meloni
- Uses Danger JS's new
--passURLForDSLfor grabbing the DSL JSON - @orta - Adds
danger.utilswhich hasdanger.utils.readFile(file: File)to make it easy to filter files - @orta - Adds --help option support to danger-swift #122 by @f-meloni
- Suggestions support #110 by @f-meloni
- Separate the Danger library from the Runner #109 by @f-meloni
- Use danger-command for calls instead of danger command #105 by @f-meloni
- --dangerfile argument support #100 by @f-meloni
- Add Github API client #95 by @f-meloni
- Improve danger-swift edit #94 by @f-meloni
- When working on danger, you cna now use
swift run danger-swift xxto try commands - @orta
- Ability to import files on the Dangerfile #93 by @f-meloni
- Added Shellout files on the Makefile #91 by @f-meloni
- Restored danger-swift edit functionality - #90 by @f-meloni
- Expose Danger report results - #89 by @f-meloni
- Adds three new commands:
danger-swift ci- handles running Dangerdanger-swift pr [https://github.com/Moya/Harvey/pull/23]- Let's you run Danger against a PR for local dev- `danger-swift local - Let's you run Danger against the diff from your branch to master
- Use CaseIterable to take advantage of compiler-generated
allCasesin enum by yhkaplan (requires Swift 4.2)
- Change modifiedFiles, createdFiles, deletedFiles to be of type
File, adding Name and FileType properties - #81 by yhkaplan - Remove Sourcery-based code generation in favor of Swift 4.1's native Equatable conformance generation - #78 by yhkaplan
- [BitbucketServer] Make description, commiter and committerTimestamp optional. #79 by @acecilia
- [Github] Make repository description optional. #73 by @hiragram
- [Github] Make commit author and committer optional. #75 by @Sega-Zero
- Add Support for Bitbucket Server - thomasraith
- Add Swift 4.1 support - sunshinejr
- DSL improvments - yhkaplan
- You can now
warn,fail,messageandmarkdown- sunshinejr
- Reordering how Runner args are routed to Danger - rockbruno
- Fixes for the CLI arg order from danger-js - sunshinejr
- Add milestone model to issue and pull request. - d-date
- Change date string type from
StringtoDateusingiso8601date decoding strategy. - d-date - Adds the
Loggerstruct together with the--verboseand--silentarguments - rockbruno - Add support for GitHub's new review requests payload. - hirad
- Adds linker flag to link against Marathon dependencies. See JohnSundell/Marathon#153. - ashfurrow
-
Supports the command:
danger-swift editto generate an Xcodeproj which you can edit your Dangerfile in - @orta -
Adds plugin infrastructure to
danger-swift- @ortaThere aren't any plugins yet, but there is infrastructure for them. By suffixing
package: [url]to any import, you can directly import Swift PM package as a dependency, which is basically how plugins will work.So, one of these days:
import SwiftLint // package: https://github.com/danger/DangerSwiftLint.git SwiftLint.lint(danger)
- Support the beta formatting of the JSON DSL ( it now is
{ "danger": { [DSL] }}, instead of a root element) - @orta
- Fix install paths for libDanger when using homebrew - @orta
- First release via homebrew - eneko
- Supports a Dangerfile in both: "/Dangerfile.swift", "/danger/Dangerfile.swift" or "/Danger/Dangerfile.swift" to handle SPM rules on Swift files in the root - @orta
- Adds a CHANGELOG, renames project to danger-swift - @orta
- Initialish versions - @orta, SD10