fastlane-plugin-semantic_release 1.18.2 → 1.19.0

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: ab7836893b97a8f767c9861e00efba3ba72309b2f7ec3eaf930aa5c21f6512f2
4
- data.tar.gz: 0d2a6085d046cf6d1b69756be7876d5d6f927fd9199c0355f38e7e458f7808a8
3
+ metadata.gz: e5fd2091977076fa7c3cd554b92454fa7cf583874576000df9780a7a83fccd73
4
+ data.tar.gz: a45639adf9085e141016577d4b7868c50f9a65e4bfad00e0e6a0cf2d58f2b83f
5
5
  SHA512:
6
- metadata.gz: f2c28355e40615baabad486ec2047a5e161abf72ea0519303139e05dbb3a5e648d1ae9522675239223fe846d2edf0520fd0dc304dbf1d8e91430aa54664a8486
7
- data.tar.gz: 0b0142a304aea445453fb53673420f873d2ea40116e14c854fc9f7b2abaf24ab9bbaaf838cd801dcc5d9ea54c8bdea6e94b4d8ddaed8e97c42974be5bcd8c068
6
+ metadata.gz: 9d72ae2018651641f4782646562b917e61e598ed6bf719a143fd80b7bf2b287b8b3bb7a26955daa27986026c7e6fc3949c2f4177b15cf3f9c8477a72e044a9ec
7
+ data.tar.gz: c12505a719b59038a7724105f4384cf226dbd8745f8dabfa132d3aead69a60e4a3ecd98a84066a5cb4791cc91f887a5bb9cb8e78ac45048b37df5c0dc85081e3
data/README.md CHANGED
@@ -1,92 +1,253 @@
1
1
  # semantic_release plugin for `fastlane`
2
2
 
