Here you can see the full list of changes between each Python API release.
- Raise an exception when uploading an empty file using :meth:`upload`, :meth:`upload_thumbnail` or :meth:`upload_filmstrip_thumbnail` before calling out to the server.
- Multiple enhancements and bugfixes to Mockgun
- Added
nav_search_string()
andnav_search_entity()
methods as experimental, internal methods for querying SG hierarchy.
- Optimized import speed of the API on Python 2.7.
- Integrated the latest fixes to the
mimetypes
module. - Added
nav_expand()
method as an experimental, internal method for querying SG hierarchy. - Ported all documentation to sphinx. See http://developer.shotgunsoftware.com/python-api.
- Moved Changelog to dedicated HISTORY file.
- Add optional
additional_filter_presets
argument to :meth:`find` and :meth:`find_one`
- Add option to use add/remove/set modes when updating multi-entity fields.
- Add explicit file handler close to download_attachment.
- Add basic :meth:`find` ordering support to mockgun.
- Allow for product specific authorization parameters.
- Reverted the change to the default field names for image uploading.
- Refactored nested classing of
sgtimezone
library to allow for serializable timestamps.
- Make sure HTTP proxy authentication works with the
@
character in a password. - Make sure sudo authentication test works with Shotgun versions after v6.3.10.
- Smarter uploading of thumbnails and filmstrips with the :meth:`upload` method.
- Improve Travis build integration of the Python-API to run the full suite of API tests instead of just the unit and client tests.
- Updating testing framework to use environment variables inconjunction with existing
example_config
file so that commits and pull requests are automatically run on travis-ci. - Fix to prevent stripping out case-sensitivity of a URL if the user passes their credentials to
config.server
as an authorization header.
- Add handling for Python versions incompatible with SHA-2 (see this blog post).
- Add
SHOTGUN_FORCE_CERTIFICATE_VALIDATION
environment variable to prevent disabling certficate validation when SHA-2 validation is not available. - Add SSL info to user-agent header.
- Not released.
- Fix for python bug #23371 on Windows loading mimetypes module (thanks @patrickwolf).
- Fix for tests on older versions of python.
- Sanitize authentication values before raising error.
- Added method :meth:`text_search` which allows an API client to access the Shotgun global search and auto completer.
- Added method :meth:`activity_stream_read` which allows an API client to access the activity stream for a given Shotgun entity.
- Added method :meth:`note_thread_read` which allows an API client to download an entire Note conversation, including Replies and Attachments, using a single API call.
- Added an experimental
mockgun
module which can be used to emulate the Shotgun API, for example inside unit test rigs. - [minor] Improved docstrings.
- Update bundled
httplib2
module to latest v0.9.1 - fixes some bugs
- Add authentication support for Shotgun servers with two-factor authentication turned on.
- Add ability to authenticate with Shotgun using
session_token
. - Add :meth:`get_session_token` method for obtaining token to authenticate with.
- Add new
AuthenticationFault
exception type to indicate when server communication has failed due to authentication reasons. - Add support for
SHOTGUN_API_CACERTS
environment variable to provide location of external SSL certificates file. - Fixes and updates to various tests.
- Add ability to query the per-project visibility status for entities, fields and statuses. (requires Shotgun server >= v5.4.4)
- Add ability to update
last_accessed_by_current_user
on Project. - Add workaround for bug #9291 in Python 2.7 affecting mimetypes library on Windows.
- Add platform and Python version to user-agent (eg.
shotgun-json (3.0.17); Python 2.7 (Mac)
)
- Add flag to ignore entities from archived Projects.
- Add support for differentiating between zero and
None
for number fields. - Add ability to act as a different user.
- Fixed bug which allowed a value of
None
for password parameter in :meth:`authenticate_human_user` - Add :meth:`follow`, :meth:`unfollow` and :meth:`followers` methods.
- Add ability to login as HumanUser.
- Ensure that webm/mp4 mime types are always available.
- Updated link to video tour in README.
- Fixes and updates to various tests.
- added: additional tests for thumbnails.
- added: support for downloading from s3 in :meth:`download_attachment`. Accepts an Attachment entity dict as a parameter (is still backwards compatible with passing in an Attachment id).
- added: optional
file_path
parameter to :meth:`download_attachment` to write data directly to disk instead of loading into memory. (thanks to Adam Goforth @aag)
- fixed: #20856 :meth:`authenticate_human_user` login was sticky and would be used for permissions and logging.
no tag
- added: #18171 New
ca_certs
argument to the :class:`Shotgun` constructor to specify the certificates to use in SSL validation. - added:
setup.py
doesn't compress the installed.egg
file which makes thecacerts.txt
file accessible.
- added: nested filter syntax (see :ref:`filter_syntax`)
- added: :meth:`add_user_agent()` and :meth:`reset_user_agent` methods to allow client code to add strings to track.
- added: Changed default
user-agent
to include API version. - updated: advanced summarize filter support.
- fixed: #19830 :meth:`share_thumbnail` errors when source has no thumbnail.
- added: :meth:`share_thumbnail` method to share the same thumbnail record and media between entities.
- added: proxy handling to methods that transfer binary data (ie. :meth:`upload`, :meth:`upload_thumbnail`, etc.).
- updated: default logging level to WARN.
- updated: documentation for :meth:`summarize()` method, previously released but without documentation.
- fixed: unicode strings not always being encoded correctly.
- fixed: :meth:`create()` generates error when
return_fields
is None. - fixed: clearing thumbnail by setting
image
value toNone
not working as expected. - fixed: some html entities being returned sanitized via API.
- improved:
simplejson
fallback now uses relative imports to match other bundled packages. - improved: various error messages are now clearer and more informative.
- installation is now
pip
compatible.
- use relative imports for included libraries when using Python v2.5 or later.
- replace sideband request for
image
(thumbnail) field with native support (requires Shotgun server >= v3.3.0. Request will still work on older versions but fallback to slow sideband method). - allow setting
image
andfilmstrip_thumbnail
in data dict on :meth:`create` and :meth:`update` (thanks @hughmacdonald). - fixed bug causing
Attachment.tag_list
to be set to"None"
(str) for uploads.
- added support for access to WorkDayRules (requires Shotgun server >= v3.2.0).
- added support for filmstrip thumbnails (requires Shotgun server >= v3.1.0).
- fixed :meth:`download_attachment` pointing to incorrect url.
- fixed some issues with module import paths.
- now uses JSON as a transport rather than XML-RPC. This provides as much as a 40% speed boost.
- added the :meth:`summarize` method.
- refactored single file into package.
- tests added (Thanks to Aaron Morton @amorton).
- return all strings as ascii for backwards compatibility, added
ensure_ascii
parameter to enable returning unicode.
- fix: :meth:`update()` method should return a
dict
object not alist
.
- optimization: don't request
paging_info
unless required (and server support is available).
- officially remove support for old
api3_preview
controller. - :meth:`find`: allow requesting a specific page of results instead of returning them all at once.
- add support for
session_uuid
parameter for communicating with a web browser session.
- fix for issue where :meth:`create` method was returning list type instead of dictionary.
- support new style classes (thanks to Alex Schworer @schworer).
- add support for local files. Injects convenience info into returned hash for local file links.
- add support for authentication through http proxy server.
- add :meth:`revive` method to revive deleted entities.
- :meth:`find`: default sorting to ascending, if not set (instead of requiring ascending/descending).
- :meth:`upload` and :meth:`upload_thumbnail`: pass auth info through.
- non-beta!
- add :meth:`batch` method to do multiple :meth:`create`, :meth:`update`, and :meth:`delete` operations in one request to the server (requires Shotgun server to be v1.13.0 or higher).
- fix python gotcha about using lists / dictionaries as defaults (see this page for more info).
- add :meth:`schema_read` method.
- add additional retries for connection errors and a catch for broken pipe exceptions.
- add support for
HTTP/1.1 keepalive
, which greatly improves performance for multiple requests. - add more helpful error if server entered is not
http
orhttps
- add support assigning tags to file uploads (for Shotgun version >= 1.10.6).
- fixed deprecation warnings to raise
Exception
class for python 2.5.
- made :meth:`upload` and :meth:`upload_thumbnail` methods more backwards compatible.
- changes to :meth:`find_one`: now defaults to no
filter_operator
.
- fixed :meth:`upload` and :meth:`upload_thumbnail` methods.
- added :meth:`download_attachment` method.
- added
schema_*
methods for accessing entities and fields. - added support for http proxy servers.
- added
__version__
string. - removed
RECORDS_PER_PAGE
global (can just setrecords_per_page
on the Shotgun object after initializing it). - removed
api_ver
from the constructor, as this class is only designed to work with API v3.