diff options
author | Nejc Habjan <hab.nejc@gmail.com> | 2021-06-28 22:18:20 +0200 |
---|---|---|
committer | Nejc Habjan <hab.nejc@gmail.com> | 2021-09-12 13:56:10 +0200 |
commit | 896c2de7899378c9f8fa6d08888dacd3e5f44603 (patch) | |
tree | a33780d6c38302ccaaaff75f56bcde27da88e11b | |
parent | ce4bc0daef355e2d877360c6e496c23856138872 (diff) | |
download | gitlab-896c2de7899378c9f8fa6d08888dacd3e5f44603.tar.gz |
docs: consolidate changelogs and remove v3 API docs
-rw-r--r-- | CHANGELOG.md | 988 | ||||
-rw-r--r-- | ChangeLog.rst | 772 | ||||
-rw-r--r-- | MANIFEST.in | 2 | ||||
-rw-r--r-- | docs/changelog.md | 2 | ||||
-rw-r--r-- | docs/changelog.rst | 1 | ||||
-rw-r--r-- | docs/conf.py | 3 | ||||
-rw-r--r-- | docs/index.rst | 3 | ||||
-rw-r--r-- | docs/release-notes.rst (renamed from RELEASE_NOTES.rst) | 4 | ||||
-rw-r--r-- | docs/release_notes.rst | 1 | ||||
-rw-r--r-- | docs/switching-to-v4.rst | 115 | ||||
-rw-r--r-- | requirements-docs.txt | 1 |
11 files changed, 998 insertions, 894 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md index d37559d..a6fb8cc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -68,3 +68,991 @@ * Fix typo in http_delete docstring ([`5226f09`](https://github.com/python-gitlab/python-gitlab/commit/5226f095c39985d04c34e7703d60814e74be96f8)) * **api:** Add behavior in local attributes when updating objects ([`38f65e8`](https://github.com/python-gitlab/python-gitlab/commit/38f65e8e9994f58bdc74fe2e0e9b971fc3edf723)) * Fail on warnings during sphinx build ([`cbd4d52`](https://github.com/python-gitlab/python-gitlab/commit/cbd4d52b11150594ec29b1ce52348c1086a778c8)) + +## v2.7.1 (2021-04-26) + +* fix(files): do not url-encode file paths twice + +## v2.7.0 (2021-04-25) + +### Bug Fixes + +* update user's bool data and avatar (3ba27ffb) +* argument type was not a tuple as expected (062f8f6a) +* correct some type-hints in gitlab/mixins.py (8bd31240) +* only append kwargs as query parameters (b9ecc9a8) +* only add query_parameters to GitlabList once (1386) +* checking if RESTManager._from_parent_attrs is set (8224b406) +* handling config value in _get_values_from_helper (9dfb4cd9) +* let the homedir be expanded in path of helper (fc7387a0) +* make secret helper more user friendly (fc2798fc) +* linting issues and test (b04dd2c0) +* handle tags like debian/2%2.6-21 as identifiers (b4dac5ce) +* remove duplicate class definitions in v4/objects/users.py (7c4e6259) +* wrong variable name (15ec41ca) +* tox pep8 target, so that it can run (f518e87b) +* undefined name errors (48ec9e0f) +* extend wait timeout for test_delete_user() (19fde8ed) +* test_update_group() dependency on ordering (e78a8d63) +* honor parameter value passed (c2f8f0e7) +* **objects:** add single get endpoint for instance audit events (c3f0a6f1) +* **types:** prevent __dir__ from producing duplicates (5bf7525d) + +### Features + +* add ProjectPackageFile (#1372) +* add option to add a helper to lookup token (8ecf5592) +* add project audit endpoint (6660dbef) +* add personal access token API (2bb16fac) +* add import from bitbucket server (ff3013a2) +* **api,cli:** make user agent configurable (4bb201b9) +* **issues:** add missing get verb to IssueManager (f78ebe06) +* **objects:** + * add support for resource state events API (d4799c40) + * add support for group audit events API (2a0fbdf9) + * add Release Links API support (28d75181) +* **projects:** add project access token api (1becef02) +* **users:** add follow/unfollow API (e456869d) + +### Documentation +* correct ProjectFile.decode() documentation (b180bafd) +* update doc for token helper (3ac6fa12) +* better real life token lookup example (9ef83118) + +## v2.6.0 (2021-01-29) + +### Features + +* support multipart uploads (2fa3004d) +* add MINIMAL_ACCESS constant (49eb3ca7) +* unit tests added (f37ebf5f) +* added support for pipeline bridges (05cbdc22) +* adds support for project merge request approval rules (#1199) (c6fbf399) +* **api:** + * added wip filter param for merge requests (d6078f80) + * added wip filter param for merge requests (aa6e80d5) + * add support for user identity provider deletion (e78e1215) +* **tests:** test label getter (a41af902) + +### Bug Fixes + +* docs changed using the consts (650b65c3) +* typo (9baa9053) +* **api:** + * use RetrieveMixin for ProjectLabelManager (1a143952) + * add missing runner access_level param (92669f2e) +* **base:** really refresh object (e1e0d8cb), closes (#1155) +* **cli:** + * write binary data to stdout buffer (0733ec6c) + * add missing args for project lists (c73e2374) + +## v2.5.0 (2020-09-01) + +### Features + +* add support to resource milestone events (88f8cc78), closes #1154 +* add share/unshare group with group (7c6e541d) +* add support for instance variables (4492fc42) +* add support for Packages API (71495d12) +* add endpoint for latest ref artifacts (b7a07fca) + +### Bug Fixes + +* wrong reconfirmation parameter when updating user's email (b5c267e1) +* tests fail when using REUSE_CONTAINER option ([0078f899](https://github.com/python-gitlab/python-gitlab/commit/0078f8993c38df4f02da9aaa3f7616d1c8b97095), closes #1146 +* implement Gitlab's behavior change for owned=True (99777991) + +## v2.4.0 (2020-07-09) + +### Bug Fixes + +* do not check if kwargs is none (a349b90e) +* make query kwargs consistent between call in init and next (72ffa016) +* pass kwargs to subsequent queries in gitlab list (1d011ac7) +* **merge:** parse arguments as query_data (878098b7) + +### Features + +* add NO_ACCESS const (dab4d0a1) +* add masked parameter for variables command (b6339bf8) + +## v2.3.1 (2020-06-09) + +* revert keyset pagination by default + +## v2.3.0 (2020-06-08) + +### Features + +* add group runners api (49439916) +* add play command to project pipeline schedules (07b99881) +* allow an environment variable to specify config location (401e702a) +* **api:** added support in the GroupManager to upload Group avatars (28eb7eab) +* **services:** add project service list API (fc522218) +* **types:** add __dir__ to RESTObject to expose attributes (cad134c0) + +### Bug Fixes + +* use keyset pagination by default for /projects > 50000 (f86ef3bb) +* **config:** fix duplicate code (ee2df6f1), closes (#1094) +* **project:** add missing project parameters (ad8c67d6) + +## v2.2.0 (2020-04-07) + +### Bug Fixes + +* add missing import_project param (9b16614b) +* **types:** do not split single value string in ListAttribute (a26e5858) + +### Features + +* add commit GPG signature API (da7a8097) +* add create from template args to ProjectManager (f493b73e) +* add remote mirrors API (#1056) (4cfaa2fd) +* add Gitlab Deploy Token API (01de524c) +* add Group Import/Export API (#1037) (6cb9d923) + +## v2.1.2 (2020-03-09) + +### Bug Fixes + +* Fix regression, when using keyset pagination with merge requests. Related to https://github.com/python-gitlab/python-gitlab/issues/1044 + +## v2.1.1 (2020-03-09) + +### Bug Fixes + +**users**: update user attributes + +This change was made to migate an issue in Gitlab (again). Fix available in: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/26792 + +## v2.1.0 (2020-03-08) + +### Bug Fixes + +* do not require empty data dict for create() (99d959f7) +* remove trailing slashes from base URL (#913) (2e396e4a) +* return response with commit data (b77b945c) +* remove null values from features POST data, because it fails with HTTP 500 (1ec1816d) +* **docs:** + * fix typo in user memberships example (33889bcb) + * update to new set approvers call for # of approvers (8e0c5262) + * update docs and tests for set_approvers (2cf12c79) +* **objects:** + * add default name data and use http post (70c0cfb6) + * update set_approvers function call (65ecadcf) + * update to new gitlab api for path, and args (e512cddd) + +### Features + +* add support for user memberships API (#1009) (c313c2b0) +* add support for commit revert API (#991) (5298964e) +* add capability to control GitLab features per project or group (7f192b4f) +* use keyset pagination by default for `all=True` (99b4484d) +* add support for GitLab OAuth Applications API (4e12356d) + +## v2.0.1 (2020-02-05) + +### Changes + +* **users:** update user attributes + +This change was made to migate an issue in Gitlab. See: https://gitlab.com/gitlab-org/gitlab/issues/202070 + +## v2.0.0 (2020-01-26) + +### This releases drops support for python < 3.6 + +### Bug Fixes + +* **projects:** adjust snippets to match the API (e104e213) + +### Features + +* add global order_by option to ease pagination (d1879253) +* support keyset pagination globally (0b71ba4d) +* add appearance API (4c4ac5ca) +* add autocompletion support (973cb8b9) + +## v1.15.0 (2019-12-16) + +### Bug Fixes + +* ignore all parameter, when as_list=True 137d72b3, closes #962 + +### Features + +* allow cfg timeout to be overrided via kwargs e9a8289a +* add support for /import/github aa4d41b7 +* nicer stacktrace 697cda24 +* retry transient HTTP errors 59fe2714, closes #970 +* access project's issues statistics 482e57ba, closes #966 +* adding project stats db0b00a9, closes #967 +* add variable_type/protected to projects ci variables 4724c50e +* add variable_type to groups ci variables 0986c931 + +## v1.14.0 (2019-12-07) + +### Bug Fixes + +* added missing attributes for project approvals 460ed63c +* **labels:** ensure label.save() works 727f5361 +* **project-fork:** + * copy create fix from ProjectPipelineManager 516307f1 + * correct path computation for project-fork list 44a7c278 + +### Features + +* add audit endpoint 2534020b +* add project and group clusters ebd053e7 +* add support for include_subgroups filter adbcd83f + + +## v1.13.0 (2019-11-02) + +### Features + +* add users activate, deactivate functionality (32ad6692) +* send python-gitlab version as user-agent (c22d49d0) +* add deployment creation (ca256a07), closes [#917] +* **auth:** remove deprecated session auth (b751cdf4) +* **doc:** remove refs to api v3 in docs (6beeaa99) +* **test:** unused unittest2, type -> isinstance (33b18012) + +### Bug Fixes + +* **projects:** support `approval_rules` endpoint for projects (2cef2bb4) + +## v1.12.1 (2019-10-07) + +### Bug Fixes + +fix: fix not working without auth provided + +## v1.12.0 (2019-10-06) + +### Features + +* add support for job token +* **project:** + * implement update_submodule + * add file blame api +* **user:** add status api + +### Bug Fixes + +* **cli:** fix cli command user-project list +* **labels:** don't mangle label name on update +* **todo:** mark_all_as_done doesn't return anything + +## v1.11.0 (2019-08-31) + +### Features + +* add methods to retrieve an individual project environment +* group labels with subscriptable mixin + +### Bug Fixes + +* projects: avatar uploading for projects +* remove empty list default arguments +* remove empty dict default arguments +* add project and group label update without id to fix cli + +## v1.10.0 (2019-07-22) + +### Features + +* add mr rebase method bc4280c2 +* get artifact by ref and job cda11745 +* add support for board update 908d79fa, closes #801 +* add support for issue.related_merge_requests 90a36315, closes #794 + +### Bug Fixes + +* improve pickle support b4b5decb +* **cli:** + * allow --recursive parameter in repository tree 7969a78c, closes #718, #731 + * don't fail when the short print attr value is None 8d1552a0, closes #717, #727 + * fix update value for key not working b7662039 + + +## v1.9.0 (2019-06-19) + +### Features + +* implement artifacts deletion +* add endpoint to get the variables of a pipeline +* delete ProjectPipeline +* implement __eq__ and __hash__ methods +* Allow runpy invocation of CLI tool (python -m gitlab) +* add project releases api +* merged new release & registry apis + +### Bug Fixes + +* convert # to %23 in URLs +* pep8 errors +* use python2 compatible syntax for super +* Make MemberManager.all() return a list of objects +* %d replaced by %s +* Re-enable command specific help messages +* dont ask for id attr if this is \*Manager originating custom action +* fix -/_ replacament for \*Manager custom actions +* fix repository_id marshaling in cli +* register cli action for delete_in_bulk + +## v1.8.0 (2019-02-22) + +* docs(setup): use proper readme on PyPI +* docs(readme): provide commit message guidelines +* fix(api): make reset_time_estimate() work again +* fix: handle empty 'Retry-After' header from GitLab +* fix: remove decode() on error_message string +* chore: release tags to PyPI automatically +* fix(api): avoid parameter conflicts with python and gitlab +* fix(api): Don't try to parse raw downloads +* feat: Added approve & unapprove method for Mergerequests +* fix all kwarg behaviour + +## v1.7.0 (2018-12-09) + +* **docs:** Fix the owned/starred usage documentation +* **docs:** Add a warning about http to https redirects +* Fix the https redirection test +* **docs:** Add a note about GroupProject limited API +* Add missing comma in ProjectIssueManager _create_attrs +* More flexible docker image +* Add project protected tags management +* **cli:** Print help and usage without config file +* Rename MASTER_ACCESS to MAINTAINER_ACCESS +* **docs:** Add docs build information +* Use docker image with current sources +* **docs:** Add PyYAML requirement notice +* Add Gitter badge to README +* **docs:** Add an example of pipeline schedule vars listing +* **cli:** Exit on config parse error, instead of crashing +* Add support for resource label events +* **docs:** Fix the milestone filetring doc (iid -> iids) +* **docs:** Fix typo in custom attributes example +* Improve error message handling in exceptions +* Add support for members all() method +* Add access control options to protected branch creation + +## v1.6.0 (2018-08-25) + +* **docs:** Don't use hardcoded values for ids +* **docs:** Improve the snippets examples +* **cli:** Output: handle bytes in API responses +* **cli:** Fix the case where we have nothing to print +* Project import: fix the override_params parameter +* Support group and global MR listing +* Implement MR.pipelines() +* MR: add the squash attribute for create/update +* Added support for listing forks of a project +* **docs:** Add/update notes about read-only objects +* Raise an exception on https redirects for PUT/POST +* **docs:** Add a FAQ +* **cli:** Fix the project-export download + +## v1.5.1 (2018-06-23) + +* Fix the ProjectPipelineJob base class (regression) + +## v1.5.0 (2018-06-22) + +* Drop API v3 support +* Drop GetFromListMixin +* Update the sphinx extension for v4 objects +* Add support for user avatar upload +* Add support for project import/export +* Add support for the search API +* Add a global per_page config option +* Add support for the discussions API +* Add support for merged branches deletion +* Add support for Project badges +* Implement user_agent_detail for snippets +* Implement commit.refs() +* Add commit.merge_requests() support +* Deployment: add list filters +* Deploy key: add missing attributes +* Add support for environment stop() +* Add feature flags deletion support +* Update some group attributes +* Issues: add missing attributes and methods +* Fix the participants() decorator +* Add support for group boards +* Implement the markdown rendering API +* Update MR attributes +* Add pipeline listing filters +* Add missing project attributes +* Implement runner jobs listing +* Runners can be created (registered) +* Implement runner token validation +* Update the settings attributes +* Add support for the gitlab CI lint API +* Add support for group badges +* Fix the IssueManager path to avoid redirections +* time_stats(): use an existing attribute if available +* Make ProjectCommitStatus.create work with CLI +* Tests: default to python 3 +* ProjectPipelineJob was defined twice +* Silence logs/warnings in unittests +* Add support for MR approval configuration (EE) +* Change post_data default value to None +* Add geo nodes API support (EE) +* Add support for issue links (EE) +* Add support for LDAP groups (EE) +* Add support for board creation/deletion (EE) +* Add support for Project.pull_mirror (EE) +* Add project push rules configuration (EE) +* Add support for the EE license API +* Add support for the LDAP groups API (EE) +* Add support for epics API (EE) +* Fix the non-verbose output of ProjectCommitComment + +## v1.4.0 (2018-05-19) + +* Require requests>=2.4.2 +* ProjectKeys can be updated +* Add support for unsharing projects (v3/v4) +* **cli:** fix listing for json and yaml output +* Fix typos in documentation +* Introduce RefreshMixin +* **docs:** Fix the time tracking examples +* **docs:** Commits: add an example of binary file creation +* **cli:** Allow to read args from files +* Add support for recursive tree listing +* **cli:** Restore the --help option behavior +* Add basic unit tests for v4 CLI +* **cli:** Fix listing of strings +* Support downloading a single artifact file +* Update docs copyright years +* Implement attribute types to handle special cases +* **docs:** fix GitLab reference for notes +* Expose additional properties for Gitlab objects +* Fix the impersonation token deletion example +* feat: obey the rate limit +* Fix URL encoding on branch methods +* **docs:** add a code example for listing commits of a MR +* **docs:** update service.available() example for API v4 +* **tests:** fix functional tests for python3 +* api-usage: bit more detail for listing with `all` +* More efficient .get() for group members +* Add docs for the `files` arg in http_* +* Deprecate GetFromListMixin + +## v1.3.0 (2018-02-18) + +* Add support for pipeline schedules and schedule variables +* Clarify information about supported python version +* Add manager for jobs within a pipeline +* Fix wrong tag example +* Update the groups documentation +* Add support for MR participants API +* Add support for getting list of user projects +* Add Gitlab and User events support +* Make trigger_pipeline return the pipeline +* Config: support api_version in the global section +* Gitlab can be used as context manager +* Default to API v4 +* Add a simplified example for streamed artifacts +* Add documentation about labels update + +## v1.2.0 (2018-01-01) + +* Add mattermost service support +* Add users custom attributes support +* **doc:** Fix project.triggers.create example with v4 API +* Oauth token support +* Remove deprecated objects/methods +* Rework authentication args handling +* Add support for oauth and anonymous auth in config/CLI +* Add support for impersonation tokens API +* Add support for user activities +* Update user docs with gitlab URLs +* **docs:** Bad arguments in projects file documentation +* Add support for user_agent_detail (issues) +* Add a SetMixin +* Add support for project housekeeping +* Expected HTTP response for subscribe is 201 +* Update pagination docs for ProjectCommit +* Add doc to get issue from iid +* Make todo() raise GitlabTodoError on error +* Add support for award emojis +* Update project services docs for v4 +* Avoid sending empty update data to issue.save +* **docstrings:** Explicitly document pagination arguments +* **docs:** Add a note about password auth being removed from GitLab +* Submanagers: allow having undefined parameters +* ProjectFile.create(): don't modify the input data +* Update testing tools for /session removal +* Update groups tests +* Allow per_page to be used with generators +* Add groups listing attributes +* Add support for subgroups listing +* Add supported python versions in setup.py +* Add support for pagesdomains +* Add support for features flags +* Add support for project and group custom variables +* Add support for user/group/project filter by custom attribute +* Respect content of REQUESTS_CA_BUNDLE and \*_proxy envvars + +## v1.1.0 (2017-11-03) + +* Fix trigger variables in v4 API +* Make the delete() method handle / in ids +* **docs:** update the file upload samples +* Tags release description: support / in tag names +* **docs:** improve the labels usage documentation +* Add support for listing project users +* ProjectFileManager.create: handle / in file paths +* Change ProjectUser and GroupProject base class +* **docs:** document `get_create_attrs` in the API tutorial +* Document the Gitlab session parameter +* ProjectFileManager: custom update() method +* Project: add support for printing_merge_request_link_enabled attr +* Update the ssl_verify docstring +* Add support for group milestones +* Add support for GPG keys +* Add support for wiki pages +* Update the repository_blob documentation +* Fix the CLI for objects without ID (API v4) +* Add a contributed Dockerfile +* Pagination generators: expose more information +* Module's base objects serialization +* **doc:** Add sample code for client-side certificates + +## v1.0.2 (2017-09-29) + +* **docs:** remove example usage of submanagers +* Properly handle the labels attribute in ProjectMergeRequest +* ProjectFile: handle / in path for delete() and save() + +## v1.0.1 (2017-09-21) + +* Tags can be retrieved by ID +* Add the server response in GitlabError exceptions +* Add support for project file upload +* Minor typo fix in "Switching to v4" documentation +* Fix password authentication for v4 +* Fix the labels attrs on MR and issues +* Exceptions: use a proper error message +* Fix http_get method in get artifacts and job trace +* CommitStatus: `sha` is parent attribute +* Fix a couple listing calls to allow proper pagination +* Add missing doc file + +## v1.0.0 (2017-09-08) + +* Support for API v4. See + http://python-gitlab.readthedocs.io/en/master/switching-to-v4.html +* Support SSL verification via internal CA bundle +* Docs: Add link to gitlab docs on obtaining a token +* Added dependency injection support for Session +* Fixed repository_compare examples +* Fix changelog and release notes inclusion in sdist +* Missing expires_at in GroupMembers update +* Add lower-level methods for Gitlab() + +## v0.21.2 (2017-06-11) + +* Install doc: use sudo for system commands +* **v4:** Make MR work properly +* Remove extra_attrs argument from `_raw_list` +* **v4:** Make project issues work properly +* Fix urlencode() usage (python 2/3) (#268) +* Fixed spelling mistake (#269) +* Add new event types to ProjectHook + +## v0.21.1 (2017-05-25) + +* Fix the manager name for jobs in the Project class +* Fix the docs + +## v0.21 (2017-05-24) + +* Add time_stats to ProjectMergeRequest +* Update User options for creation and update (#246) +* Add milestone.merge_requests() API +* Fix docs typo (s/correspnding/corresponding/) +* Support milestone start date (#251) +* Add support for priority attribute in labels (#256) +* Add support for nested groups (#257) +* Make GroupProjectManager a subclass of ProjectManager (#255) +* Available services: return a list instead of JSON (#258) +* MR: add support for time tracking features (#248) +* Fixed repository_tree and repository_blob path encoding (#265) +* Add 'search' attribute to projects.list() +* Initial gitlab API v4 support +* Reorganise the code to handle v3 and v4 objects +* Allow 202 as delete return code +* Deprecate parameter related methods in gitlab.Gitlab + +## v0.20 (2017-03-25) + +* Add time tracking support (#222) +* Improve changelog (#229, #230) +* Make sure that manager objects are never overwritten (#209) +* Include chanlog and release notes in docs +* Add DeployKey{,Manager} classes (#212) +* Add support for merge request notes deletion (#227) +* Properly handle extra args when listing with all=True (#233) +* Implement pipeline creation API (#237) +* Fix spent_time methods +* Add 'delete source branch' option when creating MR (#241) +* Provide API wrapper for cherry picking commits (#236) +* Stop listing if recursion limit is hit (#234) + +## v0.19 (2017-02-21) + +* Update project.archive() docs +* Support the scope attribute in runners.list() +* Add support for project runners +* Add support for commit creation +* Fix install doc +* Add builds-email and pipelines-email services +* Deploy keys: rework enable/disable +* Document the dynamic aspect of objects +* Add pipeline_events to ProjectHook attrs +* Add due_date attribute to ProjectIssue +* Handle settings.domain_whitelist, partly +* {Project,Group}Member: support expires_at attribute + +## v0.18 (2016-12-27) + +* Fix JIRA service editing for GitLab 8.14+ +* Add jira_issue_transition_id to the JIRA service optional fields +* Added support for Snippets (new API in Gitlab 8.15) +* **docs:** update pagination section +* **docs:** artifacts example: open file in wb mode +* **CLI:** ignore empty arguments +* **CLI:** Fix wrong use of arguments +* **docs:** Add doc for snippets +* Fix duplicated data in API docs +* Update known attributes for projects +* sudo: always use strings + +## v0.17 (2016-12-02) + +* README: add badges for pypi and RTD +* Fix ProjectBuild.play (raised error on success) +* Pass kwargs to the object factory +* Add .tox to ignore to respect default tox settings +* Convert response list to single data source for iid requests +* Add support for boards API +* Add support for Gitlab.version() +* Add support for broadcast messages API +* Add support for the notification settings API +* Don't overwrite attributes returned by the server +* Fix bug when retrieving changes for merge request +* Feature: enable / disable the deploy key in a project +* Docs: add a note for python 3.5 for file content update +* ProjectHook: support the token attribute +* Rework the API documentation +* Fix docstring for http_{username,password} +* Build managers on demand on GitlabObject's +* API docs: add managers doc in GitlabObject's +* Sphinx ext: factorize the build methods +* Implement `__repr__` for gitlab objects +* Add a 'report a bug' link on doc +* Remove deprecated methods +* Implement merge requests diff support +* Make the manager objects creation more dynamic +* Add support for templates API +* Add attr 'created_at' to ProjectIssueNote +* Add attr 'updated_at' to ProjectIssue +* CLI: add support for project all --all +* Add support for triggering a new build +* Rework requests arguments (support latest requests release) +* Fix `should_remove_source_branch` + +## v0.16 (2016-10-16) + +* Add the ability to fork to a specific namespace +* JIRA service - add api_url to optional attributes +* Fix bug: Missing coma concatenates array values +* docs: branch protection notes +* Create a project in a group +* Add only_allow_merge_if_build_succeeds option to project objects +* Add support for --all in CLI +* Fix examples for file modification +* Use the plural merge_requests URL everywhere +* Rework travis and tox setup +* Workaround gitlab setup failure in tests +* Add ProjectBuild.erase() +* Implement ProjectBuild.play() + +## v0.15.1 (2016-10-16) + +* docs: improve the pagination section +* Fix and test pagination +* 'path' is an existing gitlab attr, don't use it as method argument + +## v0.15 (2016-08-28) + +* Add a basic HTTP debug method +* Run more tests in travis +* Fix fork creation documentation +* Add more API examples in docs +* Update the ApplicationSettings attributes +* Implement the todo API +* Add sidekiq metrics support +* Move the constants at the gitlab root level +* Remove methods marked as deprecated 7 months ago +* Refactor the Gitlab class +* Remove _get_list_or_object() and its tests +* Fix canGet attribute (typo) +* Remove unused ProjectTagReleaseManager class +* Add support for project services API +* Add support for project pipelines +* Add support for access requests +* Add support for project deployments + +## v0.14 (2016-08-07) + +* Remove 'next_url' from kwargs before passing it to the cls constructor. +* List projects under group +* Add support for subscribe and unsubscribe in issues +* Project issue: doc and CLI for (un)subscribe +* Added support for HTTP basic authentication +* Add support for build artifacts and trace +* --title is a required argument for ProjectMilestone +* Commit status: add optional context url +* Commit status: optional get attrs +* Add support for commit comments +* Issues: add optional listing parameters +* Issues: add missing optional listing parameters +* Project issue: proper update attributes +* Add support for project-issue move +* Update ProjectLabel attributes +* Milestone: optional listing attrs +* Add support for namespaces +* Add support for label (un)subscribe +* MR: add (un)subscribe support +* Add `note_events` to project hooks attributes +* Add code examples for a bunch of resources +* Implement user emails support +* Project: add VISIBILITY_* constants +* Fix the Project.archive call +* Implement archive/unarchive for a projet +* Update ProjectSnippet attributes +* Fix ProjectMember update +* Implement sharing project with a group +* Implement CLI for project archive/unarchive/share +* Implement runners global API +* Gitlab: add managers for build-related resources +* Implement ProjectBuild.keep_artifacts +* Allow to stream the downloads when appropriate +* Groups can be updated +* Replace Snippet.Content() with a new content() method +* CLI: refactor _die() +* Improve commit statuses and comments +* Add support from listing group issues +* Added a new project attribute to enable the container registry. +* Add a contributing section in README +* Add support for global deploy key listing +* Add support for project environments +* MR: get list of changes and commits +* Fix the listing of some resources +* MR: fix updates +* Handle empty messages from server in exceptions +* MR (un)subscribe: don't fail if state doesn't change +* MR merge(): update the object + +## v0.13 (2016-05-16) + +* Add support for MergeRequest validation +* MR: add support for cancel_merge_when_build_succeeds +* MR: add support for closes_issues +* Add "external" parameter for users +* Add deletion support for issues and MR +* Add missing group creation parameters +* Add a Session instance for all HTTP requests +* Enable updates on ProjectIssueNotes +* Add support for Project raw_blob +* Implement project compare +* Implement project contributors +* Drop the next_url attribute when listing +* Remove unnecessary canUpdate property from ProjectIssuesNote +* Add new optional attributes for projects +* Enable deprecation warnings for gitlab only +* Rework merge requests update +* Rework the Gitlab.delete method +* ProjectFile: file_path is required for deletion +* Rename some methods to better match the API URLs +* Deprecate the file_* methods in favor of the files manager +* Implement star/unstar for projects +* Implement list/get licenses +* Manage optional parameters for list() and get() + +## v0.12.2 (2016-03-19) + +* Add new `ProjectHook` attributes +* Add support for user block/unblock +* Fix GitlabObject creation in _custom_list +* Add support for more CLI subcommands +* Add some unit tests for CLI +* Add a coverage tox env +* Define `GitlabObject.as_dict()` to dump object as a dict +* Define `GitlabObject.__eq__()` and `__ne__()` equivalence methods +* Define UserManager.search() to search for users +* Define UserManager.get_by_username() to get a user by username +* Implement "user search" CLI +* Improve the doc for UserManager +* CLI: implement user get-by-username +* Re-implement _custom_list in the Gitlab class +* Fix the 'invalid syntax' error on Python 3.2 +* Gitlab.update(): use the proper attributes if defined + +## v0.12.1 (2016-02-03) + +* Fix a broken upload to pypi + +## v0.12 (2016-02-03) + +* Improve documentation +* Improve unit tests +* Improve test scripts +* Skip BaseManager attributes when encoding to JSON +* Fix the json() method for python 3 +* Add Travis CI support +* Add a decode method for ProjectFile +* Make connection exceptions more explicit +* Fix ProjectLabel get and delete +* Implement ProjectMilestone.issues() +* ProjectTag supports deletion +* Implement setting release info on a tag +* Implement project triggers support +* Implement project variables support +* Add support for application settings +* Fix the 'password' requirement for User creation +* Add sudo support +* Fix project update +* Fix Project.tree() +* Add support for project builds + +## v0.11.1 (2016-01-17) + +* Fix discovery of parents object attrs for managers +* Support setting commit status +* Support deletion without getting the object first +* Improve the documentation + +## v0.11 (2016-01-09) + +* functional_tests.sh: support python 2 and 3 +* Add a get method for GitlabObject +* CLI: Add the -g short option for --gitlab +* Provide a create method for GitlabObject's +* Rename the `_created` attribute `_from_api` +* More unit tests +* CLI: fix error when arguments are missing (python 3) +* Remove deprecated methods +* Implement managers to get access to resources +* Documentation improvements +* Add fork project support +* Deprecate the "old" Gitlab methods +* Add support for groups search + +## v0.10 (2015-12-29) + +* Implement pagination for list() (#63) +* Fix url when fetching a single MergeRequest +* Add support to update MergeRequestNotes +* API: Provide a Gitlab.from_config method +* setup.py: require requests>=1 (#69) +* Fix deletion of object not using 'id' as ID (#68) +* Fix GET/POST for project files +* Make 'confirm' an optional attribute for user creation +* Python 3 compatibility fixes +* Add support for group members update (#73) + +## v0.9.2 (2015-07-11) + +* CLI: fix the update and delete subcommands (#62) + +## v0.9.1 (2015-05-15) + +* Fix the setup.py script + +## v0.9 (2015-05-15) + +* Implement argparse library for parsing argument on CLI +* Provide unit tests and (a few) functional tests +* Provide PEP8 tests +* Use tox to run the tests +* CLI: provide a --config-file option +* Turn the gitlab module into a proper package +* Allow projects to be updated +* Use more pythonic names for some methods +* Deprecate some Gitlab object methods: + * `raw*` methods should never have been exposed; replace them with `_raw_*` methods + * setCredentials and setToken are replaced with set_credentials and set_token +* Sphinx: don't hardcode the version in `conf.py` + +## v0.8 (2014-10-26) + +* Better python 2.6 and python 3 support +* Timeout support in HTTP requests +* Gitlab.get() raised GitlabListError instead of GitlabGetError +* Support api-objects which don't have id in api response +* Add ProjectLabel and ProjectFile classes +* Moved url attributes to separate list +* Added list for delete attributes + +## v0.7 (2014-08-21) + +* Fix license classifier in `setup.py` +* Fix encoding error when printing to redirected output +* Fix encoding error when updating with redirected output +* Add support for UserKey listing and deletion +* Add support for branches creation and deletion +* Support state_event in ProjectMilestone (#30) +* Support namespace/name for project id (#28) +* Fix handling of boolean values (#22) + +## v0.6 (2014-01-16) + +* IDs can be unicode (#15) +* ProjectMember: constructor should not create a User object +* Add support for extra parameters when listing all projects (#12) +* Projects listing: explicitly define arguments for pagination + +## v0.5 (2013-12-26) + +* Add SSH key for user +* Fix comments +* Add support for project events +* Support creation of projects for users +* Project: add methods for create/update/delete files +* Support projects listing: search, all, owned +* System hooks can't be updated +* Project.archive(): download tarball of the project +* Define new optional attributes for user creation +* Provide constants for access permissions in groups + +## v0.4 (2013-09-26) + +* Fix strings encoding (Closes #6) +* Allow to get a project commit (GitLab 6.1) +* ProjectMergeRequest: fix Note() method +* Gitlab 6.1 methods: diff, blob (commit), tree, blob (project) +* Add support for Gitlab 6.1 group members + +## v0.3 (2013-08-27) + +* Use PRIVATE-TOKEN header for passing the auth token +* provide an AUTHORS file +* cli: support ssl_verify config option +* Add ssl_verify option to Gitlab object. Defaults to True +* Correct url for merge requests API. + +## v0.2 (2013-08-08) + +* provide a pip requirements.txt +* drop some debug statements + +## v0.1 (2013-07-08) + +* Initial release diff --git a/ChangeLog.rst b/ChangeLog.rst deleted file mode 100644 index ea0478f..0000000 --- a/ChangeLog.rst +++ /dev/null @@ -1,772 +0,0 @@ -ChangeLog - Moved to GitHub releases -==================================== - -The changes of newer versions can be found at https://github.com/python-gitlab/python-gitlab/releases - -Version 1.9.0_ - 2019-06-19 ---------------------------- - -Features -^^^^^^^^ - -- implement artifacts deletion -- add endpoint to get the variables of a pipeline -- delete ProjectPipeline -- implement __eq__ and __hash__ methods -- Allow runpy invocation of CLI tool (python -m gitlab) -- add project releases api -- merged new release & registry apis - -Bug Fixes -^^^^^^^^^ - -- convert # to %23 in URLs -- pep8 errors -- use python2 compatible syntax for super -- Make MemberManager.all() return a list of objects -- %d replaced by %s -- Re-enable command specific help messages -- dont ask for id attr if this is \*Manager originating custom action -- fix -/_ replacament for \*Manager custom actions -- fix repository_id marshaling in cli -- register cli action for delete_in_bulk - -Version 1.8.0_ - 2019-02-22 ---------------------------- - -* docs(setup): use proper readme on PyPI -* docs(readme): provide commit message guidelines -* fix(api): make reset_time_estimate() work again -* fix: handle empty 'Retry-After' header from GitLab -* fix: remove decode() on error_message string -* chore: release tags to PyPI automatically -* fix(api): avoid parameter conflicts with python and gitlab -* fix(api): Don't try to parse raw downloads -* feat: Added approve & unapprove method for Mergerequests -* fix all kwarg behaviour - -Version 1.7.0_ - 2018-12-09 ---------------------------- - -* [docs] Fix the owned/starred usage documentation -* [docs] Add a warning about http to https redirects -* Fix the https redirection test -* [docs] Add a note about GroupProject limited API -* Add missing comma in ProjectIssueManager _create_attrs -* More flexible docker image -* Add project protected tags management -* [cli] Print help and usage without config file -* Rename MASTER_ACCESS to MAINTAINER_ACCESS -* [docs] Add docs build information -* Use docker image with current sources -* [docs] Add PyYAML requirement notice -* Add Gitter badge to README -* [docs] Add an example of pipeline schedule vars listing -* [cli] Exit on config parse error, instead of crashing -* Add support for resource label events -* [docs] Fix the milestone filetring doc (iid -> iids) -* [docs] Fix typo in custom attributes example -* Improve error message handling in exceptions -* Add support for members all() method -* Add access control options to protected branch creation - -Version 1.6.0_ - 2018-08-25 ---------------------------- - -* [docs] Don't use hardcoded values for ids -* [docs] Improve the snippets examples -* [cli] Output: handle bytes in API responses -* [cli] Fix the case where we have nothing to print -* Project import: fix the override_params parameter -* Support group and global MR listing -* Implement MR.pipelines() -* MR: add the squash attribute for create/update -* Added support for listing forks of a project -* [docs] Add/update notes about read-only objects -* Raise an exception on https redirects for PUT/POST -* [docs] Add a FAQ -* [cli] Fix the project-export download - -Version 1.5.1_ - 2018-06-23 ---------------------------- - -* Fix the ProjectPipelineJob base class (regression) - -Version 1.5.0_ - 2018-06-22 ---------------------------- - -* Drop API v3 support -* Drop GetFromListMixin -* Update the sphinx extension for v4 objects -* Add support for user avatar upload -* Add support for project import/export -* Add support for the search API -* Add a global per_page config option -* Add support for the discussions API -* Add support for merged branches deletion -* Add support for Project badges -* Implement user_agent_detail for snippets -* Implement commit.refs() -* Add commit.merge_requests() support -* Deployment: add list filters -* Deploy key: add missing attributes -* Add support for environment stop() -* Add feature flags deletion support -* Update some group attributes -* Issues: add missing attributes and methods -* Fix the participants() decorator -* Add support for group boards -* Implement the markdown rendering API -* Update MR attributes -* Add pipeline listing filters -* Add missing project attributes -* Implement runner jobs listing -* Runners can be created (registered) -* Implement runner token validation -* Update the settings attributes -* Add support for the gitlab CI lint API -* Add support for group badges -* Fix the IssueManager path to avoid redirections -* time_stats(): use an existing attribute if available -* Make ProjectCommitStatus.create work with CLI -* Tests: default to python 3 -* ProjectPipelineJob was defined twice -* Silence logs/warnings in unittests -* Add support for MR approval configuration (EE) -* Change post_data default value to None -* Add geo nodes API support (EE) -* Add support for issue links (EE) -* Add support for LDAP groups (EE) -* Add support for board creation/deletion (EE) -* Add support for Project.pull_mirror (EE) -* Add project push rules configuration (EE) -* Add support for the EE license API -* Add support for the LDAP groups API (EE) -* Add support for epics API (EE) -* Fix the non-verbose output of ProjectCommitComment - -Version 1.4.0_ - 2018-05-19 ---------------------------- - -* Require requests>=2.4.2 -* ProjectKeys can be updated -* Add support for unsharing projects (v3/v4) -* [cli] fix listing for json and yaml output -* Fix typos in documentation -* Introduce RefreshMixin -* [docs] Fix the time tracking examples -* [docs] Commits: add an example of binary file creation -* [cli] Allow to read args from files -* Add support for recursive tree listing -* [cli] Restore the --help option behavior -* Add basic unit tests for v4 CLI -* [cli] Fix listing of strings -* Support downloading a single artifact file -* Update docs copyright years -* Implement attribute types to handle special cases -* [docs] fix GitLab reference for notes -* Expose additional properties for Gitlab objects -* Fix the impersonation token deletion example -* feat: obey the rate limit -* Fix URL encoding on branch methods -* [docs] add a code example for listing commits of a MR -* [docs] update service.available() example for API v4 -* [tests] fix functional tests for python3 -* api-usage: bit more detail for listing with `all` -* More efficient .get() for group members -* Add docs for the `files` arg in http_* -* Deprecate GetFromListMixin - -Version 1.3.0_ - 2018-02-18 ---------------------------- - -* Add support for pipeline schedules and schedule variables -* Clarify information about supported python version -* Add manager for jobs within a pipeline -* Fix wrong tag example -* Update the groups documentation -* Add support for MR participants API -* Add support for getting list of user projects -* Add Gitlab and User events support -* Make trigger_pipeline return the pipeline -* Config: support api_version in the global section -* Gitlab can be used as context manager -* Default to API v4 -* Add a simplified example for streamed artifacts -* Add documentation about labels update - -Version 1.2.0_ - 2018-01-01 ---------------------------- - -* Add mattermost service support -* Add users custom attributes support -* [doc] Fix project.triggers.create example with v4 API -* Oauth token support -* Remove deprecated objects/methods -* Rework authentication args handling -* Add support for oauth and anonymous auth in config/CLI -* Add support for impersonation tokens API -* Add support for user activities -* Update user docs with gitlab URLs -* [docs] Bad arguments in projects file documentation -* Add support for user_agent_detail (issues) -* Add a SetMixin -* Add support for project housekeeping -* Expected HTTP response for subscribe is 201 -* Update pagination docs for ProjectCommit -* Add doc to get issue from iid -* Make todo() raise GitlabTodoError on error -* Add support for award emojis -* Update project services docs for v4 -* Avoid sending empty update data to issue.save -* [docstrings] Explicitly document pagination arguments -* [docs] Add a note about password auth being removed from GitLab -* Submanagers: allow having undefined parameters -* ProjectFile.create(): don't modify the input data -* Update testing tools for /session removal -* Update groups tests -* Allow per_page to be used with generators -* Add groups listing attributes -* Add support for subgroups listing -* Add supported python versions in setup.py -* Add support for pagesdomains -* Add support for features flags -* Add support for project and group custom variables -* Add support for user/group/project filter by custom attribute -* Respect content of REQUESTS_CA_BUNDLE and \*_proxy envvars - -Version 1.1.0_ - 2017-11-03 ---------------------------- - -* Fix trigger variables in v4 API -* Make the delete() method handle / in ids -* [docs] update the file upload samples -* Tags release description: support / in tag names -* [docs] improve the labels usage documentation -* Add support for listing project users -* ProjectFileManager.create: handle / in file paths -* Change ProjectUser and GroupProject base class -* [docs] document `get_create_attrs` in the API tutorial -* Document the Gitlab session parameter -* ProjectFileManager: custom update() method -* Project: add support for printing_merge_request_link_enabled attr -* Update the ssl_verify docstring -* Add support for group milestones -* Add support for GPG keys -* Add support for wiki pages -* Update the repository_blob documentation -* Fix the CLI for objects without ID (API v4) -* Add a contributed Dockerfile -* Pagination generators: expose more information -* Module's base objects serialization -* [doc] Add sample code for client-side certificates - -Version 1.0.2_ - 2017-09-29 ---------------------------- - -* [docs] remove example usage of submanagers -* Properly handle the labels attribute in ProjectMergeRequest -* ProjectFile: handle / in path for delete() and save() - -Version 1.0.1_ - 2017-09-21 ---------------------------- - -* Tags can be retrieved by ID -* Add the server response in GitlabError exceptions -* Add support for project file upload -* Minor typo fix in "Switching to v4" documentation -* Fix password authentication for v4 -* Fix the labels attrs on MR and issues -* Exceptions: use a proper error message -* Fix http_get method in get artifacts and job trace -* CommitStatus: `sha` is parent attribute -* Fix a couple listing calls to allow proper pagination -* Add missing doc file - -Version 1.0.0_ - 2017-09-08 ---------------------------- - -* Support for API v4. See - http://python-gitlab.readthedocs.io/en/master/switching-to-v4.html -* Support SSL verification via internal CA bundle -* Docs: Add link to gitlab docs on obtaining a token -* Added dependency injection support for Session -* Fixed repository_compare examples -* Fix changelog and release notes inclusion in sdist -* Missing expires_at in GroupMembers update -* Add lower-level methods for Gitlab() - -Version 0.21.2_ - 2017-06-11 ----------------------------- - -* Install doc: use sudo for system commands -* [v4] Make MR work properly -* Remove extra_attrs argument from _raw_list -* [v4] Make project issues work properly -* Fix urlencode() usage (python 2/3) (#268) -* Fixed spelling mistake (#269) -* Add new event types to ProjectHook - -Version 0.21.1_ - 2017-05-25 ----------------------------- - -* Fix the manager name for jobs in the Project class -* Fix the docs - -Version 0.21_ - 2017-05-24 --------------------------- - -* Add time_stats to ProjectMergeRequest -* Update User options for creation and update (#246) -* Add milestone.merge_requests() API -* Fix docs typo (s/correspnding/corresponding/) -* Support milestone start date (#251) -* Add support for priority attribute in labels (#256) -* Add support for nested groups (#257) -* Make GroupProjectManager a subclass of ProjectManager (#255) -* Available services: return a list instead of JSON (#258) -* MR: add support for time tracking features (#248) -* Fixed repository_tree and repository_blob path encoding (#265) -* Add 'search' attribute to projects.list() -* Initial gitlab API v4 support -* Reorganise the code to handle v3 and v4 objects -* Allow 202 as delete return code -* Deprecate parameter related methods in gitlab.Gitlab - -Version 0.20_ - 2017-03-25 ---------------------------- - -* Add time tracking support (#222) -* Improve changelog (#229, #230) -* Make sure that manager objects are never overwritten (#209) -* Include chanlog and release notes in docs -* Add DeployKey{,Manager} classes (#212) -* Add support for merge request notes deletion (#227) -* Properly handle extra args when listing with all=True (#233) -* Implement pipeline creation API (#237) -* Fix spent_time methods -* Add 'delete source branch' option when creating MR (#241) -* Provide API wrapper for cherry picking commits (#236) -* Stop listing if recursion limit is hit (#234) - -Version 0.19_ - 2017-02-21 ---------------------------- - -* Update project.archive() docs -* Support the scope attribute in runners.list() -* Add support for project runners -* Add support for commit creation -* Fix install doc -* Add builds-email and pipelines-email services -* Deploy keys: rework enable/disable -* Document the dynamic aspect of objects -* Add pipeline_events to ProjectHook attrs -* Add due_date attribute to ProjectIssue -* Handle settings.domain_whitelist, partly -* {Project,Group}Member: support expires_at attribute - -Version 0.18_ - 2016-12-27 ---------------------------- - -* Fix JIRA service editing for GitLab 8.14+ -* Add jira_issue_transition_id to the JIRA service optional fields -* Added support for Snippets (new API in Gitlab 8.15) -* [docs] update pagination section -* [docs] artifacts example: open file in wb mode -* [CLI] ignore empty arguments -* [CLI] Fix wrong use of arguments -* [docs] Add doc for snippets -* Fix duplicated data in API docs -* Update known attributes for projects -* sudo: always use strings - -Version 0.17_ - 2016-12-02 ---------------------------- - -* README: add badges for pypi and RTD -* Fix ProjectBuild.play (raised error on success) -* Pass kwargs to the object factory -* Add .tox to ignore to respect default tox settings -* Convert response list to single data source for iid requests -* Add support for boards API -* Add support for Gitlab.version() -* Add support for broadcast messages API -* Add support for the notification settings API -* Don't overwrite attributes returned by the server -* Fix bug when retrieving changes for merge request -* Feature: enable / disable the deploy key in a project -* Docs: add a note for python 3.5 for file content update -* ProjectHook: support the token attribute -* Rework the API documentation -* Fix docstring for http_{username,password} -* Build managers on demand on GitlabObject's -* API docs: add managers doc in GitlabObject's -* Sphinx ext: factorize the build methods -* Implement __repr__ for gitlab objects -* Add a 'report a bug' link on doc -* Remove deprecated methods -* Implement merge requests diff support -* Make the manager objects creation more dynamic -* Add support for templates API -* Add attr 'created_at' to ProjectIssueNote -* Add attr 'updated_at' to ProjectIssue -* CLI: add support for project all --all -* Add support for triggering a new build -* Rework requests arguments (support latest requests release) -* Fix `should_remove_source_branch` - -Version 0.16_ - 2016-10-16 ---------------------------- - -* Add the ability to fork to a specific namespace -* JIRA service - add api_url to optional attributes -* Fix bug: Missing coma concatenates array values -* docs: branch protection notes -* Create a project in a group -* Add only_allow_merge_if_build_succeeds option to project objects -* Add support for --all in CLI -* Fix examples for file modification -* Use the plural merge_requests URL everywhere -* Rework travis and tox setup -* Workaround gitlab setup failure in tests -* Add ProjectBuild.erase() -* Implement ProjectBuild.play() - -Version 0.15.1_ - 2016-10-16 ------------------------------ - -* docs: improve the pagination section -* Fix and test pagination -* 'path' is an existing gitlab attr, don't use it as method argument - -Version 0.15_ - 2016-08-28 ---------------------------- - -* Add a basic HTTP debug method -* Run more tests in travis -* Fix fork creation documentation -* Add more API examples in docs -* Update the ApplicationSettings attributes -* Implement the todo API -* Add sidekiq metrics support -* Move the constants at the gitlab root level -* Remove methods marked as deprecated 7 months ago -* Refactor the Gitlab class -* Remove _get_list_or_object() and its tests -* Fix canGet attribute (typo) -* Remove unused ProjectTagReleaseManager class -* Add support for project services API -* Add support for project pipelines -* Add support for access requests -* Add support for project deployments - -Version 0.14_ - 2016-08-07 ---------------------------- - -* Remove 'next_url' from kwargs before passing it to the cls constructor. -* List projects under group -* Add support for subscribe and unsubscribe in issues -* Project issue: doc and CLI for (un)subscribe -* Added support for HTTP basic authentication -* Add support for build artifacts and trace -* --title is a required argument for ProjectMilestone -* Commit status: add optional context url -* Commit status: optional get attrs -* Add support for commit comments -* Issues: add optional listing parameters -* Issues: add missing optional listing parameters -* Project issue: proper update attributes -* Add support for project-issue move -* Update ProjectLabel attributes -* Milestone: optional listing attrs -* Add support for namespaces -* Add support for label (un)subscribe -* MR: add (un)subscribe support -* Add `note_events` to project hooks attributes -* Add code examples for a bunch of resources -* Implement user emails support -* Project: add VISIBILITY_* constants -* Fix the Project.archive call -* Implement archive/unarchive for a projet -* Update ProjectSnippet attributes -* Fix ProjectMember update -* Implement sharing project with a group -* Implement CLI for project archive/unarchive/share -* Implement runners global API -* Gitlab: add managers for build-related resources -* Implement ProjectBuild.keep_artifacts -* Allow to stream the downloads when appropriate -* Groups can be updated -* Replace Snippet.Content() with a new content() method -* CLI: refactor _die() -* Improve commit statuses and comments -* Add support from listing group issues -* Added a new project attribute to enable the container registry. -* Add a contributing section in README -* Add support for global deploy key listing -* Add support for project environments -* MR: get list of changes and commits -* Fix the listing of some resources -* MR: fix updates -* Handle empty messages from server in exceptions -* MR (un)subscribe: don't fail if state doesn't change -* MR merge(): update the object - -Version 0.13_ - 2016-05-16 ---------------------------- - -* Add support for MergeRequest validation -* MR: add support for cancel_merge_when_build_succeeds -* MR: add support for closes_issues -* Add "external" parameter for users -* Add deletion support for issues and MR -* Add missing group creation parameters -* Add a Session instance for all HTTP requests -* Enable updates on ProjectIssueNotes -* Add support for Project raw_blob -* Implement project compare -* Implement project contributors -* Drop the next_url attribute when listing -* Remove unnecessary canUpdate property from ProjectIssuesNote -* Add new optional attributes for projects -* Enable deprecation warnings for gitlab only -* Rework merge requests update -* Rework the Gitlab.delete method -* ProjectFile: file_path is required for deletion -* Rename some methods to better match the API URLs -* Deprecate the file_* methods in favor of the files manager -* Implement star/unstar for projects -* Implement list/get licenses -* Manage optional parameters for list() and get() - -Version 0.12.2_ - 2016-03-19 ------------------------------ - -* Add new `ProjectHook` attributes -* Add support for user block/unblock -* Fix GitlabObject creation in _custom_list -* Add support for more CLI subcommands -* Add some unit tests for CLI -* Add a coverage tox env -* Define GitlabObject.as_dict() to dump object as a dict -* Define GitlabObject.__eq__() and __ne__() equivalence methods -* Define UserManager.search() to search for users -* Define UserManager.get_by_username() to get a user by username -* Implement "user search" CLI -* Improve the doc for UserManager -* CLI: implement user get-by-username -* Re-implement _custom_list in the Gitlab class -* Fix the 'invalid syntax' error on Python 3.2 -* Gitlab.update(): use the proper attributes if defined - -Version 0.12.1_ - 2016-02-03 ------------------------------ - -* Fix a broken upload to pypi - -Version 0.12_ - 2016-02-03 ---------------------------- - -* Improve documentation -* Improve unit tests -* Improve test scripts -* Skip BaseManager attributes when encoding to JSON -* Fix the json() method for python 3 -* Add Travis CI support -* Add a decode method for ProjectFile -* Make connection exceptions more explicit -* Fix ProjectLabel get and delete -* Implement ProjectMilestone.issues() -* ProjectTag supports deletion -* Implement setting release info on a tag -* Implement project triggers support -* Implement project variables support -* Add support for application settings -* Fix the 'password' requirement for User creation -* Add sudo support -* Fix project update -* Fix Project.tree() -* Add support for project builds - -Version 0.11.1_ - 2016-01-17 ------------------------------ - -* Fix discovery of parents object attrs for managers -* Support setting commit status -* Support deletion without getting the object first -* Improve the documentation - -Version 0.11_ - 2016-01-09 ---------------------------- - -* functional_tests.sh: support python 2 and 3 -* Add a get method for GitlabObject -* CLI: Add the -g short option for --gitlab -* Provide a create method for GitlabObject's -* Rename the _created attribute _from_api -* More unit tests -* CLI: fix error when arguments are missing (python 3) -* Remove deprecated methods -* Implement managers to get access to resources -* Documentation improvements -* Add fork project support -* Deprecate the "old" Gitlab methods -* Add support for groups search - -Version 0.10_ - 2015-12-29 ---------------------------- - -* Implement pagination for list() (#63) -* Fix url when fetching a single MergeRequest -* Add support to update MergeRequestNotes -* API: Provide a Gitlab.from_config method -* setup.py: require requests>=1 (#69) -* Fix deletion of object not using 'id' as ID (#68) -* Fix GET/POST for project files -* Make 'confirm' an optional attribute for user creation -* Python 3 compatibility fixes -* Add support for group members update (#73) - -Version 0.9.2_ - 2015-07-11 ----------------------------- - -* CLI: fix the update and delete subcommands (#62) - -Version 0.9.1_ - 2015-05-15 ----------------------------- - -* Fix the setup.py script - -Version 0.9_ - 2015-05-15 --------------------------- - -* Implement argparse library for parsing argument on CLI -* Provide unit tests and (a few) functional tests -* Provide PEP8 tests -* Use tox to run the tests -* CLI: provide a --config-file option -* Turn the gitlab module into a proper package -* Allow projects to be updated -* Use more pythonic names for some methods -* Deprecate some Gitlab object methods: - - raw* methods should never have been exposed; replace them with _raw_* - methods - - setCredentials and setToken are replaced with set_credentials and - set_token -* Sphinx: don't hardcode the version in conf.py - -Version 0.8_ - 2014-10-26 --------------------------- - -* Better python 2.6 and python 3 support -* Timeout support in HTTP requests -* Gitlab.get() raised GitlabListError instead of GitlabGetError -* Support api-objects which don't have id in api response -* Add ProjectLabel and ProjectFile classes -* Moved url attributes to separate list -* Added list for delete attributes - -Version 0.7_ - 2014-08-21 --------------------------- - -* Fix license classifier in setup.py -* Fix encoding error when printing to redirected output -* Fix encoding error when updating with redirected output -* Add support for UserKey listing and deletion -* Add support for branches creation and deletion -* Support state_event in ProjectMilestone (#30) -* Support namespace/name for project id (#28) -* Fix handling of boolean values (#22) - -Version 0.6_ - 2014-01-16 --------------------------- - -* IDs can be unicode (#15) -* ProjectMember: constructor should not create a User object -* Add support for extra parameters when listing all projects (#12) -* Projects listing: explicitly define arguments for pagination - -Version 0.5_ - 2013-12-26 --------------------------- - -* Add SSH key for user -* Fix comments -* Add support for project events -* Support creation of projects for users -* Project: add methods for create/update/delete files -* Support projects listing: search, all, owned -* System hooks can't be updated -* Project.archive(): download tarball of the project -* Define new optional attributes for user creation -* Provide constants for access permissions in groups - -Version 0.4_ - 2013-09-26 --------------------------- - -* Fix strings encoding (Closes #6) -* Allow to get a project commit (GitLab 6.1) -* ProjectMergeRequest: fix Note() method -* Gitlab 6.1 methods: diff, blob (commit), tree, blob (project) -* Add support for Gitlab 6.1 group members - -Version 0.3_ - 2013-08-27 --------------------------- - -* Use PRIVATE-TOKEN header for passing the auth token -* provide an AUTHORS file -* cli: support ssl_verify config option -* Add ssl_verify option to Gitlab object. Defaults to True -* Correct url for merge requests API. - -Version 0.2_ - 2013-08-08 --------------------------- - -* provide a pip requirements.txt -* drop some debug statements - -Version 0.1 - 2013-07-08 ------------------------- - -* Initial release - -.. _1.9.0: https://github.com/python-gitlab/python-gitlab/compare/1.8.0...1.9.0 -.. _1.8.0: https://github.com/python-gitlab/python-gitlab/compare/1.7.0...1.8.0 -.. _1.7.0: https://github.com/python-gitlab/python-gitlab/compare/1.6.0...1.7.0 -.. _1.6.0: https://github.com/python-gitlab/python-gitlab/compare/1.5.1...1.6.0 -.. _1.5.1: https://github.com/python-gitlab/python-gitlab/compare/1.5.0...1.5.1 -.. _1.5.0: https://github.com/python-gitlab/python-gitlab/compare/1.4.0...1.5.0 -.. _1.4.0: https://github.com/python-gitlab/python-gitlab/compare/1.3.0...1.4.0 -.. _1.3.0: https://github.com/python-gitlab/python-gitlab/compare/1.2.0...1.3.0 -.. _1.2.0: https://github.com/python-gitlab/python-gitlab/compare/1.1.0...1.2.0 -.. _1.1.0: https://github.com/python-gitlab/python-gitlab/compare/1.0.2...1.1.0 -.. _1.0.2: https://github.com/python-gitlab/python-gitlab/compare/1.0.1...1.0.2 -.. _1.0.1: https://github.com/python-gitlab/python-gitlab/compare/1.0.0...1.0.1 -.. _1.0.0: https://github.com/python-gitlab/python-gitlab/compare/0.21.2...1.0.0 -.. _0.21.2: https://github.com/python-gitlab/python-gitlab/compare/0.21.1...0.21.2 -.. _0.21.1: https://github.com/python-gitlab/python-gitlab/compare/0.21...0.21.1 -.. _0.21: https://github.com/python-gitlab/python-gitlab/compare/0.20...0.21 -.. _0.20: https://github.com/python-gitlab/python-gitlab/compare/0.19...0.20 -.. _0.19: https://github.com/python-gitlab/python-gitlab/compare/0.18...0.19 -.. _0.18: https://github.com/python-gitlab/python-gitlab/compare/0.17...0.18 -.. _0.17: https://github.com/python-gitlab/python-gitlab/compare/0.16...0.17 -.. _0.16: https://github.com/python-gitlab/python-gitlab/compare/0.15.1...0.16 -.. _0.15.1: https://github.com/python-gitlab/python-gitlab/compare/0.15...0.15.1 -.. _0.15: https://github.com/python-gitlab/python-gitlab/compare/0.14...0.15 -.. _0.14: https://github.com/python-gitlab/python-gitlab/compare/0.13...0.14 -.. _0.13: https://github.com/python-gitlab/python-gitlab/compare/0.12.2...0.13 -.. _0.12.2: https://github.com/python-gitlab/python-gitlab/compare/0.12.1...0.12.2 -.. _0.12.1: https://github.com/python-gitlab/python-gitlab/compare/0.12...0.12.1 -.. _0.12: https://github.com/python-gitlab/python-gitlab/compare/0.11.1...0.12 -.. _0.11.1: https://github.com/python-gitlab/python-gitlab/compare/0.11...0.11.1 -.. _0.11: https://github.com/python-gitlab/python-gitlab/compare/0.10...0.11 -.. _0.10: https://github.com/python-gitlab/python-gitlab/compare/0.9.2...0.10 -.. _0.9.2: https://github.com/python-gitlab/python-gitlab/compare/0.9.1...0.9.2 -.. _0.9.1: https://github.com/python-gitlab/python-gitlab/compare/0.9...0.9.1 -.. _0.9: https://github.com/python-gitlab/python-gitlab/compare/0.8...0.9 -.. _0.8: https://github.com/python-gitlab/python-gitlab/compare/0.7...0.8 -.. _0.7: https://github.com/python-gitlab/python-gitlab/compare/0.6...0.7 -.. _0.6: https://github.com/python-gitlab/python-gitlab/compare/0.5...0.6 -.. _0.5: https://github.com/python-gitlab/python-gitlab/compare/0.4...0.5 -.. _0.4: https://github.com/python-gitlab/python-gitlab/compare/0.3...0.4 -.. _0.3: https://github.com/python-gitlab/python-gitlab/compare/0.2...0.3 -.. _0.2: https://github.com/python-gitlab/python-gitlab/compare/0.1...0.2 diff --git a/MANIFEST.in b/MANIFEST.in index 5b36f87..8c11b80 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -1,4 +1,4 @@ -include COPYING AUTHORS ChangeLog.rst RELEASE_NOTES.rst requirements*.txt +include COPYING AUTHORS CHANGELOG.md requirements*.txt include tox.ini recursive-include tests * recursive-include docs *j2 *.py *.rst api/*.rst Makefile make.bat diff --git a/docs/changelog.md b/docs/changelog.md new file mode 100644 index 0000000..66efc0f --- /dev/null +++ b/docs/changelog.md @@ -0,0 +1,2 @@ +```{include} ../CHANGELOG.md +``` diff --git a/docs/changelog.rst b/docs/changelog.rst deleted file mode 100644 index 91bdab9..0000000 --- a/docs/changelog.rst +++ /dev/null @@ -1 +0,0 @@ -.. include:: ../ChangeLog.rst diff --git a/docs/conf.py b/docs/conf.py index 5fb760b..9e0ad83 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -38,6 +38,7 @@ sys.path.insert(0, os.path.abspath("..")) # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom # ones. extensions = [ + "myst_parser", "sphinx.ext.autodoc", "sphinx.ext.autosummary", "ext.docstrings", @@ -48,7 +49,7 @@ extensions = [ templates_path = ["_templates"] # The suffix of source filenames. -source_suffix = ".rst" +source_suffix = {".rst": "restructuredtext", ".md": "markdown"} # The encoding of source files. # source_encoding = 'utf-8-sig' diff --git a/docs/index.rst b/docs/index.rst index 22f4c9a..3f8672b 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -18,9 +18,8 @@ Contents: api-objects api/gitlab cli-objects - release_notes changelog - switching-to-v4 + release-notes Indices and tables diff --git a/RELEASE_NOTES.rst b/docs/release-notes.rst index 4d9e392..927d2c4 100644 --- a/RELEASE_NOTES.rst +++ b/docs/release-notes.rst @@ -2,7 +2,9 @@ Release notes ############# -This page describes important changes between python-gitlab releases. +Prior to version 2.0.0 and GitHub Releases, a summary of changes was maintained +in release notes. They are available below for historical purposes. +For the list of current releases, including breaking changes, please see the changelog. Changes from 1.8 to 1.9 ======================= diff --git a/docs/release_notes.rst b/docs/release_notes.rst deleted file mode 100644 index db74610..0000000 --- a/docs/release_notes.rst +++ /dev/null @@ -1 +0,0 @@ -.. include:: ../RELEASE_NOTES.rst diff --git a/docs/switching-to-v4.rst b/docs/switching-to-v4.rst deleted file mode 100644 index b3de224..0000000 --- a/docs/switching-to-v4.rst +++ /dev/null @@ -1,115 +0,0 @@ -.. _switching_to_v4: - -########################## -Switching to GitLab API v4 -########################## - -GitLab provides a new API version (v4) since its 9.0 release. ``python-gitlab`` -provides support for this new version, but the python API has been modified to -solve some problems with the existing one. - -GitLab does not support the v3 API anymore, and you should consider switching -to v4 if you use a recent version of GitLab (>= 9.0), or if you use -https://gitlab.com. - - -Using the v4 API -================ - -python-gitlab uses the v4 API by default since the 1.3.0 release. If you are -migrating from an older release, make sure that you remove the ``api_version`` -definition in you constructors and configuration file: - -The following examples are **not valid** anymore: - -.. code-block:: python - - gl = gitlab.Gitlab(..., api_version=3) - -.. code-block:: ini - - [my_gitlab] - ... - api_version = 3 - - -Changes between v3 and v4 API -============================= - -For a list of GitLab (upstream) API changes, see -https://docs.gitlab.com/ce/api/v3_to_v4.html. - -The ``python-gitlab`` API reflects these changes. But also consider the -following important changes in the python API: - -* managers and objects don't inherit from ``GitlabObject`` and ``BaseManager`` - anymore. They inherit from :class:`~gitlab.base.RESTManager` and - :class:`~gitlab.base.RESTObject`. - -* You should only use the managers to perform CRUD operations. - - The following v3 code: - - .. code-block:: python - - gl = gitlab.Gitlab(...) - p = Project(gl, project_id) - - Should be replaced with: - - .. code-block:: python - - gl = gitlab.Gitlab(...) - p = gl.projects.get(project_id) - -* Listing methods (``manager.list()`` for instance) can now return generators - (:class:`~gitlab.base.RESTObjectList`). They handle the calls to the API when - needed to fetch new items. - - By default you will still get lists. To get generators use ``as_list=False``: - - .. code-block:: python - - all_projects_g = gl.projects.list(as_list=False) - -* The "nested" managers (for instance ``gl.project_issues`` or - ``gl.group_members``) are not available anymore. Their goal was to provide a - direct way to manage nested objects, and to limit the number of needed API - calls. - - To limit the number of API calls, you can now use ``get()`` methods with the - ``lazy=True`` parameter. This creates shallow objects that provide usual - managers. - - The following v3 code: - - .. code-block:: python - - issues = gl.project_issues.list(project_id=project_id) - - Should be replaced with: - - .. code-block:: python - - issues = gl.projects.get(project_id, lazy=True).issues.list() - - This will make only one API call, instead of two if ``lazy`` is not used. - -* The following :class:`~gitlab.Gitlab` methods should not be used anymore for - v4: - - + ``list()`` - + ``get()`` - + ``create()`` - + ``update()`` - + ``delete()`` - -* If you need to perform HTTP requests to the GitLab server (which you - shouldn't), you can use the following :class:`~gitlab.Gitlab` methods: - - + :attr:`~gitlab.Gitlab.http_request` - + :attr:`~gitlab.Gitlab.http_get` - + :attr:`~gitlab.Gitlab.http_list` - + :attr:`~gitlab.Gitlab.http_post` - + :attr:`~gitlab.Gitlab.http_put` - + :attr:`~gitlab.Gitlab.http_delete` diff --git a/requirements-docs.txt b/requirements-docs.txt index 9fd26ee..3c85a17 100644 --- a/requirements-docs.txt +++ b/requirements-docs.txt @@ -1,5 +1,6 @@ -r requirements.txt jinja2 +myst-parser sphinx==3.5.4 sphinx_rtd_theme sphinxcontrib-autoprogram |