Skip to content

Upgrading cloudinary 0.2 to 1

Breaking0.2.8 → 1.46.3Breaking6Security1Platform4New222Changed47Fixed82Other138

BreakingUpgrade verdict

6 breaking changes and 4 platform requirement changes and a security fix.

  • The option previously called custom_action is now called custom_function, so old code using the old name must be updated.
  • Callers that relied on the default for `public_ids` must now pass it explicitly.
  • Removes django_tests from the package.
  • Removes the no longer needed upload_chunked endpoint.
Top 5 of 11 that need code or config changes

Adds certifi, six, urllib3 >=1.26.5.

Installs 3 packages in all (was 0).

Breaking6
Renames custom_action to custom_function.
custom_actioncustom_function
Removes the default value for the public_ids argument.
public_ids
Removes django_tests from the package.
django_tests
Removes the no longer needed upload_chunked endpoint.
upload_chunked
Renames CloudinaryImage.url method to build_url to avoid conflicts with the url property.
CloudinaryImage.urlCloudinaryImage.build_url
Replaces Exception with ValueError.
ValueError
Security1
Verifies the protocol in CLOUDINARY_URL.
CLOUDINARY_URL
Platform4
Adds Python 3.9 support.
Adds Python 3.8 support.
Adds support for Python 3.7 and Django 2.1.
Supports Python 2 and 3, and Django 1.7 and 1.9.

