The changes of newer versions can be found at https://github.com/python-gitlab/python-gitlab/releases
Version 1.9.0 - 2019-06-19
- 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
- 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
- Initial release