Python-redmine

Latest version: v2.5.0

Safety actively analyzes 682682 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 7

2.5.0

**Deprecations**:

- Requests version required >= 2.31.0

**New Features**:

- *Pro Edition:* RedmineUP [Products plugin](https://www.redmineup.com/pages/plugins/products) support
- Issue copying (see [docs](https://python-redmine.com/resources/issue.html#copying) for details) (Issue 203)

**Improvements**:

- Migrated CI to GitHub Actions, also we now test not only on Linux, but on macOS and Windows as well
- ``dir(resource)`` and ``list(resource)`` now also show properties of an object
- Support for ``issues_assigned`` and ``issues_authored`` relations in User object (Issue 317)
- Original filename will be used as a filename for all uploaded files if a path was provided and filename wasn't set
- *Pro Edition:* Added support for RedmineUP Contact avatar add/update operations (see [docs](https://python-redmine.com/resources/contact.html#create-methods) for details)
- *Pro Edition:* Added support for RedmineUP DealCategory ``create()``, ``update()``, ``delete()`` operations (see [docs](https://python-redmine.com/resources/deal_category.html#create-methods) for details)
- *Pro Edition:* RedmineUP CrmQuery resource now supports ``invoices`` and ``expenses`` relation attributes
- ``PerformanceWarning`` will be issued when Python-Redmine does some unnecessary redirects before the actual
request is made

**Changes**:

- *Backwards Incompatible:* API key is now being sent in the X-Redmine-API-Key header instead of the key GET parameter which makes things more secure in case of a failed connection, but it might created issues for servers that don't do custom request header forwarding by default, so be sure to check your web server before upgrading (Issue 328 and Issue 330) (thanks to [Tom Misilo](https://github.com/misilot) and [Ricardo Branco](https://github.com/ricardobranco777))
- *Backwards Incompatible:* User ``all`` operation now really returns all users, i.e. not only active, but locked, registered and anonymous as well instead of only returning just active users in previous versions due to the respect to Redmine's standard behaviour (Issue 327)

**Bugfixes**:

- Tests were failing on Windows OS
- Tests were failing on Python 3.12 (Issue 332) (thanks to [Michał Górny](https://github.com/mgorny))
- Some closed Issues weren't converted to Resource objects using ``redmine.search()``
- *Pro Edition:* RedmineUP Invoice resource ``order`` attribute was returned as a dict instead of being converted to Resource object
- *Pro Edition:* RedmineUP CrmQuery resource ``deals`` and ``contacts`` relation attributes didn't work
- *Pro Edition:* RedmineUP DealStatus resource ``deals`` relation attribute didn't work

**Documentation**:

- Mentioned support for ``author_id`` in Issue's resource filter operation

2.4.0

**Deprecations**:

- Requests version required >= 2.28.2
- Removed Python 2.7, 3.5, 3.6 support as it's not supported by Requests anymore
- Removed support for ``python setup.py test`` as it became deprecated by setuptools

**New Features**:

- *Pro Edition:* RedmineUP [Helpdesk plugin](https://www.redmineup.com/pages/plugins/helpdesk) support (Issue #116)
- *Pro Edition:* RedmineUP [Invoices plugin](https://www.redmineup.com/pages/plugins/invoices) support (Issue #301)
- Timezone support (see [docs](https://python-redmine.com/configuration.html#timezone) for details) (Issue 271)

**Improvements**:

- Added support for Python 3.10, 3.11 and latest PyPy
- Added support for `allowed_statuses` to ``include`` param and on demand includes for Issue resource (requires Redmine >= 5.0.0)
- Added support for `issue_custom_fields` to ``include`` param and on demand includes for Project resource (requires Redmine >= 4.2.0)
- Added support for `comments` and `attachments` to ``include`` param and on demand includes for News resource (requires Redmine >= 4.1.0)
- *Pro Edition:* Added support for RedmineUP Contact `projects` to ``include`` param and on demand includes for ``all()`` and ``filter()`` operations
- *Pro Edition:* Added support for RedmineUP Note ``create()``, ``update()``, ``delete()`` operations (see [docs](https://python-redmine.com/resources/note.html#create-methods) for details)
- Added support for Project ``close()``, ``reopen()``, ``archive()``, ``unarchive()`` operations (see [docs](https://python-redmine.com/resources/project.html#additional-methods) for details, requires Redmine >= 5.0.0)
- Added support for updating and deleting issue journals (see [docs](https://python-redmine.com/resources/issue.html#journals) for details, requires Redmine >= 5.0.0)

**Changes**:

- *Backwards Incompatible:* Switched to pytest instead of nose as nose project is dead (Issue 312)
- *Backwards Incompatible:* Removed usage of distutils.LooseVersion internally since it became deprecated and caused warnings, because of that all version info internally is now being represented as tuples and not strings as before

**Bugfixes**:

- Stop raising `ResourceAttrError` for attributes that actually exist, but their value is `None` (Issue 261)
- *Pro Edition:* RedmineUP Deal resource ``related_contacts`` attribute was returned as a list instead of being converted to ResourceSet object
- Project resource ``default_assignee`` attribute was returned as a dict instead of being converted to Resource object
- Project resource ``time_entry_activities`` attribute was returned as a list instead of being converted to ResourceSet object

**Documentation**:

- Document requirement of `project_id` param for `query_id` filter (Issue 285) (thanks to [Doezer](https://github.com/Doezer))
- Mentioned support for ``user_id`` in TimeEntry's resource create/update (Issue 298)
- Mentioned support for additional scopes for Search API

2.3.0

**Improvements**:

- Support custom filename in ``redmine.upload()``
- Support for ``get()`` and ``update()`` operations for ``/my/account`` endpoint which doesn't require admin privileges by using ``me`` as an id, i.e. ``redmine.user.get('me')`` or ``redmine.user.update('me', firstname='John')`` (requires Redmine >= 4.1.0)
- News ``create()``, ``update()``, ``delete()`` operations support (requires Redmine >= 4.1.0)
- ResourceSet's ``export()`` method now supports ``columns`` keyword argument which can be either an iterable of column names, an "all" string which tells Python-Redmine to export all available columns, "all_gui" string for GUI like behaviour or iterable of elements with "all_gui" string and additional columns to export
- Added support for special characters in WikiPage titles (Issue 222) (thanks to [Radek Czajka](https://github.com/rczajka))
- Added ``return_response`` and ``ignore_response`` parameters to engine which allow to skip response processing and speed up the create/update/delete operation in case response body isn't needed (see [docs](https://python-redmine.com/advanced/request_engines.html#session) for details)

**Changes**:

- *Backwards Incompatible:* Requests version required >= 2.23.0
- *Backwards Incompatible:* Removed Python 3.4 support as it's not supported by Requests anymore

**Bugfixes**:

- User's ``send_information`` field wasn't sent correctly to Redmine so account information emails were never sent (Issue 227) (thanks to [wodny](https://github.com/wodny))
- Project resource ``default_version`` attribute was returned as a dict instead of being converted to Resource object
- Resource object was leaking memory during initialization (Issue 257) (thanks to [yihli](https://github.com/qianyi3210))

**Documentation**:

- Introduced detailed parameter list for ``redmine.session``
- Mentioned support for ``admin`` in User's resource create/update

2.2.1

**Bugfixes**:

- ProjectMembership resource ``group`` attribute was returned as a dict instead of being converted to Resource object (Issue 220) (thanks to [Samuel Harmer](https://github.com/samuelharmer))

2.2.0

**Improvements**:

- ``PerformanceWarning`` will be issued when Python-Redmine does some unnecessary work under the hood to fix the clients code problems

**Changes**:

- *Backwards Incompatible:* Removed vendored Requests package and make it an external dependency as Requests did the same with it's own dependencies
- *Backwards Incompatible:* Removed Python 2.6 and 3.3 support as they're not supported by Requests anymore

**Bugfixes**:

- ``Redmine.upload()`` fails under certain circumstances when used with a file-like object and it contains unicode instead of bytes (Issue 216)
- ``Redmine.session()`` doesn't restore previous engine if fails (Issue 211) (thanks to [Dmitry Logvinenko](https://github.com/dm-logv))

2.1.1

- Fix PyPI package

Page 1 of 7

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.