2025 Release Notes

Prev Next

New Features

June 2025

CP Billing Report/SP Monetization Report The Billing/Monetization report is now updated every 12 hours, instead of hourly. Calculations run twice daily, at 00:00 and 12:00 UTC time, with updates pushed to the report shortly afterward.



May 2025

Service Provider - Open Caching Dashboard is Deprecated The Open Caching dashboard has been deprecated. Its functionality is fully available in the Service Provider Report, which features an enhanced user experience with an updated interface, expanded capabilities, and performance enhancements.

Learn about the Service Provider Report.




Site Configuration - New Support for Site Level Settings
New support for configuring features at the site level, in addition to the host and path levels makes it easier to manage settings that apply globally across all or most site hosts and paths.

Site-level configurations can include origins, processing behaviors, ACLs, and settings like Traffic Type that must be consistent across all hosts and paths.

Site-level configurations apply to all hosts and paths but can be customized at the host and path level except for the settings that must remain global, such as Traffic Type, Client IPv6 support, and HTTP Keep Alive.

For new sites, we recommend defining global settings at the site level.

For existing sites, nothing changes -- host- and path-level configurations remain valid. You can optionally add a site-level configuration to simplify management going forward.

This capability is not currently available in the QC Services UI.

Learn more about the new site level configuration capability.



Site Configuration JSON - New Support for the Named Private Feature Format
In accordance with the SVTA specification, Qwilt uses private features to support functionality not covered by the standard metadata objects.

Until now, in the Qwilt site configuration JSON, private features were nested within the MI.PrivateFeatureList object. Now, the same features can be also configured using the named private feature format.
Both formats are supported, but we recommend switching to the named private feature format. Here's why:

  • In the MI.PrivateFeatureList format, any host- or path-level definition overrides the entire list from higher levels. This can unintentionally remove features configured at the higher level.

  • In contrast, the named private feature format gives each private feature its own generic-metadata-type, allowing features to be inherited or selectively overridden individually, without affecting others.

Learn more about Qwilt private features.

Note:

If you use the QC Services UI, you don't need to manage the underlying JSON format directly.

When you use the UI to modify an existing site configuration and save it as a new version, any private features in the MI.PrivateFeatureList are automatically converted to the named private feature format. Similarly, if you use the UI to add a new rule that corresponds to a Qwilt private feature, to a new or existing site configuration, it is automatically configured in the named private feature format.

Remember to publish the new version to activate it in production.



Content Publisher Dashboard- New 5-Minute Export Option
The Export function of the Content Publisher Dashboard now allows selecting 5-Minute Data Granularity. When the option is selected, exported data will include metrics per 5-minute interval, regardless of the interval displayed in the graphs at the time of export. This option may significantly increase the export time.

Export5Min.png

Learn how to export data from the Content Publisher Dashboard.



Keys Manager API - New
The Keys Manager API lets you create and manage the keys and keysets that support site functions like URL signing and origin authentication.

Learn about the Keys Manager API



QC Services Dashboards and Reports - Enhanced Time Zone Support
Previously, dashboards and reports supported only time zones offset by whole hours (e.g., UTC + 1, UTC-5). Now, time zones with partial-hour offsets (e.g., UTC+5:30, UTC+12:45) are also supported.


Delivery Reports API - Enhanced Time Filter Support
The Delivery Reports API now supports defining more granular start and end times for report generation.

Previously, when specifying the intervalUnit as hour, day, week, or month, the from and to epoch timestamps had to align with whole-hour or whole-day boundaries (e.g., 00:00 to 01:00 for hourly, or midnight to midnight for daily, weekly, or monthly reports).

With this enhancement, time filters can now start and end on any 5-minute increment, regardless of the selected intervalUnit.




April 2025

Log Shipping - Enhanced Filtering Capabilities

The Log Shipping feature now supports filtering log output based on any field values. Previously, filters were limited to Delivery Service (for content publishers only) and Response Code Class. To set up custom filters, contact us at support@qwilt.com.

Learn about Log Shipping



QC Services Dashboards and Reports - New Refresh Behavior

Previously, reports and dashboards were automatically refreshed every 5 minutes. With the new update, auto-refresh is now disabled by default.

