danger-changelog 0.10.0 → 0.10.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9344e34064e086a963ba58734bc0468c3feaf3e70404b63215d9140b2c31ea99
4
- data.tar.gz: 27caf32026da6f6273c6b9dcd91e6b4c0629c73bd63ca034645de8f4a8ac2b4b
3
+ metadata.gz: 171cb4b8d29586152bb30888b61a9c1b98c281c776afbc23088453cdfb674fa7
4
+ data.tar.gz: 7320a09f2ab68192b2b93108257ceb1ceb0156a7024551576ee715088f3c2054
5
5
  SHA512:
6
- metadata.gz: 68121502e1ce015b0047ccd75faec0ac462d408f4033db1fcf0094d98a79fe518afe9d831adec96b83a2a73d29c3c08f4c207c820afedc27a4c7420755fa6dfe
7
- data.tar.gz: 10371d27eb574c7f47970d969d745508c4bf6402655c400bdc8855dc2997ccaaeb6563717a3e568f85ff76a263baabdd6974298b4d64e7dd1cd207d6f50e12c0
6
+ metadata.gz: e06612d23f1a19e70ec66d131f45fa8da746fef7ba5c06e264cc3e5951124dbc1c779d0b56ccfbe0d0e977281ab26b70b232759af6380da97942fbcda130e6c9
7
+ data.tar.gz: d3785758f29b77f00aec33fc7a812f57f3630efea7fa520dcd74b687a3ea631c74a8bed28623ff91f878c8defb00c55255c8ede092e3a15d1850055443cf744d
data/CHANGELOG.md CHANGED
@@ -1,5 +1,8 @@
1
1
  ## Changelog
2
2
 
3
+ ### 0.10.1 (2026-10-23)
4
+
5
+ * [#85](https://github.com/dblock/danger-changelog/pull/85): Restore validation of entries with multiple leading issue or pull request links separated by commas or colons - [@dblock](https://github.com/dblock).
3
6
  ### 0.10.0 (2026-10-21)
4
7
 
5
8
  * [#84](https://github.com/dblock/danger-changelog/pull/84): Add global and per-check unreleased label lists for exact, case-sensitive header validation while preserving permissive defaults - [@dblock](https://github.com/dblock).
data/README.md CHANGED
@@ -34,6 +34,8 @@ By design, `danger-changelog` is quite strict with what it allows as a valid cha
34
34
 
35
35
  Intridea PR and author links can be inline links or [Markdown references](doc/intridea.md#changelog-entries), with definitions elsewhere in the file. Undefined references are reported without changing the original entry shown in the report.
36
36
 
37
+ Entries can begin with multiple inline issue or pull request links separated by `, ` or `: `, followed by `: ` and the description.
38
+
37
39
  ## Installation
38
40
 
39
41
  Requires Ruby 3.1 or newer. Add `danger-changelog` to your Gemfile.
data/doc/intridea.md CHANGED
@@ -98,6 +98,13 @@ Version headers can use labels such as `## 0.4.0 (Next)` or `## 0.4.0 (next)` by
98
98
 
99
99
  ### Changelog entries
100
100
 
101
+ Multiple inline issue or pull request links can precede a description, separated by `, ` or `: `. The final link must be followed by `: ` and the description.
102
+
103
+ ```markdown
104
+ * [#1](https://github.com/owner/repo/pull/1), [#2](https://github.com/owner/repo/issues/2): Fix issue - [@contributor](https://github.com/contributor).
105
+ * [#1](https://github.com/owner/repo/pull/1): [#2](https://github.com/owner/repo/issues/2): Fix issue - [@contributor](https://github.com/contributor).
106
+ ```
107
+
101
108
  ✅ Under each title, you can have changelog entries in the format: `* {optional link to GitHub pull request that must be followed by a colon} {a single sentence of text description} - {author github link}.`:
102
109
 
103
110
  ```markdown
@@ -8,6 +8,7 @@ module Danger
8
8
  AUTHOR_LINK = %r{\[@#{AUTHOR_NAME}\]\(https://(?:github\.com/.*#{AUTHOR_NAME}|gitlab\.com/#{AUTHOR_NAME})\)}
9
9
  REQUEST_URL = %r{(?:github\.com/[^\s)]+?\d+|gitlab\.com/[^\s)]+/-/merge_requests/\d+)}
10
10
  PR_LINK = %r{\[\#\d+\]\(https?://#{REQUEST_URL}/?\)}
11
+ REQUEST_LINKS = %r{\[\#\d+\]\(https://#{REQUEST_URL}\)(?:[,:] \[\#\d+\]\(https://#{REQUEST_URL}\))*}
11
12
  DESCRIPTION_START = /[`\p{Lu}\p{Lt}\p{Lo}\p{Lm}\p{So}]/
12
13
 
13
14
  def valid?
@@ -19,7 +20,7 @@ module Danger
19
20
  return false if validation_result.invalid?
20
21
 
21
22
  return true if line =~ /^\*\s#{DESCRIPTION_START}(?:.*[^.,])? - #{AUTHOR_LINK}.$/
22
- return true if line =~ %r{^\*\s\[\#\d+\]\(https://#{REQUEST_URL}\): #{DESCRIPTION_START}(?:.*[^.,])? - #{AUTHOR_LINK}.$}
23
+ return true if line =~ /^\*\s#{REQUEST_LINKS}: #{DESCRIPTION_START}(?:.*[^.,])? - #{AUTHOR_LINK}.$/
23
24
 
24
25
  validation_result.error! 'does not start with a star' unless ChangelogEntryLine.starts_with_star?(line)
25
26
  validation_result.error! 'does not include a pull request link' unless ChangelogEntryLine.with_pr_link?(line)
@@ -30,7 +31,7 @@ module Danger
30
31
  validation_result.error! 'is missing a period at the end of the line' unless ChangelogEntryLine.ends_with_period?(line)
31
32
  validation_result.error! 'has an extra period or comma at the end of the description' if
32
33
  line =~ /^\*\s#{DESCRIPTION_START}.*[.,] - #{AUTHOR_LINK}.$/ ||
33
- line =~ %r{^\*\s\[\#\d+\]\(https://#{REQUEST_URL}\): #{DESCRIPTION_START}.*[.,] - #{AUTHOR_LINK}.$}
34
+ line =~ /^\*\s#{REQUEST_LINKS}: #{DESCRIPTION_START}.*[.,] - #{AUTHOR_LINK}.$/
34
35
 
35
36
  false
36
37
  end
@@ -1,3 +1,3 @@
1
1
  module Changelog
2
- VERSION = '0.10.0'.freeze
2
+ VERSION = '0.10.1'.freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: danger-changelog
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.10.0
4
+ version: 0.10.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - dblock
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-10-21 00:00:00.000000000 Z
11
+ date: 2026-10-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: danger-plugin-api