fastlane 2.227.2 → 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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: cd14fd455663793f0e298e12c9c71376ce47cc2c659a8234fbb7154b464fda43
4
- data.tar.gz: f4fcbc50151986926db37b5af08c925dd1bbe80ba8156981ca06f68efa2f61f5
3
+ metadata.gz: 73a9dc083aac92c7e8e2191368f97ccd85cbf0280aeca18f5f3fe7654e2172f2
4
+ data.tar.gz: 2566fcedb7fb02b16e09078b46f0ce0eae3aa85f0648aa201402b39b599196a9
5
5
  SHA512:
6
- metadata.gz: ecf0d5bacb42638c297e9aeb99289976e87763437cff51bf3f084695b19a44b51fad10cf228a152684477f9377999edd976732141a584fb3c977c9f8d9e72159
7
- data.tar.gz: bf10d3d90929b38106d9cea055e4e8b41c61709d3b35ce04179b4d6e41f8fccd358e8c3635759f073df3ec68e9442040db52d0bd09ffa52fb076d30e04a16228
6
+ metadata.gz: 3dd3efd4bec60e096fd37945addda36c63d24feeac634236b7b7ffe01e3c305509fb4c5f1f7128c4b1fd3b75c8dff151152eab929d64c31a5c698f92723244cf
7
+ data.tar.gz: c9c3e37d9eb3fe450b38c039a72e5600f13b9914cdccebbedf16c07008aae50211495ab01d4326618bd718a038c689733f373e6cf72d2b57522266d8ff973f13
data/README.md CHANGED
@@ -35,87 +35,87 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
35
35
  <!-- This table is regenerated and resorted on each release -->
36
36
  <table id='team'>
37
37
  <tr>
38
- <td id='maksym-grebenets'>
39
- <a href='https://github.com/mgrebenets'>
40
- <img src='https://github.com/mgrebenets.png' width='140px;'>
41
- </a>
42
- <h4 align='center'><a href='https://twitter.com/mgrebenets'>Maksym Grebenets</a></h4>
43
- </td>
44
- <td id='stefan-natchev'>
45
- <a href='https://github.com/snatchev'>
46
- <img src='https://github.com/snatchev.png' width='140px;'>
47
- </a>
48
- <h4 align='center'><a href='https://twitter.com/snatchev'>Stefan Natchev</a></h4>
49
- </td>
50
- <td id='andrew-mcburney'>
51
- <a href='https://github.com/armcburney'>
52
- <img src='https://github.com/armcburney.png' width='140px;'>
53
- </a>
54
- <h4 align='center'><a href='https://twitter.com/armcburney'>Andrew McBurney</a></h4>
55
- </td>
56
- <td id='aaron-brager'>
57
- <a href='https://github.com/getaaron'>
58
- <img src='https://github.com/getaaron.png' width='140px;'>
38
+ <td id='iulian-onofrei'>
39
+ <a href='https://github.com/revolter'>
40
+ <img src='https://github.com/revolter.png' width='140px;'>
59
41
  </a>
60
- <h4 align='center'><a href='https://twitter.com/getaaron'>Aaron Brager</a></h4>
42
+ <h4 align='center'><a href='https://twitter.com/Revolt666'>Iulian Onofrei</a></h4>
61
43
  </td>
62
- <td id='kohki-miki'>
63
- <a href='https://github.com/giginet'>
64
- <img src='https://github.com/giginet.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;'>
65
47
  </a>
66
- <h4 align='center'><a href='https://twitter.com/giginet'>Kohki Miki</a></h4>
48
+ <h4 align='center'><a href='https://twitter.com/mollyIV'>Daniel Jankowski</a></h4>
67
49
  </td>
68
- </tr>
69
- <tr>
70
50
  <td id='danielle-tomlinson'>
71
51
  <a href='https://github.com/endocrimes'>
72
52
  <img src='https://github.com/endocrimes.png' width='140px;'>
73
53
  </a>
74
54
  <h4 align='center'><a href='https://twitter.com/endocrimes'>Danielle Tomlinson</a></h4>
