fastlane 2.227.1 → 2.228.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.
Files changed (34) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +84 -84
  3. data/deliver/lib/deliver/runner.rb +1 -1
  4. data/fastlane/lib/fastlane/actions/docs/sync_code_signing.md +8 -6
  5. data/fastlane/lib/fastlane/actions/docs/upload_to_testflight.md +11 -1
  6. data/fastlane/lib/fastlane/version.rb +1 -1
  7. data/fastlane/swift/Deliverfile.swift +1 -1
  8. data/fastlane/swift/DeliverfileProtocol.swift +1 -1
  9. data/fastlane/swift/Fastlane.swift +10 -69
  10. data/fastlane/swift/Gymfile.swift +1 -1
  11. data/fastlane/swift/GymfileProtocol.swift +1 -1
  12. data/fastlane/swift/Matchfile.swift +1 -1
  13. data/fastlane/swift/MatchfileProtocol.swift +2 -2
  14. data/fastlane/swift/Precheckfile.swift +1 -1
  15. data/fastlane/swift/PrecheckfileProtocol.swift +1 -1
  16. data/fastlane/swift/Scanfile.swift +1 -1
  17. data/fastlane/swift/ScanfileProtocol.swift +3 -3
  18. data/fastlane/swift/Screengrabfile.swift +1 -1
  19. data/fastlane/swift/ScreengrabfileProtocol.swift +1 -1
  20. data/fastlane/swift/Snapshotfile.swift +1 -1
  21. data/fastlane/swift/SnapshotfileProtocol.swift +1 -1
  22. data/fastlane_core/lib/assets/XMLTemplate.xml.erb +5 -1
  23. data/fastlane_core/lib/fastlane_core/command_executor.rb +3 -1
  24. data/fastlane_core/lib/fastlane_core/ipa_file_analyser.rb +4 -14
  25. data/fastlane_core/lib/fastlane_core/ipa_upload_package_builder.rb +5 -2
  26. data/fastlane_core/lib/fastlane_core/itunes_transporter.rb +105 -98
  27. data/match/lib/match/options.rb +1 -0
  28. data/pilot/lib/pilot/build_manager.rb +7 -1
  29. data/scan/lib/scan/options.rb +2 -2
  30. data/sigh/lib/sigh/options.rb +1 -0
  31. data/sigh/lib/sigh/runner.rb +5 -2
  32. data/spaceship/lib/spaceship/connect_api/models/profile.rb +2 -3
  33. metadata +18 -19
  34. data/fastlane/lib/fastlane/actions/hipchat.rb +0 -200
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: '013957876e8538a10eb75b6a6db930df210d73ee8dbbb23fd49f372f491ae93b'
4
- data.tar.gz: a87f6c541627a757897bf839d4cc5be2f85c6ea28fba2d3fe780c088c231c72b
3
+ metadata.gz: 73a9dc083aac92c7e8e2191368f97ccd85cbf0280aeca18f5f3fe7654e2172f2
4
+ data.tar.gz: 2566fcedb7fb02b16e09078b46f0ce0eae3aa85f0648aa201402b39b599196a9
5
5
  SHA512:
6
- metadata.gz: e87901816702b534b8f3b62712b87b8ea5a4215a2a7b9cdda8a0ffd4cc0c17faf7dd65b9492e9b3974a712a1d398166874bc0ce3f193d271b2b5f8a6db59b13e
7
- data.tar.gz: 9e1a0956bde4a8ae72449d78a92d3acff8fccb05cf428f53d4a78beb670857bf07ce114f4ddd5fcb45eed4a42cda67b74a9c65a6fbd15150393e67ba49c4d8ba
6
+ metadata.gz: 3dd3efd4bec60e096fd37945addda36c63d24feeac634236b7b7ffe01e3c305509fb4c5f1f7128c4b1fd3b75c8dff151152eab929d64c31a5c698f92723244cf
7
+ data.tar.gz: c9c3e37d9eb3fe450b38c039a72e5600f13b9914cdccebbedf16c07008aae50211495ab01d4326618bd718a038c689733f373e6cf72d2b57522266d8ff973f13
data/README.md CHANGED
@@ -41,29 +41,29 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
41
41
  </a>
42
42
  <h4 align='center'><a href='https://twitter.com/Revolt666'>Iulian Onofrei</a></h4>
43
43
  </td>
44
- <td id='luka-mirosevic'>
45
- <a href='https://github.com/lmirosevic'>
46
- <img src='https://github.com/lmirosevic.png' width='140px;'>
44
+ <td id='daniel-jankowski'>
45
+ <a href='https://github.com/mollyIV'>
46
+ <img src='https://github.com/mollyIV.png' width='140px;'>
47
47
  </a>
48
- <h4 align='center'><a href='https://twitter.com/lmirosevic'>Luka Mirosevic</a></h4>
48
+ <h4 align='center'><a href='https://twitter.com/mollyIV'>Daniel Jankowski</a></h4>
49
49
  </td>
50
- <td id='stefan-natchev'>
51
- <a href='https://github.com/snatchev'>
52
- <img src='https://github.com/snatchev.png' width='140px;'>
50
+ <td id='danielle-tomlinson'>
51
+ <a href='https://github.com/endocrimes'>
52
+ <img src='https://github.com/endocrimes.png' width='140px;'>
53
53
  </a>
54
- <h4 align='center'><a href='https://twitter.com/snatchev'>Stefan Natchev</a></h4>
54
+ <h4 align='center'><a href='https://twitter.com/endocrimes'>Danielle Tomlinson</a></h4>
55
55
  </td>