Generated by DepDelta from published Python source. Not mixed with prose notes.

  • removed: method CloudinaryImage.image(**options)
  • removed: method CloudinaryImage.url(**options)
  • removed: method CloudinaryImage.validate()
  • removed: method Config.update(**keywords)
  • changed: class CloudinaryImage(object) → class CloudinaryImage(CloudinaryResource)
  • changed: class Config(object) → class Config(BaseConfig)
  • changed: constructor CloudinaryImage(public_id, format=…, version=…, signature=…) → constructor CloudinaryImage(public_id=…, **kwargs)
  • added: class BaseConfig(object)
  • added: class CloudinaryResource(object)
  • added: class CloudinaryVideo(CloudinaryResource)
  • added: constructor BaseConfig()
  • added: constructor CloudinaryResource(public_id=…, format=…, version=…, signature=…, url_options=…, metadata=…, type=…, resource_type=…, default_resource_type=…)
  • added: constructor CloudinaryVideo(public_id=…, **kwargs)
  • added: export GeneralError
  • added: export HttpClient
  • added: export Search
  • added: export SearchFolders
  • added: export parse_qs
  • added: export responsive_breakpoints_cache
  • added: export urlparse
  • added: field CloudinaryResource.default_video_sources
  • added: function get_user_agent()
  • added: method BaseConfig.update(**keywords)
  • added: method CloudinaryResource.build_url(**options)
  • added: method CloudinaryResource.get_expected_signature()
  • added: method CloudinaryResource.get_prep_value()
  • added: method CloudinaryResource.get_presigned()
  • added: method CloudinaryResource.image(**options)
  • added: method CloudinaryResource.picture(**options)
  • added: method CloudinaryResource.source(**options)
  • added: method CloudinaryResource.validate()
  • added: method CloudinaryResource.video(**options)
  • added: method CloudinaryResource.video_thumbnail(**options)
  • added: property CloudinaryResource.url
  • added: static method CloudinaryResource.default_poster_options(options)
  • added: static method CloudinaryResource.default_source_types()
  • added: variable AKAMAI_SHARED_CDN
  • added: variable API_VERSION
  • added: variable CERT_KWARGS
  • added: variable CF_SHARED_CDN
  • added: variable CL_BLANK
  • added: variable OLD_AKAMAI_SHARED_CDN
  • added: variable SHARED_CDN
  • added: variable URI_SCHEME
  • added: variable USER_AGENT
  • added: variable USER_PLATFORM
  • added: variable VERSION
  • added: variable ch
  • added: variable formatter
  • added: variable logger
  • removed: class AlreadyExists(Error)
  • removed: class AuthorizationRequired(Error)
  • removed: class BadRequest(Error)
  • removed: class Error(Exception)
  • removed: class GeneralError(Error)
  • removed: class NotAllowed(Error)
  • removed: class NotFound(Error)
  • removed: class RateLimited(Error)
  • removed: class Response(dict)
  • removed: constructor Response(result, response)
  • removed: function call_api(method, uri, params, **options)
  • removed: variable EXCEPTION_CODES
  • changed: function only(hash, *keys) → function only(source, *keys)
  • added: function ack_notifications(receipt_handles, **options)
  • added: function add_metadata_field(field, **options)
  • added: function add_metadata_rule(rule, **options)
  • added: function add_related_assets(public_id, assets_to_relate, resource_type=…, type=…, **options)
  • added: function add_related_assets_by_asset_ids(asset_id, assets_to_relate, **options)
  • added: function analyze(input_type, analysis_type, uri=…, **options)
  • added: function config(**options)
  • added: function create_folder(path, **options)
  • added: function create_streaming_profile(name, **options)
  • added: function create_trigger(uri, event_type, uri_type=…, **options)
  • added: function create_upload_mapping(name, **options)
  • added: function create_upload_preset(**options)
  • added: function delete_all_resources(**options)
  • added: function delete_backed_up_assets(asset_id, version_ids, **options)
  • added: function delete_datasource_entries(field_external_id, entries_external_id, **options)
  • added: function delete_derived_by_transformation(public_ids, transformations, resource_type=…, type=…, invalidate=…, **options)
  • added: function delete_folder(path, **options)
  • added: function delete_metadata_field(field_external_id, **options)
  • added: function delete_metadata_rule(rule_external_id, **options)
  • added: function delete_related_assets(public_id, assets_to_unrelate, resource_type=…, type=…, **options)
  • added: function delete_related_assets_by_asset_ids(asset_id, assets_to_unrelate, **options)
  • added: function delete_resources_by_asset_ids(asset_ids, **options)
  • added: function delete_resources_by_tag(tag, **options)
  • added: function delete_streaming_profile(name, **options)
  • added: function delete_trigger(trigger_id, **options)
  • added: function delete_upload_mapping(name, **options)
  • added: function delete_upload_preset(name, **options)
  • added: function get_streaming_profile(name, **options)
  • added: function list_metadata_fields(**options)
  • added: function list_metadata_rules(**options)
  • added: function list_streaming_profiles(**options)
  • added: function metadata_field_by_field_id(field_external_id, **options)
  • added: function notifications(channel=…, batch_id=…, max_messages=…, wait_seconds=…, visibility_timeout=…, **options)
  • added: function ping(**options)
  • added: function publish_by_ids(public_ids, **options)
  • added: function publish_by_prefix(prefix, **options)
  • added: function publish_by_tag(tag, **options)
  • added: function rename_folder(from_path, to_path, **options)
  • added: function reorder_metadata_field_datasource(field_external_id, order_by, direction=…, **options)
  • added: function reorder_metadata_fields(order_by, direction=…, **options)
  • added: function resource_by_asset_id(asset_id, **options)
  • added: function resources_by_asset_folder(asset_folder, **options)
  • added: function resources_by_asset_ids(asset_ids, **options)
  • added: function resources_by_context(key, value=…, **options)
  • added: function resources_by_ids(public_ids, **options)
  • added: function resources_by_moderation(kind, status, **options)
  • added: function restore(public_ids, **options)
  • added: function restore_by_asset_ids(asset_ids, **options)
  • added: function restore_metadata_field_datasource(field_external_id, entries_external_ids, **options)
  • added: function root_folders(**options)
  • added: function subfolders(of_folder_path, **options)
  • added: function test_trigger(trigger_id, sample_data=…, **options)
  • added: function triggers(**options)
  • added: function update(public_id, **options)
  • added: function update_metadata_field(field_external_id, field, **options)
  • added: function update_metadata_field_datasource(field_external_id, entries_external_id, **options)
  • added: function update_metadata_rule(rule_external_id, rule, **options)
  • added: function update_streaming_profile(name, **options)
  • added: function update_trigger(trigger_id, new_uri, **options)
  • added: function update_upload_mapping(name, **options)
  • added: function update_upload_preset(name, **options)
  • added: function upload_mapping(name, **options)
  • added: function upload_mappings(**options)
  • added: function upload_preset(name, **options)
  • added: function upload_presets(**options)
  • added: function usage(**options)
  • added: function visual_search(image_url=…, image_asset_id=…, text=…, image_file=…, **options)
  • added: variable ACCOUNT_SUB_PATH
  • added: variable PROVISIONING_SUB_PATH
  • added: function call_api(method, uri, params, **options)
  • added: function call_json_api(method, uri, params, **options)
  • added: function call_metadata_api(method, uri, params, **options)
  • added: function call_metadata_rules_api(method, uri, params, **options)
  • added: variable logger
  • added: class Response(dict)
  • added: constructor Response(result, response, **kwargs)
  • added: function execute_request(http_connector, method, params, headers, auth, api_url, **options)
  • added: variable EXCEPTION_CODES
  • added: class TCPKeepAliveHTTPConnectionPool(HTTPConnectionPool)
  • added: class TCPKeepAliveHTTPSConnectionPool(HTTPSConnectionPool)
  • added: class TCPKeepAlivePoolManager(PoolManager)
  • added: class TCPKeepAliveProxyManager(ProxyManager)
  • added: class TCPKeepAliveValidationMethods
  • added: constructor TCPKeepAlivePoolManager(num_pools=…, headers=…, **connection_pool_kw)
  • added: constructor TCPKeepAliveProxyManager(proxy_url, num_pools=…, headers=…, proxy_headers=…, **connection_pool_kw)
  • added: static method TCPKeepAliveValidationMethods.adjust_connection_socket(conn, protocol=…)
  • added: variable TCP_KEEPALIVE
  • added: variable TCP_KEEPALIVE_INTERVAL
  • added: variable TCP_KEEP_CNT
  • added: variable TCP_KEEP_IDLE
  • added: function generate(url=…, acl=…, start_time=…, duration=…, expiration=…, ip=…, key=…, token_name=…, **_)
  • added: variable AUTH_TOKEN_NAME
  • added: variable AUTH_TOKEN_SEPARATOR
  • added: variable AUTH_TOKEN_UNSAFE_RE
  • added: class CacheAdapter
  • added: method CacheAdapter.delete(public_id, type, resource_type, transformation, format)
  • added: method CacheAdapter.flush_all()
  • added: method CacheAdapter.get(public_id, type, resource_type, transformation, format)
  • added: method CacheAdapter.set(public_id, type, resource_type, transformation, format, value)
  • added: class KeyValueCacheAdapter(CacheAdapter)
  • added: constructor KeyValueCacheAdapter(storage)
  • added: method KeyValueCacheAdapter.delete(public_id, type, resource_type, transformation, format)
  • added: method KeyValueCacheAdapter.flush_all()
  • added: method KeyValueCacheAdapter.get(public_id, type, resource_type, transformation, format)
  • added: method KeyValueCacheAdapter.set(public_id, type, resource_type, transformation, format, value)
  • added: property KeyValueCacheAdapter.enabled
  • added: static method KeyValueCacheAdapter.generate_cache_key(public_id, type, resource_type, transformation, format)
  • added: class ResponsiveBreakpointsCache
  • added: constructor ResponsiveBreakpointsCache(**cache_options)
  • added: method ResponsiveBreakpointsCache.delete(public_id, **options)
  • added: method ResponsiveBreakpointsCache.flush_all()
  • added: method ResponsiveBreakpointsCache.get(public_id, **options)
  • added: method ResponsiveBreakpointsCache.set(public_id, value, **options)
  • added: method ResponsiveBreakpointsCache.set_cache_adapter(cache_adapter)
  • added: property ResponsiveBreakpointsCache.enabled
  • added: variable instance
  • added: class FileSystemKeyValueStorage(KeyValueStorage)
  • added: constructor FileSystemKeyValueStorage(root_path)
  • added: method FileSystemKeyValueStorage.clear()
  • added: method FileSystemKeyValueStorage.delete(key)
  • added: method FileSystemKeyValueStorage.get(key)
  • added: method FileSystemKeyValueStorage.set(key, value)
  • added: class KeyValueStorage
  • added: method KeyValueStorage.clear()
  • added: method KeyValueStorage.delete(key)
  • added: method KeyValueStorage.get(key)
  • added: method KeyValueStorage.set(key, value)
  • added: function advance_iterator(it)
  • added: function cldrange(*args, **kwargs)
  • added: variable NotConnected
  • added: variable advance_iterator
  • added: variable cldrange
  • added: variable httplib
  • added: variable parse_qs
  • added: variable parse_qsl
  • added: variable quote_plus
  • added: variable to_bytearray
  • added: variable to_bytes
  • added: variable to_string
  • added: variable unquote
  • added: variable urlencode
  • added: variable urllib2
  • added: variable urlparse
  • added: class AlreadyExists(Error)
  • added: class AuthorizationRequired(Error)
  • added: class BadRequest(Error)
  • added: class Error(Exception)
  • added: class GeneralError(Error)
  • added: class NotAllowed(Error)
  • added: class NotFound(Error)
  • added: class RateLimited(Error)
  • changed: constructor CloudinaryFileField(*args, **kwargs) → constructor CloudinaryFileField(options=…, autosave=…, *args, **kwargs)
  • changed: constructor CloudinaryJsFileField(*args, **kwargs) → constructor CloudinaryJsFileField(attrs=…, options=…, autosave=…, *args, **kwargs)
  • changed: method CloudinaryInput.render(name, value, attrs=…) → method CloudinaryInput.render(name, value, attrs=…, renderer=…)
  • added: class CloudinaryUnsignedJsFileField(CloudinaryJsFileField)
  • added: constructor CloudinaryUnsignedJsFileField(upload_preset, attrs=…, options=…, autosave=…, *args, **kwargs)
  • added: field CloudinaryFileField.default_error_messages
  • added: field CloudinaryFileField.my_default_error_messages
  • added: field CloudinaryJsFileField.default_error_messages
  • added: class HttpClient
  • added: constructor HttpClient(**options)
  • added: field HttpClient.DEFAULT_HTTP_TIMEOUT
  • added: method HttpClient.get_json(url)
  • added: function with_metaclass(meta, *bases)
  • added: method CloudinaryField.from_db_value(value, expression, connection, *args, **kwargs)
  • added: method CloudinaryField.parse_cloudinary_resource(value)
  • added: method CloudinaryField.pre_save(model_instance, add)
  • added: variable CLOUDINARY_FIELD_DB_RE
  • added: variable version
  • added: class MultipartParam(object)
  • added: constructor MultipartParam(name, value=…, filename=…, filetype=…, filesize=…, fileobj=…, cb=…)
  • added: function encode_and_quote(data)
  • added: function encode_file_header(boundary, paramname, filesize, filename=…, filetype=…)
  • added: function encode_string(boundary, name, value)
  • added: function gen_boundary()
  • added: function get_body_size(params, boundary)
  • added: function get_headers(params, boundary)
  • added: function multipart_encode(params, boundary=…, cb=…)
  • added: method MultipartParam.encode(boundary)
  • added: method MultipartParam.encode_hdr(boundary)
  • added: method MultipartParam.get_size(boundary)
  • added: method MultipartParam.iter_encode(boundary, blocksize=…)
  • added: method MultipartParam.reset()
  • added: static method MultipartParam.from_file(paramname, filename)
  • added: static method MultipartParam.from_params(params)
  • added: class StreamingHTTPConnection(_StreamingHTTPMixin, httplib.HTTPConnection)
  • added: class StreamingHTTPHandler(urllib2.HTTPHandler)
  • added: class StreamingHTTPRedirectHandler(urllib2.HTTPRedirectHandler)
  • added: class StreamingHTTPSConnection(_StreamingHTTPMixin, httplib.HTTPSConnection)
  • added: class StreamingHTTPSHandler(urllib2.HTTPSHandler)
  • added: field StreamingHTTPHandler.handler_order
  • added: field StreamingHTTPRedirectHandler.handler_order
  • added: field StreamingHTTPSHandler.handler_order
  • added: function register_openers()
  • added: method StreamingHTTPHandler.http_open(req)
  • added: method StreamingHTTPHandler.http_request(req)
  • added: method StreamingHTTPRedirectHandler.redirect_request(req, fp, code, msg, headers, newurl)
  • added: method StreamingHTTPSHandler.https_open(req)
  • added: method StreamingHTTPSHandler.https_request(req)
  • added: export AccountConfig
  • added: export Role
  • added: export access_keys
  • added: export account_config
  • added: export add_user_to_group
  • added: export create_agent_account
  • added: export create_cloud
  • added: export create_sub_account
  • added: export create_user
  • added: export create_user_group
  • added: export delete_access_key
  • added: export delete_sub_account
  • added: export delete_user
  • added: export delete_user_group
  • added: export generate_access_key
  • added: export remove_user_from_group
  • added: export reset_config
  • added: export sub_account
  • added: export sub_accounts
  • added: export update_access_key
  • added: export update_sub_account
  • added: export update_user
  • added: export update_user_group
  • added: export user
  • added: export user_group
  • added: export user_group_users
  • added: export user_groups
  • added: export user_in_user_groups
  • added: export users
  • added: class Role(object)
  • added: field Role.ADMIN
  • added: field Role.BILLING
  • added: field Role.MASTER_ADMIN
  • added: field Role.MEDIA_LIBRARY_ADMIN
  • added: field Role.MEDIA_LIBRARY_USER
  • added: field Role.REPORTS
  • added: field Role.TECHNICAL_ADMIN
  • added: function access_keys(sub_account_id, page_size=…, page=…, sort_by=…, sort_order=…, **options)
  • added: function add_user_to_group(user_group_id, user_id, **options)
  • added: function create_agent_account(email, agent_framework, agent_llm_model, agent_goal, sdk_framework=…, **options)
  • added: function create_cloud(delivery_ips=…, email=…, agent_framework=…, agent_llm_model=…, agent_goal=…, sdk_framework=…, **options)
  • added: function create_sub_account(name, cloud_name=…, custom_attributes=…, enabled=…, base_account=…, **options)
  • added: function create_user(name, email, role, sub_account_ids=…, **options)
  • added: function create_user_group(name, **options)
  • added: function delete_access_key(sub_account_id, api_key=…, name=…, **options)
  • added: function delete_sub_account(sub_account_id, **options)
  • added: function delete_user(user_id, **options)
  • added: function delete_user_group(user_group_id, **options)
  • added: function generate_access_key(sub_account_id, name=…, enabled=…, **options)
  • added: function remove_user_from_group(user_group_id, user_id, **options)
  • added: function sub_account(sub_account_id, **options)
  • added: function sub_accounts(enabled=…, ids=…, prefix=…, **options)
  • added: function update_access_key(sub_account_id, api_key, name=…, enabled=…, dedicated_for=…, **options)
  • added: function update_sub_account(sub_account_id, name=…, cloud_name=…, custom_attributes=…, enabled=…, **options)
  • added: function update_user(user_id, name=…, email=…, role=…, sub_account_ids=…, **options)
  • added: function update_user_group(user_group_id, name, **options)
  • added: function user(user_id, **options)
  • added: function user_group(user_group_id, **options)
  • added: function user_group_users(user_group_id, **options)
  • added: function user_groups(**options)
  • added: function user_in_user_groups(user_id, **options)
  • added: function users(user_ids=…, sub_account_id=…, status=…, prefix=…, last_login=…, from_date=…, to_date=…, **options)
  • added: variable ACCESS_KEYS
  • added: variable AGENTS_SUB_PATH
  • added: variable CLOUDS_SUB_PATH
  • added: variable SUB_ACCOUNTS_SUB_PATH
  • added: variable USERS_SUB_PATH
  • added: variable USER_GROUPS_SUB_PATH
  • added: class AccountConfig(BaseConfig)
  • added: constructor AccountConfig()
  • added: function account_config(**keywords)
  • added: function reset_config()
  • added: variable ACCOUNT_URI_SCHEME
  • added: class Search(object)
  • added: constructor Search()
  • added: field Search.ASSETS
  • added: method Search.aggregate(value)
  • added: method Search.as_dict()
  • added: method Search.endpoint(endpoint)
  • added: method Search.execute(**options)
  • added: method Search.expression(value)
  • added: method Search.fields(value)
  • added: method Search.max_results(value)
  • added: method Search.next_cursor(value)
  • added: method Search.sort_by(field_name, direction=…)
  • added: method Search.to_json()
  • added: method Search.to_url(ttl=…, next_cursor=…, **options)
  • added: method Search.ttl(ttl)
  • added: method Search.with_field(value)
  • added: class SearchFolders(Search)
  • added: constructor SearchFolders()
  • added: field SearchFolders.FOLDERS
  • changed: function cloudinary_includes() → function cloudinary_includes(processing=…)
  • changed: function cloudinary_tag(image, **options) → function cloudinary_tag(context, image, options_dict=…, **options)
  • added: function cloudinary_direct_upload_field(field_name=…, request=…)
  • added: function cloudinary_js_config()
  • added: function cloudinary_url(context, source, options_dict=…, **options)
  • added: variable CLOUDINARY_JS_CONFIG_PARAMS
  • removed: function build_custom_headers(headers)
  • removed: function build_eager(transformations)
  • removed: function build_upload_params(**options)
  • removed: function now()
  • changed: function call_api(action, params, **options) → function call_api(action, params, http_headers=…, return_error=…, unsigned=…, file=…, timeout=…, extra_headers=…, **options)
  • added: function add_context(context, public_ids, **options)
  • added: function call_cacheable_api(action, params, http_headers=…, return_error=…, unsigned=…, file=…, timeout=…, **options)
  • added: function call_context_api(context, command, public_ids=…, **options)
  • added: function create_archive(**options)
  • added: function create_slideshow(**options)
  • added: function create_zip(**options)
  • added: function download_generated_sprite(tag=…, urls=…, **options)
  • added: function download_multi(tag=…, urls=…, **options)
  • added: function explode(public_id, **options)
  • added: function generate_sprite(tag=…, urls=…, **options)
  • added: function is_appengine_sandbox()
  • added: function multi(tag=…, urls=…, **options)
  • added: function remove_all_context(public_ids, **options)
  • added: function remove_all_tags(public_ids, **options)
  • added: function rename(from_public_id, to_public_id, **options)
  • added: function unsigned_upload(file, upload_preset, **options)
  • added: function update_metadata(metadata, public_ids, **options)
  • added: function upload_image(file, **options)
  • added: function upload_large(file, **options)
  • added: function upload_large_part(file, **options)
  • added: function upload_resource(file, **options)
  • added: variable UPLOAD_LARGE_CHUNK_SIZE
  • added: variable upload_options
  • changed: function api_sign_request(params_to_sign, api_secret) → function api_sign_request(params_to_sign, api_secret, algorithm=…, signature_version=…)
  • changed: function smart_escape(string) → function smart_escape(source, unsafe=…)
  • added: function api_string_to_sign(params_to_sign, signature_version=…)
  • added: function archive_params(**options)
  • added: function base64_encode_url(url)
  • added: function base64url_decode(data)
  • added: function base64url_encode(data)
  • added: function base_api_url(path, **options)
  • added: function bracketize_seq(params)
  • added: function breakpoint_settings_mapper(breakpoint_settings)
  • added: function build_custom_headers(headers)
  • added: function build_distribution_domain(options)
  • added: function build_eager(transformations)
  • added: function build_list_of_dicts(val)
  • added: function build_multi_and_sprite_params(**options)
  • added: function build_single_eager(options)
  • added: function build_upload_params(**options)
  • added: function chain_transformations(options, transformations)
  • added: function check_property_enabled(f)
  • added: function cleanup_params(params)
  • added: function cloudinary_api_download_url(action, params, **options)
  • added: function cloudinary_scaled_url(source, width, transformation, options)
  • added: function compute_hex_hash(s, algorithm=…)
  • added: function download_archive_url(**options)
  • added: function download_backedup_asset(asset_id, version_id, **options)
  • added: function download_folder(folder_path, **options)
  • added: function download_zip_url(**options)
  • added: function encode_context(context)
  • added: function encode_date_to_usage_api_format(date_obj)
  • added: function encode_dict(arg)
  • added: function encode_double_array(array)
  • added: function encode_list(obj)
  • added: function encode_unicode_url(url_str)
  • added: function file_io_size(file_io)
  • added: function finalize_resource_type(resource_type, type, url_suffix, use_root_path, shorten)
  • added: function finalize_source(source, format, url_suffix)
  • added: function fq_public_id(public_id, resource_type=…, type=…)
  • added: function generate_auth_token(**options)
  • added: function generate_responsive_breakpoints_string(breakpoints)
  • added: function get_http_connector(conf, options)
  • added: function handle_file_parameter(file, filename)
  • added: function html_attrs(attrs, only=…)
  • added: function is_fraction(width)
  • added: function is_remote_url(file)
  • added: function json_body(params, headers=…)
  • added: function json_encode(value, sort_keys=…)
  • added: function merge(*dict_args)
  • added: function norm_auto_range_value(value)
  • added: function norm_range_value(value)
  • added: function normalize_context_value(value)
  • added: function normalize_expression(expression)
  • added: function normalize_params(params)
  • added: function now()
  • added: function patch_fetch_format(options)
  • added: function private_download_url(public_id, format, **options)
  • added: function process_conditional(conditional)
  • added: function process_custom_function(custom_function)
  • added: function process_custom_pre_function(custom_function)
  • added: function process_fps(fps)
  • added: function process_ki(ki)
  • added: function process_layer(layer, layer_parameter)
  • added: function process_params(params)
  • added: function process_radius(param)
  • added: function process_video_codec_param(param)
  • added: function safe_cast(val, casting_fn, default=…)
  • added: function sign_request(params, options)
  • added: function split_range(range)
  • added: function translate_if(match)
  • added: function unique(collection, key=…)
  • added: function unsigned_download_url_prefix(source, cloud_name, private_cdn, cdn_subdomain, secure_cdn_subdomain, cname, secure, secure_distribution)
  • added: function verify_api_response_signature(public_id, version, signature, algorithm=…)
  • added: function verify_notification(message, valid_for=…, algorithm=…)
  • added: function verify_notification_signature(body, timestamp, signature, valid_for=…, algorithm=…)
  • added: function zip_download_url(tag, **options)
  • added: variable DEFAULT_RESPONSIVE_WIDTH_TRANSFORMATION
  • added: variable FLOAT_RE
  • added: variable IF_OPERATORS
  • added: variable LONG_URL_SIGNATURE_LENGTH
  • added: variable PREDEFINED_VARS
  • added: variable PathLibPathType
  • added: variable RANGE_RE
  • added: variable RANGE_VALUE_RE
  • added: variable REMOTE_URL_RE
  • added: variable SHORT_URL_SIGNATURE_LENGTH
  • added: variable SIGNATURE_SHA1
  • added: variable SIGNATURE_SHA256
  • added: variable VAR_NAME_RE
  • added: variable replaceRE
  • added: variable signature_algorithms
  • added: variable unquote
  • added: variable upload_params
  • added: variable urlencode