> ## Documentation Index
> Fetch the complete documentation index at: https://cloudinary.com/documentation/llms.txt
> Use this file to discover all available pages before exploring further.

# Programmable Media release notes: November 13, 2023

## New features

### CMAF and DASH support for automatic streaming profile selection

[Automatic streaming profile selection](adaptive_bitrate_streaming#automatic_streaming_profile_selection) now uses CMAF and adds DASH support (in addition to the already supported HLS).

[CMAF](https://www.iso.org/standard/85623.html) (Common Media Application Format), is an important standard in the world of streaming media, particularly for video content delivery, and offers cost savings through reduced encoding, storage, and delivery expenses in addition to increased interoperability, by delivering a single set of derived media that is compatible across devices and browsers. 

To request automatic streaming with DASH, add the `.mpd` extension together with the `sp_auto` transformation: 

![Waterfall](https://res.cloudinary.com/demo/video/upload/sp_auto/docs/waterfall.mpd "with_image: false")

```nodejs
cloudinary.url("docs/waterfall.mpd", {streaming_profile: "auto", resource_type: "video"})
```

```react
new CloudinaryVideo("docs/waterfall.mpd").transcode(streamingProfile("auto"));
```

```vue
new CloudinaryVideo("docs/waterfall.mpd").transcode(streamingProfile("auto"));
```

```angular
new CloudinaryVideo("docs/waterfall.mpd").transcode(streamingProfile("auto"));
```

```js
new CloudinaryVideo("docs/waterfall.mpd").transcode(streamingProfile("auto"));
```

```python
cloudinary.utils.cloudinary_url("docs/waterfall.mpd", streaming_profile="auto", resource_type="video")
```

```php
(new VideoTag('docs/waterfall.mpd'))
	->transcode(Transcode::streamingProfile("auto"));
```

```java
cloudinary.url().transformation(new Transformation().streamingProfile("auto")).resourceType("video").generate("docs/waterfall.mpd")
```

```ruby
cloudinary_url("docs/waterfall.mpd", streaming_profile: "auto", resource_type: "video")
```

```csharp
cloudinary.Api.UrlVideoUp.Transform(new Transformation().StreamingProfile("auto")).BuildUrl("docs/waterfall.mpd")
```

```dart
cloudinary.video('docs/waterfall.mpd').transformation(Transformation()
	.transcode(Transcode.streamingProfile("auto")));
```

```swift
cloudinary.createUrl().setResourceType("video").setTransformation(CLDTransformation().setStreamingProfile("auto")).generate("docs/waterfall.mpd")
```

```android
MediaManager.get().url().transformation(new Transformation().streamingProfile("auto")).resourceType("video").generate("docs/waterfall.mpd");
```

```flutter
cloudinary.video('docs/waterfall.mpd').transformation(Transformation()
	.transcode(Transcode.streamingProfile("auto")));
```

```kotlin
cloudinary.video {
	publicId("docs/waterfall.mpd")
	 transcode(Transcode.streamingProfile("auto")) 
}.generate()
```

```jquery
$.cloudinary.url("docs/waterfall.mpd", {streaming_profile: "auto", resource_type: "video"})
```

```react_native
new CloudinaryVideo("docs/waterfall.mpd").transcode(streamingProfile("auto"));
```

Benefits of DASH include:

* Codec-agnostic (allows the choice of the most efficient and suitable codec for the content e.g. VP9, AV1 - currently only H.264 is supported).  
* Vendor-neutral (open standards developed by the industry consortium MPEG).
* Highly efficient in adjusting the video quality in real-time based on the viewer’s network conditions and device capabilities.
* Future-proof (supports higher resolutions, and better compression codecs and techniques).
  

Learn more about DASH: [What Is MPEG-DASH? And MPEG-DASH vs. HLS](https://cloudinary.com/guides/video-formats/what-is-mpeg-dash-and-mpeg-dash-vs-hls)

Points to consider:

* When requesting either HLS or DASH streams, both variations will be generated and made available concurrently, thanks to the use of CMAF.
* Automatic streaming profile selection on-the-fly operates exclusively for HLS (.m3u8) and supports output requests of up to 60 minutes.
* For DASH (.mpd) or videos longer than 60 minutes, it is queued for background processing.

Future plans:

* Additional format support - H.265, VP9, and AV1.
* Video/audio stream separation.

**Learn more**: [Automatic streaming profile selection](adaptive_bitrate_streaming#automatic_streaming_profile_selection)

### Video Player for Flutter SDK

A new version (1.1.0) of the Flutter SDK is now available with a native Flutter video player, which supports Cloudinary features out of the box. 

The new Flutter video player includes:

* Easy Cloudinary integration for your public IDs and transformations.
* Automatic streaming profile selection by default (unless other transformations are added).

**Learn more**: [Cloudinary native video player](flutter_media_transformations#cloudinary_native_video_player)

## Enhancements

### Increased file upload limit to 100 GB

We've added functionality to make it possible to upload files as large as 100 GB to your product environment. To enable this on your account, [raise a support request](https://support.cloudinary.com/hc/en-us/requests/new). 

To upload large files (above 20 GB), you must use one of the [Cloudinary SDKs](cloudinary_sdks) and set the `async` parameter to `true` on upload.

You can see your current usage limits in your [Console Account Settings](https://console.cloudinary.com/app/settings/account).

**Learn more**: [Uploading large files](upload_images#chunked_asset_upload)

### Improvements to the Video Analytics dashboard

If you head over to your [Video Analytics dashboard](https://console.cloudinary.com/console/reports/video-player), you'll spot some improvements to the metrics breakdown section. 

With smaller and more user-friendly cards in a grid layout, improved scrolling, and pie charts replaced with bar charts, we've improved the visual clarity of the metrics.

![Video Analytics dashboard](https://cloudinary-res.cloudinary.com/image/upload/f_auto/q_auto/bo_1px_solid_grey/docs/video-analytics-dashboard.png "thumb: w_600,dpr_2, width:600, popup: true")

**Learn more**: [Cloudinary Video Analytics](video_analytics)

## Register for notifications
Make sure you always know when we publish new release notes with the **Programmable Media release notes RSS feed**: 

 Grab this [RSS link](/documentation/rss/cloudinary-pm-release-notes.xml) to watch for new Programmable Media release notes in your favorite RSS reader.
