@svta/cml-cmaf-ham changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
Unreleased
0.25.0 - 2026-10-26
Changed
Track.urlis optional. An HLS audio rendition without aURIattribute maps to a track without a URL, and the HLS writer already falls back to<id>.m3u8for that case. TypeScript consumers that readtrack.urlas astringneed to handleundefined.addMetadataToHlsstoresversionandmediaSequenceas strings when the parsed HLS manifest has them. Before, an inverted check stored the value only when it was missing. Nothing in the package reads these entries.- The HLS mapper types describe the fields the mapper reads.
PlayList.attributesaddsLANGUAGEandFRAME-RATE, theMediaGroupsitems add an optionaluri, andHlsManifestaddsversionandmediaSequence.audioGroupsToSwitchingSetsandsubtitleGroupsToSwitchingSetstake the typed media groups instead ofany.Mapper.getManifestMetadataandHlsMapper.getManifestMetadatareturnJSON | undefined, the type thatDashMapperandMapperContextalready declare. - The README now has a When to use section. The section names the tasks that the package covers and the entry point of each task.
- The overview in
src/README.mdlinks the documentation at https://cml.svta.org/. getUrlFromTemplateandgetInitializationUrlresolve the segment URL templates withprocessUriTemplatefrom@svta/cml-dash, a new peer dependency. The templates now resolve$Bandwidth$,$Time$,$$, and a%0<width>dtag of any width, so$Number%05d$gives00001instead of1. A token outside the template grammar, such as$Number%d$, stays in the URL unchanged instead of becoming the plain number.@svta/cml-iso-8601is a new peer dependency.iso8601DurationToNumbertrims the value and decodes it withdecodeIso8601Durationfrom that package. A year counts as 365 days and a month as 30 days.- The DASH and HLS mapper helpers write nothing to the console.
getCodec,getSar,getContentType,getChannels,getFrameRate,getSampleRate,getLanguage,mapSegments,getDuration, andparseHlsManifestreturn their documented default for a missing value, without a log. Before, each of these helpers also wrote an error or info line to the console. Period.$.durationis optional, as in the DASH specification.getPeriodDurationderives the duration of a Period without the attribute. TypeScript consumers that readperiod.$.durationas astringneed to handleundefined.
Removed
numberToIso8601Duration. UseencodeIso8601Durationfrom@svta/cml-iso-8601, which gives the same string.
Fixed
iso8601DurationToNumberadds the days of a duration and reads the minutes after theTdesignator. Before,P1DT1Hgave 3600 andP0Y0M0DT0H1M30.000Sgave 30.dashToHamnow derives the duration of a Period without adurationattribute. The Period ends at the start of the next Period or at themediaPresentationDurationof the MPD. Before, such a Period had duration 0 and aSegmentTemplatetrack had no segments.
0.24.8 - 2026-10-18
Changed
@svta/cml-drmis now a declared peer dependency.- README: a usage example replaces the empty code block. The examples in
src/README.mdimport from@svta/cml-cmaf-hamand compile. The sample README gives the correct folder and run command. - The
parseByteRangeStringandbyteRangeToHlsStringdocs now formatlength@offsetas code. - Peer dependency ranges are now caret ranges, for example
^1.6.2instead of1.6.2. A later patch or minor release of a peer no longer requires a new release of this package.
Fixed
- The conversion sample resolves its input and output folders from the script location, so
npm run dev -w libs/cmaf-hamworks from any directory. It no longer fails on an HLS ancillary playlist with an empty file name.
0.24.7 - 2026-09-15
Changed
- Update
@svta/cml-utilsto 1.6.1
0.24.6 - 2026-07-28
Changed
- Update
@svta/cml-utilsto 1.6.0
0.24.5 - 2026-07-21
Fixed
- The ISO 8601 duration regexes in the DASH converter no longer rescan quadratically on long digit runs (CodeQL polynomial ReDoS); matches and captures are unchanged (#388)
0.24.4 - 2026-05-13
Changed
- Update
@svta/cml-utilsto 1.5.0
0.24.3 - 2026-02-11
Changed
- Update
@svta/cml-utilsto 1.4.0
0.24.2 - 2026-02-04
Changed
- Update
@svta/cml-utilsto 1.3.0
0.24.1 - 2026-02-03
Changed
- Update
@svta/cml-utilsto 1.2.0
0.24.0 - 2025-01-07
Changed
- Update CMAF HAM model types
0.23.2 - 2025-12-26
Changed
- Update
@svta/cml-utilsto 1.1.0 (#279)
0.23.1 - 2025-12-22
Fixed
- Use fixed version numbers for all CML peer dependencies (#277)