- Fix GitHub API authentication using new style personal token prefixed with
ghp_
. See issue #63 and GitHub Blog: Authentication token format updates. Contributed by @wechuli
-
Add validation for the REPOSITORY argument. Report an informative message if user omitted it.
-
Support customization of the GitHub API URL by passing
--github-api-url
parameter or by setting theGITHUB_API_URL
environment variable. See PR#57. Contributed by @furlongm -
release
command:release-notes
: Report a meaningful error if user omitted to setEDITOR
env. variable.
- Add
github_api_url
andset_github_api_url
. See #61.
-
release
command:-
delete
:- Add support for
--release-type
and--older-than
. Fix issue #50. Contributed by @Flamefire.
- Add support for
-
-
Fix click 8 support using
ProgressBar.length is not None
instead of the obsoleteProgressBar.length_known
. Contributed by @rly -
release
command:-
create
command: -
release-notes
:- Fix use python 3 support
-
delete
command:- Speed-up release deletion. See PR#51. Contributed by @Flamefire
-
edit
command:- Explicitly check if body exceed maximum size.
-
-
get_releases
: Add backoff decorator for retrying call in case of unresponsive GitHub API. Contributed by @owais following original idea from @dgerosa. -
get_release
: Add backoff decorator for retrying call in case the release was just created and the GitHub response is not yet updated. Fix issue #67. Contributed by @rly and suggested by @owais.
-
release
command:-
create
:- Add support for
--body
. Contributed by @bstansell and suggested by @mortenlj.
- Add support for
-
- Improve README section maintainers: how to make a release ?
- Fix tests when no VERSION file exists. See PR#44. Contributed by @lucasbrunialti.
- flake8: Increase max line length from 80 to 120.
-
release
command:-
edit
:- Add
--publish
flag having opposite effect of--draft
- Add
--release
flag having opposite effect of--prerelease
- Add
-
- Add
gh_commit_get
allowing to commit properties or check if a commit exists.
-
release
command:edit
: If any, remove leftover temporary tag and avoidRelease with tag_name latest-tmp not found
exception.
-
Support projects having more than 30 assets, releases or refs.
- Introduce dependency to LinkHeader python package to handle GitHub pagination information.
-
ref
command:list
: Consolidate tags listing using refs and refs/tags endpoints. In practice, we observed that tags can be listed with one or the other.
-
Update
gh_ref_delete
to return True if references were removed. -
Ensure
gh_ref_list
return list of references.
- Add test for references.
-
asset
command:-
list
:-
Explicitly support listing of release assets. This will list assets independently of their state (uploaded or new).
-
If an asset has its state set to new, it means a problem occurred during a previous upload and the asset can safely be deleted. See here for more details.
-
-
delete
:- Support deleting asset independently of their state.
-
upload
:-
Automatically delete existing asset if name matches and if its state is "new". This will happen if a previous upload was interrupted and the asset on the server has been created but is incomplete.
-
Retry to upload if server returns a 502 error.
-
-
-
In addition of setting
GITHUB_TOKEN
environment variable or usingnetrc
file, the CLI now accepts a--github-token
argument. More details here. -
If called from a terminal, report download or upload progress. Passing
--no-progress
allows to explicitly disable progress reporting. -
Fix asset download command argument parsing.
tag_name
andpattern
are effectively optional positional arguments. -
asset
command:upload
: Support upload of multiple files or globing patterns
-
Deprecate asset erase command. It doesn't show up in the help and usage output. It will be removed in version 1.6.0.
-
Backward incompatible changes:
-
Consistently accept
--keep-pattern
instead of--keep_pattern
. -
Change
--tag_name
into--tag-name
. -
Change
--target_commitish
into--target-commitish
.
-
-
Check that credentials (either
GITHUB_TOKEN
environment variable ornetrc
file) are properly set for commands requiring them. Thanks @rwols for suggesting the change. See PR #17. -
release
command:-
create
:-
Support upload of arbitrary number of assets on release creation.
-
Support
--dry-run
.
-
-
-
Backward incompatible changes:
- Rename
gh_asset_erase
intogh_asset_delete
.
- Rename
-
Internal
- Simplify code using click for argument parsing.
-
Add test checking that expected command line arguments do not cause failure.
-
Completely ignore 4xx errors associated with
clear_github_release_and_tags
. -
Relocate test repositories under github-release-bot user.
-
Latest packages are now published
-
Packages generated from master branch are available at https://github.com/j0057/github-release/releases/tag/latest
-
They can be installed using
pip intall githubrelease -f https://github.com/j0057/github-release/releases/tag/latest
-
- Update maintainers: how to make a release ? section to include update of CHANGES.md and creation of a github release.
This release is a significant milestone in the project.
It improves release
management by supporting update of the tag associated
with an existing release.
It improves the erase
command supporting --keep-pattern
. This allows
to exclude a subset of the packages already matched by the provided selection
pattern
.
It drastically improves the command-line user experience (support --help
) and
the documentation.
It also adds a new reference
command to create, delete and list tags
and branches.
In addition of the original author @j0057, the core team now includes @jcfr.
- Associate code with Apache 2.0 license. See PR #7.
-
Distribute a new executable
githubrelease
allowing to invoke any command (e.grelease
,asset
, ...) from a unified interface. -
Significantly improve the user experience by adding first class support for argument parsing.
--help
argument is now available. Fix issue #2.
The changes listed below apply to both the command line interface and the Python API.
-
Support authentication through
GITHUB_TOKEN
. -
Add support for release
edit
with summary of changed attributes. -
Add support for listing/creating/deleting references
-
Improve logging associated with release, assets and references.
-
Add support for
--verbose
and--dry-run
for most of the commands. -
release
command:-
create
:-
Support optional parameter
--prerelease
. This allows to directly create a pre-release. -
Support optional parameter
--publish
. This allows to directly create a published release. -
Gracefully return if release already exists.
-
Support optional parameter
--target_commitish
.
-
-
publish
: Support additional parameter--prerelease
. -
unpublish
: Support additional parameter--prerelease
. -
list
: Displaydownload_count
.
-
-
asset
command:-
erase
:-
Display a message if no files matching
pattern
are found. -
Add support for optional argument
--keep-pattern
. When specified, matching packages will be excluded from the subset already matched by the provided selectionpattern
.
-
-
upload
:-
Gracefully handle already uploaded assets having the same name.
-
Display
browser_download_url
returned by GitHub API.
-
-
The changes listed below apply to only the Python API.
asset
command: Add support for list of patterns.
- Executables
github-release
andgithub-asset
have been deprecated but are still distributed.
-
Setup continuous integration on TravisCI to run style and integration tests with each pull requests.
-
Clean and simplify
setup.py
. -
Add
setuptools-version-command
torequirements-dev.txt
. -
Add
setup.cfg
to mark the wheels asuniversal
.
-
Re-organize and improve README.md.
-
Add maintainers: how to make a release ? section.
-
Add CONTRIBUTING guidelines.