Cloud Content Delivery - Release Notes and Known Issues

Hello Everyone!

This thread will be kept up to date with release notes for Cloud Content Delivery. It will also have an updated list of known issues.

Release Notes

[u][u]December 2, 2020____[/u][/u]

We’ve released the API v0.9.87.

Summary

  • Changed service so that billing is no longer deactivated when the last bucket is deleted for a project. The project needs to be archived to deactivate billing
  • Added new params to the release diff entries endpoint: GetReleaseDiffEntries. You can now diff based upon release numbers or release ids. The new query params are ‘fromreleasenum’ and ‘toreleasenum’
  • Added filter to the diff entries endpoints GetDiffEntries,GetReleaseDiffEntries. You can now filter entries by using ‘include_states’ and specifying a list of change states. For example: ‘include_states=Add,Delete,Update’

[u][u][u][u]December 1, 2020____[/u][/u][/u][/u]

An overview support page is now available in the dashboard. This page gathers the following info and analytics:

Summary

  • You can see your bandwidth consumption at the project level
  • You can keep track of the total bandwidth used with details of the free bandwidth used and paid bandwidth used

**[u]November 24, 2020**[/u]

We’ve released the API v0.9.79.

Summary

  • Added new endpoint for Org usage
  • Added missing foreign keys
  • Configured the client API garbage collector
  • Change queries for bucket and release lists to do far fewer queries
  • Reworked how diffs are generated to create less load on the management server

____[u]November 6, 2020____[/u]

We’ve released the API v0.9.73.

Summary

  • Added created field to bucket model
  • Reworked diff generation to prevent locking on uploads
  • Updated SSL cert
  • Reworked statistics gathering to improve performance
  • Moved to stricter caching policy for the client API, to include HEAD requests and 404s

October 15, 2020

We’ve released the API v0.9.62.

Summary

  • Documentation: fix “Try it out” button
  • Documentation: added release notes
  • Added ApiKeyAuth to all routes secured by it in docs.json
  • Added /orgs GET route
  • Re-worked file storage to prevent race conditions when uploading identical files (size + hash) with different filenames. The last file completely uploaded is the version that is served.

October 8, 2020

We’ve released the API v0.9.61, CLI v0.9.8, and some updates in the dashboard.

Summary

  • This release adds support for editing the notes fields on releases after the release has been created (editing available via CLI and dashboard)
  • This release adds a support page in the dashboard. You can now see the API service status in real-time, submit a support ticket, and access documentation for Cloud Content Delivery in the CCD section.

Dashboard

A support page is available in the dashboard. This page gathers the following information and links:

  • The status of Management and Client APIs in real time
  • Direct links to assistance: forum, documentation, and API reference
  • Direct submission of a support ticket
  • Main Cloud Content Delivery materials

API v0.9.61

  • Added a PUT route to releases to update notes on a release after a release has been created.

CLI v0.9.8

  • Added ‘releases update [releaseid] --notes’ to CLI to update notes after a release has been created

  • Fixed error messages when a user does not have access to perform an operation to inform them they need to be a manager or owner of the project.

September 30, 2020

We’ve released the API v0.9.60 and CLI v0.9.7

Summary

  • This release adds support for resuming uploads and downloads through the management API. Technical details are provided below.

  • The “entries download” command in the CLI has been changed to write to file by default rather than STDOUT.

