The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
- An option
--also-push-to-trunk
forrelease-podspec
when it's invoked to push to a private podspec repo, to also push it to trunk.
- A semantic tag for nessages in commits that bump version numbers with
bumpr
.
- Renamed
sync-git
tosync-git-remotes
and removed its username/password options as that auth method is no longer supported by the GitHub API and username is not required for token authentication.
- A few errant renames of
sync-forks
tosync-git
in old CHANGELOG entries here to preserve history.
- Improved the functionality of
sync-forks
and renamed it tosync-git
:- syncs all repos, not just forks
- now it nests forks in subdirectories under
_Forks/
based on the original owners name, so if I fork octocat/Hello-World, octocat/Repo2 and someone/elses_repo, I'd have:
root_dir/ ├–– _Forks/ │ ├── octocat/ │ │ ├── Hello-world/ │ │ └── Repo2 │ └── someone/ │ └── elses_repo/ ├–– myRepo1/ ├–– myRepo2/ ...
- rewritten using the officially supported octokit ruby gem.
--no-commit
option inmigrate-changelog
.
--quick
flag forprerelease-podspec
and--skip-import-validation
flag forrelease-podspec
to pass through topod spec lint
andpod trunk push
/pod repo push
, respectively.
- The
-e
switch inrelease-podspec
is now properly defined. (Was--e
previously.)
--custom
flag's value was not properly marshalled.
--custom
flag to pass through to invocations ofvrsn
.
- Revert change introduced in 4.4.1.
- Use the same value in a prerelease podspec version as will be used to form the git tag.
- Option on
prerelease-podspec
to skip creating git tags, for situations where it might be called multiple times for different variants on a release candidate.
- Correctly interpret
release-podspec
's--no-changelog
option.
release-podspec
now provides the full path to the podspec being released in the case where--repo
is specified, instead of a push to CococaPods trunk.
- Option in
release-podspec
to skip changelog updates and just form a plain tag instead.
- Option in
prerelease-podspec
to provide a custom release candidate identifier.
- Option on
prerelease-podspec
andrelease-podspec
to specify a custom tag value.
- The
--podspec-name-in-tag
option's short name inprerelease-podspec
was copypasta'd from another option. Specified a unique one:-p
and change the short name inrelease-podspec
from-n
to-p
to match.
- 4.0.0 accidentally removed the feature added in 3.1.0. It has been replaced.
prerelease-podspec
andrelease-podspec
now accept the path to a podspec as their parameter, instead of the podspec name which would be used to construct the path always in the root directory. Sometimes the podspec isn't in the root!
--skip-tests
option forprerelease-podspec
like the option forrelease-podspec
.
- Update dependency on
github_api
to 0.19 so the transitive dependency onfaraday
stays compatible with Fastlane's dependency on it, as it has changed to 1.0.
- Bad paths in
require_relative
inbumpr
andchangetag
caused the scripts to fail.
- Scripts no longer try to stash/pop git index changes, they will now just fail.
- Bad regex in
clean-rc-tags
.
- Fix bug when trying to use
release-podspec
's--changelog-path
option.
- Option
--changelog-entry
onrelease-podspec
to provide a name for the changelog entry if it's different than the tag name.
- Invocation of
changetag
without including podspec name when--podspec-name-in-tag
is provided.
- Invocation of
changetag
inrelease-podspec
. - Always set git commit comment character to
@
inchangetag
.
update-all-usages
willfind
all Gemfiles with a certain gem name and under a certain directory update it wherever it's found.
- Remove
#
from podspec push command inrelease-podspec
- Fixed the entry for 2.0.0 in this changelog.
- Renamed
rebuild-sims
toxcsims
and made rebuilding an option-r/--rebuild
. Added an option to shut down all simulators:-s/--shutdown
.
- For a changelog adhering to Keep a Changelog, introduce a tool
migrate-changelog
to move any contents under Unreleased to a new section for a new version with the current date.
- Invocation to
changetag
that wrongly referenced this project's gemspec file for a version inrelease-podspec
. Didn't change it after testing on this project.
--no-commit
option tobumpr
to avoid forming a git commit with changes.
- Options to use
changetag
inprerelease-podspec
and to stay on the current git branch instead of creating a temporary new branch.
release-podspec
now useschangetag
to create annotated release tags with CHANGELOG.md contents.
clean-rc-tags
which deletes any release candidate tags leftover after prerelease testing.
- Yanked 1.9.1. Need to push a new version number.
- When providing
--podspec-name-in-tag
, don't put the podspec name in the podspec'sversion
property, because those podspecs that do use the name in the tag will have a:tag
value of#{name}-#{version}
, which would result in the podspec name appearing twice if it also appeared in theversion
.
- Command line option to specify if the tags in
revert-failed-release-tag
should use the podspec's name, same as 1.7.0's change toprerelease-podspec
and 1.8.0's change torelease-podspec
.
- Command line option to specify if the tags in
release-podspec
should use the podspec's name, same as 1.7.0's change toprerelease-podspec
.
- Command line option to specify if the tags in
prerelease-podspec
should use the podspec's name; helpful if the repo has multiple podspecs and must distinguish between versions of different ones in tag names.
- Use the same tag value in the version string in podspecs being tested by
prerelease-podspec
.
release-podspec
prints the command used to create the release tag before executing it.
release-podspec
prints the command used to create the release tag before executing it.
- Output more results from shell commands in
release-podspec
.
- Improved output of commands in
[pre]release-podspec
.
bumpr
: increment the desired part of a version number (major/minor/patch/build) and write the change to a git commit.
- Added early exit to
release-podspec
if the release tag already exists. - Some usages of the
echoexec
lib method inrevert-failed-release-tag
andrelease-podspec
.
- Bug in
revert-failed-release-tag
–forgot torequire 'optparse'
.
- Bug in
revert-failed-release-tag
. - Help docs in
prerelease-podspec
,release-podspec
andrevert-failed-release-tag
.
- Tools to help release CocoaPods podspecs.
- Clean up changelog entry contents before writing to git tags, by replacing e.g.
## [1.3.1] 2018-10-31
with1.3.1
for the title, and reducing all subsequent markdown headers by 2 levels.
changetag
: a utility to extract changelog entries and write them into git tag annotation messages.
- Added specific exit codes per failure mode.
- Include option to specify a single fork repo name to sync, instead of trying to sync them all.
- When a custom path is supplied, make sure the cloned repo directories are written inside it.
sync-fork
to check out all your GitHub forks, adding remotes to the original upstream repos for each clone.
- Previously named each simulator as
device_type_name (runtime_name)
, but that broke with convention what other tools likesimctl
or Fastlane rely upon as defaults. Now just name them by the device name.
rebuild-sims
to delete and rebuild all possible simulators