v1.52.0

junegunn/fzfv1.52.0Jul 30, 2026by Vanilagy

AI Summary

Major API update for video encoding introducing quantizer support and deprecating bitrate fields.

Key Highlights

  • Added quantizer support for encoders, enabling constant-quality encoding
  • Expanded `Quality` class to accept arbitrary quality levels and specific per-codec quantizer levels
  • Deprecated `bitrate` fields across the API; use the new `quality` field instead
  • Fixed video/audio decoders not being closed in error situations
  • Improved encoder error handling to reduce warnings

Breaking Changes

  • Deprecated `bitrate` fields all across the API; use the new `quality` field instead

New Features

  • Quantizer support for encoders
  • Expanded Quality class

Full Release Notes

- Added quantizer support for encoders, enabling constant-quality encoding. Quantizer mode is used automatically if you use subjective qualities; no code changes needed. (#448)
- Expanded the `Quality` class: Can now take in an arbitrary quality level, specify bitrate and bitrate mode, and specify a concrete per-codec quantizer level
- Adjusted `@mediabunny/server` to properly forward quantizer settings to libavcodec
- Deprecated `bitrate` fields all across the API; use the new `quality` field instead
- Fixed video/audio decoders not being closed in certain error situations (#446)
- Fixed promises hanging indefinitely sometimes when calling Input.dispose()
- Improved encoder error handling to reduce "Sample wasn't closed" warnings
- Fixed ISOBMFF muxer not labeling video tracks as containing an alpha track (for example, with ProRes 4444) (#450)