- Add Xcode 16 support for brew and DangerScripting @f-meloni - #627
- Fix:
GitHub.Review.submittedAt
may benil
@417-72KI - #624 - Drain stdout while shell commands are running to prevent execution from locking up if there's too much output [@jflan-dd][] - #614
- Remove deprecated
lint
function withlintAllFiles
flag @417-72KI - #622 - Updated Swift 6 build process: Danger files moved to .build/debug/Modules, and SwiftFormat module map conflict resolved by adjusting the Swift import search path. [@abhi-m-simformsolutons][] -#626
- Expose markdownKit on Swiftlint.lint() for customizing the output [@nikoloutsos][] - #610
- Drop Swift 5.7 @417-72KI - #620
- Fix pattern for detecting SwiftLint in package @417-72KI - #616
- Allow optional GitLab MR description [@kvvzr][] - #609
- Update Node version to 18.x [@hasanabuzayed][] - #607
- Fix DockerFile @417-72KI - #597
- Make GitLab diffRefs members public @MontakOleg - #599
- Prevent empty SwiftLint violation response from failure @pouyayarandi - #596
- Update tasks to be optional on BitBucketServer @dromerobarria - #595
- Use http tap url on update homebrew script @f-meloni
- Update
SwiftLint
used bydanger-swift-with-swiftlint
from v0.46.1 to 0.50.3 - #573 - Gitlab Error in merge request with estimate or spent time [@oscarcv][] - #548
- Fix a decode error with BitBucket server [@pepix][] - #553
- Resolve
// fileImport: ~
path to an absolute path on runningdanger-swift edit
@417-72KI - #565 - Add ability to change meta information [@Nikoloutsos][] - #567
- Add deactivated user status for GitLab [@antigp][] - #572
- Add
squash
attribute for GitLab merge request @aserdobintsev - #576
- Parse GitHub commit verification @f-meloni - #547
- Bump Docker image base version to swift 5.7 @mxsc - #542
- Monterey support @417-72KI - #532
- Revert Swiftlint version on Dockerfile to 0.46.1 [f-meloni][] - #540
- Add
reviewers
property for GitLab merge requests @pouyayarandi - #534 - Update SwiftLint used by danger-swift-with-swiftlint from v0.46.1 to v0.49.1. @Kiran-B - #538
- Change
danger-swift edit
generated package to be compatible with swift 5.7 @dahlborn
- Drop Swift 5.3 support @417-72KI - #524
- Refine runner temporary path to better support concurrent pipelines [@squarefrog][] - #530
- Add platform requirements on
danger-swift edit
@417-72KI - #518 - Notify a new release on running danger-swift @417-72KI - #505
- Remove
swift-doc
from dependencies tree @417-72KI - #509 - Generate docker image with swift 5.5.2 @f-meloni - #501
- Extract dev dependencies to switch development and release easily @417-72KI - #491
- Fix Dependencies resolver on Xcode 13 @f-meloni - #482
- Add support for Swift 5.5 and Xcode 13 @avdlee - #480
- Fix Dockerfile node certificates @f-meloni - #471
- Move minumum supported version to Swift 5.3 @lunij - #414
- Use swift instead of swiftc to fix compilation on Xcode 13 @f-meloni - #460
- Add Homebrew path for Apple Silicon based macOS installations @majd - #458
- Expose Danger environment from utils @f-meloni - #456
- Support DangerDeps definition in multiple lines @f-meloni - #447
- Use different structs from GitHub and Git commits @f-meloni - #433
- Add support to Danger enviroment @f-meloni - #431
- Return the correct version when
--version
is used
- Move minimum swift version to Swift 5.2 @lunij - #419
- Fix make install for linux with swift version > 5.3 @f-meloni - #413
- Support package path for swiftlint @f-meloni - #413
- Make Danger work well with --package-path @f-meloni - #406
- Make
force_remove_source_branch
Optional in GitLabDSL @417-72KI - #410
- Fix an issue in the SwiftLint plugin where linting would fail if a
file
field was empty in the Swiftlint output [@MadsBogeskov][] - #397
- Release Docker image with SwiftLint @f-meloni - #380
- Handling group milestones. Meantime, retired
projectId
and merge it to the new enumParentIdentifier
which is able to handle group_id and project_id as a shared property. @vc7 - #385 - Add .swiftlint.yml @417-72KI #383
- Resolve
superfluous_disable_command
@417-72KI #387 - Make BitBucketCloud.User accountId and nickname optional [@abel3cl][] - #388
- Make
startDate
anddueDate
optional for GitLab API may produce null values for these two properties @vc7 - #381 - Fix
startDate
anddueDate
formatting issue due to the date string from GitLab API has becomeyyyy-MM-dd
, and make the date formatter is able to handle multiple format of date strings. @vc7 - #381 - Introduce
assignees
to GitLab's MergeRequest @vc7 - #381 - Make
draft
optional for some repos which Draft pull requests are not available in GitHub Pulls @417-72KI - #378 - Add Link Relations for GitHub PR @417-72KI - #368
- Make
SwiftLintViolation
properties public - #377
- Add workaround for Xcode 12 @f-meloni - #372
- Deploy Danger swift Docker image on GitHub Container Registry @f-meloni - #367
- Create sync utils function to make async calls sync @f-meloni - #369
- Fix script to deploy packages on release
- Search for danger-js binary before searching danger binary @f-meloni - #351
- Update BitBucketCloud commit user to be optional @mahmoud-amer-m - #355
- Update Dockerfile to use swift 5.2 @f-meloni - #330
- Add GitHub draft support@captainbarbosa - #341
- Fix danger-swift edit @lucasmpaim - #332
- Fix make install @lucasmpaim - #331
- Update OctoKit to support Xcode 11.4 @lucasmpaim - #329
- Use new Data API to avoid coalescing operator and optionals @f-meloni - #320
- Release a Dockerfile with swiftlint during releases @f-meloni - #319
- 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
LintStyle
enum 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 -v
instead 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_TOKEN
before 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.exec
will return the string of the STDOUT outputted by that command, use this for things you're sure aren't going to fail.danger.utils.spawn
is 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
--passURLForDSL
for grabbing the DSL JSON - @orta - Adds
danger.utils
which 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 xx
to 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
allCases
in 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
,message
andmarkdown
- 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
String
toDate
usingiso8601
date decoding strategy. - d-date - Adds the
Logger
struct together with the--verbose
and--silent
arguments - 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 edit
to 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