56
- <td id='roger-oba'>
57
- <a href='https://github.com/rogerluan'>
58
- <img src='https://github.com/rogerluan.png' width='140px;'>
56
+ <td id='jorge-revuelta-h'>
57
+ <a href='https://github.com/minuscorp'>
58
+ <img src='https://github.com/minuscorp.png' width='140px;'>
59
59
  </a>
60
- <h4 align='center'><a href='https://twitter.com/rogerluan_'>Roger Oba</a></h4>
60
+ <h4 align='center'><a href='https://twitter.com/minuscorp'>Jorge Revuelta H</a></h4>
61
61
  </td>
62
- <td id='matthew-ellis'>
63
- <a href='https://github.com/matthewellis'>
64
- <img src='https://github.com/matthewellis.png' width='140px;'>
62
+ <td id='olivier-halligon'>
63
+ <a href='https://github.com/AliSoftware'>
64
+ <img src='https://github.com/AliSoftware.png' width='140px;'>
65
65
  </a>
66
- <h4 align='center'><a href='https://twitter.com/mellis1995'>Matthew Ellis</a></h4>
66
+ <h4 align='center'><a href='https://twitter.com/aligatr'>Olivier Halligon</a></h4>
67
67
  </td>
68
68
  </tr>
69
69
  <tr>
@@ -73,43 +73,37 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
73
73
  </a>
74
74
  <h4 align='center'><a href='https://twitter.com/ainame'>Satoshi Namai</a></h4>
75
75
  </td>
76
- <td id='jérôme-lacoste'>
77
- <a href='https://github.com/lacostej'>
78
- <img src='https://github.com/lacostej.png' width='140px;'>
76
+ <td id='luka-mirosevic'>
77
+ <a href='https://github.com/lmirosevic'>
78
+ <img src='https://github.com/lmirosevic.png' width='140px;'>
79
79
  </a>
80
- <h4 align='center'><a href='https://twitter.com/lacostej'>Jérôme Lacoste</a></h4>
80
+ <h4 align='center'><a href='https://twitter.com/lmirosevic'>Luka Mirosevic</a></h4>
81
81
  </td>
82
- <td id='jimmy-dee'>
83
- <a href='https://github.com/jdee'>
84
- <img src='https://github.com/jdee.png' width='140px;'>
82
+ <td id='manu-wallner'>
83
+ <a href='https://github.com/milch'>
84
+ <img src='https://github.com/milch.png' width='140px;'>
85
85
  </a>
86
- <h4 align='center'>Jimmy Dee</h4>
86
+ <h4 align='center'><a href='https://twitter.com/acrooow'>Manu Wallner</a></h4>
87
87
  </td>
88
- <td id='maksym-grebenets'>
89
- <a href='https://github.com/mgrebenets'>
90
- <img src='https://github.com/mgrebenets.png' width='140px;'>
88
+ <td id='kohki-miki'>
89
+ <a href='https://github.com/giginet'>
90
+ <img src='https://github.com/giginet.png' width='140px;'>
91
91
  </a>
92
- <h4 align='center'><a href='https://twitter.com/mgrebenets'>Maksym Grebenets</a></h4>
92
+ <h4 align='center'><a href='https://twitter.com/giginet'>Kohki Miki</a></h4>
93
93
  </td>
94
- <td id='felix-krause'>
95
- <a href='https://github.com/KrauseFx'>
96
- <img src='https://github.com/KrauseFx.png' width='140px;'>
94
+ <td id='fumiya-nakamura'>
95
+ <a href='https://github.com/nafu'>
96
+ <img src='https://github.com/nafu.png' width='140px;'>
97
97
  </a>
98
- <h4 align='center'><a href='https://twitter.com/KrauseFx'>Felix Krause</a></h4>
98
+ <h4 align='center'><a href='https://twitter.com/nafu003'>Fumiya Nakamura</a></h4>
99
99
  </td>
100
100
  </tr>
101
101
  <tr>
102
- <td id='aaron-brager'>
103
- <a href='https://github.com/getaaron'>
104
- <img src='https://github.com/getaaron.png' width='140px;'>
105
- </a>
106
- <h4 align='center'><a href='https://twitter.com/getaaron'>Aaron Brager</a></h4>
107
- </td>
108
- <td id='kohki-miki'>
109
- <a href='https://github.com/giginet'>
110
- <img src='https://github.com/giginet.png' width='140px;'>
102
+ <td id='jérôme-lacoste'>
103
+ <a href='https://github.com/lacostej'>
104
+ <img src='https://github.com/lacostej.png' width='140px;'>
111
105
  </a>
112
- <h4 align='center'><a href='https://twitter.com/giginet'>Kohki Miki</a></h4>
106
+ <h4 align='center'><a href='https://twitter.com/lacostej'>Jérôme Lacoste</a></h4>
113
107
  </td>
114
108
  <td id='max-ott'>
115
109
  <a href='https://github.com/max-ott'>
@@ -117,26 +111,32 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
117
111
  </a>
118
112
  <h4 align='center'><a href='https://twitter.com/ott_max'>Max Ott</a></h4>
119
113
  </td>
120
- <td id='daniel-jankowski'>
121
- <a href='https://github.com/mollyIV'>
122
- <img src='https://github.com/mollyIV.png' width='140px;'>
114
+ <td id='jimmy-dee'>
115
+ <a href='https://github.com/jdee'>
116
+ <img src='https://github.com/jdee.png' width='140px;'>
123
117
  </a>