75
55
  </td>
76
- <td id='jimmy-dee'>
77
- <a href='https://github.com/jdee'>
78
- <img src='https://github.com/jdee.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;'>
79
59
  </a>
80
- <h4 align='center'>Jimmy Dee</h4>
60
+ <h4 align='center'><a href='https://twitter.com/minuscorp'>Jorge Revuelta H</a></h4>
81
61
  </td>
82
- <td id='max-ott'>
83
- <a href='https://github.com/max-ott'>
84
- <img src='https://github.com/max-ott.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;'>
85
65
  </a>
86
- <h4 align='center'><a href='https://twitter.com/ott_max'>Max Ott</a></h4>
66
+ <h4 align='center'><a href='https://twitter.com/aligatr'>Olivier Halligon</a></h4>
87
67
  </td>
68
+ </tr>
69
+ <tr>
88
70
  <td id='satoshi-namai'>
89
71
  <a href='https://github.com/ainame'>
90
72
  <img src='https://github.com/ainame.png' width='140px;'>
91
73
  </a>
92
74
  <h4 align='center'><a href='https://twitter.com/ainame'>Satoshi Namai</a></h4>
93
75
  </td>
94
- <td id='jérôme-lacoste'>
95
- <a href='https://github.com/lacostej'>
96
- <img src='https://github.com/lacostej.png' width='140px;'>
97
- </a>
98
- <h4 align='center'><a href='https://twitter.com/lacostej'>Jérôme Lacoste</a></h4>
99
- </td>
100
- </tr>
101
- <tr>
102
76
  <td id='luka-mirosevic'>
103
77
  <a href='https://github.com/lmirosevic'>
104
78
  <img src='https://github.com/lmirosevic.png' width='140px;'>
105
79
  </a>
106
80
  <h4 align='center'><a href='https://twitter.com/lmirosevic'>Luka Mirosevic</a></h4>
107
81
  </td>
108
- <td id='jan-piotrowski'>
109
- <a href='https://github.com/janpio'>
110
- <img src='https://github.com/janpio.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;'>
111
85
  </a>
112
- <h4 align='center'><a href='https://twitter.com/Sujan'>Jan Piotrowski</a></h4>
86
+ <h4 align='center'><a href='https://twitter.com/acrooow'>Manu Wallner</a></h4>
113
87
  </td>
114
- <td id='iulian-onofrei'>
115
- <a href='https://github.com/revolter'>
116
- <img src='https://github.com/revolter.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;'>
117
91
  </a>
118
- <h4 align='center'><a href='https://twitter.com/Revolt666'>Iulian Onofrei</a></h4>
92
+ <h4 align='center'><a href='https://twitter.com/giginet'>Kohki Miki</a></h4>
93
+ </td>
94
+ <td id='fumiya-nakamura'>
95
+ <a href='https://github.com/nafu'>
96
+ <img src='https://github.com/nafu.png' width='140px;'>
97
+ </a>
98
+ <h4 align='center'><a href='https://twitter.com/nafu003'>Fumiya Nakamura</a></h4>
99
+ </td>
100
+ </tr>
101
+ <tr>
102
+ <td id='jérôme-lacoste'>
103
+ <a href='https://github.com/lacostej'>
104
+ <img src='https://github.com/lacostej.png' width='140px;'>
105
+ </a>
106
+ <h4 align='center'><a href='https://twitter.com/lacostej'>Jérôme Lacoste</a></h4>
107
+ </td>
108
+ <td id='max-ott'>
109
+ <a href='https://github.com/max-ott'>
110
+ <img src='https://github.com/max-ott.png' width='140px;'>
111
+ </a>
112
+ <h4 align='center'><a href='https://twitter.com/ott_max'>Max Ott</a></h4>
113
+ </td>
114
+ <td id='jimmy-dee'>
115
+ <a href='https://github.com/jdee'>
116
+ <img src='https://github.com/jdee.png' width='140px;'>
117
+ </a>
118
+ <h4 align='center'>Jimmy Dee</h4>
119
119
  </td>
