- Add the
public_version_xcconfig_fileparameter to theios_get_app_versionaction to replace the need for an environment variable [#445] - Remove the
ios_localize_projectandios_update_metadataactions [#447] - Remove the
skip_deliverparameter fromios_bump_version_hotfixandios_bump_version_releaseactions [#450]
- Adds
if_existsparameter toupload_to_s3action, with possible values:skip,:fail, and:replace. [#495] - The
create_releaseaction now prints and returns the URL of the created GitHub Release. [#503] - Removes
bigdecimaldependency. [#504] [#507] - Supports Ruby 3. [#492, #493, #497, and #504]
- Prevent using non-integer
version_codevalues for Android hotfixes [#167]
- Updates
octokitto6.1.1,dangerto9.3.1andbuildkite-test_collectorto2.3.1. [#491]
- Adds auto_retry option to
gp_downloadmetadata_action. [#474]
- Revert the
gp_downloadmetadata_actionlocalesitem type fromtype: Hashtois_string: false. [#478]
- Remove git push commands after creating a new commit or branch. [#472] See
MIGRATION.mdfor instructions.
- Revert the
gp_downloadmetadata_actionlocalesitem type fromtype: Hashtois_string: false. [#480]
- Remove
rubygems_mfa_requiredfrom thegemspec. [#475]
- Add
ios_get_build_numberaction to get the current build number from anxcconfigfile. [#458]
- Add "Mobile Secrets" to
configure_updatecurrent branch message to clarify which repo it's referring to. [#455] buildkite_trigger_buildnow prints the web URL of the newly scheduled build, to allow you to easily open it via cmd-click. [#460]- Add the branch information to the 'This is not a release branch' error that's thrown from complete code freeze lane. [#461]
- Update
octokitto5.6.1This is a major version bump from version4.18, but is not a breaking change for the Release Toolkit because it doesn't change any public APIs for clients. [#464] - Update
dangerto9.3.0. This is an internal-only change and is not a breaking change for clients. [#464] - Replace
rspec-buildkite-analyticswithbuildkite-test_collector(Buildkite renamed the gem) and update it to2.2.0. This is another internal-only change and is not a breaking change for clients. [#465] - Adds
ignore_pipeline_branch_filters=trueparameter to the API call triggering a Buildkite build [#468] - Replace all instances of
is_stringwithtype[#469] - Use
git_branch_name_using_HEADinstead ofgit_branchso that the return value is not modified by environment variables. This has no impact to our current release flow, that's why it's not in "Breaking changes" section. [#463] - Deprecate
ios_clear_intermediate_tags&ios_final_tagactions. [#471]
- Remove the
skip_glotpressparameter from theios_bump_version_releaseaction [#443]
- Add new
buildkite_annotateaction to add/remove annotations from the current build. [#442] - Add new
buildkite_metadataaction to set/get metadata from the current build. [#442] - Add new
prototype_build_details_commentaction to make it easier to generate the HTML comment about Prototype Builds in PRs. [#449]
- Updates
activesupportto6.1.7.1, addressing a security issue. This is a major version change, but as the dependency is internal-only, it shouldn't be a breaking change for clients. [#441] - Add the explicit dependency to
xcodeproj (~> 1.22), used in this case to replace the previous manual parsing of.xcconfigfiles. [#451]
- Add Mac support to all
commonactions and any relevantiosactions [#439]
- Add a
is_draftparameter to thecreate_releaseaction to specify whether the release should be created as a draft. [#433]
- Update the CI image used to build this project to use
xcode-14.1. [#431]
- Allow
android_firebase_testto not crash on failure, letting the caller do custom failure handling (e.g. Buildkite Annotations, etc) on their side. [#430] promo_screenshotsnow checks that the fonts—referenced viafont-familyin all the stylesheets referenced in the config file—are installed before starting, and prompt to install them if they are not. This check is enabled by default now but can be disabled/skipped if it causes any issue. [#429]promo_screenshotsnow supports config files to be written inYAMLin addition to still supportingJSON. [#429]
- Fix deprecation warning in
RMagickcall used bypromo_screenshotsaction. [#429]
- Removed support for the deprecated
GHHELPER_ACCESSin favor ofGITHUB_TOKENas the default environment variable to set the GitHub API token. [#420] - The
github_token:parameter (akaConfigItem)–or using the correspondingGITHUB_TOKENenv var to provide it a value–is now mandatory for all Fastlane actions that use the GitHub API. [#420] - The Fastlane action
comment_on_prhas the parameteraccess_key:replaced bygithub_token:. [#420]
- Allow
upload_to_s3action to just log instead of crash (using newskip_if_existsparameter) when the file already exists in the S3 bucket. [#427]
- Improve resilience of the
ios_lint_localizationsaction to support UTF16 files, and to warn and skip files in XML format when trying to detect duplicate keys on.stringsfiles. [#418] - Work around GitHub API bug when creating a new milestone, where their interpretation of the milestone's due date sent during API call is incorrect when we cross DST change dates — leading to milestones created after Oct 30 having due dates set on Sunday instead of Monday. [#419]
- Add
android_create_avd,android_launch_emulatorandandroid_shutdown_emulatoractions. [#409]
- Require Fastlane
~> 2.210to ensure Xcode 14 compatibility
- Propose to retry when
gp_downloadmetadatareceives a429 - Too Many Requestserror. [#406]
- Update the URL used by
gp_downloadmetadatato prevent consistent301responses. [#406]
- Remove call to
rake dependencies:pod:cleanfromios_build_preflight[#407]
- Propose to retry when the download of GlotPress translations failed for a locale (especially useful for occurrences of
429 - Too Many Requestsquota limits) [#402] - Add a
test_targetsparameter to theandroid_firebase_testaction to be able to filter the tests to be run. [#403]
- Add optional
release_notes_file_pathtoios_update_release_notesandandroid_update_release_notes[#396] - Adds support for custom milestone duration [#397]
- Add
tools:ignore="InconsistentArrays"toavailable_languages.xmlto avoid a linter warning on repos hosting multiple app flavors. [#390] - Add the ability to provide a custom message for builds triggered via
buildkite_trigger_buildaction [#392]
- Fixes milestones being compared as strings instead of integers in
github_helper.get_last_milestone[#391]
- Allow using the
BUILDKITE_API_TOKENenvironment variable for thebuildkite_trigger_buildaction. [#386]
- Fix metadata length computation logic [#383]
- Update the version of Ruby required from
2.6.4to2.7.4. [#377]
- Introduce new
ios_send_app_size_metricsandandroid_send_app_size_metricsactions. [#364] [#365] - Add the ability to run Firebase Test Lab tests. [#355]
None
None
- The
ios_lint_localizationsaction now also checks for duplicated keys in the.stringsfiles. The behavior is optional via thecheck_duplicate_keysparameter and enabled by default. [#360]
- Update GlotPress
export-translationsrequests to avoid rate limiting. [#361] [#362] - Fix bugs with the shell command in
promo_screenshots_helper. [#366]
- Add the option for
an_localize_libsto provide asource_idfor each library being merged. If provided, that identifier will be added as ana8c-src-libXML attribute to the<string>nodes being updated with strings from said library. This can be useful to help identify where each string come from in the resulting, mergedstrings.xml. [#351] - Add the option for
an_localize_libsto set thetools:ignore="UnusedResources"XML attribute for each string being merged from a library. [#354]
- Fix
ios_lint_localizationsaction so that it no longer mistakely reports missing keys not yet translated in the other locales'.stringsas violations. [#353] - Fix
an_localize_libsso that it does not move XML nodes around when merging lib strings (and replace them in-place instead). [#358]
- Updated the following internal dependencies: [#341]
- nokogiri (1.12.5) -> (1.13.3)
- oj (3.13.9) -> (3.13.11)
- rake-compiler (1.1.1) -> (1.1.9)
- Updated the following public dependency: [#341]
- buildkit (1.4.5) -> (1.5.0)
- Update the API of
ios_merge_strings_filesandios_extract_keys_from_strings_filesto support using prefixes for string keys when merging/splitting the files. The actions now expect aHash(instead of anArray) for the list of files to provide an associated prefix (ornilor''when none) for each file to merge/split. [#345]
- Improved logs and console output, to avoid
ios_download_strings_files_from_glotpressto look like it's deadlocked while it takes some time to download all the exports of all the locales, and to avoid the log messages fromios_extract_keys_from_strings_filesto be misleading. [#344]
- Introduce new
ios_extract_keys_from_strings_filesaction. [#338] - Add Upload to S3 Action. [#339]
- Removes the
drawTextbinary from the gem (instead depending on it being installed viabrew). Because this update can not be safely applied with no side effects, it's considered a breaking change. [#312] - When doing Git operations, if no branch is provided, we'll use
trunkas a default instead ofdevelop[#335] - Remove deprecated
android_merge_translators_strings,android_update_metadata, andios_merge_translators_stringsactions [#337]
- Introduce new
ios_merge_strings_filesaction. [#329] - Introduce new
buildkite_trigger_buildaction. [#333] - Introduce new
ios_download_strings_files_from_glotpressaction. [#331]
- Ensure that the
gem pushstep only runs on CI if lint, test and danger steps passed before it. [#325] - Rename internal
Ios::L10nHelpertoIos::L10nLinterHelper. [#328] - Provide new
run_described_fastlane_actionto run Fastlane actions more thoroughly in unit tests [#330]
- Added parameter for default/base branch across several actions [#319]
- Added a new
ios_generate_strings_file_from_codeaction to replace the now-deprecatedios_localize_projectaction (andScripts/localize.pyscript in app repos). [#309, #311] - Added a
comment_on_praction to allow commenting on (and updating comments on) PRs. [#313] - Added the ability to use the
GITHUB_TOKENenvironment variable for GitHub operations.GHHELPER_ACCESSwill be deprecated in a future version. [#313] - Added support for downloading GitHub content for private repositories [#321]
- Fixed the rendering of PR links in the body of GitHub Releases created via the
create_releaseaction. [#316] - Fixed a bug introduced in [#313] that caused the GitHub helper not to work [#318]
- Added a reminder mechanism for when you forgot a prompt was waiting for you in the Terminal. This reminder is configurable via environment variables to change the default delays and optionally opt-in for speaking a voice message in addition to the default beep + dock icon badge. [#302]
- Replace CircleCI and GitHub Actions with Buildkite
- Updates the keys used for version reads and bumps when using a
version.propertiesfile in Android. [#298] - Removed the
app:parameter (akaConfigItem) from all the Android version-related actions, now that versions are unified for all apps. [#300]
- Strip trailing new lines in single line msgid when generating .po[t] file. [#297]
- Add option to skip updating
Deliverfilewhen creating a new hotfix version (ios_bump_version_hotfix) [#287]
- Fixes a bug that was breaking the
promo_screenshotshelper [#276] - Fix crashes in actions dealing with hotfixes. [#288]
- Opt-out from installing platform-specific gems with Bundler [#293]
- Update gems in the repository to fix
addressablesecurity vulnerability [#294]
- Fix crashes introduced in
1.3.0– incorrect parameters in calls toget_release_version. [#283] - Fix the way versioning is handled for alphas – i.e.
version.propertiesis indexed by flavor name, defaulting tozalphafor alphas. [#283] - Fixed an issue in
check_translation_progresswhere a wrong evaluation of the progress is possible when there are Waiting string in GlotPress.
- Support for a
version.propertiesto manage app versioning - all existing paths remain intact and new paths are only used when aversion.propertiesfile is present. - Add support for providing an
app:parameter to most versioning-related actions to allow support for multiple apps hosted in a monorepo. - Supporting the new
version.propertiesfile also allows for theHAS_ALPHA_VERSIONvariable to be removed as the alpha reference in the properties file will be used going forward. - Clients adopting the new
version.propertieswill need to implement a gradle task namedupdateVersionPropertiesto update theversion.propertiesfile.
- Some cleanup to how we scope variables in some of our actions
- Added a
check_translation_progressaction which checks the status of the translations on GlotPress. [#263]
- New
check_for_toolkit_updatesaction, to ensure you are always using the latest version of the release-toolkit plugin. [#269] android_download_translationsaction now also auto-substitute hyphens for en-dash when appropriate, to avoid Android Linter violations. [#268]
- Updated our rubocop config and fixed some more new/existing violations. [#270]
- Updated the
gemspec'sbundlerandrubocopdependencies to fix a publishing warning. [#261] - Fixed an issue with the
gemspec's definition of thedrawTextextension – which prevented the native extension from being built when referencing the toolkit via a version number rather than a tag in yourGemfile. [#262]
This is our first official release.