124
- <h4 align='center'><a href='https://twitter.com/mollyIV'>Daniel Jankowski</a></h4>
118
+ <h4 align='center'>Jimmy Dee</h4>
125
119
  </td>
126
- <td id='andrew-mcburney'>
127
- <a href='https://github.com/armcburney'>
128
- <img src='https://github.com/armcburney.png' width='140px;'>
120
+ <td id='matthew-ellis'>
121
+ <a href='https://github.com/matthewellis'>
122
+ <img src='https://github.com/matthewellis.png' width='140px;'>
129
123
  </a>
130
- <h4 align='center'><a href='https://twitter.com/armcburney'>Andrew McBurney</a></h4>
124
+ <h4 align='center'><a href='https://twitter.com/mellis1995'>Matthew Ellis</a></h4>
131
125
  </td>
132
- </tr>
133
- <tr>
134
126
  <td id='helmut-januschka'>
135
127
  <a href='https://github.com/hjanuschka'>
136
128
  <img src='https://github.com/hjanuschka.png' width='140px;'>
137
129
  </a>
138
130
  <h4 align='center'><a href='https://twitter.com/hjanuschka'>Helmut Januschka</a></h4>
139
131
  </td>
132
+ </tr>
133
+ <tr>
134
+ <td id='stefan-natchev'>
135
+ <a href='https://github.com/snatchev'>
136
+ <img src='https://github.com/snatchev.png' width='140px;'>
137
+ </a>
138
+ <h4 align='center'><a href='https://twitter.com/snatchev'>Stefan Natchev</a></h4>
139
+ </td>
140
140
  <td id='łukasz-grabowski'>
141
141
  <a href='https://github.com/lucgrabowski'>
142
142
  <img src='https://github.com/lucgrabowski.png' width='140px;'>
@@ -149,57 +149,57 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
149
149
  </a>
150
150
  <h4 align='center'><a href='https://twitter.com/taquitos'>Joshua Liebowitz</a></h4>
151
151
  </td>
152
- <td id='jan-piotrowski'>
153
- <a href='https://github.com/janpio'>
154
- <img src='https://github.com/janpio.png' width='140px;'>
152
+ <td id='manish-rathi'>
153
+ <a href='https://github.com/crazymanish'>
154
+ <img src='https://github.com/crazymanish.png' width='140px;'>
155
155
  </a>
156
- <h4 align='center'><a href='https://twitter.com/Sujan'>Jan Piotrowski</a></h4>
156
+ <h4 align='center'><a href='https://twitter.com/iammanishrathi'>Manish Rathi</a></h4>
157
157
  </td>
158
- <td id='josh-holtz'>
159
- <a href='https://github.com/joshdholtz'>
160
- <img src='https://github.com/joshdholtz.png' width='140px;'>
158
+ <td id='aaron-brager'>
159
+ <a href='https://github.com/getaaron'>
160
+ <img src='https://github.com/getaaron.png' width='140px;'>
161
161
  </a>
162
- <h4 align='center'><a href='https://twitter.com/joshdholtz'>Josh Holtz</a></h4>
162
+ <h4 align='center'><a href='https://twitter.com/getaaron'>Aaron Brager</a></h4>
163
163
  </td>
164
164
  </tr>
165
165
  <tr>
166
- <td id='manu-wallner'>
167
- <a href='https://github.com/milch'>
168
- <img src='https://github.com/milch.png' width='140px;'>
166
+ <td id='felix-krause'>
167
+ <a href='https://github.com/KrauseFx'>
168
+ <img src='https://github.com/KrauseFx.png' width='140px;'>
169
169
  </a>
170
- <h4 align='center'><a href='https://twitter.com/acrooow'>Manu Wallner</a></h4>
170
+ <h4 align='center'><a href='https://twitter.com/KrauseFx'>Felix Krause</a></h4>
171
171
  </td>
172
- <td id='manish-rathi'>
173
- <a href='https://github.com/crazymanish'>
174
- <img src='https://github.com/crazymanish.png' width='140px;'>
172
+ <td id='maksym-grebenets'>
173
+ <a href='https://github.com/mgrebenets'>
174
+ <img src='https://github.com/mgrebenets.png' width='140px;'>
175
175
  </a>
176
- <h4 align='center'><a href='https://twitter.com/iammanishrathi'>Manish Rathi</a></h4>
176
+ <h4 align='center'><a href='https://twitter.com/mgrebenets'>Maksym Grebenets</a></h4>
177
177
  </td>
178
- <td id='olivier-halligon'>
179
- <a href='https://github.com/AliSoftware'>
180
- <img src='https://github.com/AliSoftware.png' width='140px;'>
178
+ <td id='jan-piotrowski'>
179
+ <a href='https://github.com/janpio'>
180
+ <img src='https://github.com/janpio.png' width='140px;'>
181
181
  </a>
182
- <h4 align='center'><a href='https://twitter.com/aligatr'>Olivier Halligon</a></h4>
182
+ <h4 align='center'><a href='https://twitter.com/Sujan'>Jan Piotrowski</a></h4>
183
183
  </td>
184
- <td id='jorge-revuelta-h'>
185
- <a href='https://github.com/minuscorp'>
186
- <img src='https://github.com/minuscorp.png' width='140px;'>
184
+ <td id='josh-holtz'>
185
+ <a href='https://github.com/joshdholtz'>
186
+ <img src='https://github.com/joshdholtz.png' width='140px;'>
187
187
  </a>