120
120
  <td id='matthew-ellis'>
121
121
  <a href='https://github.com/matthewellis'>
@@ -123,31 +123,19 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
123
123
  </a>
124
124
  <h4 align='center'><a href='https://twitter.com/mellis1995'>Matthew Ellis</a></h4>
125
125
  </td>
126
- <td id='jorge-revuelta-h'>
127
- <a href='https://github.com/minuscorp'>
128
- <img src='https://github.com/minuscorp.png' width='140px;'>
126
+ <td id='helmut-januschka'>
127
+ <a href='https://github.com/hjanuschka'>
128
+ <img src='https://github.com/hjanuschka.png' width='140px;'>
129
129
  </a>
130
- <h4 align='center'><a href='https://twitter.com/minuscorp'>Jorge Revuelta H</a></h4>
130
+ <h4 align='center'><a href='https://twitter.com/hjanuschka'>Helmut Januschka</a></h4>
131
131
  </td>
132
132
  </tr>
133
133
  <tr>
134
- <td id='olivier-halligon'>
135
- <a href='https://github.com/AliSoftware'>
136
- <img src='https://github.com/AliSoftware.png' width='140px;'>
137
- </a>
138
- <h4 align='center'><a href='https://twitter.com/aligatr'>Olivier Halligon</a></h4>
139
- </td>
140
- <td id='josh-holtz'>
141
- <a href='https://github.com/joshdholtz'>
142
- <img src='https://github.com/joshdholtz.png' width='140px;'>
143
- </a>
144
- <h4 align='center'><a href='https://twitter.com/joshdholtz'>Josh Holtz</a></h4>
145
- </td>
146
- <td id='fumiya-nakamura'>
147
- <a href='https://github.com/nafu'>
148
- <img src='https://github.com/nafu.png' width='140px;'>
134
+ <td id='stefan-natchev'>
135
+ <a href='https://github.com/snatchev'>
136
+ <img src='https://github.com/snatchev.png' width='140px;'>
149
137
  </a>
150
- <h4 align='center'><a href='https://twitter.com/nafu003'>Fumiya Nakamura</a></h4>
138
+ <h4 align='center'><a href='https://twitter.com/snatchev'>Stefan Natchev</a></h4>
151
139
  </td>
152
140
  <td id='łukasz-grabowski'>
153
141
  <a href='https://github.com/lucgrabowski'>
@@ -161,45 +149,57 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
161
149
  </a>
162
150
  <h4 align='center'><a href='https://twitter.com/taquitos'>Joshua Liebowitz</a></h4>
163
151
  </td>
164
- </tr>
165
- <tr>
166
- <td id='roger-oba'>
167
- <a href='https://github.com/rogerluan'>
168
- <img src='https://github.com/rogerluan.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;'>
169
155
  </a>
170
- <h4 align='center'><a href='https://twitter.com/rogerluan_'>Roger Oba</a></h4>
156
+ <h4 align='center'><a href='https://twitter.com/iammanishrathi'>Manish Rathi</a></h4>
157
+ </td>
158
+ <td id='aaron-brager'>
159
+ <a href='https://github.com/getaaron'>
160
+ <img src='https://github.com/getaaron.png' width='140px;'>
161
+ </a>
162
+ <h4 align='center'><a href='https://twitter.com/getaaron'>Aaron Brager</a></h4>
171
163
  </td>
164
+ </tr>
165
+ <tr>
172
166
  <td id='felix-krause'>
173
167
  <a href='https://github.com/KrauseFx'>
174
168
  <img src='https://github.com/KrauseFx.png' width='140px;'>
175
169
  </a>
176
170
  <h4 align='center'><a href='https://twitter.com/KrauseFx'>Felix Krause</a></h4>
177
171
  </td>
178
- <td id='daniel-jankowski'>
179
- <a href='https://github.com/mollyIV'>
180
- <img src='https://github.com/mollyIV.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;'>
181
175
  </a>
