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.
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.
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.
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.
You can click the indicator to open a menu with options to manually refresh the report or enable auto-refresh every 5 minutes.
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):
They then use the Breakdown feature to further break down the Service Type dimension by Content Publisher:
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:
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 thex-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.
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.
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:
Example 2: The Service Provider filter in the Origin report:
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.
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:
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.
When this feature is enabled, the exported report includes separate lines per data point for each CP-ISP combination.
For example:
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.
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:
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.
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.
Compare Site Configuration Versions (Compare JSON)
Versions and History management now supports side-by-side comparison of any two site configuration versions.
-
On the Media Site Configuration tab, open Versions & History.
-
In the Versions List, choose Compare Versions.
-
In the Version Comparison dialog, select the site configuration versions. The configuration JSON for each version is displayed side-by-side.
- 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.
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.
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.
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:
Hover over the data point itself to view details about the interval:
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.
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.
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.
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.
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.
Learn about Origin Configuration.