188
- <h4 align='center'><a href='https://twitter.com/minuscorp'>Jorge Revuelta H</a></h4>
188
+ <h4 align='center'><a href='https://twitter.com/joshdholtz'>Josh Holtz</a></h4>
189
189
  </td>
190
- <td id='danielle-tomlinson'>
191
- <a href='https://github.com/endocrimes'>
192
- <img src='https://github.com/endocrimes.png' width='140px;'>
190
+ <td id='roger-oba'>
191
+ <a href='https://github.com/rogerluan'>
192
+ <img src='https://github.com/rogerluan.png' width='140px;'>
193
193
  </a>
194
- <h4 align='center'><a href='https://twitter.com/endocrimes'>Danielle Tomlinson</a></h4>
194
+ <h4 align='center'><a href='https://twitter.com/rogerluan_'>Roger Oba</a></h4>
195
195
  </td>
196
196
  </tr>
197
197
  <tr>
198
- <td id='fumiya-nakamura'>
199
- <a href='https://github.com/nafu'>
200
- <img src='https://github.com/nafu.png' width='140px;'>
198
+ <td id='andrew-mcburney'>
199
+ <a href='https://github.com/armcburney'>
200
+ <img src='https://github.com/armcburney.png' width='140px;'>
201
201
  </a>
202
- <h4 align='center'><a href='https://twitter.com/nafu003'>Fumiya Nakamura</a></h4>
202
+ <h4 align='center'><a href='https://twitter.com/armcburney'>Andrew McBurney</a></h4>
203
203
  </td>
204
204
  </table>
205
205
 
@@ -107,7 +107,7 @@ module Deliver
107
107
  begin
108
108
  precheck_success = Precheck::Runner.new.run
109
109
  rescue => ex
110
- UI.error("fastlane precheck just tried to inspect your app's metadata for App Store guideline violations and ran into a problem. We're not sure what the problem was, but precheck failed to finished. You can run it in verbose mode if you want to see the whole error. We'll have a fix out soon 🚀")
110
+ UI.error("fastlane precheck just tried to inspect your app's metadata for App Store guideline violations and ran into a problem. We're not sure what the problem was, but precheck failed to finish. You can run it in verbose mode if you want to see the whole error. We'll have a fix out soon 🚀")
111
111
  UI.verbose(ex.inspect)
112
112
  UI.verbose(ex.backtrace.join("\n"))
113
113
  end
@@ -406,14 +406,16 @@ If you're not using `Fastfile`, you can also use the `force_for_new_devices` opt
406
406
  fastlane match adhoc --force_for_new_devices