182
- <h4 align='center'><a href='https://twitter.com/mollyIV'>Daniel Jankowski</a></h4>
176
+ <h4 align='center'><a href='https://twitter.com/mgrebenets'>Maksym Grebenets</a></h4>
183
177
  </td>
184
- <td id='manish-rathi'>
185
- <a href='https://github.com/crazymanish'>
186
- <img src='https://github.com/crazymanish.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;'>
187
181
  </a>
188
- <h4 align='center'><a href='https://twitter.com/iammanishrathi'>Manish Rathi</a></h4>
182
+ <h4 align='center'><a href='https://twitter.com/Sujan'>Jan Piotrowski</a></h4>
189
183
  </td>
190
- <td id='helmut-januschka'>
191
- <a href='https://github.com/hjanuschka'>
192
- <img src='https://github.com/hjanuschka.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;'>
193
187
  </a>
194
- <h4 align='center'><a href='https://twitter.com/hjanuschka'>Helmut Januschka</a></h4>
188
+ <h4 align='center'><a href='https://twitter.com/joshdholtz'>Josh Holtz</a></h4>
189
+ </td>
190
+ <td id='roger-oba'>
191
+ <a href='https://github.com/rogerluan'>
192
+ <img src='https://github.com/rogerluan.png' width='140px;'>
193
+ </a>
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='manu-wallner'>
199
- <a href='https://github.com/milch'>
200
- <img src='https://github.com/milch.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/acrooow'>Manu Wallner</a></h4>
202
+ <h4 align='center'><a href='https://twitter.com/armcburney'>Andrew McBurney</a></h4>
203
203
  </td>
204
204
  </table>
205
205
 
@@ -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
 
@@ -1,5 +1,5 @@
1
1
  module Fastlane
2
- VERSION = '2.227.2'.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.2
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.135]
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
@@ -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.188]
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.2
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.138]
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.2
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.132]
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.2
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.131]
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.2
20
+ // Generated with fastlane 2.228.0
@@ -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.143]
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.2
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.133]
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.2
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.127]
211
+ // FastlaneRunnerAPIVersion [0.9.128]
@@ -327,6 +327,7 @@ module Match
327
327
  env_name: "MATCH_PROVISIONING_PROFILE_TEMPLATE_NAME",
328
328
  description: "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\")",
329
329
  optional: true,
330
+ deprecated: "Removed since May 2025 on App Store Connect API OpenAPI v3.8.0 - Learn more: https://docs.fastlane.tools/actions/match/#managed-capabilities",
330
331
  default_value: nil),
331
332
  FastlaneCore::ConfigItem.new(key: :profile_name,
332
333
  env_name: "MATCH_PROVISIONING_PROFILE_NAME",
@@ -190,6 +190,7 @@ module Sigh
190
190
  env_name: "SIGH_PROVISIONING_PROFILE_TEMPLATE_NAME",
191
191
  description: "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\")",
192
192
  optional: true,
193
+ deprecated: "Removed since May 2025 on App Store Connect API OpenAPI v3.8.0 - Learn more: https://docs.fastlane.tools/actions/match/#managed-capabilities",
193
194
  default_value: nil),
