.. Copyright (c) 2008-2016 OpenShot Studios, LLC (http://www.openshotstudios.com). This file is part of OpenShot Video Editor (http://www.openshot.org), an open-source project dedicated to delivering high quality video editing and animation solutions to the world. .. OpenShot Video Editor is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. .. OpenShot Video Editor is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. .. You should have received a copy of the GNU General Public License along with OpenShot Library. If not, see . .. _release_notes_ref: 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 :ref:`upgrade_ref` 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 :ref:`merge_endpoint_ref` 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 (:ref:`filestorage_ref` and :ref:`projectstorage_ref`) * 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 (:ref:`download_file_ref` and :ref:`export_file_ref`) * 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 :ref:`File ` and :ref:`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 :ref:`copy_file_ref` 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 :ref:`copy_file_ref` endpoint, where original file media was removed * Fixed regression with :ref:`copy_project_ref` 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 :ref:`fonts_thumbnail_endpoint_ref` 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 :ref:`load_endpoint_ref` endpoint bug when loading ZIP archive of project files. * New :ref:`fonts_endpoint_ref` endpoint for adding new Font files dynamically (POST method now accepted) * Memcached replacing local memory caching (more efficient caching) * :ref:`projects_files_find_ref` 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 :ref:`copy_file_ref` endpoint to Project and File objects * Added :ref:`download_endpoint_ref` endpoint for projects (ZIP archive of entire project with relative paths) * Added :ref:`textreplace_ref` endpoint for File objects (for easily editing SVG or text-based files) * Improved :ref:`load_endpoint_ref` 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 :ref:`title_endpoint_ref` 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