Changelog

All notable changes to this project are recorded here, grouped as Added, Changed, Fixed, Removed and Security. The project uses Semantic Versioning. Before 1.0.0, any release may change the API, the ABI and every file format.

0.6.0 (2026-10-30)

0.6.0 makes four more calls leave zeros or silence behind when they fail, never data from an earlier call, as the Maul family's rule for outputs asks. A call refused as busy because the object's own callback made it is the exception: it writes none of its outputs, since the call it interrupted may still be filling them. No backend changes what it does, so the device checklist on real hardware, which runs before a release that changes a backend, is not run for it. The golden renders and the office bake are unchanged.

Changed

0.5.0 (2026-10-30)

0.5.0 ends the review of the API before 1.0.0 (#150): the last calls and defs that did not follow the Maul family's rules are renamed or corrected. No backend changes what it does (the offline backend's setters are only renamed), so the device checklist on real hardware, which runs before a release that changes a backend, is not run for it. Successful calls, the golden renders and the office bake are unchanged.

Changed

Fixed

0.4.0 (2026-10-29)

0.4.0 makes a refused call leave silence or zeros behind, never data from an earlier call. It changes no backend. Successful calls, the golden renders and the office bake are unchanged. The device checklist on real hardware is waived by the owner for releases through 2026-10-29, so 0.4.0 ships on its other gates, and the checklist runs in #161.

Changed

0.3.0 (2026-10-29)

0.3.0 settles the names of the API before 1.0.0. It changes how web programs link (#163), and the Core Audio and WASAPI object renderers read the new position type (#152); the other backends change only by name. The device checklist on real hardware is waived by the owner for releases through 2026-10-29, so 0.3.0 ships on its other gates, and the checklist runs against it in #161. The golden renders and the office bake are unchanged.

Changed

Renamed functions

Old New
maudResumeContext maudContext_Unlock
maudSetContextSuspended maudContext_SetSuspended
maudGetContextBackend maudContext_GetBackend
maudGetContextMisuse maudContext_GetMisuse
maudGetDevices maudContext_GetDevices
maudGetDefaultDevice maudContext_GetDefaultDevice
maudGetDeviceInfo maudDevice_GetInfo
maudGetDeviceName maudDevice_GetName
maudGetDeviceKey maudDevice_GetKey
maudRequestFocus maudContext_RequestFocus
maudGetContextFocus maudContext_GetFocus
maudNextNotification maudContext_NextNotification
maudRenderObjects maudStream_RenderObjects
maudSetOfflineDefaultDevice maudDevice_SetOfflineDefault reordered: (context, role, device) to (context, device, role)
maudSetOfflineDeviceForm maudDevice_SetOfflineForm
maudSetOfflineDeviceFormat maudDevice_SetOfflineFormat
maudSetOfflineDeviceSpatializer maudDevice_SetOfflineSpatializer
maudStartStream maudStream_Start
maudStopStream maudStream_Stop
maudGetStreamFormat maudStream_GetFormat
maudGetStreamStatus maudStream_GetStatus
maudGetStreamPosition maudStream_GetPosition
maudGetStreamClock maudStream_GetClock
maudRenderStream maudStream_Render
maudFeedStream maudStream_Feed
maudDecodeBinaural maudBinauralDecoder_Decode
maudResetBinauralDecoder maudBinauralDecoder_Reset
maudGetSpeakerDecoderMatrix maudSpeakerDecoder_GetMatrix
maudDecodeToSpeakers maudSpeakerDecoder_Decode
maudProcessBinaural maudBinaural_Process
maudResetBinaural maudBinaural_Reset
maudProcessDirect maudDirectEffect_Process
maudResetDirectEffect maudDirectEffect_Reset
maudGetHrtfInfo maudHrtf_GetInfo
maudProcessReverb maudReverb_Process
maudResetReverb maudReverb_Reset
maudGetAcousticSceneMisuse maudAcousticScene_GetMisuse
maudCommitAcousticScene maudAcousticScene_Commit
maudMoveSceneInstance maudSceneInstance_Move
maudGetSpeakerGains maudSpeakerPanner_GetGains
maudPanToSpeakers maudSpeakerPanner_Pan
maudGetSpatializerMisuse maudSpatializer_GetMisuse
maudSetSourcePose maudSource_SetPose
maudGetDirectResult maudSource_GetDirectResult
maudSimulateDirect maudSpatializer_SimulateDirect
maudSimulateReverb maudSpatializer_SimulateReverb
maudSetMaterials maudSpatializer_SetMaterials
maudLatchResults maudSpatializer_LatchResults
maudRenderReflections maudSpatializer_RenderReflections
maudGetReverbResult maudSpatializer_GetReverbResult
maudGetProbeSet maudProbeSet_GetInfo reordered: (spatializer, set, infoOut, first, count, points) to (spatializer, set, first, infoOut, pointsOut, count)
maudSetPathing maudProbeSet_UseForPathing
maudUseBakedReverb maudProbeSet_UseBakedReverb
maudBakeProbeSet maudProbeSet_Bake
maudSaveProbeSet maudProbeSet_Save
maudDetectVoice maudVoiceDetector_Detect
maudApplyGainControl maudGainControl_Apply
maudSuppressNoise maudNoiseSuppressor_Suppress
maudCancelEcho maudEchoCanceller_Cancel
maudAddOfflineDevice maudCreateOfflineDevice
maudRemoveOfflineDevice maudDestroyOfflineDevice
maudSceneAnyHit maudFindAnyHit
maudSceneClosestHit maudFindClosestHit
maudResultName maudGetResultName
maudRotateAmbisonic maudRotateAmbisonic reordered: (order, from, to, bed, frames) to (bed, frames, order, from, to)

Renamed types

Old New
maudStreamCallback maudStreamFunction
maudAnyHitFn maudAnyHitFunction
maudClosestHitFn maudClosestHitFunction
maudTaskFn maudTaskFunction
maudEnqueueTaskFn maudEnqueueTaskFunction
maudFinishTaskFn maudFinishTaskFunction

Renamed scene names

Old New
maudAcousticScene maudScene
maudAcousticSceneDef maudSceneDef
MAUD_ACOUSTIC_SCENE_DEF_COOKIE MAUD_SCENE_DEF_COOKIE
maudDefaultAcousticSceneDef maudDefaultSceneDef
maudCreateAcousticScene maudCreateScene
maudDestroyAcousticScene maudDestroyScene
maudAcousticScene_Commit maudScene_Commit
maudAcousticScene_GetMisuse maudScene_GetMisuse
maudInstanceTransform maudSceneInstanceTransform

Renamed fields

Old New
maudVoiceDetectorDef.hangoverMilliseconds (uint32_t, milliseconds) hangover (float, seconds)
maudEchoCancellerDef.tailSeconds tailTime
maudHrtfInfo.taps tapCount
maudProbeSetInfo.probes probeCount
maudProbeSetInfo.links linkCount
maudReverbResult.estimates estimateCount
maudDirectResult.surfaces surfaceCount
maudDeviceInfo.spatialObjects spatialObjectCount
maudStreamBlock.objectsAvailable availableObjectCount
maudBinauralDef.nearField enableNearField
maudReverbDef.tail enableTail
maudSourceDef.transmission enableTransmission
maudSourceDef.pathing enablePathing

Fixed

0.2.0 (2026-10-28)

Changed

Fixed

0.1.0 (2026-10-27)

Changed

Fixed

0.0.4 (2026-10-25)

Changed

Fixed

0.0.3 (2026-10-24)

Changed

Fixed

0.0.2 (2026-10-24)

Fixed

0.0.1 (2026-10-24)

The first release on the organization's standard. Version numbers restarted at 0.0.1, and the earlier tags and releases were removed.

Added

Removed