Skip to content

Commit 74d65ea

Browse files
authored
Merge pull request #2514 from felixhandte/v1.4.9
Prepare Codebase for v1.4.9 Release
2 parents aec1e8c + 3835957 commit 74d65ea

File tree

3 files changed

+65
-8
lines changed

3 files changed

+65
-8
lines changed

CHANGELOG

+26
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,29 @@
1+
v1.4.9 (Mar 1, 2021)
2+
bug: Use `umask()` to Constrain Created File Permissions (#2495, @felixhandte)
3+
bug: Make Simple Single-Pass Functions Ignore Advanced Parameters (#2498, @terrelln)
4+
api: Add (De)Compression Tracing Functionality (#2482, @terrelln)
5+
api: Support References to Multiple DDicts (#2446, @senhuang42)
6+
api: Add Function to Generate Skippable Frame (#2439, @senhuang42)
7+
perf: New Algorithms for the Long Distance Matcher (#2483, @mpu)
8+
perf: Performance Improvements for Long Distance Matcher (#2464, @mpu)
9+
perf: Don't Shrink Window Log when Streaming with a Dictionary (#2451, @terrelln)
10+
cli: Fix `--output-dir-mirror`'s Rejection of `..`-Containing Paths (#2512, @felixhandte)
11+
cli: Allow Input From Console When `-f`/`--force` is Passed (#2466, @felixhandte)
12+
cli: Improve Help Message (#2500, @senhuang42)
13+
tests: Remove Flaky Tests (#2455, #2486, #2445, @Cyan4973)
14+
tests: Correctly Invoke md5 Utility on NetBSD (#2492, @niacat)
15+
tests: Avoid Using `stat -c` on NetBSD (#2513, @felixhandte)
16+
build: Zstd CLI Can Now be Linked to Dynamic `libzstd` (#2457, #2454 @Cyan4973)
17+
build: Hide and Avoid Using Static-Only Symbols (#2501, #2504, @skitt)
18+
build: CMake: Enable Only C for lib/ and programs/ Projects (#2498, @concatime)
19+
build: CMake: Use `configure_file()` to Create the `.pc` File (#2462, @lazka)
20+
build: Fix Fuzzer Compiler Detection & Update UBSAN Flags (#2503, @terrelln)
21+
build: Add Guards for `_LARGEFILE_SOURCE` and `_LARGEFILE64_SOURCE` (#2444, @indygreg)
22+
build: Improve `zlibwrapper` Makefile (#2437, @Cyan4973)
23+
contrib: Add `recover_directory` Program (#2473, @terrelln)
24+
doc: Change License Year to 2021 (#2452 & #2465, @terrelln & @senhuang42)
25+
doc: Fix Typos (#2459, @ThomasWaldmann)
26+
127
v1.4.8 (Dec 18, 2020)
228
hotfix: wrong alignment of an internal buffer
329

doc/zstd_manual.html

+38-7
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
<html>
22
<head>
33
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
4-
<title>zstd 1.4.8 Manual</title>
4+
<title>zstd 1.4.9 Manual</title>
55
</head>
66
<body>
7-
<h1>zstd 1.4.8 Manual</h1>
7+
<h1>zstd 1.4.9 Manual</h1>
88
<hr>
99
<a name="Contents"></a><h2>Contents</h2>
1010
<ol>
@@ -473,12 +473,14 @@ <h3>Decompression context</h3><pre> When decompressing many times,
473473
* ZSTD_d_format
474474
* ZSTD_d_stableOutBuffer
475475
* ZSTD_d_forceIgnoreChecksum
476+
* ZSTD_d_refMultipleDDicts
476477
* Because they are not stable, it's necessary to define ZSTD_STATIC_LINKING_ONLY to access them.
477478
* note : never ever use experimentalParam? names directly
478479
*/
479480
ZSTD_d_experimentalParam1=1000,
480481
ZSTD_d_experimentalParam2=1001,
481-
ZSTD_d_experimentalParam3=1002
482+
ZSTD_d_experimentalParam3=1002,
483+
ZSTD_d_experimentalParam4=1003
482484

483485
} ZSTD_dParameter;
484486
</b></pre><BR>
@@ -816,7 +818,7 @@ <h3>Streaming decompression functions</h3><pre></pre><b><pre></pre></b><BR>
816818
</b><p> Reference a prepared dictionary, to be used for all next compressed frames.
817819
Note that compression parameters are enforced from within CDict,
818820
and supersede any compression parameter previously set within CCtx.
819-
The parameters ignored are labled as "superseded-by-cdict" in the ZSTD_cParameter enum docs.
821+
The parameters ignored are labelled as "superseded-by-cdict" in the ZSTD_cParameter enum docs.
820822
The ignored parameters will be used again if the CCtx is returned to no-dictionary mode.
821823
The dictionary will remain valid for future compressed frames using same CCtx.
822824
@result : 0, or an error code (which can be tested with ZSTD_isError()).
@@ -867,6 +869,13 @@ <h3>Streaming decompression functions</h3><pre></pre><b><pre></pre></b><BR>
867869
<pre><b>size_t ZSTD_DCtx_refDDict(ZSTD_DCtx* dctx, const ZSTD_DDict* ddict);
868870
</b><p> Reference a prepared dictionary, to be used to decompress next frames.
869871
The dictionary remains active for decompression of future frames using same DCtx.
872+
873+
If called with ZSTD_d_refMultipleDDicts enabled, repeated calls of this function
874+
will store the DDict references in a table, and the DDict used for decompression
875+
will be determined at decompression time, as per the dict ID in the frame.
876+
The memory for the table is allocated on the first call to refDDict, and can be
877+
freed with ZSTD_freeDCtx().
878+
870879
@result : 0, or an error code (which can be tested with ZSTD_isError()).
871880
Note 1 : Currently, only one dictionary can be managed.
872881
Referencing a new dictionary effectively "discards" any previous one.
@@ -995,6 +1004,12 @@ <h3>Streaming decompression functions</h3><pre></pre><b><pre></pre></b><BR>
9951004
ZSTD_d_ignoreChecksum = 1
9961005
} ZSTD_forceIgnoreChecksum_e;
9971006
</b></pre><BR>
1007+
<pre><b>typedef enum {
1008+
</b>/* Note: this enum controls ZSTD_d_refMultipleDDicts */<b>
1009+
ZSTD_rmd_refSingleDDict = 0,
1010+
ZSTD_rmd_refMultipleDDicts = 1
1011+
} ZSTD_refMultipleDDicts_e;
1012+
</b></pre><BR>
9981013
<pre><b>typedef enum {
9991014
</b>/* Note: this enum and the behavior it controls are effectively internal<b>
10001015
* implementation details of the compressor. They are expected to continue
@@ -1073,7 +1088,7 @@ <h3>Streaming decompression functions</h3><pre></pre><b><pre></pre></b><BR>
10731088
`srcSize` must be the _exact_ size of this series
10741089
(i.e. there should be a frame boundary at `src + srcSize`)
10751090
@return : - upper-bound for the decompressed size of all data in all successive frames
1076-
- if an error occured: ZSTD_CONTENTSIZE_ERROR
1091+
- if an error occurred: ZSTD_CONTENTSIZE_ERROR
10771092

10781093
note 1 : an error can occur if `src` contains an invalid or incorrectly formatted frame.
10791094
note 2 : the upper-bound is exact when the decompressed size field is available in every ZSTD encoded frame of `src`.
@@ -1155,6 +1170,22 @@ <h3>Streaming decompression functions</h3><pre></pre><b><pre></pre></b><BR>
11551170

11561171
</p></pre><BR>
11571172

1173+
<pre><b>size_t ZSTD_writeSkippableFrame(void* dst, size_t dstCapacity,
1174+
const void* src, size_t srcSize, unsigned magicVariant);
1175+
</b><p> Generates a zstd skippable frame containing data given by src, and writes it to dst buffer.
1176+
1177+
Skippable frames begin with a a 4-byte magic number. There are 16 possible choices of magic number,
1178+
ranging from ZSTD_MAGIC_SKIPPABLE_START to ZSTD_MAGIC_SKIPPABLE_START+15.
1179+
As such, the parameter magicVariant controls the exact skippable frame magic number variant used, so
1180+
the magic number used will be ZSTD_MAGIC_SKIPPABLE_START + magicVariant.
1181+
1182+
Returns an error if destination buffer is not large enough, if the source size is not representable
1183+
with a 4-byte unsigned int, or if the parameter magicVariant is greater than 15 (and therefore invalid).
1184+
1185+
@return : number of bytes written or a ZSTD error.
1186+
1187+
</p></pre><BR>
1188+
11581189
<a name="Chapter16"></a><h2>Memory management</h2><pre></pre>
11591190

11601191
<pre><b>size_t ZSTD_estimateCCtxSize(int compressionLevel);
@@ -1328,7 +1359,7 @@ <h3>Streaming decompression functions</h3><pre></pre><b><pre></pre></b><BR>
13281359
how to interpret prefix content (automatic ? force raw mode (default) ? full mode only ?)
13291360
</p></pre><BR>
13301361

1331-
<pre><b>size_t ZSTD_CCtx_getParameter(ZSTD_CCtx* cctx, ZSTD_cParameter param, int* value);
1362+
<pre><b>size_t ZSTD_CCtx_getParameter(const ZSTD_CCtx* cctx, ZSTD_cParameter param, int* value);
13321363
</b><p> Get the requested compression parameter value, selected by enum ZSTD_cParameter,
13331364
and store it into int* value.
13341365
@return : 0, or an error code (which can be tested with ZSTD_isError()).
@@ -1382,7 +1413,7 @@ <h3>Streaming decompression functions</h3><pre></pre><b><pre></pre></b><BR>
13821413

13831414
</p></pre><BR>
13841415

1385-
<pre><b>size_t ZSTD_CCtxParams_getParameter(ZSTD_CCtx_params* params, ZSTD_cParameter param, int* value);
1416+
<pre><b>size_t ZSTD_CCtxParams_getParameter(const ZSTD_CCtx_params* params, ZSTD_cParameter param, int* value);
13861417
</b><p> Similar to ZSTD_CCtx_getParameter.
13871418
Get the requested value of one compression parameter, selected by enum ZSTD_cParameter.
13881419
@result : 0, or an error code (which can be tested with ZSTD_isError()).

lib/zstd.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ extern "C" {
7272
/*------ Version ------*/
7373
#define ZSTD_VERSION_MAJOR 1
7474
#define ZSTD_VERSION_MINOR 4
75-
#define ZSTD_VERSION_RELEASE 8
75+
#define ZSTD_VERSION_RELEASE 9
7676
#define ZSTD_VERSION_NUMBER (ZSTD_VERSION_MAJOR *100*100 + ZSTD_VERSION_MINOR *100 + ZSTD_VERSION_RELEASE)
7777

7878
/*! ZSTD_versionNumber() :

0 commit comments

Comments
 (0)