A new indicator appears at the top of the page, showing how recently the report was refreshed.

refreshIndicator1.png

You can click the indicator to open a menu with options to manually refresh the report or enable auto-refresh every 5 minutes.

refreshIndicatorExpanded.png



Service Provider Traffic Report - New Table View

The Service Provider Traffic Report now includes a new table view for more detailed traffic analysis. This view complements the existing graphs and allows you to drill down into metrics by selected dimensions for deeper comparisons and insights.

In the following example, the service provider uses the Comparison feature to break down the metrics by service type (VOD, Live, Software Download):

tableViewComparisonPlusHighlightToggle.png

They then use the Breakdown feature to further break down the Service Type dimension by Content Publisher:

breakdownByCP.png

The View by Breakdown option pivots the table, turning the list of service types broken down by content publishers into a list of content publishers broken down by service type:

viewByBreakdown2.png

Learn more about the Service Provider Traffic Report.




March 2025

Media Delivery Log (MDL) Files - New Fields: ClientIpPlaintext; xForwardedForPlaintext
The Media Delivery Log (MDL) files now support the following new fields:
  • ClientIpPlaintext (string) - Displays the client's IP in plaintext. This is in addition to the ClientIp field that displays the obfuscated IP.

    Legal approval is required to expose the IP in plaintext. If privacy regulations prevent sharing the IP in plaintext, the field value is '-'.

    In MAP-T and Shared-IP scenarios, this field represents the internal provider IP rather than the client’s actual IP address.

  • xForwardedForPlaintext (string) - If the client request includes the X-Forwarded-For header, this field displays the original IP address of the client in plaintext. This is in addition to the x-forward-for field which shows the original client IP address in subnet form.

    Legal approval is required to expose the IP in plaintext. If privacy regulations prevent sharing the IP in plaintext, the field value is '-'.

Detailed information about all the MDL fields.



Service Provider Reporting - Filter Enhancements
The Content Publishers filter now displays all the Content Publishers served in the past year.

cpFilterYear.png


The Delivery Service filter now displays all the Delivery Services served in the past year, limited to the selected CPs, if the Content Publishers filter is set.

dsFilterYear.png




Content Publisher Reports and Dashboards - Service Provider Filter Enhancement
In all reports and dashboards, the list of ISPs available for selection in the Service Provider filter now includes all the ISPs that served your content within the past year.


Example 1: The Service Provider filter in the Content Publisher Dashboard:

newISPfilter4CPsingleCP.png


Example 2: The Service Provider filter in the Origin report:
ReportsSPFilter1Year.png



Now Supporting Low Latency Live Streaming for Both HLS and DASH Protocols The new Low Latency Live rule can be used to enable advanced features for the optimized delivery of Low Latency DASH and/or HLS streams.

Learn how to configure a Low Latency Live rule.

Note:

Previously, hosts configured for the Low Latency Live traffic type were optimized for Low Latency DASH. Existing services remain unaffected, but the configuration process has changed. The Low Latency Live traffic type is no longer available in the Host Configuration UI. Instead, set the traffic type to Live and define a Low Latency Live rule for DASH, HLS, or both.



Content Publisher Dashboard - New Default Export Behavior The Content Publisher Dashboard Export now aligns with the UI by default. Each data point is exported as a single line that aggregates data for all Content Providers (CPs) and Service Providers (ISPs).

For example:

hitRatioExportedNewDefault.png

This streamlined format replaces the previous default, which listed separate lines for each CP and ISP combination.

For users who prefer the previous breakdown, the new Include breakdown option is available in the Export dialog.

exportOldDefault.png

When this feature is enabled, the exported report includes separate lines per data point for each CP-ISP combination.

For example:
hitRatoExportBreakdown1.png



New Average Metric Value in the Delivery Reports API Response

Both the ISP Aggregation and the CP Aggregation endpoints now include the avg (average metric value) attribute in the API response, in addition to the min (minimum) and max (maximum) attributes.

Metric values are available per time interval within the report's time range. The stats attributes show the minimum and maximum values, and average value for all intervals. If a groupBy parameter is set, the stats are calculated per group.

For example:

{
     "startTime": 1741593600,
     "endTime": 1741595400,
     "intervalSize": 5,
     "intervalUnit": "min",
     "data": [
       {
         "stats": {
           "bitrate": {
             "min": {
               "ts": 1741595100,
               "value": 17691472.727198
             },
             "max": {
               "ts": 1741593600,
               "value": 19184965.017116
             },
             "avg": {
               "ts": 0,
               "value": 18640402.716114
             }
           }
         },
         "metrics": {
           "bitrate": [19184965.017116, 19157087.814222, 19108688.163274, 18704706.117433, 17969090.75329, 17691472.727198]
         }
       }
     ]
   }



Note that unless the groupBy settings include the time dimension, each metric in the metrics component exposes a single value only, and the min, max, and avg values in the stats component will be identical, and equal to this value.

For example:

{
   "startTime": 1741593600,
   "endTime": 1741595400,
   "intervalSize": 5,
   "intervalUnit": "min",
   "data": [
     {
       "stats": {
         "bitrate": {
           "min": {
             "ts": 0,
             "value": 18640402.716114
           },
           "max": {
             "ts": 0,
             "value": 18640402.716114
           },
           "avg": {
             "ts": 0,
             "value": 18640402.716114
           }
         }
       },
       "metrics": {
         "bitrate": [18640402.716114]
       }
     }
   ]
 }

Learn more about the CP Aggregated Reports API
Learn more about the ISP Aggregated Reports API



Media Delivery Log (MDL) Files - New Fields: cacheKey; upstreamDuration; serviceType The Media Delivery Log (MDL) files now support the following new fields:
  • cacheKey (string) - Unique identifier of a Qwilt Node (cache).

  • upstreamDuration (numeric) - The time (milliseconds) it took to receive content from the previous tier (another cache or the origin).

  • serviceType (string) - The type of service used to deliver the content (e.g. VOD, Live, Software Download).

Detailed information about all the MDL fields.




February 2025

Delivery Reports API - Enhancements

Both the ISP Aggregation and CP Aggregation endpoints of the Delivery Reports API now support several new features, available for traffic data from February 16th, 2025 onward.

New Group By Dimension:
A new valid value for the groupBy query parameter, groupBy=ipVersion breaks down the response by IP version.

New Filter Option:
A new query parameter, ipVersions, lets you filter the response by IP version.

Valid values:

  • 4 - Limits the response to traffic associated with IPv4 addresses.
  • 6 - Limits the response to traffic associated with IPv6 addresses.

New Metrics:

  • cache-time-to-first-byte - Represents the average time in milliseconds it took for the first byte to be delivered from Qwilt cache to the client. This is the average of all requests that were served as cache hits in the specified time period.

  • origin-time-to-first-byte - Represents the average time in milliseconds it took for the first byte to be delivered from the origin server to the Qwilt cache during the specified time period.

Note:

If a request spans a period that starts before February 16, 2025 and ends after it, please note the following:

  • When using the new groupBy dimension, all data from before February 16, 2025 will be grouped under null.
  • When applying the new filter, all data from before February 16, 2025 will be excluded, even if it matches the filter.
  • When using the new metrics, the values will only reflect traffic from February 16, 2025 onward.



Example 1:
This is an example of a request for the volume, cache-time-to-first-byte, and origin-time-to-first-byte metrics for all traffic layers combined, grouped by IP version.

Request:

https://delivery-reports.cqloud.com/api/3/reports/cp/aggregation?from=1739667600&to=1739805005&intervalSize=5&intervalUnit=min&metrics=volume,cache-time-to-first-byte,origin-time-to-first-byte&groupBy=ipVersion&trafficLayers=egress,qgn,ingress,midgress



Response:

