Release Notes¶
The following releases are available for the OpenShot Cloud API. It is recommended you use the most current release when spinning up a new instance. See Upgrade instructions.
Release Notes¶
2.1.1
Fixed regression with audio-only exports (now both video and audio exports support mp4_faststart)
Updated documentation related to aac audio codecs
Updated list of available effects (to dynamically list all libopenshot effects)
Added support for HTTPS load balancers (HTTP_X_FORWARDED_PROTO)
2.1.0
Massive performance improvements in video compositing, encoding, and decoding processing
Audio crackling/popping fixes on libopenshot, which affected certain sample rate and frame rate conversions.
Audio crash fixed which would cause certain channel layout (i.e. MONO) to freeze and crash.
Added a C# example script in the getting_started section
Added /projects/<id>/merge/ endpoint for combining two projects. This is especially useful for combining template projects.
Exif support for most image formats (auto-rotation)
Support for Captions effect (single VTT/subrip string which can display text through-out a video, including animation)
Updated libopenshot and libopenshot-audio libraries, improved performance (pre-multiplied alpha channels)
Improved support for videos containing an alpha channel
Added interlaced and top_field_first Export json attributes (that can be overwritten)
mp4_faststart enabled for video exports (moov atom is located at the beginning of the file) to enable streaming
Fixed bug when webhook url called contains localhost/private IP instead of public http host
Added logging to all cases in which os.unlink is called
Added validations to /clips/ POST, PUT, AND PATCH endpoints, to ensure clips do not exceed the file duration, and other common issues
2.0.0
Introduced the concept of shallow copy (physical media file is not duplicated) in files
Improved support for nested Clip effects and effect paths, including /validate/, /download/, and /load/ improvements related to clip effects.
/project/ID/copy/ and /files/ID/copy endpoint by default perform a shallow copy
For performing PUT PATCH DELETE on /files/ID/ endpoint, project is now a required parameter for files being shared in more than one projects
Introduced the /projects/ID/files/ID/ endpoint that supports GET PUT PATCH DELETE
To update a file for all projects sharing the file, pass update_all=true as a query string parameter in the PUT PATCH DELETE methods on /file/ID/. User must have access to all of the related projects
When PUT PATCH is executed on either /files/ID/ (with project param) or /projects/ID/files/ID/ on an file that is being shared by more than one project, a new file object is created and the previous file is de-referenced from the project.files
With this change, it is possible for files of one project to exist in the folder of another project (even deleted projects)
Refactored signals into a new file
Improved stability, and many new unit tests to ensure quality
1.3.0
Full support for image sequences (with transparency), such as Blender animations, animated overlays, etc… * /cloud-admin/ is now a fully supported environment, allowing full API functionality from the Admin.
Added /storage/ endpoints for calculating size of files and projects (/files/<id>/storage/ and /projects/<id>/storage/)
Added ability to mirror all API media files in cloud storage (so the API server can remove local files and re-download them when needed)
Fixed many bugs related to saving/uploading/changing media files for File objects
Added improved ability to use local Django models with custom applications
Improved testing, automation, and quality improvements
Updated verbiage and images for Azure support (including new documentation pages)
Fixed bug which marked almost completed (>99% progress) exports as failed
Fixed bug in /projects/ID/copy/ endpoint, which prevented the copying of custom effect masks
Fixed bug when loading a *.zip containing a __MACOS hidden folder
Fixed bug in orphaned file clean-up, which would delete custom effect masks
Fixed bug with OPTIONS configuration (was throwing error)
Fixed bug with config-openshot-cloud resetting the wrong superuser account password
Fixed bug where S3 uploads had incorrect/no content-type set
Added documentation for storage scaling support (Amazon Elastic File System: EFS)
1.2.3
Added retry logic for download files from URL or S3 (when creating File objects)
Added retry logic when inspecting newly uploaded File objects
Improved error handling and logging when invalid or corrupted File objects are used
Added secure download endpoints for media files (/files/<id>/download/ and /exports/<id>/download/)
Workers now fallback to secure download endpoints, if direct media URLs are invalid (i.e. if you manually disable them in Apache for security)
Added new configuration setting to override HTTP_HOST (and force all URLs to use any public URL you want). This is especially useful for webhooks (which often refers to http://127.0.0.1).
Improvements to config-openshot-cloud command, messages, formatting, AWS/Azure cloud detection, and support for Azure cloud backend (Queue and Blob storage)
Added Azure Blob Storage support to File and Export endpoints (Exports can support both S3 and Azure Blob storage concurrently)
Added Azure Queue Storage support for Export queue management (OpenShot API now supports both SQS or Azure Queues… just not at the same time)
1.2.2
Improved /files/<id>/copy/ endpoint, which now has an optional “project” parameter. This can be used to copy a file to a different project.
Much improved config-openshot-cloud command (formatting and layout improvements, ability to register for support)
Fixed Effect (Mask) bug where workers were not able to download a custom asset
Added new unit tests with more coverage and many additional edge cases handled
Upgraded libopenshot C++ library with latest improvements and bug fixes (including a serious SVG mask related bug)
Experimental hardware acceleration support in libopenshot (requires instances with hardware encoders/decoders)
More reliable asset downloading between workers and server (retry logic and improved error reporting)
Enable CORS (cross-origin resource sharing) by default (can be disabled in /etc/apache2/sites-available/openshot.conf)
Upgraded boto3 module, for improved AWS S3/SQS support (added support for more regions: ap-south-1)
Updated system libraries and applied security updates
Improved documentation (REST methods, frame # calculations, suggested instance types, upgrade instructions)
1.2.1
Fixed regression with /files/<id>/copy/ endpoint, where original file media was removed
Fixed regression with /projects/<id>/copy/ endpoint, where original file media was removed
Improved documentation for token authentication
1.2.0
Upgrade from Ubuntu 16.04 LTS to 18.04 LTS
All libraries and frameworks updated (including Qt, FFmpeg, resvg, and Python)
Improved SVG rendering (due to updated Qt dependency)
Fixed SVG right alignment bug (due to updated Qt dependency)
1.1.1
Much improved SVG rendering (using resvg library). Supports more of the SVG language than our previous Qt SVG library.
Fixed bug with export object, where webhooks and S3 options were being clobbered at the end of an export.
Fixed S3 upload failures
Added more unit tests to validate S3 uploading and webhooks
Added new /info/fonts/thumbnail/ endpoint, to preview all installed fonts
New default font, when the API can not find an installed font
1.1.0
Replaced ZMQ queue with AWS SQS (for more reliable and scalable queue handling of video exports). Requires IAM user and permissions (AmazonSQSFullAccess & AmazonS3FullAccess).
Worker queue processing now restarts after exports are complete (clearing memory)
Worker file synchronizing is much faster (and more optimized)
Fixed /projects/<id>/load/ endpoint bug when loading ZIP archive of project files.
New /info/fonts/ endpoint for adding new Font files dynamically (POST method now accepted)
Memcached replacing local memory caching (more efficient caching)
/projects/<id>/files/find/ endpoint has been modified, to provide the media URL and file object URL
Updated documentation with new AWS SQS instructions
1.0.10
Improved API performance (less DB queries per request)
File updating bug fix (updating the media of a file would break)
New libopenshot version (fixes some codec issues, improved performance, better detection of various media formats)
1.0.9
Added /files/<id>/copy/ endpoint to Project and File objects
Added /projects/<id>/download/ endpoint for projects (ZIP archive of entire project with relative paths)
Added /files/<id>/text-replace/ endpoint for File objects (for easily editing SVG or text-based files)
Improved /projects/<id>/load/ endpoint to optionally accept a ZIP archive of an entire project with media files
Improved detection of installed AAC encoders
Improved speed of many endpoints (by reducing # of SQL queries and caching)
Reduced default video bitrate, for smaller files by default
Changed /projects/<id>/title/ endpoint to return the new file JSON (instead of a 302 redirect)
Allow OPTIONS method without authentication (for CORS)
Fixed webhooks for pending and failed exports
Fixed UTF-8 encoding error with unicode fonts (also added Noto fonts, including Japanese font)
Maintain original_id when /load/ endpoint is used
Added new unit tests for more coverage of API endpoints
Updated documentation with new endpoints
1.0.8 - Updated libopenshot version (fixed volume keyframe regression), and misc library improvements / fixes
1.0.7 - Reverting to libfdk_aac for AAC support. New native S3 support (for File and Export objects). Duplicate files on PUT or PATCH bug fixed. Improved file-system clean-up. Also improved docs with new S3 examples, and added upgrade instructions and release notes.
1.0.6 - Improved Audio Support (AAC), Better Memory Management, Misc Bug Fixes
1.0.5 - Stability Improvements, New Presets, Improved Docs
1.0.4 - Improved Webhooks, Improved Docs, Improved Logging, Misc Bug fixes
1.0.3 - Title Endpoints, Improved Docs, Misc Bug fixes
1.0.2 - Improved Performance, Improved Stability
1.0.1 - Stability Improvements, Misc Bug Fixes
1.0.0 - Initial Release of OpenShot Cloud API