407
407
  ```
408
408
 
409
- ##### Templates (aka: custom entitlements)
409
+ ##### Managed capabilities
410
410
 
411
- _match_ can generate profiles that contain custom entitlements by passing in the entitlement's name with the `template_name` parameter.
411
+ > [!IMPORTANT]
412
+ > This feature has been deprecated since May 2025, until Apple provides a new solution. We will update this documentation once we have more information on how to handle managed capabilities in the future.
412
413
 
413
- ```
414
- match(type: "development",
415
- template_name: "Apple Pay Pass Suppression Development")
416
- ```
414
+ Managed capabilities — formerly known as "additional entitlements" or "custom entitlements", enabled via "templates" — are additional capabilities that require Apple's review and approval before they can be distributed.
415
+
416
+ These capabilities used to be enabled by passing a `template_name` parameter to the _match_ action, which would then generate a provisioning profile with the entitlements specified by the given template. However, this feature was never officially supported by Apple's API (undocumented), and they eventually removed it in May 2025 ([see issue #29498](https://github.com/fastlane/fastlane/issues/29498)). Apple still hasn't provided a replacement for this functionality.
417
+
418
+ As a result, the `template_name` parameter was deprecated in the _match_ action, and it will not generate provisioning profiles with custom entitlements.
417
419
 
418
420
  ### Setup Xcode project
419
421
 
@@ -77,7 +77,17 @@ _pilot_ does all kinds of magic for you:
77
77
  - Automatically detects the bundle identifier from your `ipa` file
78
78
  - Automatically fetch the AppID of your app based on the bundle identifier
79
79
 
80
- _pilot_ uses [_spaceship_](https://spaceship.airforce) to submit the build metadata and the iTunes Transporter to upload the binary. Because iTunes Transporter's upload capability is only supported on OS X, `pilot upload` does not work on Linux, as described [in this issue](https://github.com/fastlane/fastlane/issues/5789)
80
+ _pilot_ uses [_spaceship_](https://spaceship.airforce) to submit the build metadata and the iTunes Transporter to upload the binary.
81
+
82
+ ### Upload from Linux
83
+
84
+ To upload binaries from Linux:
85
+ - make sure you have [Transporter on Linux](https://help.apple.com/itc/transporteruserguide/en.lproj/static.html) installed
86
+ - set the following environment variables:
87
+ - `FASTLANE_ITUNES_TRANSPORTER_USE_SHELL_SCRIPT=true`
88
+ - `FASTLANE_ITUNES_TRANSPORTER_PATH=/usr/local/itms` (_or the path where Transporter is installed_)
89
+
90
+ _Note: fastlane will temporarily save the upload credentials in `$HOME/.appstoreconnect/private_keys/`. Any other files in that directory will be deleted upon upload completion._
81
91
 
82
92
  ## List builds
83
93
 
@@ -1,5 +1,5 @@
1
1
  module Fastlane
2
- VERSION = '2.227.1'.freeze
2
+ VERSION = '2.228.0'.freeze
3
3
  SUMMARY = "The easiest way to build and release mobile apps.".freeze
4
4
  DESCRIPTION = "The easiest way to automate beta deployments and releases for your iOS and Android apps".freeze
5
5
  MINIMUM_XCODE_RELEASE = "7.0".freeze
@@ -17,4 +17,4 @@ public class Deliverfile: DeliverfileProtocol {
17
17
  // during the `init` process, and you won't see this message
18
18
  }
19
19
 
20
- // Generated with fastlane 2.227.1
20
+ // Generated with fastlane 2.228.0
@@ -272,4 +272,4 @@ public extension DeliverfileProtocol {
272
272
 
273
273
  // Please don't remove the lines below
274
274
  // They are used to detect outdated files
275
- // FastlaneRunnerAPIVersion [0.9.134]
275
+ // FastlaneRunnerAPIVersion [0.9.136]
@@ -5063,7 +5063,7 @@ public func getManagedPlayStorePublishingRights(jsonKey: OptionalConfigValue<Str
5063
5063
  - skipCertificateVerification: Skips the verification of the certificates for every existing profiles. This will make sure the provisioning profile can be used on the local machine
5064
5064
  - platform: Set the provisioning profile's platform (i.e. ios, tvos, macos, catalyst)
5065
5065
  - readonly: Only fetch existing profile, don't generate new ones
5066
- - templateName: The name of provisioning profile template. If the developer account has provisioning profile templates (aka: custom entitlements), the template name can be found by inspecting the Entitlements drop-down while creating/editing a provisioning profile (e.g. "Apple Pay Pass Suppression Development")
5066
+ - templateName: **DEPRECATED!** Removed since May 2025 on App Store Connect API OpenAPI v3.8.0 - Learn more: https://docs.fastlane.tools/actions/match/#managed-capabilities - The name of provisioning profile template. If the developer account has provisioning profile templates (aka: custom entitlements), the template name can be found by inspecting the Entitlements drop-down while creating/editing a provisioning profile (e.g. "Apple Pay Pass Suppression Development")
5067
5067
  - failOnNameTaken: Should the command fail if it was about to create a duplicate of an existing provisioning profile. It can happen due to issues on Apple Developer Portal, when profile to be recreated was not properly deleted first
5068
5068
  - cachedCertificates: A list of cached certificates
5069
5069
  - cachedDevices: A list of cached devices
@@ -5975,65 +5975,6 @@ public func hgPush(force: OptionalConfigValue<Bool> = .fastlaneDefault(false),
5975
5975
  _ = runner.executeCommand(command)
5976
5976
  }
5977
5977
 
5978
- /**
5979
- Send a error/success message to [HipChat](https://www.hipchat.com/)
5980
-
5981
- - parameters:
5982
- - message: The message to post on HipChat
5983
- - channel: The room or @username
5984
- - apiToken: Hipchat API Token
5985
- - customColor: Specify a custom color, this overrides the success boolean. Can be one of 'yellow', 'red', 'green', 'purple', 'gray', or 'random'
5986
- - success: Was this build successful? (true/false)
5987
- - version: Version of the Hipchat API. Must be 1 or 2
5988
- - notifyRoom: Should the people in the room be notified? (true/false)
5989
- - apiHost: The host of the HipChat-Server API
5990
- - messageFormat: Format of the message to post. Must be either 'html' or 'text'
5991
- - includeHtmlHeader: Should html formatted messages include a preformatted header? (true/false)
5992
- - from: Name the message will appear to be sent from
5993
-
5994
- Send a message to **room** (by default) or a direct message to **@username** with success (green) or failure (red) status.
5995
- */
5996
- public func hipchat(message: String = "",
5997
- channel: String,
5998
- apiToken: String,
5999
- customColor: OptionalConfigValue<String?> = .fastlaneDefault(nil),
6000
- success: OptionalConfigValue<Bool> = .fastlaneDefault(true),
6001
- version: String,
6002
- notifyRoom: OptionalConfigValue<Bool> = .fastlaneDefault(false),
6003
- apiHost: String = "api.hipchat.com",
6004
- messageFormat: String = "html",
6005
- includeHtmlHeader: OptionalConfigValue<Bool> = .fastlaneDefault(true),
6006
- from: String = "fastlane")
6007
- {
6008
- let messageArg = RubyCommand.Argument(name: "message", value: message, type: nil)
6009
- let channelArg = RubyCommand.Argument(name: "channel", value: channel, type: nil)
6010
- let apiTokenArg = RubyCommand.Argument(name: "api_token", value: apiToken, type: nil)
6011
- let customColorArg = customColor.asRubyArgument(name: "custom_color", type: nil)
6012
- let successArg = success.asRubyArgument(name: "success", type: nil)
6013
- let versionArg = RubyCommand.Argument(name: "version", value: version, type: nil)
6014
- let notifyRoomArg = notifyRoom.asRubyArgument(name: "notify_room", type: nil)
6015
- let apiHostArg = RubyCommand.Argument(name: "api_host", value: apiHost, type: nil)
6016
- let messageFormatArg = RubyCommand.Argument(name: "message_format", value: messageFormat, type: nil)
6017
- let includeHtmlHeaderArg = includeHtmlHeader.asRubyArgument(name: "include_html_header", type: nil)
6018
- let fromArg = RubyCommand.Argument(name: "from", value: from, type: nil)
6019
- let array: [RubyCommand.Argument?] = [messageArg,
6020
- channelArg,
6021
- apiTokenArg,
6022
- customColorArg,
6023
- successArg,
6024
- versionArg,
6025
- notifyRoomArg,
6026
- apiHostArg,
6027
- messageFormatArg,
6028
- includeHtmlHeaderArg,
6029
- fromArg]
6030
- let args: [RubyCommand.Argument] = array
6031
- .filter { $0?.value != nil }
6032
- .compactMap { $0 }
6033
- let command = RubyCommand(commandID: "", methodName: "hipchat", className: nil, args: args)
6034
- _ = runner.executeCommand(command)
6035
- }
6036
-
6037
5978
  /**
6038
5979
  Refer to [App Center](https://github.com/Microsoft/fastlane-plugin-appcenter/)
6039
5980
 
@@ -6817,7 +6758,7 @@ public func makeChangelogFromJenkins(fallbackChangelog: String = "",
6817
6758
  - skipDocs: Skip generation of a README.md for the created git repository
6818
6759
  - platform: Set the provisioning profile's platform to work with (i.e. ios, tvos, macos, catalyst)
6819
6760
  - deriveCatalystAppIdentifier: Enable this if you have the Mac Catalyst capability enabled and your project was created with Xcode 11.3 or earlier. Prepends 'maccatalyst.' to the app identifier for the provisioning profile mapping
6820
- - templateName: The name of provisioning profile template. If the developer account has provisioning profile templates (aka: custom entitlements), the template name can be found by inspecting the Entitlements drop-down while creating/editing a provisioning profile (e.g. "Apple Pay Pass Suppression Development")
6761
+ - templateName: **DEPRECATED!** Removed since May 2025 on App Store Connect API OpenAPI v3.8.0 - Learn more: https://docs.fastlane.tools/actions/match/#managed-capabilities - The name of provisioning profile template. If the developer account has provisioning profile templates (aka: custom entitlements), the template name can be found by inspecting the Entitlements drop-down while creating/editing a provisioning profile (e.g. "Apple Pay Pass Suppression Development")
6821
6762
  - profileName: A custom name for the provisioning profile. This will replace the default provisioning profile name if specified
6822
6763
  - failOnNameTaken: Should the command fail if it was about to create a duplicate of an existing provisioning profile. It can happen due to issues on Apple Developer Portal, when profile to be recreated was not properly deleted first
6823
6764
  - skipCertificateMatching: Set to true if there is no access to Apple developer portal but there are certificates, keys and profiles provided. Only works with match import action
@@ -7056,7 +6997,7 @@ public func match(type: String = matchfile.type,
7056
6997
  - skipDocs: Skip generation of a README.md for the created git repository
7057
6998
  - platform: Set the provisioning profile's platform to work with (i.e. ios, tvos, macos, catalyst)
7058
6999
  - deriveCatalystAppIdentifier: Enable this if you have the Mac Catalyst capability enabled and your project was created with Xcode 11.3 or earlier. Prepends 'maccatalyst.' to the app identifier for the provisioning profile mapping
7059
- - templateName: The name of provisioning profile template. If the developer account has provisioning profile templates (aka: custom entitlements), the template name can be found by inspecting the Entitlements drop-down while creating/editing a provisioning profile (e.g. "Apple Pay Pass Suppression Development")
7000
+ - templateName: **DEPRECATED!** Removed since May 2025 on App Store Connect API OpenAPI v3.8.0 - Learn more: https://docs.fastlane.tools/actions/match/#managed-capabilities - The name of provisioning profile template. If the developer account has provisioning profile templates (aka: custom entitlements), the template name can be found by inspecting the Entitlements drop-down while creating/editing a provisioning profile (e.g. "Apple Pay Pass Suppression Development")
7060
7001
  - profileName: A custom name for the provisioning profile. This will replace the default provisioning profile name if specified
7061
7002
  - failOnNameTaken: Should the command fail if it was about to create a duplicate of an existing provisioning profile. It can happen due to issues on Apple Developer Portal, when profile to be recreated was not properly deleted first
7062
7003
  - skipCertificateMatching: Set to true if there is no access to Apple developer portal but there are certificates, keys and profiles provided. Only works with match import action
@@ -8826,8 +8767,8 @@ public func rubyVersion() {
8826
8767
  - prelaunchSimulator: Enabling this option will launch the first simulator prior to calling any xcodebuild command
8827
8768
  - reinstallApp: Enabling this option will automatically uninstall the application before running it
8828
8769
  - appIdentifier: The bundle identifier of the app to uninstall (only needed when enabling reinstall_app)
8829
- - onlyTesting: Array of strings matching Test Bundle/Test Suite/Test Cases to run
8830
- - skipTesting: Array of strings matching Test Bundle/Test Suite/Test Cases to skip
8770
+ - onlyTesting: Array of test identifiers to run. Expected format: TestTarget[/TestSuite[/TestCase]]
8771
+ - skipTesting: Array of test identifiers to skip. Expected format: TestTarget[/TestSuite[/TestCase]]
8831
8772
  - testplan: The testplan associated with the scheme that should be used for testing
8832
8773
  - onlyTestConfigurations: Array of strings matching test plan configurations to run
8833
8774
  - skipTestConfigurations: Array of strings matching test plan configurations to skip
@@ -9261,8 +9202,8 @@ public func say(text: [String],
9261
9202
  - prelaunchSimulator: Enabling this option will launch the first simulator prior to calling any xcodebuild command
9262
9203
  - reinstallApp: Enabling this option will automatically uninstall the application before running it
9263
9204
  - appIdentifier: The bundle identifier of the app to uninstall (only needed when enabling reinstall_app)
9264
- - onlyTesting: Array of strings matching Test Bundle/Test Suite/Test Cases to run
9265
- - skipTesting: Array of strings matching Test Bundle/Test Suite/Test Cases to skip
9205
+ - onlyTesting: Array of test identifiers to run. Expected format: TestTarget[/TestSuite[/TestCase]]
9206
+ - skipTesting: Array of test identifiers to skip. Expected format: TestTarget[/TestSuite[/TestCase]]
9266
9207
  - testplan: The testplan associated with the scheme that should be used for testing
9267
9208
  - onlyTestConfigurations: Array of strings matching test plan configurations to run
9268
9209
  - skipTestConfigurations: Array of strings matching test plan configurations to skip
@@ -10126,7 +10067,7 @@ public func setupTravis(force: OptionalConfigValue<Bool> = .fastlaneDefault(fals
10126
10067
  - skipCertificateVerification: Skips the verification of the certificates for every existing profiles. This will make sure the provisioning profile can be used on the local machine
10127
10068
  - platform: Set the provisioning profile's platform (i.e. ios, tvos, macos, catalyst)
10128
10069
  - readonly: Only fetch existing profile, don't generate new ones
10129
- - templateName: The name of provisioning profile template. If the developer account has provisioning profile templates (aka: custom entitlements), the template name can be found by inspecting the Entitlements drop-down while creating/editing a provisioning profile (e.g. "Apple Pay Pass Suppression Development")
10070
+ - templateName: **DEPRECATED!** Removed since May 2025 on App Store Connect API OpenAPI v3.8.0 - Learn more: https://docs.fastlane.tools/actions/match/#managed-capabilities - The name of provisioning profile template. If the developer account has provisioning profile templates (aka: custom entitlements), the template name can be found by inspecting the Entitlements drop-down while creating/editing a provisioning profile (e.g. "Apple Pay Pass Suppression Development")
10130
10071
  - failOnNameTaken: Should the command fail if it was about to create a duplicate of an existing provisioning profile. It can happen due to issues on Apple Developer Portal, when profile to be recreated was not properly deleted first
10131
10072
  - cachedCertificates: A list of cached certificates
10132
10073
  - cachedDevices: A list of cached devices
@@ -11386,7 +11327,7 @@ public func swiftlint(mode: String = "lint",
11386
11327
  - skipDocs: Skip generation of a README.md for the created git repository
11387
11328
  - platform: Set the provisioning profile's platform to work with (i.e. ios, tvos, macos, catalyst)
11388
11329
  - deriveCatalystAppIdentifier: Enable this if you have the Mac Catalyst capability enabled and your project was created with Xcode 11.3 or earlier. Prepends 'maccatalyst.' to the app identifier for the provisioning profile mapping
11389
- - templateName: The name of provisioning profile template. If the developer account has provisioning profile templates (aka: custom entitlements), the template name can be found by inspecting the Entitlements drop-down while creating/editing a provisioning profile (e.g. "Apple Pay Pass Suppression Development")
11330
+ - templateName: **DEPRECATED!** Removed since May 2025 on App Store Connect API OpenAPI v3.8.0 - Learn more: https://docs.fastlane.tools/actions/match/#managed-capabilities - The name of provisioning profile template. If the developer account has provisioning profile templates (aka: custom entitlements), the template name can be found by inspecting the Entitlements drop-down while creating/editing a provisioning profile (e.g. "Apple Pay Pass Suppression Development")
11390
11331
  - profileName: A custom name for the provisioning profile. This will replace the default provisioning profile name if specified
11391
11332
  - failOnNameTaken: Should the command fail if it was about to create a duplicate of an existing provisioning profile. It can happen due to issues on Apple Developer Portal, when profile to be recreated was not properly deleted first
11392
11333
  - skipCertificateMatching: Set to true if there is no access to Apple developer portal but there are certificates, keys and profiles provided. Only works with match import action
@@ -13887,4 +13828,4 @@ public let snapshotfile: Snapshotfile = .init()
13887
13828
 
13888
13829
  // Please don't remove the lines below
13889
13830
  // They are used to detect outdated files
13890
- // FastlaneRunnerAPIVersion [0.9.187]
13831
+ // FastlaneRunnerAPIVersion [0.9.189]
@@ -17,4 +17,4 @@ public class Gymfile: GymfileProtocol {
17
17
  // during the `init` process, and you won't see this message
18
18
  }
19
19
 
20
- // Generated with fastlane 2.227.1
20
+ // Generated with fastlane 2.228.0
@@ -212,4 +212,4 @@ public extension GymfileProtocol {
212
212
 
213
213
  // Please don't remove the lines below
214
214
  // They are used to detect outdated files
215
- // FastlaneRunnerAPIVersion [0.9.137]
215
+ // FastlaneRunnerAPIVersion [0.9.139]
@@ -17,4 +17,4 @@ public class Matchfile: MatchfileProtocol {
17
17
  // during the `init` process, and you won't see this message
18
18
  }
19
19
 
20
- // Generated with fastlane 2.227.1
20
+ // Generated with fastlane 2.228.0
@@ -146,7 +146,7 @@ public protocol MatchfileProtocol: AnyObject {
146
146
  /// Enable this if you have the Mac Catalyst capability enabled and your project was created with Xcode 11.3 or earlier. Prepends 'maccatalyst.' to the app identifier for the provisioning profile mapping
147
147
  var deriveCatalystAppIdentifier: Bool { get }
148
148
 
149
- /// The name of provisioning profile template. If the developer account has provisioning profile templates (aka: custom entitlements), the template name can be found by inspecting the Entitlements drop-down while creating/editing a provisioning profile (e.g. "Apple Pay Pass Suppression Development")
149
+ /// **DEPRECATED!** Removed since May 2025 on App Store Connect API OpenAPI v3.8.0 - Learn more: https://docs.fastlane.tools/actions/match/#managed-capabilities - The name of provisioning profile template. If the developer account has provisioning profile templates (aka: custom entitlements), the template name can be found by inspecting the Entitlements drop-down while creating/editing a provisioning profile (e.g. "Apple Pay Pass Suppression Development")
150
150
  var templateName: String? { get }
151
151
 
152
152
  /// A custom name for the provisioning profile. This will replace the default provisioning profile name if specified
@@ -232,4 +232,4 @@ public extension MatchfileProtocol {
232
232
 
233
233
  // Please don't remove the lines below
234
234
  // They are used to detect outdated files
235
- // FastlaneRunnerAPIVersion [0.9.131]
235
+ // FastlaneRunnerAPIVersion [0.9.133]
@@ -17,4 +17,4 @@ public class Precheckfile: PrecheckfileProtocol {
17
17
  // during the `init` process, and you won't see this message
18
18
  }
19
19
 
20
- // Generated with fastlane 2.227.1
20
+ // Generated with fastlane 2.228.0
@@ -52,4 +52,4 @@ public extension PrecheckfileProtocol {
52
52
 
53
53
  // Please don't remove the lines below
54
54
  // They are used to detect outdated files
55
- // FastlaneRunnerAPIVersion [0.9.130]
55
+ // FastlaneRunnerAPIVersion [0.9.132]
@@ -17,4 +17,4 @@ public class Scanfile: ScanfileProtocol {
17
17
  // during the `init` process, and you won't see this message
18
18
  }
19
19
 
20
- // Generated with fastlane 2.227.1
20
+ // Generated with fastlane 2.228.0
@@ -44,10 +44,10 @@ public protocol ScanfileProtocol: AnyObject {
44
44
  /// The bundle identifier of the app to uninstall (only needed when enabling reinstall_app)
45
45
  var appIdentifier: String? { get }
46
46
 
47
- /// Array of strings matching Test Bundle/Test Suite/Test Cases to run
47
+ /// Array of test identifiers to run. Expected format: TestTarget[/TestSuite[/TestCase]]
48
48
  var onlyTesting: String? { get }
49
49
 
50
- /// Array of strings matching Test Bundle/Test Suite/Test Cases to skip
50
+ /// Array of test identifiers to skip. Expected format: TestTarget[/TestSuite[/TestCase]]
51
51
  var skipTesting: String? { get }
52
52
 
53
53
  /// The testplan associated with the scheme that should be used for testing
@@ -324,4 +324,4 @@ public extension ScanfileProtocol {
324
324
 
325
325
  // Please don't remove the lines below
326
326
  // They are used to detect outdated files
327
- // FastlaneRunnerAPIVersion [0.9.142]
327
+ // FastlaneRunnerAPIVersion [0.9.144]
@@ -17,4 +17,4 @@ public class Screengrabfile: ScreengrabfileProtocol {
17
17
  // during the `init` process, and you won't see this message
18
18
  }
19
19
 
20
- // Generated with fastlane 2.227.1
20
+ // Generated with fastlane 2.228.0
@@ -96,4 +96,4 @@ public extension ScreengrabfileProtocol {
96
96
 
97
97
  // Please don't remove the lines below
98
98
  // They are used to detect outdated files
99
- // FastlaneRunnerAPIVersion [0.9.132]
99
+ // FastlaneRunnerAPIVersion [0.9.134]
@@ -17,4 +17,4 @@ public class Snapshotfile: SnapshotfileProtocol {
17
17
  // during the `init` process, and you won't see this message
18
18
  }
19
19
 
20
- // Generated with fastlane 2.227.1
20
+ // Generated with fastlane 2.228.0
@@ -208,4 +208,4 @@ public extension SnapshotfileProtocol {
208
208
 
209
209
  // Please don't remove the lines below
210
210
  // They are used to detect outdated files
211
- // FastlaneRunnerAPIVersion [0.9.126]
211
+ // FastlaneRunnerAPIVersion [0.9.128]
@@ -1,6 +1,10 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
2
  <package xmlns="http://apple.com/itunes/importer" version="software5.4">
3
- <software_assets apple_id="<%= @data[:apple_id] %>" app_platform="<%= @data[:platform] %>">
3
+ <software_assets apple_id="<%= @data[:apple_id] %>" app_platform="<%= @data[:platform] %>"
4
+ <%= %Q[bundle_short_version_string="#{@data[:short_version]}"] if @data&.key?(:short_version) %>
5
+ <%= %Q[bundle_version="#{@data[:bundle_version]}"] if @data&.key?(:bundle_version) %>
6
+ <%= %Q[bundle_identifier="#{@data[:app_identifier]}"] if @data&.key?(:app_identifier) %>
7
+ >
4
8
  <asset type="<%= @data[:archive_type] %>">
5
9
  <data_file>
6
10
  <size><%= @data[:file_size] %></size>