194
195
  FastlaneCore::ConfigItem.new(key: :fail_on_name_taken,
195
196
  env_name: "SIGH_FAIL_ON_NAME_TAKEN",
@@ -174,13 +174,16 @@ module Sigh
174
174
 
175
175
  UI.important("Creating new provisioning profile for '#{Sigh.config[:app_identifier]}' with name '#{name}' for '#{Sigh.config[:platform]}' platform")
176
176
 
177
+ unless Sigh.config[:template_name].nil?
178
+ UI.important("Template name is set to '#{Sigh.config[:template_name]}', however, this is not supported by the App Store Connect API anymore, since May 2025. The template name will be ignored. For more information: https://docs.fastlane.tools/actions/match/#managed-capabilities")
179
+ end
180
+
177
181
  profile = Spaceship::ConnectAPI::Profile.create(
178
182
  name: name,
179
183
  profile_type: profile_type,
180
184
  bundle_id_id: bundle_id.id,
181
185
  certificate_ids: certificates_to_use.map(&:id),
182
- device_ids: devices_to_use.map(&:id),
183
- template_name: Sigh.config[:template_name]
186
+ device_ids: devices_to_use.map(&:id)
184
187
  )
185
188
 
186
189
  profile
@@ -84,7 +84,7 @@ module Spaceship
84
84
  return resps.flat_map(&:to_models)
85
85
  end
86
86
 
87
- def self.create(client: nil, name: nil, profile_type: nil, bundle_id_id: nil, certificate_ids: nil, device_ids: nil, template_name: nil)
87
+ def self.create(client: nil, name: nil, profile_type: nil, bundle_id_id: nil, certificate_ids: nil, device_ids: nil)
88
88
  client ||= Spaceship::ConnectAPI
89
89
  resp = client.post_profiles(
90
90
  bundle_id_id: bundle_id_id,
@@ -92,8 +92,7 @@ module Spaceship
92
92
  devices: device_ids,
93
93
  attributes: {
94
94
  name: name,
95
- profileType: profile_type,
96
- templateName: template_name
95
+ profileType: profile_type
97
96
  }
98
97
  )
99
98
  return resp.to_models.first
metadata CHANGED
@@ -1,39 +1,39 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fastlane
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.227.2
4
+ version: 2.228.0
5
5
  platform: ruby
6
6
  authors:
7
- - Satoshi Namai
8
- - Manish Rathi
9
- - Felix Krause
10
- - Jimmy Dee
7
+ - Maksym Grebenets
8
+ - Jérôme Lacoste
9
+ - Jorge Revuelta H
11
10
  - Andrew McBurney
12
- - Stefan Natchev
11
+ - Fumiya Nakamura
12
+ - Satoshi Namai
13
+ - Jan Piotrowski
13
14
  - Kohki Miki
14
- - Matthew Ellis
15
- - Roger Oba
16
- - Aaron Brager
17
- - Maksym Grebenets
15
+ - Luka Mirosevic
16
+ - Joshua Liebowitz
18
17
  - Josh Holtz
19
18
  - Daniel Jankowski
20
- - Jorge Revuelta H
21
- - Joshua Liebowitz
22
- - Olivier Halligon
23
- - Luka Mirosevic
24
- - Jérôme Lacoste
19
+ - Felix Krause
20
+ - Danielle Tomlinson
21
+ - Aaron Brager
22
+ - Jimmy Dee
25
23
  - Helmut Januschka
24
+ - Manish Rathi
26
25
  - Manu Wallner
27
- - Jan Piotrowski
28
- - Fumiya Nakamura
29
- - Max Ott
30
26
  - Łukasz Grabowski
31
- - Danielle Tomlinson
27
+ - Olivier Halligon
28
+ - Stefan Natchev
29
+ - Max Ott
32
30
  - Iulian Onofrei
31
+ - Matthew Ellis
32
+ - Roger Oba
33
33
  autorequire:
34
34
  bindir: bin
35
35
  cert_chain: []
36
- date: 2025-05-05 00:00:00.000000000 Z
36
+ date: 2025-06-10 00:00:00.000000000 Z
37
37
  dependencies:
38
38
  - !ruby/object:Gem::Dependency
39
39
  name: addressable
@@ -928,7 +928,6 @@ files:
928
928
  - fastlane/lib/fastlane/actions/hg_commit_version_bump.rb
929
929
  - fastlane/lib/fastlane/actions/hg_ensure_clean_status.rb
930
930
  - fastlane/lib/fastlane/actions/hg_push.rb
931
- - fastlane/lib/fastlane/actions/hipchat.rb
932
931
  - fastlane/lib/fastlane/actions/hockey.rb
933
932
  - fastlane/lib/fastlane/actions/ifttt.rb
934
933
  - fastlane/lib/fastlane/actions/import.rb
@@ -1,200 +0,0 @@
1
- module Fastlane
2
- module Actions
3
- module SharedValues
4
- end
5
-
6
- class HipchatAction < Action
7
- def self.run(options)
8
- require 'net/http'
9
- require 'uri'
10
-
11
- api_token = options[:api_token]
12
- api_version = options[:version]
13
- api_host = options[:api_host]
14
-
15
- message_format = options[:message_format]
16
-
17
- channel = options[:channel]
18
- if ['yellow', 'red', 'green', 'purple', 'gray', 'random'].include?(options[:custom_color]) == true
19
- color = options[:custom_color]
20
- else
21
- color = (options[:success] ? 'green' : 'red')
22
- end
23
-
24
- from = options[:from]
25
-
26
- message = options[:message]
27
- if (message_format == "html") && (options[:include_html_header] == true)
28
- message = "<table><tr><td><img src='https://fastlane.tools/assets/img/fastlane_icon.png' width='50' height='50'></td><td>#{message[0..9999]}</td></tr></table>"
29
- end
30
-
31
- if api_version.to_i == 1
32
- ########## running on V1 ##########
33
- if user?(channel)
34
- UI.user_error!("HipChat private message not working with API V1 please use API V2 instead")
35
- else
36
- uri = URI.parse("https://#{api_host}/v1/rooms/message")
37
- response = Net::HTTP.post_form(uri, { 'from' => from,
38
- 'auth_token' => api_token,
39
- 'color' => color,
40
- 'message_format' => message_format,
41
- 'room_id' => channel,
42
- 'message' => message,
43
- 'notify' => options[:notify_room] ? '1' : '0' })
44
-
45
- check_response_code(response, channel)
46
- end
47
- else
48
- ########## running on V2 ##########
49
- # Escape channel's name to guarantee it is a valid URL resource.
50
- # First of all we verify that the value is not already escaped,
51
- # escaping an escaped value will produce a wrong channel name.
52
- require 'addressable/uri'
53
- escaped_channel = Addressable::URI.encode(channel) == channel ? Addressable::URI.encode(channel) : channel
54
- if user?(channel)
55
- params = { 'message' => message, 'message_format' => message_format }
56
- json_headers = { 'Content-Type' => 'application/json',
57
- 'Accept' => 'application/json', 'Authorization' => "Bearer #{api_token}" }
58
-
59
- uri = URI.parse("https://#{api_host}/v2/user/#{escaped_channel}/message")
60
- http = Net::HTTP.new(uri.host, uri.port)
61
- http.use_ssl = true
62
-
63
- response = http.post(uri.path, params.to_json, json_headers)
64
- else
65
- uri = URI.parse("https://#{api_host}/v2/room/#{escaped_channel}/notification")
66
- response = Net::HTTP.post_form(uri, { 'from' => from,
67
- 'auth_token' => api_token,
68
- 'color' => color,
69
- 'message_format' => message_format,
70
- 'message' => message,
71
- 'notify' => options[:notify_room] ? 'true' : 'false' })
72
- end
73
- check_response_code(response, channel)
74
- end
75
- end
76
-
77
- def self.user?(channel)
78
- channel.to_s.start_with?('@')
79
- end
80
-
81
- def self.check_response_code(response, channel)
82
- case response.code.to_i
83
- when 200, 204
84
- true
85
- when 404
86
- UI.user_error!("Channel `#{channel}` not found")
87
- when 401
88
- UI.user_error!("Access denied for channel `#{channel}`")
89
- else
90
- UI.user_error!("Unexpected #{response.code} for `#{channel}` with response: #{response.body}")
91
- end
92
- end
93
-
94
- def self.description
95
- "Send a error/success message to [HipChat](https://www.hipchat.com/)"
96
- end
97
-
98
- def self.available_options
99
- [
100
- FastlaneCore::ConfigItem.new(key: :message,
101
- env_name: "FL_HIPCHAT_MESSAGE",
102
- description: "The message to post on HipChat",
103
- default_value: ''),
104
- FastlaneCore::ConfigItem.new(key: :channel,
105
- env_name: "FL_HIPCHAT_CHANNEL",
106
- description: "The room or @username"),
107
- FastlaneCore::ConfigItem.new(key: :api_token,
108
- env_name: "HIPCHAT_API_TOKEN",
109
- sensitive: true,
110
- description: "Hipchat API Token",
111
- verify_block: proc do |value|
112
- unless value.to_s.length > 0
113
- UI.error("Please add 'ENV[\"HIPCHAT_API_TOKEN\"] = \"your token\"' to your Fastfile's `before_all` section.")
114
- UI.user_error!("No HIPCHAT_API_TOKEN given.")
115
- end
116
- end),
117
- FastlaneCore::ConfigItem.new(key: :custom_color,
118
- env_name: "FL_HIPCHAT_CUSTOM_COLOR",
119
- description: "Specify a custom color, this overrides the success boolean. Can be one of 'yellow', 'red', 'green', 'purple', 'gray', or 'random'",
120
- optional: true),
121
- FastlaneCore::ConfigItem.new(key: :success,
122
- env_name: "FL_HIPCHAT_SUCCESS",
123
- description: "Was this build successful? (true/false)",
124
- optional: true,
125
- default_value: true,
126
- type: Boolean),
127
- FastlaneCore::ConfigItem.new(key: :version,
128
- env_name: "HIPCHAT_API_VERSION",
129
- description: "Version of the Hipchat API. Must be 1 or 2",
130
- verify_block: proc do |value|
131
- if value.nil? || ![1, 2].include?(value.to_i)
132
- UI.error("Please add 'ENV[\"HIPCHAT_API_VERSION\"] = \"1 or 2\"' to your Fastfile's `before_all` section.")
133
- UI.user_error!("No HIPCHAT_API_VERSION given.")
134
- end
135
- end),
136
- FastlaneCore::ConfigItem.new(key: :notify_room,
137
- env_name: "HIPCHAT_NOTIFY_ROOM",
138
- description: "Should the people in the room be notified? (true/false)",
139
- default_value: false,
140
- optional: true,
141
- type: Boolean),
142
- FastlaneCore::ConfigItem.new(key: :api_host,
143
- env_name: "HIPCHAT_API_HOST",
144
- description: "The host of the HipChat-Server API",
145
- default_value: "api.hipchat.com",
146
- optional: true),
147
- FastlaneCore::ConfigItem.new(key: :message_format,
148
- env_name: "FL_HIPCHAT_MESSAGE_FORMAT",
149
- description: "Format of the message to post. Must be either 'html' or 'text'",
150
- default_value: "html",
151
- optional: true,
152
- verify_block: proc do |value|
153
- unless ["html", "text"].include?(value.to_s)
154
- UI.error("Please specify the message format as either 'html' or 'text'.")
155
- UI.user_error!("Unrecognized message_format.")
156
- end
157
- end),
158
- FastlaneCore::ConfigItem.new(key: :include_html_header,
159
- env_name: "FL_HIPCHAT_INCLUDE_HTML_HEADER",
160
- description: "Should html formatted messages include a preformatted header? (true/false)",
161
- default_value: true,
162
- optional: true,
163
- type: Boolean),
164
- FastlaneCore::ConfigItem.new(key: :from,
165
- env_name: "FL_HIPCHAT_FROM",
166
- description: "Name the message will appear to be sent from",
167
- default_value: "fastlane",
168
- optional: true)
169
- ]
170
- end
171
-
172
- def self.author
173
- "jingx23"
174
- end
175
-
176
- def self.is_supported?(platform)
177
- true
178
- end
179
-
180
- def self.details
181
- "Send a message to **room** (by default) or a direct message to **@username** with success (green) or failure (red) status."
182
- end
183
-
184
- def self.example_code
185
- [
186
- 'hipchat(
187
- message: "App successfully released!",
188
- message_format: "html", # or "text", defaults to "html"
189
- channel: "Room or @username",
190
- success: true
191
- )'
192
- ]
193
- end
194
-
195
- def self.category
196
- :notifications
197
- end
198
- end
199
- end
200
- end