None
None
None
- Remove Danger check for milestones, as we don't really use GitHub milestones in this repo. [#617]
- Fix
check_fonts_installed
step increate_promo_screenshots
[#615] - Fix broken
draw_text_to_canvas
method forcreate_promo_screenshots
[#614]
- Fix bug in
configure_apply
that could happen if run on a user machine that hasn't yetgit-pull
the latest commits from~/.mobile-secrets
to a commit after the new encryption key had been pushed. [#612]
- Fix issue with post-processing of PR urls in the body of GitHub releases created via
create_github_release
. [#610]
buildkite_pipeline_upload
: prepend.buildkite/
to thepipeline_file
parameter to enforce our conventions. [#608]
create_release-backmerge_pull_request
: Fix the pre-check logic verifying if a PR is really needed or if there's nothing to backmerge. [#607]
buildkite_pipeline_upload
: makes sure all values passed in the environment parameter are strings. [#608]
create_release_backmerge_pull_request
now deletes existing intermediate branches before creating them anew. [#601]
- Added the
buildkite_pipeline_upload
action to upload a Buildkite pipeline to a running Buildkite build. [#597]
ios_generate_strings_file_from_code
now accepts anoutput_encoding:
optional parameter. [#591] This is typically useful if you prefer your generated files to be UTF-8 rather than the default UTF-16 thatgenstrings
is using.
- Added the handling of remote to
GitHelper::point_to_same_commit?
[#590]
- Removed
build_gradle_path
parameter fromandroid_current_branch_is_hotfix
. [#579] - Deleted
Fastlane::Helper::Android::GitHelper
andFastlane::Helper::Ios::GitHelper
. [#580] - Renamed
create_release
tocreate_github_release
for consistency. [#585, #588] - Deleted the following deprecated actions: [#577, #579, #580, #586]
android_betabuild_prechecks
android_build_prechecks
android_bump_version_beta
android_bump_version_final_release
android_bump_version_hotfix
android_bump_version_release
android_codefreeze_prechecks
android_completecodefreeze_prechecks
android_finalize_prechecks
android_get_alpha_version
android_get_app_version
android_get_release_version
android_hotfix_prechecks
android_tag_build
ios_betabuild_prechecks
ios_build_prechecks
ios_bump_version_beta
ios_bump_version_hotfix
ios_bump_version_release
ios_codefreeze_prechecks
ios_completecodefreeze_prechecks
ios_current_branch_is_hotfix
ios_finalize_prechecks
ios_get_app_version
ios_get_build_number
ios_get_build_version
ios_hotfix_prechecks
ios_tag_build
ios_validate_ci_build
- Added the
publish_github_release
action to publish existing GitHub draft releases. [#585]
- Fix
create_release_backmerge_pull_request
error when creating a backmerge to a branch not yet fetched locally. [#587]
- Update gems used internally & remove upper bound on
nokogiri
from the.gemspec
. [#583]
- Updated our internal Ruby dependencies. [#582]
- Added the action
create_release_backmerge_pull_request
to facilitate the creation of Pull Requests merging a release branch back to the main branch or currently ongoing releases [#570]
- Fix
android_download_translation
issues reported in #569 [#571]- add post-processing of
plurals
nodes too. - detect and fix
\@string/
references escaped in GlotPress exports. - replicate all XML attributes (and xmlns) present in
values/string.xml
on the corresponding nodes in the translated XML.
- add post-processing of
buildkite_trigger_build
now returns the web URL of the Buildkite build it scheduled [#564]
- Bump
yard
from0.9.34
to0.9.36
[#554] - Bump
nokogiri
from1.16.2
to1.16.5
[#566] - Bump
rexml
from3.2.6
to3.2.8
[#566]
- Fixed the
android_download_translations
action by correctly calling Fastlane'sgit_submodule_update
action [#561]
- Make
ios_check_beta_deps
use thePodfile.lock
instead ofPodfile
for its detection, and also be able to detect Pods referenced by commits and branches. If yourFastfile
called this action with an explicitpodfile: …
argument, you'll have to update the call to uselockfile:
instead (or rely on defaults). [#557]
- Upgraded the minimum required Ruby version to
3.2.2
. [#517] - Removed the old
setbranchprotection
andremovebranchprotection
backwards-compatiblity stubs for the now-renamedset_branch_protection
andremove_branch_protection
actions. [#549] - Renamed
setfrozentag
action toset_milestone_frozen_marker
. [#548] - Removed the
ios_clear_intermediate_tags
action, which has been deprecated for a while. [#549] - Removed the
has_alpha_version
option from several actions and helper methods. It has already been deprecated for many versions. [#550] - Removed the
project_name
andproject_root_folder
options from several actions. [#550] - Renamed
update_pull_requests_milestone
toupdate_assigned_milestone
and make it handle GitHub issues as well as PRs. [#547]
- Fixed
comment_on_pr
to allow first paragraph of the comment to still be interpreted as Markdown. [#544]
- Added a deprecation notice to the
GitHelper.ensure_on_branch!
method [#531] - Added a deprecation notice to the
GitHelper.update_submodules
method [#531] - Update
nokogiri
,mini_portile2
, andrmagick
[#546]
- Added
update_pull_requests_milestone
action, to move all still-opened PRs of a given milestone to another milestone. [#539]
- Moves the mac-based parts of CI over to Apple Silicon. [#541]
- Updated QRCode generated images (for Prototype Build) to use https://goqr.me/api as a replacement to the now-discontinued Google service. [#537]
- Added optional
has_alpha_version
config item to actions that previously used theHAS_ALPHA_VERSION
environment variable [#522] - Added a versioning method to check if a release is a hotfix [#530]
- Added deprecation notices to any actions or methods using the
HAS_ALPHA_VERSION
environment variable [#522] - Use SwiftGen 6.6.2 to address an Apple Silicon CI issue [#534]
- Added optional
build_gradle_path
andversion_properties_path
config items to actions that previously used thePROJECT_ROOT_FOLDER
environment variable [#519]
- Added deprecation notices to any actions or methods using the
PROJECT_ROOT_FOLDER
environment variable [#519] - Added deprecation notices to any actions or methods using the
PROJECT_NAME
environment variable [#519]
- Adds
AppVersion
andBuildCode
models that can be used by version actions. [#512] - Adds calculator and formatter classes that can be used with the
AppVersion
andBuildCode
models. [#512] - Renamed
addbranchprotection
toset_branch_protection
, and allow it to provide additional optional protection settings to set/update on the target branch (likelock_branch
,required_ci_checks
, etc). Theaddbranchprotection
action name still exists for backward compatibility for now (with a deprecation notice), but it will be removed in a future major release. [#513] - Renamed
removebranchprotection
toremove_branch_protection
. Theremovebranchprotection
action name still exists for now for backward compatibility (with a deprecation notice), but it will be removed in a future major release. [#513] - Added
copy_branch_protection
action to replicate the branch protection settings of one branch onto another. [#513]
- Fix metadata
po
generation for iOS projects removing the final\n
. [#498]
See the MIGRATION.md
file for more detailed instructions and options to handle those breaking changes.
- Add the
public_version_xcconfig_file
parameter to theios_get_app_version
action to replace the need for an environment variable. [#445] - Remove the
ios_localize_project
andios_update_metadata
actions. [#447] - Remove the
skip_deliver
parameter fromios_bump_version_hotfix
andios_bump_version_release
actions. [#450] - Remove the
get_prs_list
action, as its was obsolete (and not used by any client project anymore). [#505]
- Adds
if_exists
parameter toupload_to_s3
action, with possible values:skip
,:fail
, and:replace
. [#495] - The
create_release
action now prints and returns the URL of the created GitHub Release. [#503] - Removes
bigdecimal
dependency. [#504] [#507] - Supports Ruby 3. [#492, #493, #497, and #504]
- Add
find_previous_tag
andget_prs_between_tags
actions. [#505]
- Prevent using non-integer
version_code
values for Android hotfixes [#167]
- Updates
octokit
to6.1.1
,danger
to9.3.1
andbuildkite-test_collector
to2.3.1
. [#491] - Fix issue with gems cache on CI when testing against Ruby
3.2.2
. [#506]
- Adds auto_retry option to
gp_downloadmetadata_action
. [#474]
- Revert the
gp_downloadmetadata_action
locales
item type fromtype: Hash
tois_string: false
. [#478]
- Remove git push commands after creating a new commit or branch. [#472] See
MIGRATION.md
for instructions.
- Revert the
gp_downloadmetadata_action
locales
item type fromtype: Hash
tois_string: false
. [#480]
- Remove
rubygems_mfa_required
from thegemspec
. [#475]
- Add
ios_get_build_number
action to get the current build number from anxcconfig
file. [#458]
- Add "Mobile Secrets" to
configure_update
current branch message to clarify which repo it's referring to. [#455] buildkite_trigger_build
now 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
octokit
to5.6.1
This 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
danger
to9.3.0
. This is an internal-only change and is not a breaking change for clients. [#464] - Replace
rspec-buildkite-analytics
withbuildkite-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=true
parameter to the API call triggering a Buildkite build [#468] - Replace all instances of
is_string
withtype
[#469] - Use
git_branch_name_using_HEAD
instead ofgit_branch
so 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_tag
actions. [#471]
- Remove the
skip_glotpress
parameter from theios_bump_version_release
action [#443]
- Add new
buildkite_annotate
action to add/remove annotations from the current build. [#442] - Add new
buildkite_metadata
action to set/get metadata from the current build. [#442] - Add new
prototype_build_details_comment
action to make it easier to generate the HTML comment about Prototype Builds in PRs. [#449]
- Updates
activesupport
to6.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.xcconfig
files. [#451]
- Add Mac support to all
common
actions and any relevantios
actions [#439]
- Add a
is_draft
parameter to thecreate_release
action 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_test
to not crash on failure, letting the caller do custom failure handling (e.g. Buildkite Annotations, etc) on their side. [#430] promo_screenshots
now checks that the fonts—referenced viafont-family
in 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_screenshots
now supports config files to be written inYAML
in addition to still supportingJSON
. [#429]
- Fix deprecation warning in
RMagick
call used bypromo_screenshots
action. [#429]
- Removed support for the deprecated
GHHELPER_ACCESS
in favor ofGITHUB_TOKEN
as the default environment variable to set the GitHub API token. [#420] - The
github_token:
parameter (akaConfigItem
)–or using the correspondingGITHUB_TOKEN
env var to provide it a value–is now mandatory for all Fastlane actions that use the GitHub API. [#420] - The Fastlane action
comment_on_pr
has the parameteraccess_key:
replaced bygithub_token:
. [#420]
- Allow
upload_to_s3
action to just log instead of crash (using newskip_if_exists
parameter) when the file already exists in the S3 bucket. [#427]
- Improve resilience of the
ios_lint_localizations
action to support UTF16 files, and to warn and skip files in XML format when trying to detect duplicate keys on.strings
files. [#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_emulator
andandroid_shutdown_emulator
actions. [#409]
- Require Fastlane
~> 2.210
to ensure Xcode 14 compatibility
- Propose to retry when
gp_downloadmetadata
receives a429 - Too Many Requests
error. [#406]
- Update the URL used by
gp_downloadmetadata
to prevent consistent301
responses. [#406]
- Remove call to
rake dependencies:pod:clean
fromios_build_preflight
[#407]
- Propose to retry when the download of GlotPress translations failed for a locale (especially useful for occurrences of
429 - Too Many Requests
quota limits) [#402] - Add a
test_targets
parameter to theandroid_firebase_test
action to be able to filter the tests to be run. [#403]
- Add optional
release_notes_file_path
toios_update_release_notes
andandroid_update_release_notes
[#396] - Adds support for custom milestone duration [#397]
- Add
tools:ignore="InconsistentArrays"
toavailable_languages.xml
to 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_build
action [#392]
- Fixes milestones being compared as strings instead of integers in
github_helper.get_last_milestone
[#391]
- Allow using the
BUILDKITE_API_TOKEN
environment variable for thebuildkite_trigger_build
action. [#386]
- Fix metadata length computation logic [#383]
- Update the version of Ruby required from
2.6.4
to2.7.4
. [#377]
- Introduce new
ios_send_app_size_metrics
andandroid_send_app_size_metrics
actions. [#364] [#365] - Add the ability to run Firebase Test Lab tests. [#355]
None
None
- The
ios_lint_localizations
action now also checks for duplicated keys in the.strings
files. The behavior is optional via thecheck_duplicate_keys
parameter and enabled by default. [#360]
- Update GlotPress
export-translations
requests to avoid rate limiting. [#361] [#362] - Fix bugs with the shell command in
promo_screenshots_helper
. [#366]
- Add the option for
an_localize_libs
to provide asource_id
for each library being merged. If provided, that identifier will be added as ana8c-src-lib
XML 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_libs
to set thetools:ignore="UnusedResources"
XML attribute for each string being merged from a library. [#354]
- Fix
ios_lint_localizations
action so that it no longer mistakely reports missing keys not yet translated in the other locales'.strings
as violations. [#353] - Fix
an_localize_libs
so 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_files
andios_extract_keys_from_strings_files
to 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 (ornil
or''
when none) for each file to merge/split. [#345]
- Improved logs and console output, to avoid
ios_download_strings_files_from_glotpress
to 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_files
to be misleading. [#344]
- Introduce new
ios_extract_keys_from_strings_files
action. [#338] - Add Upload to S3 Action. [#339]
- Removes the
drawText
binary 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
trunk
as a default instead ofdevelop
[#335] - Remove deprecated
android_merge_translators_strings
,android_update_metadata
, andios_merge_translators_strings
actions [#337]
- Introduce new
ios_merge_strings_files
action. [#329] - Introduce new
buildkite_trigger_build
action. [#333] - Introduce new
ios_download_strings_files_from_glotpress
action. [#331]
- Ensure that the
gem push
step only runs on CI if lint, test and danger steps passed before it. [#325] - Rename internal
Ios::L10nHelper
toIos::L10nLinterHelper
. [#328] - Provide new
run_described_fastlane_action
to 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_code
action to replace the now-deprecatedios_localize_project
action (andScripts/localize.py
script in app repos). [#309, #311] - Added a
comment_on_pr
action to allow commenting on (and updating comments on) PRs. [#313] - Added the ability to use the
GITHUB_TOKEN
environment variable for GitHub operations.GHHELPER_ACCESS
will 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_release
action. [#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.properties
file 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
Deliverfile
when creating a new hotfix version (ios_bump_version_hotfix
) [#287]
- Fixes a bug that was breaking the
promo_screenshots
helper [#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
addressable
security 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.properties
is indexed by flavor name, defaulting tozalpha
for alphas. [#283] - Fixed an issue in
check_translation_progress
where a wrong evaluation of the progress is possible when there are Waiting string in GlotPress.
- Support for a
version.properties
to manage app versioning - all existing paths remain intact and new paths are only used when aversion.properties
file 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.properties
file also allows for theHAS_ALPHA_VERSION
variable to be removed as the alpha reference in the properties file will be used going forward. - Clients adopting the new
version.properties
will need to implement a gradle task namedupdateVersionProperties
to update theversion.properties
file.
- Some cleanup to how we scope variables in some of our actions
- Added a
check_translation_progress
action which checks the status of the translations on GlotPress. [#263]
- New
check_for_toolkit_updates
action, to ensure you are always using the latest version of the release-toolkit plugin. [#269] android_download_translations
action 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
'sbundler
andrubocop
dependencies to fix a publishing warning. [#261] - Fixed an issue with the
gemspec
's definition of thedrawText
extension – 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.