{
  "startTime": 1739667600,
  "endTime": 1739805005,
  "intervalSize": 5,
  "intervalUnit": "min",
  "data": [
    {
      "dimensions": {
        "ipVersion": "6"
      },
      "stats": {
        "volume": {
          "min": {
            "ts": 0,
            "value": 45261246479910584
          },
          "max": {
            "ts": 0,
            "value": 45261246479910584
          }
        },
        "cache-time-to-first-byte": {
          "min": {
            "ts": 0,
            "value": 17.612899
          },
          "max": {
            "ts": 0,
            "value": 17.612899
          }
        },
        "origin-time-to-first-byte": {
          "min": {
            "ts": 0,
            "value": 32.167565
          },
          "max": {
            "ts": 0,
            "value": 32.167565
          }
        }
      },
      "metrics": {
        "volume": [45261246479910584],
        "cache-time-to-first-byte": [17.612899],
        "origin-time-to-first-byte": [32.167565]
      }
    },
    {
      "dimensions": {
        "ipVersion": "4"
      },
      "stats": {
        "volume": {
          "min": {
            "ts": 0,
            "value": 90950360015662270
          },
          "max": {
            "ts": 0,
            "value": 90950360015662270
          }
        },
        "cache-time-to-first-byte": {
          "min": {
            "ts": 0,
            "value": 14.320212
          },
          "max": {
            "ts": 0,
            "value": 14.320212
          }
        },
        "origin-time-to-first-byte": {
          "min": {
            "ts": 0,
            "value": 41.20094
          },
          "max": {
            "ts": 0,
            "value": 41.20094
          }
        }
      },
      "metrics": {
        "volume": [90950360015662270],
        "cache-time-to-first-byte": [14.320212],
        "origin-time-to-first-byte": [41.20094]
      }
    }
  ]
}



Example 2:
This example uses the ipVersions filter to limit the response to traffic associated with IPv4 addresses. (ipVersions=4)

Request:

https://delivery-reports.cqloud.com/api/3/reports/cp/aggregation?from=1739667600&to=1739805005&intervalSize=5&intervalUnit=min&metrics=volume,cache-time-to-first-byte,origin-time-to-first-byte&ipVersions=4&trafficLayers=egress,qgn,ingress,midgress

Response

{
  "startTime": 1739667600,
  "endTime": 1739805005,
  "intervalSize": 5,
  "intervalUnit": "min",
  "data": [
    {
      "stats": {
        "volume": {
          "min": {
            "ts": 0,
            "value": 90950358268592600
          },
          "max": {
            "ts": 0,
            "value": 90950358268592600
          }
        },
        "cache-time-to-first-byte": {
          "min": {
            "ts": 0,
            "value": 14.320212
          },
          "max": {
            "ts": 0,
            "value": 14.320212
          }
        },
        "origin-time-to-first-byte": {
          "min": {
            "ts": 0,
            "value": 41.20094
          },
          "max": {
            "ts": 0,
            "value": 41.20094
          }
        }
      },
      "metrics": {
        "volume": [90950358268592600],
        "cache-time-to-first-byte": [14.320212],
        "origin-time-to-first-byte": [41.20094]
      }
    }
  ]
}

Learn about the Delivery Reports ISP Aggregation API

Learn about the Delivery Reports CP Aggregation API



SSO Login Now Supported with Custom IdP Integration

QC Services now supports Identity Provider (IdP) integration for Single Sign On (SSO), allowing your users to log in to QC Services with their existing corporate credentials on your company's login screen.

LoginWithSSORN2.png



Organization Switching Now Supported in the QC Services UI

In the QC Services UI, users with multiple organization assignments can seamlessly switch between organizations and complete tasks without needing to log in and out.

The new Organization Selection menu appears at the top of the navigation pane in the QC Services UI:

selectOrg4

The selected organization determines which data appears in dashboards and reports, as well as which applications, site configurations, and certificates are available. Any site configurations or certificates created are associated with the selected organization.

More information for users assigned to multiple organizations.


A Note for Qwilt API Users

The cqloudLoginToken or API Key used to authenticate your API request is associated with a specific organization. When you create a cqloudLoginToken, you specify the organization it is valid for. When you generate an API Key, it is tied to the organization you are working in at that moment.

Qwilt API Authentication



Compare Site Configuration Versions (Compare JSON)

Versions and History management now supports side-by-side comparison of any two site configuration versions.

  1. On the Media Site Configuration tab, open Versions & History.

    compareVersions1.png

  2. In the Versions List, choose Compare Versions.

compareVersions2.png

  1. In the Version Comparison dialog, select the site configuration versions. The configuration JSON for each version is displayed side-by-side.

    compareVersions3.png


    • If a configuration object was modified, the old version of the object is highlighted in red and the new version is highlighted in green.
    • New configuration objects are highlighted in green.
    • Deleted configuration objects are highlighted in red.