API v0.9.60

  • Added a PUT route to releases to update notes on a release after a release has been created.

  • You can no longer download partial content through the client API. To download content through the client API the size (Content-Size) and MD5 hash (Content-Hash) must match. The client API will return a 404 if they do not match. We still support downloading incomplete files through the management API. Files uploaded before this release will still be available through the client API.

  • If you upload the expected number of bytes (or more) for a file and the Content-Hash does not match the Upload-Offset will be reset to zero, and you will need to upload again. You can still download the file through the management API for troubleshooting purposes.

  • Support has been added for tus uploads (https://tus.io/). This includes a POST endpoint for the /content routes. This route is NOT required to be called. It’s simply for tus clients that break without it.

  • Added x-unity-hash to content status endpoints. This includes md5, crc32c, sha1, and sha256 hashes when available. MD5 should be available for all files. The rest will only be available for new uploads. They headers looks like this:
    X-Unity-Hash: md5=4221d002ceb5d3c9e9137e495ceaa647
    X-Unity-Hash: crc32c=163c5da7
    X-Unity-Hash: sha1=804d716fc5844f1cc5516c8f0be7a480517fdea2
    X-Unity-Hash: sha256=b6668cf8c46c7075e18215d922e7812ca082fa6cc34668d00a6c20aee4551fb6

  • You can now continue a partially uploaded file (or upload in partial segments). When continuing an upload you must start from the returned Upload-Offset or 0 to start over.

  • The value of x-unity-hash will reflect what has been uploaded with partial uploads.

  • Any files uploaded before this release will be assumed to be complete if their sizes match. No hash checks will be done.

  • Any new file uploads will need to have matching Content-Size and Content-Hash MD5 hashes to be added to a release.

CLI v0.9.7 (optional upgrade)

  • BREAKING: When using “entries download” the file will be downloaded to a local file with the same filename as the remote file. Previous behavior downloaded to STDOUT. You can continue to download to stdout using the output argument with a single dash:
    –output -

  • BREAKING: When using “entries download” if a file exists and you try to overwrite it the command will fail. You will need to use the --force flag to overwrite the existing file.

  • When using “entries download” you can resume partial downloads. Simply pass the --continue flag.

December 17, 2020

We’ve released the API v0.9.94.

Summary

  • Switched all data validation to use Swagger/Open API standards. Some error message details have changed. For instance: ‘releaseid is a required field’ is now ‘releaseid in body is required’

January 6, 2021

We’ve released the API v0.9.98.

Summary

  • Fixed API permissions documentation definition.

  • Removed permissions from security nodes and added them as extensions in swagger.

  • Moved the values from security->permissions to x-permissions

January 14, 2021

We’ve released the API v0.9.102.

Summary

  • Allow diffs against an empty bucket. You can do this with fromreleasenum=0.

  • Properly cancel interrupted uploads.

February 4, 2021

We’ve released the API v0.9.107.

Summary

  • Reworked diffs to improve performance and stability
  • The ‘loading’ field will always be included in the ‘changecount’ model with a boolean value. Previously, the ‘loading’ field was only included when the value was true.

April 22, 2021

Hi all- I’m Christina, new Product Manager on the Cloud Content Delivery team. We’ve released API v0.9.147.

Summary

  • Added complete flag to the Entry model (which is returned from routes like GetEntry). This indicates that the file that was uploaded matches the size and md5 sum that is expected.
  • Optimized ReleaseEntry query to improve performance
  • Return correct error message for content-type issues
  • Improved logging to increase throughput

May 4, 2021

Entries can now be added, updated, downloaded, and deleted on the Latest page from the CCD dashboard

May 13, 2021

We’ve released API v0.9.159.

Summary

  • New “File Upload” UI added to the Onboarding page, allowing users to add files directly in the dashboard instead of needing to use the CLI when onboarding onto the service

  • Added complete field to ReleaseEntry model. This indicates that the file that was uploaded matches the size and md5 sum that is expected.

  • Entries are now saved only if there is an actual change in the entry fields/content.

  • The JSON output for entry create/update commands now contains fields last_modified (changes every time at least one entry field is updated, i.e. entry content is changed) and updated_at (changes every time an update call is made)

  • Added new checks and fixed existing checks for Labels and Metadata to prevent updating an entry when unchanged Label and/or Metadata is passed in update API call body.

  • Added support for Unity Services Gateway requests coming in from the Unity dashboard.

  • Updated SSL cert

May 20, 2021

We’ve released API v0.9.164.

Summary

  • List of badges now returns most recently created badges first rather than sorting alphabetically
  • Exposed Location header in Access-Control-Expose-Headers
  • Added tos_accepted param to GetOrg
  • Added API endpoint to accept term of service (TOS) SaveTosAccepted

June 7, 2021

We’ve released API v0.9.170, CLI v0.9.9, and dashboard improvements.

Summary

  • API: Fixed a timeout when creating a release with large numbers of files (over 5000)

  • CLI: Added --timeout flag to releases create command

  • Dashboard: The following are now saved on page change or refresh:

  • The perPage setting of the changes, releases and badges tables

  • The filters for the changes table in Latest and Release pages

  • The state of Badges Information Panel in the Badges

June 4, 2021

As part of the Addressables v1.18.9 release, we have added the path pairs feature for better use with CCD:

Profile variables are automatically divided into a prefix and postfix by the . character. Profile variables sharing a prefix and a set of specific postfixes, BuildPath and LoadPath, are grouped together into a path pair.

A path pair is defined by the following criteria:

  • two variables with a common prefix separated by a . character
  • one variable postfix following the . must be BuildPath
  • one variable postfix following the . must be LoadPath

June 29, 2021

We’ve released API v1.1.2.

Summary

  • Treat 0 byte files as complete
  • Fixed database connection leak when uploading large numbers of files
  • Currently when we read a path from the “path” query parameter we trim forward slashes, but not backslashes. This effectively breaks Windows players (and Windows Addressables development). This has been fixed in a pre-release version of Addressables, but this fixes it on the server side as well.

July 7, 2021

We added a checkbox to delete entries which are in the bucket but not in entries to be uploaded when using the upload feature in the dashboard. This brings the dashboard to full parity with the CLI.

July 22, 2021

We’ve released API v1.1.15

Summary

July 27, 2021

We’ve released Promotion Only Buckets!

A bucket can be marked as “promotion only” in order to restrict access to that bucket and prevent mistakes such as uploading incorrect content to a bucket. New bucket icons now indicate whether the bucket is open to all (open box icon) or promotion only (closed box icon).

  • Open to all: Anyone can modify content in this bucket.
  • Promotion only: Owners + Managers can modify content through promotion from another bucket. No one can upload to or delete content from this bucket.
1 Like

August 9, 2021

We’ve released API v1.2.6

Summary

  • Updated service events to support additional analytics

August 10, 2021

If you’re using CCD with Cloud Build, we’ve added the following features:

  • The ability to explicitly choose a different CCD bucket when copying a build target in Cloud Build
  • The ability to turn off the --delete flag in Cloud Build so CCD can handle both incremental builds and clean builds

7406342--905420--image.png

August 10, 2021

We have released 2 dashboard updates:

  • The ability to cancel in progress uploads from the dashboard. Note that files that have already been uploaded at the time of cancellation will remain in the bucket.
  • A new release selector for creating and editing badges in the dashboard.

August 10, 2021

We’ve released CLI v0.9.14.

Summary

  • –interactive flag added globally (to disable y/n prompt)
  • promote-only bucket support
  • added --release to entries sync command
  • improved upload behavior of sync
  • added --badge with releases create command (and with entries sync when --release is specified)

September 9, 2021

We’ve released download metrics and error details in the CCD dashboard!

You can now view number of downloads in the last 24hrs, 7 days, and 30 days, as well as number of errors and error details in the last 24hrs.

1 Like