3
- [![CircleCI](https://circleci.com/gh/xotahal/fastlane-plugin-semantic_release.svg?style=svg)](https://circleci.com/gh/xotahal/fastlane-plugin-semantic_release) [![License](https://img.shields.io/github/license/SiarheiFedartsou/fastlane-plugin-versioning.svg)](https://github.com/SiarheiFedartsou/fastlane-plugin-versioning/blob/master/LICENSE) [![Gem Version](https://badge.fury.io/rb/fastlane-plugin-semantic_release.svg)](https://badge.fury.io/rb/fastlane-plugin-semantic_release) [![fastlane Plugin Badge](https://rawcdn.githack.com/fastlane/fastlane/master/fastlane/assets/plugin-badge.svg)](https://rubygems.org/gems/fastlane-plugin-versioning)
3
+ [![CI](https://github.com/xotahal/fastlane-plugin-semantic_release/actions/workflows/ci.yml/badge.svg)](https://github.com/xotahal/fastlane-plugin-semantic_release/actions/workflows/ci.yml)
4
+ [![Gem Version](https://badge.fury.io/rb/fastlane-plugin-semantic_release.svg)](https://badge.fury.io/rb/fastlane-plugin-semantic_release)
5
+ [![License](https://img.shields.io/github/license/xotahal/fastlane-plugin-semantic_release.svg)](https://github.com/xotahal/fastlane-plugin-semantic_release/blob/master/LICENSE)
6
+ [![fastlane Plugin Badge](https://rawcdn.githack.com/fastlane/fastlane/master/fastlane/assets/plugin-badge.svg)](https://rubygems.org/gems/fastlane-plugin-semantic_release)
7
+
8
+ ## Table of Contents
9
+
10
+ - [Getting Started](#getting-started)
11
+ - [About](#about)
12
+ - [Commit Format](#commit-format)
13
+ - [Quick Start](#quick-start)
14
+ - [Available Actions](#available-actions)
15
+ - [analyze_commits](#analyze_commits)
16
+ - [conventional_changelog](#conventional_changelog)
17
+ - [Examples](#examples)
18
+ - [Development](#development)
19
+ - [Questions](#questions)
4
20
 
5
21
  ## Getting Started
6
22
 
7
- ```
23
+ ```bash
8
24
  fastlane add_plugin semantic_release
9
25
  ```
10
26
 
11
27
  ## About
12
28
 
13
- Automated version managment and generator of release notes. Inspired by [semantic-release](https://github.com/semantic-release/semantic-release) for npm packages. Based on [conventional commits](https://www.conventionalcommits.org/).
29
+ Automated version management and generator of release notes. Inspired by [semantic-release](https://github.com/semantic-release/semantic-release) for npm packages. Based on [conventional commits](https://www.conventionalcommits.org/).
30
+
31
+ <img src="https://raw.githubusercontent.com/xotahal/fastlane-plugin-semantic_release/master/docs/Analyze.png" />
14
32
 
15
33
  ### Articles
16
34
 
17
35
  [Semantic Release for Fastlane](https://medium.com/@xotahal/semantic-release-for-fastlane-781df4cf5888?source=friends_link&sk=5c02e32daca7a68539e27e0e1bac1092) @ Medium - By Jiri Otahal
18
36
 
37
+ ## Commit Format
38
+
39
+ This plugin expects commits to follow the [Conventional Commits](https://www.conventionalcommits.org/) specification:
40
+
41
+ ```
42
+ <type>(<scope>): <subject>
43
+ ```
44
+
45
+ Examples:
46
+
47
+ ```
48
+ fix(auth): resolve login crash on Android
49
+ feat: add dark mode support
50
+ feat(api)!: change response format
51
+ docs: update installation guide
52
+ ```
53
+
54
+ **Breaking changes** are detected in two ways:
55
+ - Adding `!` after the type/scope: `feat(api)!: change response format`
56
+ - Including `BREAKING CHANGE:` in the commit body
57
+
58
+ ### Default type-to-bump mapping
59
+
60
+ | Type | Version Bump |
61
+ |------|-------------|
62
+ | `fix` | patch |
63
+ | `feat` | minor |
64
+ | Breaking change | major |
65
+
66
+ Other types (`docs`, `chore`, `refactor`, `perf`, `test`, `style`) do not trigger a version bump by default, but will appear in the changelog. You can customize this mapping with the `releases` parameter.
67
+
68
+ ### Format patterns
69
+
70
+ Two built-in commit format patterns are available via the `commit_format` parameter:
71
+
72
+ - **`default`** — Matches: `docs`, `fix`, `feat`, `chore`, `style`, `refactor`, `perf`, `test`
73
+ - **`angular`** — Matches any word as a type (more permissive)
74
+
75
+ You can also pass a custom `Regexp` with 4 capture groups: type, scope, breaking indicator (`!`), and subject.
76
+
77
+ ## Quick Start
78
+
79
+ Here is a minimal Fastfile showing the typical workflow — analyze commits, then generate a changelog:
80
+
81
+ ```ruby
82
+ lane :release do
83
+ # 1. Analyze commits to determine next version
84
+ is_releasable = analyze_commits(match: 'v*')
85
+
86
+ if is_releasable
87
+ next_version = lane_context[SharedValues::RELEASE_NEXT_VERSION]
88
+
89
+ # 2. Generate changelog from commits
90
+ notes = conventional_changelog(
91
+ format: 'markdown',
92
+ commit_url: 'https://github.com/user/repo/commit'
93
+ )
94
+
95
+ # 3. Use the version and notes however you need
96
+ # For example: tag, push, create GitHub release, etc.
97
+ add_git_tag(tag: "v#{next_version}")
98
+ push_git_tags
99
+
100
+ set_github_release(
101
+ repository_name: 'user/repo',
102
+ tag_name: "v#{next_version}",
103
+ description: notes
104
+ )
105
+ end
106
+ end
107
+ ```
108
+
19
109
  ## Available Actions
20
110
 
111
+ ### `analyze_commits`
112
+
113
+ Analyzes your git history since the last matching tag, determines the next semantic version, and returns `true` if a release is recommended.
114
+
115
+ How it works:
116
+ 1. Finds the last tag matching your pattern (e.g., `v*`, `ios/beta*`)
117
+ 2. Parses the version number from that tag
118
+ 3. Gets all commits since the tag
119
+ 4. Analyzes each commit subject against conventional commit rules
120
+ 5. Calculates the next version based on commit types
121
+ 6. Returns `true` if the next version is higher than the last
122
+
123
+ Example:
124
+
125
+ ```ruby
126
+ is_releasable = analyze_commits(match: 'ios/beta*')
127
+ ```
128
+
129
+ #### Parameters
130
+
131
+ | Parameter | Description | Default |
132
+ |-----------|-------------|---------|
133
+ | `match` | **Required.** Match pattern for `git describe` to find the last tag (e.g., `'v*'`, `'ios/beta*'`) | — |
134
+ | `commit_format` | Commit format preset (`'default'` or `'angular'`) or a custom `Regexp` with 4 capture groups | `'default'` |
135
+ | `releases` | Hash mapping commit types to release levels | `{ fix: 'patch', feat: 'minor' }` |
136
+ | `bump_per_commit` | When `true`, each matching commit increments the version. When `false`, only bump once per release type (matching semantic-release behavior) | `true` |
137
+ | `ignore_scopes` | Array of scopes to exclude from analysis | `[]` |
138
+ | `include_scopes` | Array of scopes to exclusively include (overrides `ignore_scopes`) | `[]` |
139
+ | `tag_version_match` | Regex to extract the version number from a tag name | `'\d+\.\d+\.\d+'` |
140
+ | `prevent_tag_fallback` | When `true`, don't fall back to `vX.Y.Z` tags if no match is found | `false` |
141
+ | `codepush_friendly` | Commit types considered CodePush-compatible | `['chore', 'test', 'docs']` |
142
+ | `show_version_path` | Print the calculated version for each commit | `true` |
143
+ | `debug` | Enable verbose debug logging | `false` |
144
+
145
+ #### Shared values (lane_context)
146
+
147
+ After running, the following values are available via `lane_context[SharedValues::KEY]`:
148
+
149
+ | Key | Description |
150
+ |-----|-------------|
151
+ | `RELEASE_ANALYZED` | `true` if commits were analyzed |
152
+ | `RELEASE_IS_NEXT_VERSION_HIGHER` | `true` if next version is higher than last version |
153
+ | `RELEASE_LAST_TAG_HASH` | Hash of the commit tagged as the last version |
154
+ | `RELEASE_LAST_VERSION` | Last version number parsed from the tag |
155
+ | `RELEASE_NEXT_VERSION` | Next version string (e.g., `'1.2.3'`) |
156
+ | `RELEASE_NEXT_MAJOR_VERSION` | Major number of the next version |
157
+ | `RELEASE_NEXT_MINOR_VERSION` | Minor number of the next version |
158
+ | `RELEASE_NEXT_PATCH_VERSION` | Patch number of the next version |
159
+ | `RELEASE_IS_NEXT_VERSION_COMPATIBLE_WITH_CODEPUSH` | `true` if the next version is CodePush-compatible |
160
+ | `RELEASE_LAST_INCOMPATIBLE_CODEPUSH_VERSION` | Last version containing CodePush-incompatible changes |
161
+
162
+ Access them like this:
163
+
164
+ ```ruby
165
+ next_version = lane_context[SharedValues::RELEASE_NEXT_VERSION]
166
+ ```
167
+
21
168
  ### `conventional_changelog`
22
169
 
23
- - parses all commits since last version
24
- - groups those commits by their type (fix, feat, docs, refactor, chore, etc)
25
- - and creates formated release notes either in markdown or in slack format
170
+ Generates formatted release notes from commits since the last version. **Must run after `analyze_commits`.**
26
171
 
27
- Available parameters:
172
+ - Parses all commits since the last version
173
+ - Groups commits by type (feat, fix, docs, refactor, etc.)
174
+ - Creates formatted release notes in markdown, slack, or plain text
28
175
 
29
- - `format: 'slack|markdown|plain'` (defaults to `markdown`). This formats the changelog for the destination you need. If you're using this for TestFlight changelogs, we suggest using the `plain` option
30
- - `title: 'My Title'` - is appended to the release notes title, "1.1.8 My Title (YYYY-MM-DD)"
31
- - `display_title: true|false` (defaults to true) - allows you to hide the entire first line of the changelog
32
- - `display_links: true|false` (defaults to true) - allows you to hide links to commits from your changelog
33
- - `commit_url: 'https://github.com/username/repository/commit'` - prepended to the commit ID to build usable links
34
- - View other options by searching for `available_options` in `conventional_changelog.rb`
176
+ <img src="https://raw.githubusercontent.com/xotahal/fastlane-plugin-semantic_release/master/docs/Changelog.png" />
35
177
 
36
178
  Example:
37
179
 
38
- ```
180
+ ```ruby
39
181
  notes = conventional_changelog(format: 'slack', title: 'Android Alpha')
40
182
  ```
41
183
 
42
- <img src="https://raw.githubusercontent.com/xotahal/fastlane-plugin-semantic_release/master/docs/Changelog.png" />
184
+ #### Parameters
43
185
 
44
- ### `analyze_commits`
186
+ | Parameter | Description | Default |
187
+ |-----------|-------------|---------|
188
+ | `format` | Output format: `'markdown'`, `'slack'`, or `'plain'` | `'markdown'` |
189
+ | `title` | Text appended to the version in the title (e.g., `'Android Alpha'` produces `'1.2.3 Android Alpha (2025-01-15)'`) | — |
190
+ | `commit_url` | Base URL for commit links (e.g., `'https://github.com/user/repo/commit'`) | — |
191
+ | `order` | Array controlling the order of sections in the output | `['feat', 'fix', 'refactor', 'perf', 'chore', 'test', 'docs', 'no_type']` |
192
+ | `sections` | Hash mapping commit types to section titles | `{ feat: 'Features', fix: 'Bug fixes', ... }` |
193
+ | `display_title` | Show the title/header line with version and date | `true` |
194
+ | `display_links` | Show links to individual commits | `true` |
195
+ | `display_author` | Show the author name for each commit | `false` |
196
+ | `ignore_scopes` | Array of scopes to exclude | `[]` |
197
+ | `include_scopes` | Array of scopes to exclusively include | `[]` |
198
+ | `debug` | Enable verbose debug logging | `false` |
45
199
 
46
- - analyzes your git history
47
- - finds last tag on current branch (for example ios/beta/1.3.2)
48
- - parses the last version from tag (1.3.2)
49
- - gets all commits since this tag
50
- - analyzes subject of every single commit and increases version number if there is a need (check conventional commit rules)
51
- - if next version number is higher then last version number it will recommend you to release this version
200
+ ## Examples
52
201
 
53
- Options:
202
+ ### Scope filtering
54
203
 
55
- - `ignore_scopes: ['android','windows']`: allows you to ignore any commits which include a given scope, like this one: `feat(android): add functionality not relevant to the release we are producing`
204
+ Build separate changelogs for different platforms:
56
205
 
57
- Example usage:
206
+ ```ruby
207
+ # Only analyze iOS-scoped commits
208
+ analyze_commits(match: 'ios/v*', include_scopes: ['ios'])
58
209
 
210
+ # Ignore Android-specific commits
211
+ analyze_commits(match: 'v*', ignore_scopes: ['android', 'windows'])
59
212
  ```
60
- isReleasable = analyze_commits(match: 'ios/beta*')
61
- ```
62
213
 
63
- It provides these variables in `lane_context`.
214
+ ### Custom release mapping
215
+
216
+ Map additional commit types to version bumps:
64
217
 
218
+ ```ruby
219
+ analyze_commits(
220
+ match: 'v*',
221
+ releases: { fix: 'patch', feat: 'minor', refactor: 'patch' }
222
+ )
65
223
  ```
66
- ['RELEASE_ANALYZED', 'True if commits were analyzed.'],
67
- ['RELEASE_IS_NEXT_VERSION_HIGHER', 'True if next version is higher then last version'],
68
- ['RELEASE_LAST_TAG_HASH', 'Hash of commit that is tagged as a last version'],
69
- ['RELEASE_LAST_VERSION', 'Last version number - parsed from last tag.'],
70
- ['RELEASE_NEXT_MAJOR_VERSION', 'Major number of the next version'],
71
- ['RELEASE_NEXT_MINOR_VERSION', 'Minor number of the next version'],
72
- ['RELEASE_NEXT_PATCH_VERSION', 'Patch number of the next version'],
73
- ['RELEASE_NEXT_VERSION', 'Next version string in format (major.minor.patch)'],
224
+
225
+ ### Plain text changelog for TestFlight
226
+
227
+ ```ruby
228
+ notes = conventional_changelog(format: 'plain', display_links: false)
229
+ upload_to_testflight(changelog: notes)
74
230
  ```
75
231
 
76
- And you can access these like this:
232
+ ## Development
77
233
 
78
- `next_version = lane_context[SharedValues::RELEASE_NEXT_VERSION]`
234
+ ### Running tests
79
235
 
80
- <img src="https://raw.githubusercontent.com/xotahal/fastlane-plugin-semantic_release/master/docs/Analyze.png" />
236
+ ```bash
237
+ # Run all tests and linting
238
+ bundle exec rake
81
239
 
82
- ## Tests
240
+ # Run only tests
241
+ bundle exec rake spec
83
242
 
84
- To run the test suite (contained in `./spec`), call `bundle exec rake`
243
+ # Run only linting
244
+ bundle exec rake rubocop
245
+ ```
85
246
 
86
247
  ## Questions
87
248
 
88
- If you need anything ping us on [twitter](http://bit.ly/t-xotahal).
249
+ If you have any issues or feature requests, please [open an issue](https://github.com/xotahal/fastlane-plugin-semantic_release/issues) on GitHub.
89
250
 
90
- | Jiri Otahal |
91
- | -------------------------------------------------------------------------------------------------------------------------------------- |
92
- | [<img src="https://avatars3.githubusercontent.com/u/3531955?v=4" width="100px;" style="border-radius:50px"/>](http://bit.ly/t-xotahal) |
251
+ | Jiri Otahal |
252
+ | --- |
253
+ | [<img src="https://avatars3.githubusercontent.com/u/3531955?v=4" width="100px;" style="border-radius:50px"/>](https://github.com/xotahal) |
@@ -22,7 +22,7 @@ module Fastlane
22
22
  # Try to find the tag
23
23
  command = "git describe --tags --match=#{params[:match]}"
24
24
  Actions.sh(command, log: params[:debug])
25
- rescue
25
+ rescue StandardError
26
26
  UI.message("Tag was not found for match pattern - #{params[:match]}")
27
27
  ''
28
28
  end
@@ -101,6 +101,18 @@ module Fastlane
101
101
  }
102
102
  end
103
103
 
104
+ def self.clamp_version(next_major, next_minor, next_patch, base_major, base_minor, base_patch)
105
+ if next_major > base_major
106
+ [base_major + 1, 0, 0]
107
+ elsif next_minor > base_minor
108
+ [next_major, base_minor + 1, 0]
109
+ elsif next_patch > base_patch
110
+ [next_major, next_minor, base_patch + 1]
111
+ else
112
+ [next_major, next_minor, next_patch]
113
+ end
114
+ end
115
+
104
116
  def self.is_releasable(params)
105
117
  # Hash of the commit where is the last version
106
118
  beginning = get_beginning_of_next_sprint(params)
@@ -122,6 +134,11 @@ module Fastlane
122
134
  next_minor = (version.split('.')[1] || 0).to_i
123
135
  next_patch = (version.split('.')[2] || 0).to_i
124
136
 
137
+ # Save base version for potential clamping
138
+ base_major = next_major
139
+ base_minor = next_minor
140
+ base_patch = next_patch
141
+
125
142
  is_next_version_compatible_with_codepush = true
126
143
 
127
144
  # Get commits log between last version and head
@@ -171,6 +188,11 @@ module Fastlane
171
188
  UI.message("#{next_version}: #{subject}") if params[:show_version_path]
172
189
  end
173
190
 
191
+ # When bump_per_commit is false, clamp to single increment
192
+ unless params[:bump_per_commit]
193
+ next_major, next_minor, next_patch = clamp_version(next_major, next_minor, next_patch, base_major, base_minor, base_patch)
194
+ end
195
+
174
196
  next_version = "#{next_major}.#{next_minor}.#{next_patch}"
175
197
 
176
198
  is_next_version_releasable = Helper::SemanticReleaseHelper.semver_gt(next_version, version)
@@ -201,6 +223,9 @@ module Fastlane
201
223
  next_major = 0
202
224
  next_minor = 0
203
225
  next_patch = 0
226
+ base_major = next_major
227
+ base_minor = next_minor
228
+ base_patch = next_patch
204
229
  last_incompatible_codepush_version = '0.0.0'
205
230
 
206
231
  if hash_lines.to_i > 1
@@ -246,6 +271,10 @@ module Fastlane
246
271
  end
247
272
  end
248
273
 
274
+ unless params[:bump_per_commit]
275
+ next_major, next_minor, next_patch = clamp_version(next_major, next_minor, next_patch, base_major, base_minor, base_patch)
276
+ end
277
+
249
278
  Actions.lane_context[SharedValues::RELEASE_LAST_INCOMPATIBLE_CODEPUSH_VERSION] = last_incompatible_codepush_version
250
279
  end
251
280
 
@@ -353,6 +382,13 @@ module Fastlane
353
382
  default_value: false,
354
383
  type: Boolean,
355
384
  optional: true
385
+ ),
386
+ FastlaneCore::ConfigItem.new(
387
+ key: :bump_per_commit,
388
+ description: "When true (default), each fix/feat commit increments the version. When false, only bump once per release (matching semantic-release behavior)",
389
+ default_value: true,
390
+ type: Boolean,
391
+ optional: true
356
392
  )
357
393
  ]
358
394
  end
@@ -40,9 +40,7 @@ module Fastlane
40
40
  commit_url = params[:commit_url]
41
41
  format = params[:format]
42
42
 
43
- result = note_builder(format, parsed, version, commit_url, params)
44
-
45
- result
43
+ note_builder(format, parsed, version, commit_url, params)
46
44
  end
47
45
 
48
46
  def self.note_builder(format, commits, version, commit_url, params)
@@ -99,6 +97,7 @@ module Fastlane
99
97
 
100
98
  commits.each do |commit|
101
99
  next unless commit[:is_breaking_change]
100
+
102
101
  result += "- #{commit[:breaking_change]}" # This is the only unique part of this loop
103
102
 
104
103
  if params[:display_links] == true
@@ -117,9 +116,7 @@ module Fastlane
117
116
  end
118
117
 
119
118
  # Trim any trailing newlines
120
- result = result.rstrip!
121
-
122
- result
119
+ result.rstrip!
123
120
  end
124
121
 
125
122
  def self.style_text(text, format, style)
@@ -7,7 +7,7 @@ module Fastlane
7
7
  class SemanticReleaseHelper
8
8
  def self.format_patterns
9
9
  return {
10
- "default" => /^(docs|fix|feat|chore|style|refactor|perf|test)(?:\((.*)\))?(!?)\: (.*)/,
10
+ "default" => /^(docs|fix|feat|chore|style|refactor|perf|test)(?:\((.*)\))?(!?): (.*)/,
11
11
  "angular" => /^(\w*)(?:\((.*)\))?(): (.*)/
12
12
  }
13
13
  end
@@ -1 +1 @@
1
- module Fastlane module SemanticRelease VERSION = "1.18.2" end end
1
+ module Fastlane module SemanticRelease VERSION = "1.19.0" end end
metadata CHANGED
@@ -1,17 +1,17 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fastlane-plugin-semantic_release
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.18.2
4
+ version: 1.19.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jiří Otáhal
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-04-17 00:00:00.000000000 Z
11
+ date: 2026-02-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: pry
14
+ name: bundler
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
17
  - - ">="
@@ -25,21 +25,21 @@ dependencies:
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
- name: bundler
28
+ name: fastlane
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - ">="
32
32
  - !ruby/object:Gem::Version
33
- version: '0'
33
+ version: 2.117.1
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - ">="
39
39
  - !ruby/object:Gem::Version
40
- version: '0'
40
+ version: 2.117.1
41
41
  - !ruby/object:Gem::Dependency
42
- name: rspec
42
+ name: pry
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - ">="
@@ -53,7 +53,7 @@ dependencies:
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
55
  - !ruby/object:Gem::Dependency
56
- name: rspec_junit_formatter
56
+ name: rake
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - ">="
@@ -67,7 +67,7 @@ dependencies:
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
69
  - !ruby/object:Gem::Dependency
70
- name: rake
70
+ name: rspec
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
73
  - - ">="
@@ -81,35 +81,35 @@ dependencies:
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
83
  - !ruby/object:Gem::Dependency
84
- name: rubocop
84
+ name: rspec_junit_formatter
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - '='
87
+ - - ">="
88
88
  - !ruby/object:Gem::Version
89
- version: 0.49.1
89
+ version: '0'
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
- - - '='
94
+ - - ">="
95
95
  - !ruby/object:Gem::Version
96
- version: 0.49.1
96
+ version: '0'
97
97
  - !ruby/object:Gem::Dependency
98
- name: rubocop-require_tools
98
+ name: rubocop
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
101
  - - ">="
102
102
  - !ruby/object:Gem::Version
103
- version: '0'
103
+ version: '1.50'
104
104
  type: :development
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
108
  - - ">="
109
109
  - !ruby/object:Gem::Version
110
- version: '0'
110
+ version: '1.50'
111
111
  - !ruby/object:Gem::Dependency
112
- name: simplecov
112
+ name: rubocop-performance
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
115
  - - ">="
@@ -123,20 +123,20 @@ dependencies:
123
123
  - !ruby/object:Gem::Version
124
124
  version: '0'
125
125
  - !ruby/object:Gem::Dependency
126
- name: fastlane
126
+ name: simplecov
127
127
  requirement: !ruby/object:Gem::Requirement
128
128
  requirements:
129
129
  - - ">="
130
130
  - !ruby/object:Gem::Version
131
- version: 2.117.1
131
+ version: '0'
132
132
  type: :development
133
133
  prerelease: false
134
134
  version_requirements: !ruby/object:Gem::Requirement
135
135
  requirements:
136
136
  - - ">="
137
137
  - !ruby/object:Gem::Version
138
- version: 2.117.1
139
- description:
138
+ version: '0'
139
+ description:
140
140
  email: xotahal@gmail.com
141
141
  executables: []
142
142
  extensions: []
@@ -153,7 +153,7 @@ homepage: https://github.com/xotahal/fastlane-plugin-semantic_release
153
153
  licenses:
154
154
  - MIT
155
155
  metadata: {}
156
- post_install_message:
156
+ post_install_message:
157
157
  rdoc_options: []
158
158
  require_paths:
159
159
  - lib
@@ -168,9 +168,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
168
168
  - !ruby/object:Gem::Version
169
169
  version: '0'
170
170
  requirements: []
171
- rubyforge_project:
172
- rubygems_version: 2.7.3
173
- signing_key:
171
+ rubygems_version: 3.4.19
172
+ signing_key:
174
173
  specification_version: 4
175
174
  summary: Automated version managment and generator of release notes.
176
175
  test_files: []