Learn about the Site Configuration JSON format.

Learn about Version Control




January 2025

Log Shipping – New Sampling Feature (Send Specified % of Data)

The Log Shipping feature now supports sending a sample of log data. To enable this feature, contact us at support@qwilt.com and specify your preferred sample percentage.

Learn about Log Shipping



Content Publisher Dashboard - View Volume Distribution and Bandwidth by Egress or Origin

The CP Dashboard has been updated to improve customer analytics. Now the Volume Distribution and Bandwidth metrics can each be toggled to display either Egress or Origin traffic. This update enhances clarity, making it easier to analyze traffic patterns and Qwilt CDN performance.

RNEgressOrigin.png

Learn about the Content Publisher Dashboard



Enhanced Peak Value Display - Content Publisher and Delivery Services Dashboards

Peak values throughout the Content Publisher and Delivery Services Dashboards are consistently based on 5-minute intervals, even if the data points on the graph represent longer intervals.

Hover over the peak icon on a graph to view the peak details:

HoverPeak1.png




Hover over the data point itself to view details about the interval:

HoverDataPoint1.png

If needed, zoom in on the graph until it displays 5-minute intervals to view the details of a specific 5-minute interval corresponding to a peak.

Content Publisher Dashboard Documentation

Delivery Service Dashboard Documentation



API Keys Feature Now Available for Service Providers

The API Keys feature is now available to Service Providers. Content Publishers already had access to this feature. Use the feature to create API keys that can be used to authenticate Qwilt API requests.

Learn about API Keys



New Service Provider Report (Available to Service Providers)

The new Service Provider Report provides a comprehensive view of Qwilt CDN activity within your network for a specified time period. It offers insights into your entire network and allows you to drill down into specific dimensions, such as traffic tiers, content providers, and delivery services.

The Service Provider Report introduces powerful new features, including:

  • Access to historical data.
  • Customizable report granularity.
  • Ability to export filtered data.
  • More robust peak value insights.
  • New Activity Health Panel that offers an at-a-glance view of server activity across CDN caches over the past hour.

Learn about the Service Provider Report (This doc is available to Service Providers only.)



Service Provider - OPS Dashboard is Deprecated

The OPS dashboard is deprecated. It is replaced by the new Service Provider Report designed for an enhanced user experience with an updated interface, new features, and improved performance.



Resolved Issues

June 2025

Critical Patch Update

The Teleport infrastructure on the Qwilt CDN backend has been upgraded to version 16.5.12, to address CVE-2025-49825.

This update has been deployed across all Qwilt Nodes in production and does not require any customer action.





April 2025

QC Services Dashboards and Reports - Zoom Feature

Previously, when zooming in on a graph, the time indicators displayed throughout the UI did not always reflect the updated view. Now, when you zoom in on a report, the time displayed at the top of the page, in the Customize Report pane, and within the graph itself will all consistently match the selected period.

bugFixReportTimeFilter.png




March 2025

Purge Feature - Purge Action is Reenabled

The Purge feature includes two actions:

  • Purge – Removes specified content from the CDN cache.

  • Update – Invalidates specified content in the cache.
    The Purge action was temporarily unavailable but has now been restored. The Update action remained available throughout.

    Learn about the Purge Function




February 2025

New Delivery Reports API Features Available in JSON and TSV Response Formats

The new Delivery Reports API Features released in February were temporarily unavailable in the TSV response format. These features are now available in both the default JSON response format and the TSV response format.


Enable SAN creation on Certificate Templates

Fixed the issue that prevented users from creating a certificate template with alternative names (SANs).

Learn about Certificate Management.


Host Configuration - HTTP/2 Protocol was Enabled but not Indicated in the UI

The HTTP/2 protocol, although enabled by default, was not indicated in the Delivery Service Management UI.

This was a temporary issue that has been fixed.

http24RN.png

Learn about Host Configuration.




January 2025

Signature V4 Origin Authentication Keys were Unavailable for Selection

Fixed the issue where keys created for Signature V4 Origin Authentication were not available for selection in the Private Secret Key field of the Add Host Origin UI.

selectPrivateKeyBug2.png

Learn about Origin Configuration.