Bug Fixes
* fix: improve pickle support ([`b4b5dec`](https://github.com/python-gitlab/python-gitlab/commit/b4b5decb7e49ac16d98d56547a874fb8f9d5492b))
* fix(cli): allow --recursive parameter in repository tree
Fixes 718
Fixes 731 ([`7969a78`](https://github.com/python-gitlab/python-gitlab/commit/7969a78ce8605c2b0195734e54c7d12086447304))
* fix(cli): don't fail when the short print attr value is None
Fixes 717
Fixes 727 ([`8d1552a`](https://github.com/python-gitlab/python-gitlab/commit/8d1552a0ad137ca5e14fabfc75f7ca034c2a78ca))
* fix(cli): fix update value for key not working ([`b766203`](https://github.com/python-gitlab/python-gitlab/commit/b7662039d191ebb6a4061c276e78999e2da7cd3f))
* fix: convert to %23 in URLs
Refactor a bit to handle this change, and add unit tests.
Closes 779 ([`14f5385`](https://github.com/python-gitlab/python-gitlab/commit/14f538501bfb47c92e02e615d0817675158db3cf))
* fix: pep8 errors
Errors have not been detected by broken travis runs. ([`334f9ef`](https://github.com/python-gitlab/python-gitlab/commit/334f9efb18c95bb5df3271d26fa0a55b7aec1c7a))
* fix(api): Make *MemberManager.all() return a list of objects
Fixes 699 ([`d74ff50`](https://github.com/python-gitlab/python-gitlab/commit/d74ff506ca0aadaba3221fc54cbebb678240564f))
* fix: use python2 compatible syntax for super ([`b08efcb`](https://github.com/python-gitlab/python-gitlab/commit/b08efcb9d155c20fa938534dd2d912f5191eede6))
* fix: re-add merge request pipelines ([`877ddc0`](https://github.com/python-gitlab/python-gitlab/commit/877ddc0dbb664cd86e870bb81d46ca614770b50e))
* fix(api): Don't try to parse raw downloads
http_get always tries to interpret the retrieved data if the
content-type is json. In some cases (artifact download for instance)
this is not the expected behavior.
This patch changes http_get and download methods to always get the raw
data without parsing.
Closes 683 ([`35a6d85`](https://github.com/python-gitlab/python-gitlab/commit/35a6d85acea4776e9c4ad23ff75259481a6bcf8d))
* fix(api): avoid parameter conflicts with python and gitlab
Provide another way to send data to gitlab with a new `query_parameters`
argument. This parameter can be used to explicitly define the dict of
items to send to the server, so that **kwargs are only used to specify
python-gitlab specific parameters.
Closes 566
Closes 629 ([`4bd027a`](https://github.com/python-gitlab/python-gitlab/commit/4bd027aac41c41f7e22af93c7be0058d2faf7fb4))
* fix: remove decode() on error_message string
The integration tests failed because a test called 'decode()' on a
string-type variable - the GitLabException class handles byte-to-string
conversion already in its __init__. This commit removes the call to
'decode()' in the test.
Traceback (most recent call last):
File "./tools/python_test_v4.py", line 801, in <module>
assert 'Retry later' in error_message.decode()
AttributeError: 'str' object has no attribute 'decode'
([`16bda20`](https://github.com/python-gitlab/python-gitlab/commit/16bda20514e036e51bef210b565671174cdeb637))
* fix: handle empty 'Retry-After' header from GitLab
When requests are throttled (HTTP response code 429), python-gitlab
assumed that 'Retry-After' existed in the response headers. This is
not always the case and so the request fails due to a KeyError. The
change in this commit adds a rudimentary exponential backoff to the
'http_request' method, which defaults to 10 retries but can be set
to -1 to retry without bound. ([`7a3724f`](https://github.com/python-gitlab/python-gitlab/commit/7a3724f3fca93b4f55aed5132cf46d3718c4f594))
* fix(api): make reset_time_estimate() work again
Closes 672 ([`cb388d6`](https://github.com/python-gitlab/python-gitlab/commit/cb388d6e6d5ec6ef1746edfffb3449c17e31df34))
* fix: enable use of YAML in the CLI
In order to use the YAML output, PyYaml needs to be installed on the docker image.
This commit adds the installation to the dockerfile as a separate layer. ([`ad0b476`](https://github.com/python-gitlab/python-gitlab/commit/ad0b47667f98760d6a802a9d08b2da8f40d13e87))
* fix: docker entry point argument passing
Fixes the problem of passing spaces in the arguments to the docker entrypoint.
Before this fix, there was virtually no way to pass spaces in arguments such as task description. ([`67ab637`](https://github.com/python-gitlab/python-gitlab/commit/67ab6371e69fbf137b95fd03105902206faabdac))
* fix(cli): exit on config parse error, instead of crashing
* Exit and hint user about possible errors
* test: adjust test cases to config missing error ([`6ad9da0`](https://github.com/python-gitlab/python-gitlab/commit/6ad9da04496f040ae7d95701422434bc935a5a80))
* fix(docker): use docker image with current sources ([`06e8ca8`](https://github.com/python-gitlab/python-gitlab/commit/06e8ca8747256632c8a159f760860b1ae8f2b7b5))
* fix(cli): print help and usage without config file
Fixes 560 ([`6bb4d17`](https://github.com/python-gitlab/python-gitlab/commit/6bb4d17a92832701b9f064a6577488cc42d20645))
Chores
* chore: bump package version to 1.10.0 ([`c7c8470`](https://github.com/python-gitlab/python-gitlab/commit/c7c847056b6d24ba7a54b93837950b7fdff6c477))
* chore(setup): add 3.7 to supported python versions ([`b1525c9`](https://github.com/python-gitlab/python-gitlab/commit/b1525c9a4ca2d8c6c14d745638b3292a71763aeb))
* chore: move checks back to travis ([`b764525`](https://github.com/python-gitlab/python-gitlab/commit/b7645251a0d073ca413bba80e87884cc236e63f2))
* chore: disable failing travis test ([`515aa9a`](https://github.com/python-gitlab/python-gitlab/commit/515aa9ac2aba132d1dfde0418436ce163fca2313))
* chore(ci): rebuild test image, when something changed ([`2fff260`](https://github.com/python-gitlab/python-gitlab/commit/2fff260a8db69558f865dda56f413627bb70d861))
* chore(ci): update the GitLab version in the test image ([`c410699`](https://github.com/python-gitlab/python-gitlab/commit/c41069992de392747ccecf8c282ac0549932ccd1))
* chore(ci): add automatic GitLab image pushes ([`95c9b6d`](https://github.com/python-gitlab/python-gitlab/commit/95c9b6dd489fc15c7dfceffca909917f4f3d4312))
* chore(ci): fix gitlab PyPI publish ([`3e37df1`](https://github.com/python-gitlab/python-gitlab/commit/3e37df16e2b6a8f1beffc3a595abcb06fd48a17c))
* chore: add a tox job to run black
Allow lines to be 88 chars long for flake8. ([`c27fa48`](https://github.com/python-gitlab/python-gitlab/commit/c27fa486698e441ebc16448ee93e5539cb885ced))
* chore(ci): use reliable ci system ([`724a672`](https://github.com/python-gitlab/python-gitlab/commit/724a67211bc83d67deef856800af143f1dbd1e78))
* chore(ci): don't try to publish existing release ([`b4e818d`](https://github.com/python-gitlab/python-gitlab/commit/b4e818db7887ff1ec337aaf392b5719f3931bc61))
* chore: release tags to PyPI automatically
Fixes 609 ([`3133b48`](https://github.com/python-gitlab/python-gitlab/commit/3133b48a24ce3c9e2547bf2a679d73431dfbefab))
* chore(tests): add rate limit tests ([`e216f06`](https://github.com/python-gitlab/python-gitlab/commit/e216f06d4d25d37a67239e93a8e2e400552be396))
Code Style
* style: format with black again ([`22b5082`](https://github.com/python-gitlab/python-gitlab/commit/22b50828d6936054531258f3dc17346275dd0aee))
Documentation
* docs(snippets): fix project-snippets layout
Fixes 828 ([`7feb97e`](https://github.com/python-gitlab/python-gitlab/commit/7feb97e9d89b4ef1401d141be3d00b9d0ff6b75c))
* docs(projects): add mention about project listings
Having exactly 20 internal and 5 private projects in the group
spent some time debugging this issue.
Hopefully that helped: https://github.com/python-gitlab/python-gitlab/issues/93
Imho should be definitely mention about `all=True` parameter. ([`f604b25`](https://github.com/python-gitlab/python-gitlab/commit/f604b2577b03a6a19641db3f2060f99d24cc7073))
* docs(readme): fix six url
six URL was pointing to 404 ([`0bc30f8`](https://github.com/python-gitlab/python-gitlab/commit/0bc30f840c9c30dd529ae85bdece6262d2702c94))
* docs: re-order api examples
`Pipelines and Jobs` and `Protected Branches` are out of order in contents and sometimes hard to find when looking for examples. ([`5d149a2`](https://github.com/python-gitlab/python-gitlab/commit/5d149a2262653b729f0105639ae5027ae5a109ea))
* docs: add pipeline deletion ([`2bb2571`](https://github.com/python-gitlab/python-gitlab/commit/2bb257182c237384d60b8d90cbbff5a0598f283b))
* docs(api-usage): fix project group example
Fixes 798 ([`40a1bf3`](https://github.com/python-gitlab/python-gitlab/commit/40a1bf36c2df89daa1634e81c0635c1a63831090))
* docs: remove v3 support ([`7927663`](https://github.com/python-gitlab/python-gitlab/commit/792766319f7c43004460fc9b975549be55430987))
* docs: Add an example of trigger token usage
Closes 752 ([`ea1eefe`](https://github.com/python-gitlab/python-gitlab/commit/ea1eefef2896420ae4e4d248155e4c5d33b4034e))
* docs(readme): add more info about commitlint, code-format ([`286f703`](https://github.com/python-gitlab/python-gitlab/commit/286f7031ed542c97fb8792f61012d7448bee2658))
* docs(readme): provide commit message guidelines
Fixes 660 ([`bed8e1b`](https://github.com/python-gitlab/python-gitlab/commit/bed8e1ba80c73b1d976ec865756b62e66342ce32))
* docs(setup): use proper readme on PyPI ([`6898097`](https://github.com/python-gitlab/python-gitlab/commit/6898097c45d53a3176882a3d9cb86c0015f8d491))
* docs(projects): fix typo in code sample
Fixes 630 ([`b93f2a9`](https://github.com/python-gitlab/python-gitlab/commit/b93f2a9ea9661521878ac45d70c7bd9a5a470548))
* docs(groups): fix typo
Fixes 635 ([`ac2d65a`](https://github.com/python-gitlab/python-gitlab/commit/ac2d65aacba5c19eca857290c5b47ead6bb4356d))
* docs(cli): add PyYAML requirement notice
Fixes 606 ([`d29a489`](https://github.com/python-gitlab/python-gitlab/commit/d29a48981b521bf31d6f0304b88f39a63185328a))
* docs(readme): add docs build information ([`6585c96`](https://github.com/python-gitlab/python-gitlab/commit/6585c967732fe2a53c6ad6d4d2ab39aaa68258b0))
* docs: add MR approvals in index ([`0b45afb`](https://github.com/python-gitlab/python-gitlab/commit/0b45afbeed13745a2f9d8a6ec7d09704a6ab44fb))
* docs(api-usage): add rate limit documentation ([`ad4de20`](https://github.com/python-gitlab/python-gitlab/commit/ad4de20fe3a2fba2d35d4204bf5b0b7f589d4188))
* docs(projects): fix typo ([`c6bcfe6`](https://github.com/python-gitlab/python-gitlab/commit/c6bcfe6d372af6557547a408a8b0a39b909f0cdf))
* docs: trigger_pipeline only accept branches and tags as ref
Fixes 430 ([`d63748a`](https://github.com/python-gitlab/python-gitlab/commit/d63748a41cc22bba93a9adf0812e7eb7b74a0161))
* docs: fix invalid Raise attribute in docstrings ([`95a3fe6`](https://github.com/python-gitlab/python-gitlab/commit/95a3fe6907676109e1cd2f52ca8f5ad17e0d01d0))
* docs: add missing = ([`391417c`](https://github.com/python-gitlab/python-gitlab/commit/391417cd47d722760dfdaab577e9f419c5dca0e0))
* docs: remove the build warning about _static ([`764d3ca`](https://github.com/python-gitlab/python-gitlab/commit/764d3ca0087f0536c48c9e1f60076af211138b9b))
* docs: fix "required" attribute ([`e64d0b9`](https://github.com/python-gitlab/python-gitlab/commit/e64d0b997776387f400eaec21c37ce6e58d49095))
* docs: add missing requiredCreateAttrs ([`b08d74a`](https://github.com/python-gitlab/python-gitlab/commit/b08d74ac3efb505961971edb998ce430e430d652))
* docs: add a note for python 3.5 for file content update
The data passed to the JSON serializer must be a string with python 3.
Document this in the exemples.
Fix 175 ([`ca014f8`](https://github.com/python-gitlab/python-gitlab/commit/ca014f8c3e4877a4cc1ae04e1302fb57d39f47c4))
* docs: improve the pagination section ([`29e2efe`](https://github.com/python-gitlab/python-gitlab/commit/29e2efeae22ce5fa82e3541360b234e0053a65c2))
* docs: notes API ([`3e026d2`](https://github.com/python-gitlab/python-gitlab/commit/3e026d2ee62eba3ad92ff2cdd53db19f5e0e9f6a))
* docs: snippets API ([`35b7f75`](https://github.com/python-gitlab/python-gitlab/commit/35b7f750c7e38a39cd4cb27195d9aa4807503b29))
* docs: tags API ([`dd79eda`](https://github.com/python-gitlab/python-gitlab/commit/dd79eda78f91fc7e1e9a08b1e70ef48e3b4bb06d))
* docs: system hooks API ([`5c51bf3`](https://github.com/python-gitlab/python-gitlab/commit/5c51bf3d49302afe4725575a83d81a8c9eeb8779))
* docs: add ApplicationSettings API ([`ab7d794`](https://github.com/python-gitlab/python-gitlab/commit/ab7d794251bcdbafce69b1bde0628cd3b710d784))
* docs: repository files API ([`f00340f`](https://github.com/python-gitlab/python-gitlab/commit/f00340f72935b6fd80df7b62b811644b63049b5a))
* docs: project repository API ([`71a2a4f`](https://github.com/python-gitlab/python-gitlab/commit/71a2a4fb84321e73418fda1ce4e4d47177af928c))
* docs: add milestones API ([`7411907`](https://github.com/python-gitlab/python-gitlab/commit/74119073dae18214df1dd67ded6cd57abda335d4))
* docs: add MR API ([`5614a7c`](https://github.com/python-gitlab/python-gitlab/commit/5614a7c9bf62aede3804469b6781f45d927508ea))
* docs: add licenses API ([`4540614`](https://github.com/python-gitlab/python-gitlab/commit/4540614a38067944c628505225bb15928d8e3c93))
* docs: add labales API ([`31882b8`](https://github.com/python-gitlab/python-gitlab/commit/31882b8a57f3f4c7e4c4c4b319af436795ebafd3))
* docs: add deploy keys API ([`ea089e0`](https://github.com/python-gitlab/python-gitlab/commit/ea089e092439a8fe95b50c3d0592358550389b51))
* docs: issues API ([`41cbc32`](https://github.com/python-gitlab/python-gitlab/commit/41cbc32621004aab2cae5f7c14fc60005ef7b966))
* docs: commits API ([`07c5594`](https://github.com/python-gitlab/python-gitlab/commit/07c55943eebb302bc1b8feaf482d929c83e9ebe1))
* docs: groups API documentation ([`4d871aa`](https://github.com/python-gitlab/python-gitlab/commit/4d871aadfaa9f57f5ae9f8b49f8367a5ef58545d))
* docs: Add builds-related API docs ([`8e6a944`](https://github.com/python-gitlab/python-gitlab/commit/8e6a9442324926ed1dec0a8bfaf77792e4bdb10f))
* docs: fork relationship API ([`21f48b3`](https://github.com/python-gitlab/python-gitlab/commit/21f48b357130720551d5cccbc62f5275fe970378))
* docs: project search API ([`e4cd04c`](https://github.com/python-gitlab/python-gitlab/commit/e4cd04c225e2160f02a8f292dbd4c0f6350769e4))
* docs: document hooks API ([`b21dca0`](https://github.com/python-gitlab/python-gitlab/commit/b21dca0acb2c12add229a1742e0c552aa50618c1))
* docs: add project members doc ([`dcf31a4`](https://github.com/python-gitlab/python-gitlab/commit/dcf31a425217efebe56d4cbc8250dceb3844b2fa))
* docs: document projects API ([`967595f`](https://github.com/python-gitlab/python-gitlab/commit/967595f504b8de076ae9218a96c3b8dd6273b9d6))
* docs: crossref improvements ([`6f9f42b`](https://github.com/python-gitlab/python-gitlab/commit/6f9f42b64cb82929af60e299c70773af6d406a6e))
* docs: start a FAQ ([`c305459`](https://github.com/python-gitlab/python-gitlab/commit/c3054592f79caa782ec79816501335e9a5c4e9ed))
* docs: do not use the :option: markup ([`368017c`](https://github.com/python-gitlab/python-gitlab/commit/368017c01f15013ab4cc9405c246a86e67f3b067))
Features
* feat: add mr rebase method ([`bc4280c`](https://github.com/python-gitlab/python-gitlab/commit/bc4280c2fbff115bd5e29a6f5012ae518610f626))
* feat: get artifact by ref and job ([`cda1174`](https://github.com/python-gitlab/python-gitlab/commit/cda117456791977ad300a1dd26dec56009dac55e))
* feat: add support for issue.related_merge_requests
Closes 794 ([`90a3631`](https://github.com/python-gitlab/python-gitlab/commit/90a363154067bcf763043124d172eaf705c8fe90))
* feat: add support for board update
Closes 801 ([`908d79f`](https://github.com/python-gitlab/python-gitlab/commit/908d79fa56965e7b3afcfa23236beef457cfa4b4))
* feat: bump version to 1.9.0 ([`aaed448`](https://github.com/python-gitlab/python-gitlab/commit/aaed44837869bd2ce22b6f0d2e1196b1d0e626a6))
* feat: implement artifacts deletion
Closes 744 ([`76b6e1f`](https://github.com/python-gitlab/python-gitlab/commit/76b6e1fc0f42ad00f21d284b4ca2c45d6020fd19))
* feat: add endpoint to get the variables of a pipeline
It adds a new endpoint which was released in the Gitlab CE 11.11.
Signed-off-by: Agustin Henze <tinredhat.com> ([`564de48`](https://github.com/python-gitlab/python-gitlab/commit/564de484f5ef4c76261057d3d2207dc747da020b))
* feat(GitLab Update): delete ProjectPipeline (736)
* feat(GitLab Update): delete ProjectPipeline
As of Gitlab 11.6 it is now possible to delete a pipeline - https://docs.gitlab.com/ee/api/pipelines.html#delete-a-pipeline ([`768ce19`](https://github.com/python-gitlab/python-gitlab/commit/768ce19c5e5bb197cddd4e3871c175e935c68312))
* feat: Added approve & unapprove method for Mergerequests
Offical GitLab API supports this for GitLab EE ([`53f7de7`](https://github.com/python-gitlab/python-gitlab/commit/53f7de7bfe0056950a8e7271632da3f89e3ba3b3))
* feat: obey the rate limit
done by using the retry-after header
Fixes 166 ([`2abf9ab`](https://github.com/python-gitlab/python-gitlab/commit/2abf9abacf834da797f2edf6866e12886d642b9d))
Refactoring
* refactor: format everything black ([`318d277`](https://github.com/python-gitlab/python-gitlab/commit/318d2770cbc90ae4d33170274e214b9d828bca43))
* refactor: rename MASTER_ACCESS
to MAINTAINER_ACCESS to follow GitLab 11.0 docs
See:
https://docs.gitlab.com/ce/user/permissions.html#project-members-permissions ([`c38775a`](https://github.com/python-gitlab/python-gitlab/commit/c38775a5d52620a9c2d506d7b0952ea7ef0a11fc))
Testing
* test: minor test fixes ([`3b523f4`](https://github.com/python-gitlab/python-gitlab/commit/3b523f4c39ba4b3eacc9e76fcb22de7b426d2f45))
* test: add project releases test
Fixes 762 ([`8ff8af0`](https://github.com/python-gitlab/python-gitlab/commit/8ff8af0d02327125fbfe1cfabe0a09f231e64788))
* test: increase speed by disabling the rate limit faster ([`497f56c`](https://github.com/python-gitlab/python-gitlab/commit/497f56c3e1b276fb9499833da0cebfb3b756d03b))
* test: always use latest version to test ([`82b0fc6`](https://github.com/python-gitlab/python-gitlab/commit/82b0fc6f3884f614912a6440f4676dfebee12d8e))
* test: update the tests for GitLab 11.11
Changes in GitLab make the functional tests fail:
* Some actions add new notes and discussions: do not use hardcoded
values in related listing asserts
* The feature flag API is buggy (errors 500): disable the tests for now ([`622854f`](https://github.com/python-gitlab/python-gitlab/commit/622854fc22c31eee988f8b7f59dbc033ff9393d6))
Unknown
* Merge pull request 842 from python-gitlab/chore/bump-package-version
chore: bump package version to 1.10.0 ([`2c1ea56`](https://github.com/python-gitlab/python-gitlab/commit/2c1ea56a217525bbb0a5321eb392c7fe7c100d44))
* Merge pull request 841 from python-gitlab/docs/project-snippets
docs(snippets): fix project-snippets layout ([`29d102f`](https://github.com/python-gitlab/python-gitlab/commit/29d102f893025188a6c300d8cc27d0d62147d6df))
* Merge pull request 840 from python-gitlab/docs/project-docs
docs(projects): add mention about project listings ([`de19296`](https://github.com/python-gitlab/python-gitlab/commit/de19296c57e40fede902270543800b499d90f82c))
* Merge pull request 838 from python-gitlab/pickle-fix
fix: improve pickle support ([`f0e3daa`](https://github.com/python-gitlab/python-gitlab/commit/f0e3daadb7f669b7d041a3024da238b54eaacda4))
* Merge pull request 839 from python-gitlab/dajsn-fix-readme-six-url
docs(readme): fix six url ([`8d54cf5`](https://github.com/python-gitlab/python-gitlab/commit/8d54cf57b03ff5509801c10d9dfe47e708173935))
* Merge pull request 837 from python-gitlab/PR-bugfix-718
fix(cli): allow --recursive parameter in repository tree ([`27b9706`](https://github.com/python-gitlab/python-gitlab/commit/27b9706b43f14f9e0cf954cdec368c63e83a2a0d))
* Merge pull request 836 from python-gitlab/test/project-releases
test: add project releases test ([`262b222`](https://github.com/python-gitlab/python-gitlab/commit/262b222000dad30fc6dfc63ccf2fa200eba09662))
* Merge pull request 835 from python-gitlab/bugfix-717
fix(cli): don't fail when the short print attr value is None ([`0b0a60f`](https://github.com/python-gitlab/python-gitlab/commit/0b0a60fd72fc7b1073c4b5f32022b3a063ec9c96))
* Merge pull request 833 from python-gitlab/project-variable-update
fix(cli): fix update value for key not working ([`6c673c6`](https://github.com/python-gitlab/python-gitlab/commit/6c673c6b052cd5b18ba5b1f83137485431666730))
* Merge pull request 834 from python-gitlab/chore/setup-supported-versions
chore(setup): add 3.7 to supported python versions ([`8306ef2`](https://github.com/python-gitlab/python-gitlab/commit/8306ef21be731336c9706c9908133cfcb3b6a5f4))
* Merge pull request 832 from python-gitlab/test/always-latest
test: always use latest version to test ([`8f1ed93`](https://github.com/python-gitlab/python-gitlab/commit/8f1ed933f58f36b5383c3f862a59ce73e7954f02))
* Merge pull request 823 from jeroen92/rebase-mr
Resolve 822, add mr rebase ([`b9877b4`](https://github.com/python-gitlab/python-gitlab/commit/b9877b4e6479e66ca30a2908ee9c2703366eb9ce))
* Merge pull request 831 from python-gitlab/chore/move-back-to-travis
chore: move checks back to travis ([`c8a7e31`](https://github.com/python-gitlab/python-gitlab/commit/c8a7e31cb57e3be7287ba237dbda7c4efa195b29))
* Merge pull request 830 from python-gitlab/chore/ci-disable-py-func
Chore/ci disable py func ([`2e42e28`](https://github.com/python-gitlab/python-gitlab/commit/2e42e289efbf24fb6fd85df45b56a875875b6932))
* Merge pull request 827 from ahaynssen/master
docs: re-order api examples ([`5492b71`](https://github.com/python-gitlab/python-gitlab/commit/5492b71a189f6a85e8f1542e13295f528555df31))
* Merge pull request 824 from python-gitlab/feat/add-ref-artifacts
feat: get artifact by ref and job ([`4a8503d`](https://github.com/python-gitlab/python-gitlab/commit/4a8503db1c55f5a8d1cc66533325d2d832622f85))
* Merge pull request 803 from python-gitlab/feat/related_mr
feat: add support for issue.related_merge_requests ([`ad1c0dd`](https://github.com/python-gitlab/python-gitlab/commit/ad1c0dda37f573673beaf9f25187f51751a5a484))
* Merge pull request 804 from python-gitlab/feat/update_board
feat: add support for board update ([`f539c36`](https://github.com/python-gitlab/python-gitlab/commit/f539c36dddf8e0eb3b2156a3ed4e2ff2fa667cf1))
* Merge pull request 808 from minitux/patch-1 ([`2ea8eb8`](https://github.com/python-gitlab/python-gitlab/commit/2ea8eb8c66480fce2a3cd5294f0dc64ce826b12b))
* Merge pull request 805 from python-gitlab/chore/ci-rebuild-image
chore(ci): rebuild test image, when something changed ([`6625a06`](https://github.com/python-gitlab/python-gitlab/commit/6625a062e3e4cc42abdaec9ea08e3b6e7f6a9c58))
* Merge pull request 802 from python-gitlab/chore/gitlab-11.11.3
chore(ci): update the GitLab version in the test image ([`51751c5`](https://github.com/python-gitlab/python-gitlab/commit/51751c5f78ec14e416e595fd42f97d55197df347))
* Merge pull request 792 from python-gitlab/chore/enable-gitlab-ci-builds
chore(ci): add automatic GitLab image pushes ([`50c53c0`](https://github.com/python-gitlab/python-gitlab/commit/50c53c034b4b8c0b408da47d3347f103e7f32493))
* Merge pull request 800 from python-gitlab/chore/ci-publish
chore(ci): fix gitlab PyPI publish ([`722a6ef`](https://github.com/python-gitlab/python-gitlab/commit/722a6efb23c6e6b87a7354c1c6ae8e50ae14c709))
* Merge pull request 797 from python-gitlab/feat/version-bump
feat: bump version to 1.9.0 ([`4b04432`](https://github.com/python-gitlab/python-gitlab/commit/4b0443285e3207d89b4b46211f713614fb526758))
* Merge pull request 799 from python-gitlab/docs/fix-group-access
docs(api-usage): fix project group example ([`b5aaa3e`](https://github.com/python-gitlab/python-gitlab/commit/b5aaa3eda97589ab94f921c4bcbb6e86740dde51))
* Merge pull request 767 from python-gitlab/fix/744/delete_artifacts
feature: Implement artifacts deletion ([`4e1dd27`](https://github.com/python-gitlab/python-gitlab/commit/4e1dd27d6400acd152be19692f3193f948422769))
* Merge pull request 791 from python-gitlab/tests-for-gl-11.11
test: update the tests for GitLab 11.11 ([`e45a6e2`](https://github.com/python-gitlab/python-gitlab/commit/e45a6e2618db30834f732c5a7bc9f1c038c45c31))
* Merge pull request 789 from python-gitlab/no-more-v3
docs: remove v3 support ([`e2115b1`](https://github.com/python-gitlab/python-gitlab/commit/e2115b1e5bb0bb2861427dd136362f92ec00619d))
* Merge pull request 785 from agustinhenze/add-pipeline-get-variables-endpoint
Add new endpoint to get the variables of a pipeline ([`463cedc`](https://github.com/python-gitlab/python-gitlab/commit/463cedc952155ad56ce0762bc04e0ff303b093fe))
* Merge pull request 768 from python-gitlab/trigger_token_example
docs: Add an example of trigger token usage ([`5af0b52`](https://github.com/python-gitlab/python-gitlab/commit/5af0b527a44d10b648c2c1464cfbb25c2a642af0))
* Merge pull request 790 from python-gitlab/fix/779
fix: convert to %23 in URLs ([`101ccd1`](https://github.com/python-gitlab/python-gitlab/commit/101ccd148ee011e3b8e01d93f176ed969411c634))
* Merge pull request 788 from python-gitlab/black-in-tox
Add a tox job to run black ([`d135e4e`](https://github.com/python-gitlab/python-gitlab/commit/d135e4ef93a191aeb50ce1296757f7e75926a23c))
* Merge pull request 778 from python-gitlab/docs/readme-code-format
docs(readme): add more info about commitlint, code-format ([`794d64c`](https://github.com/python-gitlab/python-gitlab/commit/794d64c8ef8ef0448205b51ff4a25c1589c2b2dd))
* Merge pull request 775 from python-gitlab/refactor/black
refactor: format everything black ([`290e5ed`](https://github.com/python-gitlab/python-gitlab/commit/290e5edaf162c986dbb5eae8c1da63e47e62555d))
* Merge pull request 776 from python-gitlab/revert-760-custom_cli_actions_fix
Revert "Custom cli actions fix" ([`ef32990`](https://github.com/python-gitlab/python-gitlab/commit/ef32990347d0ab9145b8919d25269766dc2ce445))
* Revert "Custom cli actions fix" ([`d3a20c5`](https://github.com/python-gitlab/python-gitlab/commit/d3a20c514651dfe542a295eb608af1de22a28736))
* Merge pull request 760 from kkoralsky/custom_cli_actions_fix
Custom cli actions fix ([`e8823e9`](https://github.com/python-gitlab/python-gitlab/commit/e8823e91b04fd6cf3838ad256c02373db7029191))
* fix -/_ replacament for *Manager custom actions ([`6158fd2`](https://github.com/python-gitlab/python-gitlab/commit/6158fd23022b2e2643b6da7a39708b28ce59270a))
* dont ask for id attr if this is *Manager originating custom action ([`adb6305`](https://github.com/python-gitlab/python-gitlab/commit/adb63054add31e06cefec09982a02b1cd21c2cbd))
* Merge pull request 759 from kkoralsky/registry_api
registry api implementation ([`84bcdc0`](https://github.com/python-gitlab/python-gitlab/commit/84bcdc0c452d2ada9a47aa9907d7551aeac23821))
* documentation fix ([`2d9078e`](https://github.com/python-gitlab/python-gitlab/commit/2d9078e8e785e3a17429623693f84bbf8526ee58))
* whitespaces ([`c91230e`](https://github.com/python-gitlab/python-gitlab/commit/c91230e4863932ef8b8781835a37077301fd7440))
* documentation ([`4d31b9c`](https://github.com/python-gitlab/python-gitlab/commit/4d31b9c7b9bddf6ae2da41d2f87c6e92f97122e0))
* fix docstring & improve coding style ([`3cede7b`](https://github.com/python-gitlab/python-gitlab/commit/3cede7bed7caca026ec1bce8991eaac2e43c643a))
* register cli action for delete_in_bulk ([`0b79ce9`](https://github.com/python-gitlab/python-gitlab/commit/0b79ce9c32cbc0bf49d877e123e49e2eb199b8af))
* fix repository_id marshaling in cli ([`340cd37`](https://github.com/python-gitlab/python-gitlab/commit/340cd370000bbb48b81a5b7c1a7bf9f33997cef9))
* merged new release & registry apis ([`910c286`](https://github.com/python-gitlab/python-gitlab/commit/910c2861a3c895cca5aff0a0df1672bb7388c526))
* Merge pull request 773 from python-gitlab/chore/ci-reliable-system
chore(ci): use reliable ci system ([`3dc6413`](https://github.com/python-gitlab/python-gitlab/commit/3dc64131eaec7d08b059039f446cc8d8c4b58c81))
* Merge pull request 769 from python-gitlab/pep-fixes
fix: pep8 errors ([`a730598`](https://github.com/python-gitlab/python-gitlab/commit/a7305980ef4065a6518951fb166b11eec9003b4d))
* Merge pull request 746 from therealgambo/master
add project releases api ([`16de1b0`](https://github.com/python-gitlab/python-gitlab/commit/16de1b03fde3dbbe8f851614dd1d8c09de102fe5))
* Use NoUpdateMixin for now ([`8e55a3c`](https://github.com/python-gitlab/python-gitlab/commit/8e55a3c85f3537e2be1032bf7d28080a4319ec89))
* add project releases api ([`3680545`](https://github.com/python-gitlab/python-gitlab/commit/3680545a01513ed044eb888151d2e2c635cea255))
* Merge pull request 714 from jaraco/feature/runpy-invoke
Add runpy hook, allowing invocation with 'python -m gitlab'. ([`a3a7713`](https://github.com/python-gitlab/python-gitlab/commit/a3a771310de16be7bba041c962223f7bda9aa4d6))
* Add runpy hook. Fixes 713.
Allows for invocation with 'python -m gitlab' ([`cd2a14e`](https://github.com/python-gitlab/python-gitlab/commit/cd2a14ea1bb4feca636de1d660378a3807101e63))
* Merge pull request 738 from jeroendecroos/Gitlab_from_config_inheritance
Make gitlab.Gitlab.from_config a classmethod ([`6bd1902`](https://github.com/python-gitlab/python-gitlab/commit/6bd19027f2cd1cc20d59182d8856f5955e0702e5))
* Make gitlab.Gitlab.from_config a classmethod ([`0b70da3`](https://github.com/python-gitlab/python-gitlab/commit/0b70da335690456a556afb9ff7a56dfca693b019))
* Merge pull request 732 from hakanf/master
Re-enable command specific help messages ([`a6e10f9`](https://github.com/python-gitlab/python-gitlab/commit/a6e10f957aeccd7a1fd4e769f7e3acf6e4683308))
* Use sys.exit as in rest of code ([`6fe2988`](https://github.com/python-gitlab/python-gitlab/commit/6fe2988dd050c05b17556cacac4e283fbf5242a8))
* Re-enable command specific help mesaages
This makes sure that the global help message wont be printed instead of the command spedific one unless we fail to read the configuration file ([`a8caddc`](https://github.com/python-gitlab/python-gitlab/commit/a8caddcb1e193c5472f5521dee0e18b1af32c89b))
* Merge pull request 729 from xarx00/PR-bugfix-716
Fix for 716: %d replaced by %s ([`bc973d4`](https://github.com/python-gitlab/python-gitlab/commit/bc973d450114fcdb2fb8222ab598b5d932585064))
* Fix for 716: %d replaced by %s ([`675f879`](https://github.com/python-gitlab/python-gitlab/commit/675f879c1ec6cf1c77cbf96d8b7b2cd51e1cbaad))
* Merge pull request 725 from python-gitlab/fix/699
fix(api): Make *MemberManager.all() return a list of objects ([`1792442`](https://github.com/python-gitlab/python-gitlab/commit/17924424e5112f5c4b3de16e46856794dea3509b))
* Merge pull request 721 from purificant/fix_typo
fix tiny typo ([`b21fa28`](https://github.com/python-gitlab/python-gitlab/commit/b21fa2854302ef4d9301242ef719eaa509adf077))
* fix tiny typo ([`2023875`](https://github.com/python-gitlab/python-gitlab/commit/20238759d33710ed2d7158bc8ce6123db6760ab9))
* Merge pull request 707 from python-gitlab/fix/python-tests
fix: use python2 compatible syntax for super ([`e58d2a8`](https://github.com/python-gitlab/python-gitlab/commit/e58d2a8567545ce14a6e1ee64423fe12f571b2ca))
* Merge pull request 706 from python-gitlab/chore/ci-existing-release
chore(ci): don't try to publish existing release ([`39cb97d`](https://github.com/python-gitlab/python-gitlab/commit/39cb97d0f15b675f308a052f0c4856d467971f14))
* Merge pull request 702 from jpiron/eq_hash
Implement __eq__ and __hash__ methods ([`a4ea0fe`](https://github.com/python-gitlab/python-gitlab/commit/a4ea0fe6b91d856b30d25c9f0f71ef9cae8f3f08))
* Implement __eq__ and __hash__ methods
To ease lists and sets manipulations. ([`3d60850`](https://github.com/python-gitlab/python-gitlab/commit/3d60850aa42351a0bb0066ef579ade95df5a81ee))
* Merge pull request 705 from python-gitlab/release-1.8.0