Repository navigation
Releases: M-Compressors/ngx_mzstd
Release list
v0.2.3
Patch changes
- f524020 Prebuilt deb and rpm packages for amd64 and arm64 on Cloudsmith:
nginx-module-mzstdfor nginx.org's stable and mainline nginx, on every distribution release nginx.org packages for, andlibnginx-mod-http-mzstdandnginx-mod-mzstdfor the nginx of Debian, Ubuntu, RHEL-compatible distributions and Fedora, from 1.25.4 on. See "Installation from packages" in the README. — Thanks @Mnwa!
v0.2.2
Patch changes
- Bump zstd with perf optimizations
v0.2.1
v0.2.0
Minor changes
-
4834385
zstd_dict_filenow compresses responses with a dictionary; before, it was ignored. It accepts Zstandard-format dictionaries (such aszstd --trainwrites) and raw-content ones, as tokers/zstd-nginx-module does, and also works inserverandlocationblocks, wherezstd_dict_file offturns it off. The file is read and checked when the configuration is loaded, so a missing or malformed dictionary now fails the configuration instead of logging a warning. Each file is prepared once for every level and window that locations use it with. Responses with a dictionary are compressed in the event loop, also whenzstd_thread_poolis set.Update mzstd to 0.2.4. Responses compressed on a thread pool change: each segment now loads the input before it as history instead of compressing it again, up to 27% faster at levels 1-5 and 18-22, with frames up to 0.3% larger. Serial output is unchanged. — Thanks @Mnwa!
v0.1.2
Patch changes
- 146f881 Update mzstd to 0.2.3. Compression is faster at every level: the fast and double-fast match finders (levels up to 4), the lazy finders and the optimal parser (levels 16–22) do less work per byte, and sequence coding executes fewer instructions. Output is unchanged and still byte-identical to zstd 1.5.7. — Thanks @Mnwa!
v0.1.1
Patch changes
v0.1.0
Minor changes
- b4da15a Initial release:
ngx_http_zstd_filter_moduleandngx_http_zstd_static_module, a drop-in replacement for tokers/zstd-nginx-module built on ngx-rust and the pure-Rust mzstd encoder. Supports its directives (zstd,zstd_types,zstd_buffers,zstd_comp_levelincluding negative levels,zstd_min_length,zstd_static;zstd_dict_fileis accepted and ignored) and the$zstd_ratiovariable, and adds those of ngx_mbrotli:zstd_window,zstd_reuse_memory,zstd_retention_policy,zstd_idle_encoders,zstd_thread_pool,zstd_parallel_segment_size,zstd_parallel_tasksandzstd_parallel_compressors. The window is limited to 8 MB, as RFC 9659 requires and browsers enforce, so levels 20–22 no longer produce responses Chrome rejects. With ngx_mbrotli loaded too, zstd is preferred when a client accepts both encodings. — Thanks @Mnwa for your first contribution 🎉!