Mercurial > hgrepos > Python2 > PyMuPDF
comparison mupdf-source/thirdparty/zint/ChangeLog @ 2:b50eed0cc0ef upstream
ADD: MuPDF v1.26.7: the MuPDF source as downloaded by a default build of PyMuPDF 1.26.4.
The directory name has changed: no version number in the expanded directory now.
| author | Franz Glasner <fzglas.hg@dom66.de> |
|---|---|
| date | Mon, 15 Sep 2025 11:43:07 +0200 |
| parents | |
| children |
comparison
equal
deleted
inserted
replaced
| 1:1d09e1dec1d9 | 2:b50eed0cc0ef |
|---|---|
| 1 Version 2.13.0.9 (dev) not released yet (2024-12-23) | |
| 2 ==================================================== | |
| 3 | |
| 4 **Incompatible changes** | |
| 5 ------------------------ | |
| 6 - New `memfile` & `memfile_size` fields in `symbol` for use with new output | |
| 7 option `BARCODE_MEMORY_FILE` | |
| 8 - Buffer length of member `text` (HRT) in `zint_symbol` extended 200 -> 256 | |
| 9 (client buffers may need checking/extending) | |
| 10 - Invalid `input_mode` now returns warning | |
| 11 - Aztec Code symbols that due to input length & user-requested version have less | |
| 12 than recommended 5% error correction codewords now return warning | |
| 13 - New CODE128-only special extra escapes beginning `\^` | |
| 14 - Add-ons for UPC-A and UPC-E now descend to be level with the main symbol guard | |
| 15 bars, and the righthand outside digit is now placed 1X less from main symbol | |
| 16 to avoid touching any add-on | |
| 17 - GS1-128 symbols now warn if READER_INIT option used | |
| 18 | |
| 19 Changes | |
| 20 ------- | |
| 21 - BMP: lessen heap memory usage by only `malloc()`ing a row | |
| 22 - GIF: lessen heap memory usage by paging; use standard colour char map | |
| 23 - Add `BARCODE_MEMORY_FILE` to `symbol->output_options` to allow outputting to | |
| 24 in-memory buffer `symbol->memfile` instead of to file `symbol->outfile`, | |
| 25 ticket #301 | |
| 26 - CODE16K (was for CODE128): improve encodation on A/B shifting, props Daniel | |
| 27 Gredler (Okapi) | |
| 28 - CODE128: add new extra escape `\^1` for manual insertion of FNC1s, ticket | |
| 29 #324, props Jim Shank; | |
| 30 new extra escapes `\^A`, `\^B`, `\^C` and `\^@` for manual switching of | |
| 31 Code Sets; | |
| 32 add minimal encodation algorithm, props Alex Geller (ZXing) and Bue Jensen | |
| 33 (BWIPP); | |
| 34 - library: return warning on invalid `input_mode` reset | |
| 35 - library/CLI: expanded error messages | |
| 36 - GS1: new AIs 7250-7259 (GSCN 22-246); | |
| 37 iso4217: new ISO 4217 currency code 924; | |
| 38 new AIs 7041 (GSCN 23-272) (packagetype) and 716 (GSCN-24-157) | |
| 39 - AZTEC: workaround MSVC 2022 optimizer bug in `az_populate_map()` loops, | |
| 40 ticket #317, props Andre Maute; | |
| 41 return warning if ECC < 5% (due to bit-stuffing when version given) | |
| 42 - MAXICODE: zero-pad US postcodes that lack "+4" (Annex B.1.4a), from | |
| 43 OkapiBarcode, props Daniel Gredler; | |
| 44 add minimal encodation algorithm, props Bue Jensen (BWIPP) | |
| 45 - GUI: use X11 (xcb) as platform instead of Wayland on Linux to avoid various | |
| 46 weird behaviours; | |
| 47 in "grpDATF.ui" use "PlainText" rather than "RichText" for tracker ratio | |
| 48 examples as height of text messing up sometimes | |
| 49 - UPCA/UPCE: descend add-ons to same level as guards and adjust righthand | |
| 50 outside digit to be 4X/2X instead of 5X/3X away from main symbol so as not to | |
| 51 touch add-on TODO: revisit when standard clarified | |
| 52 - manual: make explicit that AI "(00)" and "(01)" prefixes added by Zint are | |
| 53 HRT-only; clarify Codablock-F length maximum & add examples | |
| 54 - add DXFILMEDGE (MR #159, props Antoine Mérino) | |
| 55 | |
| 56 Bugs | |
| 57 ---- | |
| 58 - raster/BMP/GIF/PCX/TIF: fix dealing with very large data (use `size_t`) | |
| 59 - raster: add `raster_malloc()` to fail > 1GB (avoids very large output files; | |
| 60 also lessens to some degree chances of being victim of OOM killer on Linux) | |
| 61 - GUI: printing scale dialog: set maxima on X-dim and resolution to keep scale | |
| 62 <= 200 | |
| 63 - BMP/EMF/PCX/TIF: fix endianness on big-endian machines (note TIF now always | |
| 64 written as little-endian - simplifies testing) | |
| 65 - ITF14/DPLEIT/DPIDENT: ignore `option_2` (check digit options) | |
| 66 - GUI: scalewindow: fix cropping of initial resolution and bound X-dim <= 10 | |
| 67 - GUI: factory reset: reset preview background colour also | |
| 68 - GUI: cliwindow: `#if _WIN32` -> `#ifdef _WIN32` | |
| 69 - QZint: fix legacy width and security level getters/setters, MR #158, props | |
| 70 Philip Ye | |
| 71 - CODE128: fix extended char latching when exactly 3 extended chars at end | |
| 72 - library: need to check for valid UTF-8 after de-escaping | |
| 73 - MAXICODE: maintain current set between segments | |
| 74 | |
| 75 | |
| 76 Version 2.13.0 (2023-12-18) | |
| 77 =========================== | |
| 78 | |
| 79 **Incompatible changes** | |
| 80 ------------------------ | |
| 81 - Buffer lengths of members `fgcolour` and `bgcolour` in `zint_symbol` extended | |
| 82 10 -> 16 to allow for "C,M,Y,K" comma-separated decimal percentage strings | |
| 83 - CMYK values for EPS (slightly) and TIF (significantly) have changed - now use | |
| 84 the same RGB -> CMYK formula | |
| 85 - Text (HRT) placement for vector (EMF/EPS/SVG) output changed - for EAN/UPC | |
| 86 slightly further away from barcode, for all others slightly nearer. Some | |
| 87 horizontal alignments of EAN/UPC vector text also tweaked | |
| 88 - Text (HRT) for standalone EAN-2 and EAN-5 now at top of symbol | |
| 89 (was at bottom) | |
| 90 - Text height (font size) for SMALL_TEXT vector output reduced | |
| 91 - For Windows, filenames are now assumed to be UTF-8 encoded. Affects `outfile` | |
| 92 in `zint_symbol` and all API filename arguments | |
| 93 - Never-used `fontsize` member removed from `zint_symbol` | |
| 94 - Buffer length of member `text` (HRT) in `zint_symbol` extended 128 -> 200 | |
| 95 (client buffers may need checking/extending) | |
| 96 - Font of text of SVG vector output now "OCRB, monospace" (EAN/UPC) or | |
| 97 "Arimo, Arial, sans-serif" (all others) | |
| 98 (was "Helvetica, sans-serif" for both) | |
| 99 - Unintended excess horizontal whitespace of Composite symbols removed, and | |
| 100 quiet zone settings respected exactly, and centring of HRT (if any) now | |
| 101 relative to linear part of symbol only rather than whole symbol | |
| 102 - Unlikely-to-be-used `bitmap_byte_length` member removed from `zint_symbol` | |
| 103 (was only set on BMP output to length of BMP pixel array) | |
| 104 - EXCODE39 now defaults to displaying check digit in Human Readable Text (HRT) | |
| 105 - GS1_128 now warns if data > 48 (GS1 General Specifications max) | |
| 106 | |
| 107 Changes | |
| 108 ------- | |
| 109 - BMP/EMF/EPS/GIF/PCX/PNG/SVG/TIF/TXT: check for errors on writing to output | |
| 110 file (ticket #275) | |
| 111 - manual/man page: document octal escape; Code 128 subset/mode -> Code Set | |
| 112 - Add special symbology-specific escape sequences (Code 128 only) for manual | |
| 113 Code Set switching via `input_mode` flag `EXTRA_ESCAPE_MODE` (CLI --extraesc) | |
| 114 (ticket #204) | |
| 115 - GUI: disable "Reset" colour if default; add "Unset" to Printing Scale dialog | |
| 116 (allows unsetting of X-dim/resolution settings without having to zap) | |
| 117 - API/CLI/GUI: allow foreground/background colours to be specified as | |
| 118 comma-separated decimal percentage strings "C,M,Y,K" where "C", "M" etc. are | |
| 119 0-100 (ticket #281, 3rd point) | |
| 120 - PCX: add alpha support | |
| 121 - GUI: rearrange some Appearance tab inputs (Border Type <-> Width, Show Text | |
| 122 <-> Font, Text/Font <-> Printing Scale/Size) to flow more naturally; | |
| 123 save button "Save As..." -> "Save..." and add icon | |
| 124 - Add `text_gap` option to allow adjustment of vertical gap between barcode and | |
| 125 text (HRT) | |
| 126 - DAFT: up max to 250 chars | |
| 127 - CLI: use own (Wine) version of `CommandLineToArgvW()` to avoid loading | |
| 128 "shell32.dll" | |
| 129 - EAN/UPC: add quiet zone indicators option (API `output_options` | |
| 130 `EANUPC_GUARD_WHITESPACE`, CLI `--guardwhitespace`) (ticket #287) | |
| 131 - EAN-2/EAN-5: HRT now at top instead of at bottom for standalones, following | |
| 132 BWIPP | |
| 133 - EPS/SVG: use new `out_putsf()` func to output floats, avoiding trailing zeroes | |
| 134 & locale dependency | |
| 135 - EPS: simplify "TR" formula | |
| 136 - SVG: change font from "Helvetica, sans-serif" to "OCRB, monospace" for EAN/UPC | |
| 137 and "Arimo, Arial, sans-serif" for all others; | |
| 138 use single "<path>" instead of multiple "<rect>"s to draw boxes (reduces file | |
| 139 size) | |
| 140 - Add `EMBED_VECTOR_FONT` to `output_options` (CLI `--embedfont`) to enable | |
| 141 embedding of font in vector output - currently only for SVG output | |
| 142 - GUI: use "OCRB" font for EAN/UPC and "Arimo" for all others (was "Helvetica" | |
| 143 for both); add preview background colour option (default light grey) so as | |
| 144 whitespace will show up in contrast (access via preview context menu) | |
| 145 - CODE128/common: add `ZINT_WARN_HRT_TRUNCATED` warning | |
| 146 - QRCODE: better assert(), removing a NOLINT (2 left) | |
| 147 - CLI: add some more barcode synonyms for DBAR | |
| 148 - CMake: don't include png.c unless ZINT_USE_PNG (avoids clang warning) | |
| 149 - vector: reduce SMALL_TEXT font height 6 -> 5 to be more like raster; | |
| 150 reduce antialiasing allowance for `textoffset`; | |
| 151 adjust text to baseline using values for Arimo rather than percentage | |
| 152 - manual: expand size/alpha details in Section "5.4 Buffering Symbols in Memory | |
| 153 (raster)" (cf ticket #291); add BSD info | |
| 154 - EXCODE39: change to display check digit in HRT by default | |
| 155 - CODE39/EXCODE39/LOGMARS: new hidden check digit option | |
| 156 - GUI: move some symbology-specific options into Data Tab so separate tab | |
| 157 unnecessary | |
| 158 - DATAMATRIX: add `DM_ISO_144` (--dmiso144) option for ISO placement of ECC | |
| 159 codewords instead of default "de facto" | |
| 160 - manual: add annexes on Qt and Tcl backends | |
| 161 - CODE128: increase no. symbol chars max 60 -> 99 | |
| 162 - frontend: truncate overlong `--primary` instead of ignoring | |
| 163 - man page: list size detail for matrix symbols (`--vers`) | |
| 164 - CODE11/C25XXX/CODE39/EXCODE39/HIBC_39/CODE93/CODABAR/PLESSEY/MSI_PLESSEY/FLAT/ | |
| 165 DAFT/TELEPEN/TELEPEN_NUM: increase allowed lengths | |
| 166 - API: add `ZBarcode_Reset()` to fully restore `zint_symbol` to default state | |
| 167 | |
| 168 Bugs | |
| 169 ---- | |
| 170 - CEPNET: fix no HRT (library: `has_hrt()`) | |
| 171 - man page: fix Code 11 check digit info | |
| 172 - CMake: allow ctest to be run without having to install zint or manually set | |
| 173 LD_LIBRARY_PATH and PATH (ticket #279, props Alexey Dokuchaev) | |
| 174 - GUI: fg/bgcolor text edit: fix right-click context menu not working properly | |
| 175 by checking for it on FocusOut | |
| 176 - GUI: fix fg/bgcolor icon background not being reset on zap | |
| 177 - EMF/EPS/SVG/GUI: ignore BOLD_TEXT for EAN/UPC | |
| 178 - EMF/EPS/SVG: fix addon bars placement/length when text hidden | |
| 179 - For Windows, assume `outfile` & API filename args are in UTF-8, | |
| 180 & use xxxW() APIs accordingly, ticket #288, props Marcel | |
| 181 **Backwards-incompatible change** | |
| 182 - GUI: fix `save_to_file()` `filename.toLatin1()` -> `toUtf8()` | |
| 183 - CLI: batch mode: don't close input if stdin | |
| 184 - EAN/UPC: fix excess 1X to right of add-ons | |
| 185 - Composites: fix excess whitespace; fix quiet zone calcs to allow for linear | |
| 186 shifting | |
| 187 - GUI: fix not enabling font combo "Small Bold (vector only)" by default | |
| 188 - CODEONE: fix S/T quiet zone 1X bottom (props BWIPP issue #245 doc) | |
| 189 - EAN-2/EAN-5: fix `BARCODE_BIND_TOP/BIND/BOX` output | |
| 190 - library: fix 21-bit Unicode conversion in `escape_char_process()`; fix | |
| 191 restricting escaped data length by using de-escaped length to check | |
| 192 - AZTEC: fix out-of-bounds crash when user-specified size given, ticket #300, | |
| 193 props Andre Maute; fix 4-layer compact block max (76 -> 64); fix encoding of | |
| 194 byte-blocks > 11-bit limit | |
| 195 - CODABLOCKF: fix crash due to `columns` overflow, ticket #300, props Andre | |
| 196 Maute | |
| 197 - CODEONE: fix out-of-bounds crash in `c1_c40text_cnt()` and looping on latch | |
| 198 crash in `c1_encode()` and too small buffer for Version T, ticket #300, props | |
| 199 Andre Maute | |
| 200 - EANX_CC/UPCA_CC: fix crash in `dbar_date()` on not checking length and crash | |
| 201 in `gs1_verify()` on not checking length, ticket #300, props Andre Maute | |
| 202 - GS1_128_CC: fix divide-by-zero crash in `calc_padding_ccc()`, ticket #300, | |
| 203 props Andre Maute | |
| 204 - HANXIN: fix incorrect numeric costings (out-by-1) in `hx_in_numeric()`, ticket | |
| 205 #300 (#16), props Andre Maure | |
| 206 - PDF417: fix out-of-bounds crash in `pdf_text_submode_length()` and | |
| 207 out-of-bounds crash on overrunning string and codeword buffers, ticket #300, | |
| 208 props Andre Maute | |
| 209 - QRCODE: fix out-of-bounds crash due to incorrect mode costings for GS1 | |
| 210 percents in `qr_in_alpha()`; fix incorrect numeric costings (out-by-1) in | |
| 211 `qr_in_numeric()`; ticket #300 (#14, #15; #16), props Andre Maute | |
| 212 - GS1: fix square brackets treated as FNC1 in GS1PARENS_MODE by changing | |
| 213 internal FNC1 marker '[' -> '\x1D' (GS), ticket #319, props Moli Sojet; | |
| 214 also fix non-AI square brackets -> round brackets in GS1_128 HRT | |
| 215 | |
| 216 | |
| 217 Version 2.12.0 (2022-12-12) | |
| 218 =========================== | |
| 219 | |
| 220 **Incompatible changes** | |
| 221 ------------------------ | |
| 222 - DOTCODE, QRCODE, RMQR: now return warning if ECI or Structured Append used in | |
| 223 GS1 mode | |
| 224 - CLI now returns an error if unknown option given or if option is missing its | |
| 225 argument | |
| 226 NOTE: previously printed error messages but continued without returning an | |
| 227 error | |
| 228 - DPD now adds top boundary bar by default and returns warnings if input is not | |
| 229 compliant | |
| 230 - Legacy and never-used output option BARCODE_NO_ASCII removed (value now used | |
| 231 by new output option BARCODE_BIND_TOP) | |
| 232 - Symbology BARCODE_CODE128B (Suppress subset C) renamed to BARCODE_CODE128AB | |
| 233 to more accurately reflect its behaviour (old name still recognised, except in | |
| 234 Tcl backend) | |
| 235 - Symbology BARCODE_MAILMARK renamed to BARCODE_MAILMARK_4S due to introduction | |
| 236 of BARCODE_MAILMARK_2D (old name still recognised, except in Tcl backend) | |
| 237 - CLI now expects floating point arguments to be in simple decimal point | |
| 238 notation (i.e. not scientific notation) with a maximum of 7 significant digits | |
| 239 | |
| 240 Changes | |
| 241 ------- | |
| 242 - bwipp_dump.ps: convert patch file to cat file as BWIPP now honours `dontdraw` | |
| 243 for composite symbologies | |
| 244 - DOTCODE, QRCODE, RMQR: return warning if ECI or Structured Append used in GS1 | |
| 245 mode, ticket #271 | |
| 246 - CLI: improve `getopt_long_only()` processing, printing own message if bad arg | |
| 247 and returning error if so rather than continuing to process | |
| 248 - manual: MSE typo -> MSI; adjust SVG scaling for PDF manual; pandoc 2.19.2 | |
| 249 - manual/man page/GUI: Code 16k -> Code 16K | |
| 250 - PDF417/MICROPDF417: add optimized encoding, FAST_MODE for previous; formatting | |
| 251 changes | |
| 252 - common.c/h: add `cnt_digits()`; comments in include; minor fiddling | |
| 253 - API/CLI/Tcl/GUI: new output option BARCODE_BIND_TOP / `--bindtop` / "Bind Top" | |
| 254 - DPD: add top boundary (width 3X) by default, using new BARCODE_BIND_TOP; | |
| 255 "relabel" option; some compliance checks | |
| 256 - manual: fuller DPD doc; some spelling typos, formatting | |
| 257 - cmake: fixes for static build and install directories, props koprok | |
| 258 - cmake: remove zintconfig.h.in for now as incompatible with MSVC project builds | |
| 259 (will add back in future if go fully CMake) | |
| 260 - NO_PNG -> ZINT_NO_PNG and new API function `Zint_NoPng()` to determine if no | |
| 261 PNG support in libzint; replace use in GUI with backend_qt method `noPng()` | |
| 262 - API: add new zint_symbol `dpmm` field for output resolution (BMP/EMF/PCX/PNG/ | |
| 263 TIF only, i.e. excluding EPS, GIF & SVG) | |
| 264 - Add support for specifying scale by X-dimension and resolution with new option | |
| 265 `--scalexdimdp` for CLI/Tcl & new API function `ZBarcode_Scale_From_XdimDp()` | |
| 266 (plus `ZBarcode_XdimDp_From_Scale()` and `ZBarcode_Default_Xdim()`) and new | |
| 267 GUI popup; manual: document | |
| 268 - BMP/EMF/PCX/PNG/TIF: use new `dpmm` resolution field (for EMF following | |
| 269 Inkscape) | |
| 270 - backend_qt: add `dpmm()`, `vectorWidth()`, `vectorHeight()`, `noPng()`, | |
| 271 `getVersion()`, `takesGS1AIData()`, & `XdimDp` stuff incl. new `QZintXdimDp` | |
| 272 struct for passing around scale vars & use in `getAsCLI()`; add comments | |
| 273 - Raise `scale` limit to 200 (from 100) to allow for large dpmm | |
| 274 - output: create directories & subdirectories as necessary for output path using | |
| 275 new function `out_fopen()` and use in BMP/EMF/EPS/GIF/PCX/PNG/SVG/TIF | |
| 276 - DPLEIT/DPIDENT: format HRT according to (incomplete) documentation, and set | |
| 277 default height to 72X (from 50X) | |
| 278 - CODE128B renamed to CODE128AB as can use subsets A and/or B | |
| 279 - MAILMARK: better error message if input < 14 characters | |
| 280 - GUI: add "Default" button for DAFT tracker ratio & enable/disable various | |
| 281 default buttons; use new `takesGS1AIData()` to enable/disable GS1-specific | |
| 282 checkboxes | |
| 283 - CLI: use new `validate_float()` to parse float options (7 significant digits | |
| 284 allowed only, no scientific notation) | |
| 285 - CLI: mirror: use -o directory if any (ticket #193) | |
| 286 - QRCODE/UPNQR: add FAST_MODE (try 4 not 8 masks automatically) | |
| 287 - GS1: add new AI 7011 (GSCN 22-163) | |
| 288 - Add new symbology BARCODE_MAILMARK_2D (Royal Mail 2D Mailmark), renaming | |
| 289 previous BARCODE_MAILMARK (Royal Mail 4-State Mailmark) to BARCODE_MAILMARK_4S | |
| 290 - Add new symbology BARCODE_UPU_S10 | |
| 291 - PZN: allow check digit to be given; add space after hyphen in HRT; PZN7 option | |
| 292 - backend_tcl: update TEA | |
| 293 - DATAMATRIX/GRIDMATRIX/PDF417/QR/ULTRA: micro-optimize structapp ID parse | |
| 294 - library/CLI: fiddle with static asserts (make CHAR_BIT sensitive, supposedly) | |
| 295 - win32/README: update building libpng (assembly removed) | |
| 296 - README.linux: document incompatibility of Qt6 >= 6.3 | |
| 297 - manual: expand Barcode Studio waffle | |
| 298 - test suite: change range separator to hyphen and allow multiple excludes | |
| 299 | |
| 300 Bugs | |
| 301 ---- | |
| 302 - test suite: fix `test_library` test to allow for running from root; | |
| 303 fix `test_args` test to allow for re-running (remove junk) (tickets #268, | |
| 304 #269) | |
| 305 - common.h: define ZINT_IS_C89 as __STDC_VERSION__ not defined by MSVC, and use | |
| 306 when checking whether to include <alloca.h> (MR #152) | |
| 307 - common.c: ensure `stripf()` not inlined to prevent optimizer undoing effect | |
| 308 (ticket #269) | |
| 309 - GUI: fix "Border Width" ampersand shortcut | |
| 310 - CODE128: allow for extended latching (double FNC4) spanning intermediate | |
| 311 CodeC sequence by setting `f_state` only if in CodeA/B & checking before | |
| 312 adding extended mode switch (cf OkapiBarcode commit [9ce6dcc], props Daniel | |
| 313 Gredler) | |
| 314 - DATAMATRIX: in FAST_MODE re-process any buffered X12 characters when mode | |
| 315 changes from X12 (cf OkapiBarcode commit [fb7981e], props Daniel Gredler) | |
| 316 - CODABLOCKF: allow for FNC4 when estimating no. of rows required | |
| 317 - CODE16K: make sure row calculation accurate by dispensing with glyph estimate | |
| 318 & using actual codeword count | |
| 319 - CODE16K: ensure initial mode selection allows for extended characters | |
| 320 - vector.c: add `z_alloca()` cast for `first_row_rects` (ticket #272) | |
| 321 - MSVC project files: remove incorrect "CompileAsCpp" setting from libzint | |
| 322 project files (ticket #272) | |
| 323 - bwipp_dump.ps: fix 2/4-track processing; update to latest BWIPP | |
| 324 - PDF417/MICROPDF417: use latch not ps shift for padding when spanning | |
| 325 Text segments to avoid affecting 1st char of 2nd segment | |
| 326 - GUI: only skip encoded/errored signal processing if active modal ExportDialog | |
| 327 (wasn't clearing/setting error text bar correctly) | |
| 328 - CODABAR: fix minimum height calc | |
| 329 - EMF: fix indexing of handles (zero-based not 1-based) | |
| 330 - GUI: fix symbology zap (previous technique of clearing and re-loading settings | |
| 331 without doing a sync no longer works); fix UPCEAN guard descent enable | |
| 332 | |
| 333 | |
| 334 Version 2.11.1 (2022-08-22) | |
| 335 =========================== | |
| 336 | |
| 337 **Incompatible changes** | |
| 338 ------------------------ | |
| 339 - None | |
| 340 | |
| 341 Changes | |
| 342 ------- | |
| 343 - GUI: sequence export dialog: add Postfix field for filename (#252) | |
| 344 - eci.c: replace libiconv-adapted code with own implementations so | |
| 345 as to fully comply with libzint's BSD license | |
| 346 - GUI: CODE39/EXCODE39: show/hide HIBC check digit option | |
| 347 - RMQR: update to ISO/IEC 23941:2022 - R13x77 numeric cclens change 8 -> 7 | |
| 348 - QRCODE: use stricter interpretation of ZINT_FULL_MULTIBYTE, excluding | |
| 349 certain trailing bytes | |
| 350 - GUI: foreground/background colours -> text boxes and icon buttons, add swap | |
| 351 button, independently movable picker (NULL parent), preview colour changes, | |
| 352 preview Data Window changes, add clear data (del) buttons, add zap button | |
| 353 and Factory Reset menu option, various other fixes | |
| 354 - GUI: make acceptable for macOS; add iconset for macOS, install | |
| 355 - manual: update macOS Homebrew install info; add README.macos | |
| 356 - GUI: export window: add no. of sequences to results label | |
| 357 - frontend: batch: for @ use + instead of * on Windows as * not allowed | |
| 358 in filenames | |
| 359 - Add new symbology BC412 (SEMI T1-95) | |
| 360 - backend: use alloca() (z_alloca()) for both Unix and Windows | |
| 361 - GS1: new AI 4309 with latlong checker, new currency code 925 | |
| 362 - GUI: add automatic info feedback to "Automatic" combo item of size/row/height | |
| 363 comboboxes | |
| 364 - PDF417: encodation now simpler and closer to ISO/IEC 15438:2015 Annex N | |
| 365 algorithm, props Jeff Skaistis | |
| 366 - Add new symbology CEPNet | |
| 367 | |
| 368 Bugs | |
| 369 ---- | |
| 370 - frontend/test_args.c: don't use WIFEXITED(), WEXITSTATUS() on Windows | |
| 371 - libzint: fix some confusing error messages introduced by segment stuff | |
| 372 - GUI: remove unnecessary tabMain min size (better layout rendering on | |
| 373 Windows/Fedora) | |
| 374 - library: check symbol->primary for escape sequences also | |
| 375 - GUI: error message GS1_MODE -> GS1 mode | |
| 376 - GUI: sequence window: fix initial clear button status | |
| 377 - GUI: NO_PNG: allow for Qt not parsing #if's in slots | |
| 378 - frontend: batch mode: fix default "~~~~~" output (github issue #65) | |
| 379 - vector: ensure separators don't overlap with other rectangles so that | |
| 380 they render correctly when have RGBA alpha channel | |
| 381 - GUI: update_preview() after Data Dialog return to ensure preview in sync | |
| 382 - PDF417: fix invalid numeric -> byte shift transitions, MR #151, props Jeff | |
| 383 Skaistis | |
| 384 - PDF417: fix extraneous text latch after a byte shift, MR #151, props Jeff | |
| 385 Skaistis | |
| 386 | |
| 387 | |
| 388 Version 2.11.0 (2022-05-24) | |
| 389 =========================== | |
| 390 | |
| 391 **Incompatible changes** | |
| 392 ------------------------ | |
| 393 - Add width to struct zint_vector_circle | |
| 394 NOTE: backward incompatible drawing of MaxiCode finder (bullseye) | |
| 395 - Check that scale/height/whitespace/border are reasonable values | |
| 396 NOTE: will return error if values outside ranges | |
| 397 - raster.c: Bug fix for heap-buffer-overflow (#204 ARM-Cortex) | |
| 398 NOTE: may cause single-pixel changes to height depending on height/scale used | |
| 399 - JAPANPOST: return error if input data would be truncated | |
| 400 NOTE: previously was silently truncated | |
| 401 - PDF417: return warning if specified cols increased | |
| 402 NOTE: previously no warning was returned | |
| 403 - Matrix symbols: horizontal boundary bars appear outside any vertical | |
| 404 whitespace | |
| 405 NOTE: previously appeared inside vertical whitespace | |
| 406 - ECI 29 now GB 2312 only; GB 18030 is new ECI 32 | |
| 407 NOTE: previously ECI 29 was GB 18030 for HANXIN, GB 2312 otherwise | |
| 408 - HANXIN, QRCODE/RMQR now warn when convert to GB 18030, Shift JIS resp. | |
| 409 and no ECI given | |
| 410 - GRIDMATRIX no longer attempts Latin-1 conversion when no ECI given | |
| 411 - CLI now returns ZINT_ERROR_INVALID_OPTION (8) on its failed option checks | |
| 412 and ZINT_WARN_INVALID_OPTION (2) on ignored options | |
| 413 NOTE: previously returned 1 and 0 respectively | |
| 414 | |
| 415 Changes | |
| 416 ------- | |
| 417 - RMQR: add ECI support | |
| 418 - CODE93: don't display check characters in HRT (as per standard Figure B1) | |
| 419 unless option_2 = 1 or vers=1 | |
| 420 - GUI: separate out MAXICODE Structured Carrier Message fields | |
| 421 - library.c: Check that scale/height/whitespace/border are reasonable values: | |
| 422 scale (0.01-100), height (0-2000), whitespace_width/height (0-100), | |
| 423 border_width (0-100) | |
| 424 - CLI: allow both e.g. '-height' and '--height' (getopt_long_only()) | |
| 425 - UPC/EAN: add guard_descent | |
| 426 - Add output_options BARCODE_QUIET_ZONES and BARCODE_NO_QUIET_ZONES | |
| 427 - Allow dummy AI "[]" if GS1NOCHECK_MODE and has data (#204) | |
| 428 - raster.c: improve non-half-integer interpolation performance | |
| 429 - Add Structured Append support for AZTEC, CODEONE, DATAMATRIX, DOTCODE, | |
| 430 GRIDMATRIX, MAXICODE, MICROPDF417, PDF417, QRCODE, ULTRA | |
| 431 - ULTRA: add revision 2 support (based on BWIPP 2021-09-28 update) | |
| 432 - Add compliant height | |
| 433 - GUI: add Menu, copy to clipboard EMF/GIF/PNG/TIF, errtxt bar and status bar, | |
| 434 icons (feathericons) | |
| 435 - CODABAR: add show check digit option | |
| 436 - DAFT: max chars 50 -> 100 | |
| 437 - CMake: separate no-optimize from ZINT_DEBUG into new ZINT_NOOPT option | |
| 438 - PDF417: add specify rows option | |
| 439 - Add HEIGHTPERROW_MODE input mode flag | |
| 440 - DBAR_EXPSTK: add max rows option | |
| 441 - CODE16K/CODE49: add min rows option | |
| 442 - GUI: add CLI equivalent dialog (#163) | |
| 443 - Add ZBarcode_BarcodeName() | |
| 444 - GUI: data dialog: convert Line Feeds if escaping on input, escape on output | |
| 445 - DATAMATRIX: new algorithm for (near-)optimal encoding, props Alex Geller | |
| 446 - CLI/GUI/Tcl: add --fast option to select faster but less optimal DATAMATRIX | |
| 447 algorithm (previous default) | |
| 448 - Matrix symbols: change horizontal boundary bars to appear outside any | |
| 449 vertical whitespace, as they're decorative rather than functional (#247) | |
| 450 - FIM: Add support for FIM E | |
| 451 - Updated ECIs to AIM ITS/04-023:2022 (ECI Part 3: Register) | |
| 452 - HANXIN: removed alternating filler in function information | |
| 453 - GRIDMATRIX/HANXIN/QRCODE/RMQR: warn if auto-conversion (i.e. no ECI given) | |
| 454 occurs to resp. specialized char sets (GB 2312/GB 18030/Shift JIS) | |
| 455 - Add multiple segments support for AZTEC, CODEONE, DATAMATRIX, DOTCODE, | |
| 456 GRIDMATRIX, HANXIN, MAXICODE, MICROPDF417, PDF417, QRCODE, RMQR, ULTRA | |
| 457 - MICROQR: check versions M1 and M2 for allowed characters so as to give better | |
| 458 error messages | |
| 459 - UPNQR: allow mask to be manually specified | |
| 460 - GUI: use non-native QColorDialog on Unix also; no noEXE for CLI equivalent; | |
| 461 add shortcuts for copy-to-clipboard and CLI equivalent | |
| 462 - CLI: new --version option to print Zint version | |
| 463 - manual: one true source now manual.pmd from which manual.txt is generated | |
| 464 - CLI: man page moved from frontend/zint.1.gz to docs/zint.1.gz, now | |
| 465 generated from docs/zint.1.pmd | |
| 466 - add README.linux to root dir | |
| 467 - CLI: return ZINT_ERROR_INVALID_OPTION instead of 1 on bad option and | |
| 468 ZINT_WARN_INVALID_OPTION instead of 0 on ignored option | |
| 469 | |
| 470 Bugs | |
| 471 ---- | |
| 472 - GUI/CLI: fix dev version test | |
| 473 - library.c: error_tag(): check error_number < ZINT_ERROR on WARN_FAIL_ALL | |
| 474 - vector.c: enforce minimum scale >= 0.1 and allow in GUI | |
| 475 - Suppress some pedantic warnings, props codemonkey82 (#204) | |
| 476 - gs1.c: Allow 0-length AI data if GS1NOCHECK_MODE, props codemonkey82 (#204) | |
| 477 - raster.c: avoid distributive multiplication with floats to lessen chances of | |
| 478 platform variation (#204 ARM-Cortex crash) | |
| 479 - common/emf/output/raster/vector.c: use new stripf() func to workaround | |
| 480 float variations | |
| 481 - raster.c: Don't add height offset for text if scale < 1.0 (as won't print) | |
| 482 - ISBNX: fix not returning error number (warning) correctly | |
| 483 - *.rc: fix VER_FILEVERSION_STR format (, -> .), props Jeff Skaistis | |
| 484 - PDF417: fix cols/rows calculation to require multiple <= 928 codewords | |
| 485 - raster.c: fix possible blank rows appearing in CODE16K, CODE49, PHARMA_TWO, | |
| 486 PDF417 & CODABLOCKF due to height/scale rounding, props codemonkey82 (#204) | |
| 487 - library.c: check for stacking symbols >= 200 | |
| 488 - DATAMATRIX: fix mis-encoding of non-encodables in X12 and EDIFACT modes, | |
| 489 props Alex Geller | |
| 490 - DATAMATRIX: fix mis-encoding of FNC1/GS in EDIFACT in GS1 mode | |
| 491 - Allow for dot overspill in height of vertical box sides (dotty mode) | |
| 492 - HANXIN: fix gate-posts on codeword limits | |
| 493 - GUI: cater for HiDPI display, props bitaround (#257) | |
| 494 - RMQR: fix ECI encoding (wrong bit length for indicator) | |
| 495 - CLI/tcl: fix version check (need <= 999 for DAFT permille) | |
| 496 - UPNQR: fix required binary mode using mode_preset | |
| 497 - GRIDMATRIX: default char set is GB 2312 only, not Latin-1 with GB 2312 alt | |
| 498 - HANXIN/QRCODE: use Hanzi/Kanji modes when compatible ECIs given | |
| 499 | |
| 500 | |
| 501 Version 2.10.0 2021-08-14 | |
| 502 ========================= | |
| 503 | |
| 504 **Incompatible changes** | |
| 505 ------------------------ | |
| 506 - Add halign (horizontal align) to struct zint_vector_string | |
| 507 NOTE: backward incompatible text drawing for UPC/EAN | |
| 508 - Change height and row_height array to floats | |
| 509 NOTE: may cause changes in heights | |
| 510 | |
| 511 Changes | |
| 512 ------- | |
| 513 - Move project history/version from manual.txt and backend/README into this file | |
| 514 - Command line switches -d or -i for code data may now be at any position. | |
| 515 - Add rotation for vector formats | |
| 516 - Change double to float for performance in many internal places | |
| 517 - Ticket 197: optimize raster scaling for 0.5 substeps; | |
| 518 ignore raster scaling < 0.5 as pixels lost. | |
| 519 - Ticket 197: add output option to bypass time-intensive buffer_plot() | |
| 520 (OUT_BUFFER_INTERMEDIATE) | |
| 521 - Reduce BMP size by using 1 bit per pixel (except Ultracode) | |
| 522 - New warn_level field, WARN_FAIL_ALL | |
| 523 - Add GS1NOCHECK_MODE to input_mode (note was ZPL compatibility mode | |
| 524 WARN_ZPL_COMPAT to warn_level) | |
| 525 - Remove version info from zint.h and put in zintconfig.h via zintconfig.h.in | |
| 526 - Add ZBarcode_Cap() | |
| 527 - Add GUI symbology filter, separate settings for each symbology | |
| 528 - Require cmake 3.5, use PNG::PNG and add Qt6 build option | |
| 529 - Make library fully stack-based so reentrant apart from file operations | |
| 530 - Performance improvements (large data) for AZTEC/HANXIN/GRIDMATRIX/PDF417/QR | |
| 531 - Option scmvv for MaxiCode #212; postcode needn't be space-filled | |
| 532 - eci: Add support for all ECIs (Big5, Korean, UCS-2BE) | |
| 533 - CLI: Handle UTF-8 args on Windows; -b <barcode name> | |
| 534 - DATAMATRIX: make EOD encodation strictly ISO 16022 compliant | |
| 535 - png.c: Use palette for file size savings | |
| 536 - tif.c: Use palette/bilevel/LZW to reduce file size, alpha/CMYK support | |
| 537 - Option gs1parens (GS1PARENS_MODE) | |
| 538 - MAXICODE: Rejig raster output to more closely match ISO 16023:2000 | |
| 539 - C25STANDARD/C25INTER/C25IATA/C25LOGIC/C25IND: add check digit option (#216) | |
| 540 - Use zint-64.svg for smoother icons, props frhun | |
| 541 - Add whitespace_height to zint_symbol (vertical whitespace) | |
| 542 - AZTEC: optimize populate_map (good for small data) - avoids MSVC bug also | |
| 543 - Various workarounds for other MSVC bugs | |
| 544 - CMake: Windows compatible, backend/tests & frontend/tests now subprojects | |
| 545 using new zint_add_test.cmake file, static build, new ZINT_USE_PNG and | |
| 546 ZINT_USE_QT options, getopt moved to subproject and getopt detection, | |
| 547 sanitizer flag detection, and many other improvements, props Alonso Schaich | |
| 548 - PLESSEY: add options NCR weighted mod-10, hide check digit(s) in HRT | |
| 549 - Fuller error messages; more comments zint.h | |
| 550 - CMake: simplication and modernization, Qt5/6 version, props Null Void (atom) | |
| 551 - POSTNET/PLANET: allow up to 38 chars (ZINT_WARN_NONCOMPLIANT) (see [d7ac9c]) | |
| 552 - RMQR: update to new draft ISO/IEC JTC1/SC31N000 (Draft 2019-6-24) | |
| 553 - ULTRA: update max size and min cols based on BWIPP 2021-07-14 update | |
| 554 | |
| 555 Bugs | |
| 556 ---- | |
| 557 - Code16k selects GS1 mode by default in GUI | |
| 558 - Ultracode: use white pixels instead background for white modules. | |
| 559 - EMF: fix Ultracode colours. | |
| 560 - Ultracode: fix count of codewords when using reader init mode | |
| 561 - Databar Limited: add 5 right guard spaces (ISO/IEC 24723:2010 6.2 (e)) | |
| 562 - Data Matrix: avoid unnecessary latch in X12 mode at end of data, #208 | |
| 563 - Data Matrix: fix eod shift -> 0 pad | |
| 564 - POSTNET/PLANET: remove extra 1 module space | |
| 565 - Aztec: fix bit-stuffing (again!) and Aztec Rune: fix for data >= 128 | |
| 566 - EAN composite: allow for check digit + buffer overflow for too long add-on | |
| 567 - Han Xin fix 0xFFE terminator | |
| 568 - GUI: Use UTF-8 for QSettings (non-ASCII was getting garbled on restore) | |
| 569 - DOTCODE: Fix best_mask -> high_score prime test | |
| 570 - CODEONE: various fixes, ECI support | |
| 571 - #218 Prevent buffer overflow in ean_leading_zeroes by checking max lengths | |
| 572 - MAXICODE: fix mask typos for ECI 3/4 bytes | |
| 573 - Fix UPCEAN small font ignored/disabled (introduced [1adba1]) | |
| 574 - get_best_eci: check UTF-8 before returning 26 | |
| 575 - MAXICODE: fix shifting from sets C/D/E to A/B (only latch available) | |
| 576 - EAN14, NVE18: fix checksum calc for zero-filled input | |
| 577 - png: ULTRA: allow for fgcolour if bind/box (MR #111) | |
| 578 - DOTCODE: allow for max 200 cols in CLI, GUI, Tcl | |
| 579 - CODEONE/DATAMATRIX/MAILMARK/PLESSEY: fix some 32-bit/portability bugs | |
| 580 - CODABAR: fix CALCIUM define address use, props Alonso Schaich | |
| 581 - DATAMATRIX/CODEONE: Use LCM in look ahead tests to avoid floats (#228) | |
| 582 - raster/output: use new isfintf() to test floats integral (CodeQL) | |
| 583 - ZBarcode_Encode: don't reinit symbol->outfile, props Alonso Schaich | |
| 584 - CODEONE: is_last_single_ascii() out-of-bounds, #232 CI-Fuzz, props Jan Schrewe | |
| 585 - library: compat symbology 39 fix; ISBN: "X" check | |
| 586 - backend/CMakeLists.txt: output dir for zintconfig.h, props Andre Maute (#238) | |
| 587 - UPCE/UPCE_CC: allow check digit (same as UPCA/UPCA_CC) so selecting composite | |
| 588 doesn't give error | |
| 589 - bmp/emf/ps.c: allow for foreground colour in ULTRA | |
| 590 - bmp/gif/pcx.c: allow for BARCODE_STDOUT (fflush/fclose) | |
| 591 - ps.c: fix buffer overflow on colour_to_pscolor() CMYK | |
| 592 - composite: fix buffer overflow for large linear and small composite | |
| 593 - composite: clear errtxt when bumping from CC-A -> CC-B -> CC-C | |
| 594 - CODABLOCKF: prevent cols > 62; fix pTestList buffer overflow | |
| 595 - RMQR: allow for righthand vertical timing pattern in populate_grid() | |
| 596 | |
| 597 | |
| 598 Version 2.9.1 2020-08-04 | |
| 599 ======================== | |
| 600 | |
| 601 Changes | |
| 602 ------- | |
| 603 - Ticket 122: Implement transparency support | |
| 604 - Ticket 129: -nobackground option added | |
| 605 - -fg and -bg may contain an alpha channel | |
| 606 - structure zint_symbol may now contain an alpha channel as output | |
| 607 - Added DPD Symbology | |
| 608 - Add support for Unicode escape characters | |
| 609 | |
| 610 Bugs | |
| 611 ---- | |
| 612 - EMF text colour does not change | |
| 613 - Fix QPainterPath dependency for Visual Studio | |
| 614 | |
| 615 | |
| 616 Version 2.9.0 2020-07-31 | |
| 617 ======================== | |
| 618 | |
| 619 Changes | |
| 620 ------- | |
| 621 - Dotcode: adapt to AIM DOC Revision 4 | |
| 622 - New option "-separator=" for zint to specify the separator height of stacked | |
| 623 symbologies. | |
| 624 - make internal routines invisible by a static function definition. | |
| 625 - CODE11: make adding check digits an option, selectable to 2 (default as now), | |
| 626 1 or none | |
| 627 - LOGMARS restrict max length to 30 per MIL-STD-1189 Rev. B; make check digit | |
| 628 optional | |
| 629 - CODE39/EXCODE39: max length now 85 | |
| 630 - VIN code extended to international licence plates | |
| 631 - CODABAR: 3 data characters minimum (plus start/stop), check digit option added | |
| 632 - Channel Code: performance improvement | |
| 633 - QT GUI: | |
| 634 - GRIDMATRIX/HX/MQR/QRCODE/RMQR: allow separate selection of size/ECC | |
| 635 - add DAFT and VIN Symbologies | |
| 636 - Separarator option for DATAMATRIX | |
| 637 - Ticket 162: parse escape sequences | |
| 638 - gui element reassigments | |
| 639 - UPC/EAN/ITF-14 Composite: Ticket 72: new option --addongap (default:9) to set | |
| 640 the gap between code and composite. | |
| 641 - TCL Backend: The following symbology names were renamed: | |
| 642 - Matrix2of5 -> Standard2of5 | |
| 643 - PDF417Trunc -> PDF417Compact | |
| 644 - RSS14Stacked -> GS1DataBarStacked | |
| 645 - RSS14Stacked -> GS1DataBarStacked | |
| 646 - RSS14StackedOmni -> GS1DataBarSstackedOmni | |
| 647 - RSS14ExpandedStacked -> GS1DataBarExpandedStacked | |
| 648 - OneCode -> USPSIntelligentMail | |
| 649 - EAN128-CC -> GS1-128-CC | |
| 650 - RSS14-CC -> GS1DataBarOmni-CC | |
| 651 - RSSLimited-CC -> GS1DataBarLimited-CC | |
| 652 - RSSExpandedStacked-CC -> GS1DataBarExpanded-CC | |
| 653 - RSSEXPanded-CC -> GS1DataBarExpanded-CC | |
| 654 - RSS14Stacked-CC -> GS1DataBarStacked-CC | |
| 655 - RSS14Omni-CC -> GS1DataBarStackedOmni-CC | |
| 656 - RSSExpandedStacked-CC -> GS1DataBarExpandedStacked-CC | |
| 657 ** Potential incompatibility ** | |
| 658 - API Symbol names changed but old names preserved in zint.h | |
| 659 - BARCODE_C25MATRIX -> BARCODE_C25STANDARD | |
| 660 - BARCODE_EAB128_CC -> BARCODE_GS1_128 | |
| 661 - BARCODE_RSS14 -> BARCODE_DBAR_OMN | |
| 662 - BARCODE_RSS_LTD -> BARCODE_DBAR_LTD | |
| 663 - BARCODE_RSS_EXP -> BARCODE_DBAR_EXP | |
| 664 - BARCODE_PDF417TRUNC -> BARCODE_PDF417COMP | |
| 665 - BARCODE_RSS14STACK -> BARCODE_DBAR_STK | |
| 666 - BARCODE_RSS14STACK_OMNI -> BARCODE_DBAR_OMNSTK | |
| 667 - BARCODE_RSS_EXPSTACK -> BARCODE_DBAR_EXPSTK | |
| 668 - BARCODE_ONECODE -> BARCODE_USPS_IMAIL | |
| 669 - BARCODE_EAN128_CC -> BARCODE_GS1_128_CC | |
| 670 - BARCODE_RSS14_CC -> BARCODE_DBAR_OMN_CC | |
| 671 - BARCODE_RSS_LTD_CC -> BARCODE_DBAR_LTD_CC | |
| 672 - BARCODE_RSS_EXP_CC -> BARCODE_DBAR_EXP_CC | |
| 673 - BARCODE_RSS14STACK_CC -> BARCODE_DBAR_STK_CC | |
| 674 - BARCODE_RSS_EXPSTACK_CC -> BARCODE_DBAR_EXPSTK_CC | |
| 675 | |
| 676 Bugs | |
| 677 ---- | |
| 678 - Ticket 185 EMF export corrections | |
| 679 - fine scaling by the use of float arithmetic | |
| 680 - full header (extension1&2) with correct size field | |
| 681 - Ticket 190: Aztec buffer overrun fixed | |
| 682 - Ticket 191 suppress clang-tidy warnings: raster.c, composite.c, qr.c | |
| 683 - Ultracode internal encoding bugs, ECI 899 | |
| 684 - GS1 data: exclude DEL character | |
| 685 - Ticket 192: missing malloc.h include for Windows compilers. | |
| 686 - Correct GS1 AI 253 & 255 length from 14 to 13 | |
| 687 - Codablock F changes: | |
| 688 - FNC4 may not be split over rows. | |
| 689 - Use Code128 routine for one line Codablock FIM | |
| 690 - Correct column range to 9 ... 62 | |
| 691 - allow new options: row count and column count, border_width and HIBC mode | |
| 692 - pad correctly empty and last row | |
| 693 - separator length correction | |
| 694 - Code128 changes: | |
| 695 - Correctly encode CodeA charset with control-character only data | |
| 696 - Improve coding of Extended ASCII (FNC4) | |
| 697 - Checksum calculation overflow protection | |
| 698 - EAN128 may reduce length | |
| 699 - Check for incomplete escape sequences on data specification: "\" without | |
| 700 following character. | |
| 701 - Code16K fixes: remove extended ASCII latch, pad character | |
| 702 - Restructuring to have common code centralized: | |
| 703 - Code128 routines for Codablock&Code16K | |
| 704 - output.c has common routines from raster.c and symbologies. | |
| 705 - HIBC_39: restrict max length to 68 otherwise to avoid overrun | |
| 706 - Code One: protect agains overrun | |
| 707 - Telepen: allow DEL | |
| 708 - GS1 Databar/ GS1-128 Composite: | |
| 709 - Separator bar corrections | |
| 710 - Ticket 200: spurious additional row | |
| 711 - Correct names in GUI | |
| 712 - Compact PDF417: | |
| 713 - Add missing stop pattern. | |
| 714 - Rename in GUI: "PDF417 Truncated" to "Compact PDF417". | |
| 715 - PDF417: Optimize text compaction mode switch. | |
| 716 - Human readable representation: Code128, Code39, Code93 special characters | |
| 717 are shown by a blank. | |
| 718 - ITF14: Ticket 201: allow bind option | |
| 719 | |
| 720 | |
| 721 Version 2.8.0 2020-04-10 | |
| 722 ======================== | |
| 723 | |
| 724 Changes | |
| 725 ------- | |
| 726 (New) Tests for auspost, codablock, composite, dotcode, general, telepen, | |
| 727 upcean, all output formats | |
| 728 - QR, Han Xin, Grid Matrix: the multi byte compaction schemes (ex: Kanji) | |
| 729 are used by some decoders as codepage information (Ex: GB2312) and output | |
| 730 may be translated to UTF-8. This may destroy the data in a not controlable | |
| 731 manner. | |
| 732 In consequence, multibyte compaction schemes are disabled by default. | |
| 733 The new option --fullmultibyte (option_3 = ZINT_FULL_MULTIBYTE) enables this | |
| 734 optimisation. | |
| 735 - Add new symbology "Ultra Code" with the ability to output colour codes. | |
| 736 | |
| 737 Bugs | |
| 738 ---- | |
| 739 - Ticket 181 penetration test found many bugs: | |
| 740 - Auspost: null bytes in content caused segfault | |
| 741 - Codablock: data 0x1a..0x1f caused segfault | |
| 742 - Dotcode: overrun in binary mode, overrun in codeword_array buffer | |
| 743 Correct encoding of HT/FS/GS/RS when shifting to code set B | |
| 744 - empty or unreadable input file | |
| 745 - telepen: buffer overflow | |
| 746 - EANUCC: buffer overflow on multiple + (multiple extension bars) | |
| 747 - Maxicode: index overrun on numeric compaction | |
| 748 - CodeOne: Simple i indexing not sp + i in C1_ASCII numeric latch loop. | |
| 749 - Aztec: free memory | |
| 750 - Ticket 183: Databar stacked separator correction | |
| 751 - Ticket 182: Output bitmap type was char, where some targets assigned 0 | |
| 752 if pixel colour >127 (e.g. negative). API change to use unsigned char. | |
| 753 - HanXin: wrong codepage, gb2312 instead gb18030. | |
| 754 - PDF417: corrected alloced sizes to max characters | |
| 755 - Ticket 189: FNC1 encodation fixed (FLG(0) missing after FLG(n)) | |
| 756 - PCX format: added missing bytes_per_line if bitmap width is odd. | |
| 757 | |
| 758 | |
| 759 Version 2.7.1 2020-02-01 | |
| 760 ======================== | |
| 761 | |
| 762 Changes | |
| 763 ------- | |
| 764 - QR encoding optimized to get smaller code matrix results | |
| 765 - PDF417: remove obsolete codeword number option in qzint. | |
| 766 Option removed in qtzint. | |
| 767 - Removed annex B (3 digit country codes) and annex C (GS1 General | |
| 768 Specification) from the manual. This material may be found elsewhere. | |
| 769 - MAC homebrew remark added to the documentation | |
| 770 - Correct cmake file to match BSD-3-clause licence | |
| 771 | |
| 772 Bugs | |
| 773 ---- | |
| 774 - Correct uninitialized warning in gridmatrix.call | |
| 775 - do not export internal functions | |
| 776 - raster painting of UPC-A bound check | |
| 777 - pdf417 documentation corrected: change flag -security to -secure | |
| 778 - Dot Code encoding ECI number corrected | |
| 779 - Corrected postscript plotting error | |
| 780 - Datamatrix: corrected possible buffer overrun in 3 characters to 2 byte | |
| 781 encodings. | |
| 782 - In 2.7.0 removed interface "ZBarcode_Render" still declared | |
| 783 - vc6 make was missing (trivial) resource.h | |
| 784 | |
| 785 | |
| 786 Version 2.7.0 2019-12-05 | |
| 787 ======================== | |
| 788 | |
| 789 Changes | |
| 790 ------- | |
| 791 - Automatic height option added to qzint | |
| 792 - DotCode in line with new specification | |
| 793 - New GS1 AIs 7240, 235, 417, 7040, 8026, updated checks for 7007, 8008 | |
| 794 - New Symbology rMQR | |
| 795 - QR and Qridmatrix optimisation for GB2312 | |
| 796 - removed depreciated interface for gLabels program. Please use current | |
| 797 interface. | |
| 798 | |
| 799 Fixed bugs | |
| 800 ---------- | |
| 801 - Many improvements in composite codes | |
| 802 - SVG output corrected for messages containing "<" and "&". | |
| 803 - GS1-128 and RSS may only be used with GS1 contents | |
| 804 - Han Xin chinese character handling | |
| 805 | |
| 806 | |
| 807 Version 2.6.7 2019-10-07 | |
| 808 ======================== | |
| 809 | |
| 810 Changes | |
| 811 ------- | |
| 812 Ticket 127: Allow to code ECI 3 if explicitly given for debug purposes. | |
| 813 **Incompatible change** | |
| 814 "--eci 3" now leads to included ECI information. | |
| 815 "--eci 0" may now be used to not include any ECI information. | |
| 816 The default of the parameter changed from 3 to 0. | |
| 817 | |
| 818 Fixed bugs | |
| 819 ---------- | |
| 820 Ticket 146, 165: fix wrong encoding of RSS composite codes | |
| 821 | |
| 822 | |
| 823 Version 2.6.6 2019-09-18 | |
| 824 ======================== | |
| 825 | |
| 826 Fixed bugs | |
| 827 ---------- | |
| 828 Ticket 161: PDF row size may be set | |
| 829 Ticket 155: PDF numeric compaction | |
| 830 Ticket 164: crash due to call of svg_plot withnull vector | |
| 831 Ticket 119: Crash on bullseye raster drawing | |
| 832 qtzint: Micro-QR version option choice corrected (+1 missing). | |
| 833 Datamatrix: code corruption when ECI was encoded and base256 encoding was | |
| 834 automatically chosen. | |
| 835 | |
| 836 | |
| 837 Version 2.6.5 2019-09-02 | |
| 838 ======================== | |
| 839 | |
| 840 Fixed bugs | |
| 841 ---------- | |
| 842 backend/main.c was missing | |
| 843 Maxicode bullseye rastering for scale = 0.5 | |
| 844 Crash in utf to eci. | |
| 845 eci ISO 8859-16 table missing data line | |
| 846 upce check for 7 digit input (causes crash) and BARCODE_UPCE_CHK -> BARCODE_UPCE | |
| 847 mapping removed | |
| 848 US imail check for invalid barcode identifier and allow 0/5/9/11 length zip | |
| 849 maxicode code set correction | |
| 850 cmake flags for debugging and sanitize options | |
| 851 unit tests for the changes, with a simple test suite based on qrencode/tests | |
| 852 | |
| 853 | |
| 854 Version 2.6.4 2019-08-30 | |
| 855 ======================== | |
| 856 Fixed bugs: EMF output, maxicode plot/content | |
| 857 Datamatrix DMRE updated to the ISO/IEC29158 version. This is incompatible in the | |
| 858 way that the old -vers numbers for DMRE are re-assigned. | |
| 859 The separator of GS1-datamatrix may be switched from FNC1 to GS. | |
| 860 GS1 field length check AI 8009 and 7230 to 7239 currected. | |
| 861 | |
| 862 | |
| 863 Version 2.6.3 2018-02-15 | |
| 864 ======================== | |
| 865 New symbology Royal Mail 4-state Mailmark. Added North America VIN verification. | |
| 866 Bugfixes for TIF and EMF output and escape character handling. | |
| 867 | |
| 868 | |
| 869 Version 2.6.2 2017-10-22 | |
| 870 ======================== | |
| 871 Further bugfixes in Aztec and DotCode. Expand escape sequence support | |
| 872 to API and GUI. Handle UTF BOM. Bugfix raster images of Maxicode. | |
| 873 | |
| 874 | |
| 875 Version 2.6.1 2017-08-27 | |
| 876 ======================== | |
| 877 Library bugfixes: EDIFACT unlatch in Data Matrix, Add UPNQR, Improved Aztec | |
| 878 data compression, Detect Code 128 data too long, Make error codes consistent. | |
| 879 GUI improvements: Additional clipboard options, remove border width bug, | |
| 880 remove changing background colour bug, remember more settings and make GUI | |
| 881 more consistent with user expectations. All windows now resizable and more | |
| 882 information given when batch processing. | |
| 883 | |
| 884 | |
| 885 Version 2.6.0 2017-05-12 | |
| 886 ======================== | |
| 887 Update front end to Qt5. Output to EMF and TIF. Copy to clipboard. Update | |
| 888 to latest draft of DMRE. Usual bugfixes. | |
| 889 | |
| 890 | |
| 891 Version 2.5.1 2017-04-03 | |
| 892 ======================== | |
| 893 Numerous bugfixes, especially with Data Matrix thanks to extensive testing | |
| 894 by brunt@SF | |
| 895 | |
| 896 | |
| 897 Version 2.5 2016-11-13 | |
| 898 ====================== | |
| 899 Support for DotCode and Han Xin code. ECI code processing. Output to BMP, GIF | |
| 900 and PCX. Added bold and small text options. Reintroduction of Codablock-F. | |
| 901 Many minor fixes and improvements. | |
| 902 | |
| 903 | |
| 904 Version 2.4.3 2011-05-16 | |
| 905 ======================== | |
| 906 Includes minor bugfixes | |
| 907 | |
| 908 | |
| 909 Version 2.4.1 2011-04-19 & 2.4.2 2011-05-04 | |
| 910 =========================================== | |
| 911 A whole host of bugfixes including correction of ECC routines | |
| 912 for Code-1 and addition of batch processing at the command line. | |
| 913 | |
| 914 | |
| 915 Version 2.4 2010-09-13 | |
| 916 ====================== | |
| 917 Built extensions to the API for integrating with glabels with thanks to | |
| 918 Sam Lown and Jim Evins. Added code optimisation and input from stdin thanks to | |
| 919 Ismael Luceno. Reinstated escape character input. Simplification of Barcode | |
| 920 Studio. | |
| 921 | |
| 922 | |
| 923 Version 2.3.2 2010-05-29 | |
| 924 ======================== | |
| 925 Corrected many bugs in GS1 DataBar Extended thanks to the careful | |
| 926 study of the code by Pablo Orduña at the PIRAmIDE project. Similarly corrected | |
| 927 some bugs in Maxicode thanks to Monica Swanson at Source Technologies. Also | |
| 928 minor bugfixes for ISBN and Aztec Code, and added some small features like a | |
| 929 --square option in the CLI. | |
| 930 | |
| 931 | |
| 932 Version 2.3.1 2010-04-07 | |
| 933 ======================== | |
| 934 Removed Codablock-F. Redesigned scale function so that human readable | |
| 935 text and Maxicode symbols can be scaled consistently. Corrected encoding bugs | |
| 936 with Code 128/Code 16k and Data Matrix ECC200 ECC 050. Added --notext option to | |
| 937 CLI. | |
| 938 | |
| 939 | |
| 940 Version 2.3 2009-11-23 | |
| 941 ====================== | |
| 942 Fixed problems with Micro QR Code and rebuilt QR Code support removing | |
| 943 dependence on libqrencode. Improved Kanji character support for QR Code and | |
| 944 Micro QR Code which now auto-detects and automatically converts to Shift-JIS. | |
| 945 Added Grid Matrix symbology with Kanji character support and automatic | |
| 946 conversion to GB 2312. Removed no_qr compile option. Advanced Barcode Studio | |
| 947 version number to match library version number. | |
| 948 | |
| 949 | |
| 950 Version 2.2.2 2009-09-29 | |
| 951 ======================== | |
| 952 A beta release previewing the new API structure. Better NULL character | |
| 953 support with "nullchar" value removed. Added loading from file and sequence | |
| 954 dialogs in Barcode Studio. | |
| 955 | |
| 956 | |
| 957 Version 2.2.1 2009-08-06 | |
| 958 ======================== | |
| 959 Data encoding bugfixes for Aztec Code, Data Matrix ECC200, USPS One | |
| 960 Code and PDF417. Symbol plotting bugfixes for MicroPDF417 and 2D components of | |
| 961 composite symbols. Text formatting bugfix for Qt renderer and a couple of | |
| 962 compiler fixes for MSVC PNG image output. | |
| 963 | |
| 964 | |
| 965 Version 2.2 2009-07-18 | |
| 966 ====================== | |
| 967 Added Code One and GS1 support in Code 49. Changed GUI binary name to | |
| 968 zint-qt and brought GUI up to version 1.0. Made some minor bugfixes to Code 39, | |
| 969 ITF-14, Aztec Code, Code 128 and Code 16K. Added 'rest' button to GUI. Included | |
| 970 .spec file from Radist. | |
| 971 | |
| 972 | |
| 973 Version 2.1.4 2009-06-19 | |
| 974 ======================== | |
| 975 Many stability improvements including removal of buffer overruns in | |
| 976 Code 39, LOGMARS, PZN, Aztec Code and Composite CC-A. Addition of files for | |
| 977 compiling on MS Windows platform - tested successfully on XP and Vista. | |
| 978 | |
| 979 | |
| 980 Version 2.1.3 2009-05-19 | |
| 981 ======================== | |
| 982 Many improvements to the QZint GUI which is now renamed "Zint Barcode | |
| 983 Studio 0.2". Added Japanese Postal Barcode, Code 49 and Channel Code and made | |
| 984 corrections to Data Matrix ECC200 (Binary mode data compression terminates too | |
| 985 soon), Aztec Code (Bug when automatically resizing after removing "all 0" and | |
| 986 "all 1" codewords) and Code 128 (Extended ASCII characters become corrupt). | |
| 987 | |
| 988 | |
| 989 Version 2.1.2 2009-03-01 | |
| 990 ======================== | |
| 991 Added SVG output option. Improved Japanese character support including | |
| 992 Unicode > Shift-JIS capability. Bugfixes for Data Matrix ECC200 (missing | |
| 993 characters at end of string) and Codablock-F (K1/K2 check digit and row | |
| 994 indicators above row 6). | |
| 995 | |
| 996 | |
| 997 Version 2.1.1 2009-02-10 | |
| 998 ======================== | |
| 999 Minor Data Matrix ECC200 bugfix and added HIBC options. | |
| 1000 | |
| 1001 | |
| 1002 Version 2.1 2009-01-31 | |
| 1003 ====================== | |
| 1004 Reinstated Korea Post barcodes, harmonised bind and box options, moved | |
| 1005 Unicode handling into backend and added input_mode option, added size options | |
| 1006 to Data Matrix ECC200, added NULL character handling for Codablock-F, Code 128, | |
| 1007 Code 16k, Extended Code 39, Code 93, Telepen, Maxicode, Data Matrix ECC200 ECC | |
| 1008 200, PDF417 and MicroPDF417. Added GS1 support for Code 16k, Codablock-F and | |
| 1009 Aztec Code. Added scale and direct to stdout options. Rebult Data Matrix ECC200 | |
| 1010 ECC 200 encoding algorithms to support NULL encoding and GS1 data encoding. | |
| 1011 | |
| 1012 | |
| 1013 Version 2.0 2008-11-18 | |
| 1014 ====================== | |
| 1015 Made corrections to Aztec Code and tested output with bcTester. Added | |
| 1016 Aztec Runes, Micro QR Code and Data Matrix ECC200 ECC 000-140. Updated e-mail | |
| 1017 information. | |
| 1018 | |
| 1019 | |
| 1020 Version 2.0 beta r2 2008-10-19 | |
| 1021 ============================== | |
| 1022 Many corrections and bugfixes. (Code 11, Code 128, EAN-128, | |
| 1023 Aztec Code, Codablock-F, Code 16k, POSTNET, PLANET, NVE-18, PZN, Data Matrix | |
| 1024 ECC200, Maxicode and QR Code) | |
| 1025 | |
| 1026 | |
| 1027 Version 2.0 beta 2008-09-29 | |
| 1028 =========================== | |
| 1029 Added support for Aztec Code, Codablock-F, Code 32, EAN-14 and DAFT | |
| 1030 Code. Rearranged symbology numbers to match Tbarcode v8. Corrected a never | |
| 1031 ending loop bug in EAN-128. | |
| 1032 | |
| 1033 | |
| 1034 Version 1.6.2 2008-07-28 | |
| 1035 ======================== | |
| 1036 Added KIX Code support and PNG image rotation. Corrected a bug | |
| 1037 affecting extended ASCII support in Code 128 and Code 16k. | |
| 1038 | |
| 1039 | |
| 1040 Version 1.6.1 2008-07-08 | |
| 1041 ======================== | |
| 1042 Major restructuring of PNG generating code: Now draws UPCA and EAN | |
| 1043 symbols properly and puts human readable text into the image. Also corrected | |
| 1044 some nasty 'never ending loop' bugs in Code 128 and check digit bugs in PostNet | |
| 1045 and Planet. | |
| 1046 | |
| 1047 | |
| 1048 Version 1.6 2008-04-22 | |
| 1049 ====================== | |
| 1050 Data Matrix ECC200, Maxicode and Australia Post now use common | |
| 1051 Reed-Solomon functions – this also fixes a bug in Maxicode error correction and | |
| 1052 replaces the last of the Lien code. Added PNG output for Maxicode symbols. | |
| 1053 Removed some useless code. Updated QR support for libqrencode v2.0.0. | |
| 1054 | |
| 1055 | |
| 1056 Version 1.5.5 2008-03-09 | |
| 1057 ======================== | |
| 1058 Added composite symbology support. Corrected errors with GS1-128 and | |
| 1059 PDF417/MicroPDF417 byte processing. Transferred licence to GPL version 3. | |
| 1060 | |
| 1061 | |
| 1062 Version 1.5.4 2007-11-26 | |
| 1063 ======================== | |
| 1064 Added GS1 DataBar (Reduced Space Symbology) support. | |
| 1065 | |
| 1066 | |
| 1067 Version 1.5.3 2007-10-10 | |
| 1068 ======================== | |
| 1069 Made huge corrections to Maxicode support by removing and re-writing | |
| 1070 much of John's code. Maxicode now supports extended ASCII and modes 4, 5 and 6. | |
| 1071 | |
| 1072 | |
| 1073 Version 1.5.2 2007-09-26 | |
| 1074 ======================== | |
| 1075 Added extended ASCII support to Code 16k. Corrected Code 128 error. | |
| 1076 Added Maxicode support by integrating code by John Lien. | |
| 1077 | |
| 1078 | |
| 1079 Version 1.5.1 2007-09-03 | |
| 1080 ======================== | |
| 1081 Added formatting code to EPS output of EAN and UPC symbols according | |
| 1082 to EN 797:1996. Checked against and, where appropriate, altered or corrected to | |
| 1083 comply with ISO 16388 and ISO 15417 including Latin-1 support. Altered default | |
| 1084 image settings, added automatic ITF border. Corrected error with USPS OneCode. | |
| 1085 Tidied up Code 39 quite a bit, added Mod 43 options. | |
| 1086 | |
| 1087 | |
| 1088 Version 1.5 2007-08-12 | |
| 1089 ====================== | |
| 1090 Pulled everything together to make an API. Corrected errors with EAN-13, | |
| 1091 PDF417 and LOGMARS. Added EPS output. Added QR Code support using libqrencode. | |
| 1092 Corrected ISBN verification error. Re-compiled documentation in HTML form. Put | |
| 1093 in place proper error handling routines. --font option removed. Encoding is now | |
| 1094 done with a restructured zint_symbol structure. Added make install option and | |
| 1095 optional QR Code support to Makefile. Corrected minor problem with 4-State | |
| 1096 Codes. Restructured code into fewer source code files. Added MicroPDF417 | |
| 1097 support. | |
| 1098 | |
| 1099 | |
| 1100 Version 1.4 2007-06-20 | |
| 1101 ====================== | |
| 1102 Added NVE-18 support. Corrected some problems with compilation and input | |
| 1103 verification. Command line option handling now uses getopt(), and all the | |
| 1104 switches have changed. Added –font option. | |
| 1105 | |
| 1106 | |
| 1107 Version 1.3 2007-06-13 | |
| 1108 ====================== | |
| 1109 Supports USPS OneCode and LOGMARS. Brought all usage information into | |
| 1110 one User Manual document. | |
| 1111 | |
| 1112 | |
| 1113 Version 1.2 2007-05-28 | |
| 1114 ====================== | |
| 1115 Supports Data Matrix ECC200 (by absorption of IEC16022 code by Stefan | |
| 1116 Schmidt et al). Added reverse colours, FIM, MSI/Plessey Modulo 11 and Modulo | |
| 1117 11/10. Corrected Code 16k check digit calculation. | |
| 1118 | |
| 1119 | |
| 1120 Version 1.1 2007-04-26 | |
| 1121 ====================== | |
| 1122 Added more derivatives (Code 2 of 5 Matrix, IATA and Data Logic, | |
| 1123 Truncated PDF417, Deutsche Post Leitcode and Identcode, Pharmazentralnummer, | |
| 1124 Planet) and Flattermarken. Tidied up 2 of 5 code. | |
| 1125 | |
| 1126 | |
| 1127 Version 1.0 2007-04-20 | |
| 1128 ====================== | |
| 1129 Corrected problem with escape character codes. Supports PDF417. This | |
| 1130 completes the list of features I originally wanted (plus a few more), hence | |
| 1131 skip to version 1.0. | |
| 1132 | |
| 1133 | |
| 1134 Version 0.6 2007-04-01 | |
| 1135 ====================== | |
| 1136 Added Plessey and some derivative codes (EAN-128, Code 128 subset B, | |
| 1137 Auspost Reply, Auspost Routing, Auspost Redirect, ITF-14). Tidied up code | |
| 1138 again: separated symbologies into more files and put all lookup tables into | |
| 1139 arrays (much reducing the amount of code, especially for Code 39e and Code 93). | |
| 1140 Errors now output to stderr. Added proper input verification. Distribution now | |
| 1141 packs with HTML pages instead of separate README. Outputs to PNG. Outputs | |
| 1142 colour. User variable whitespace and border width. Box option. Fixed EAN add-on | |
| 1143 bug. Added whitespace and height options. Project name changed to Zint to avoid | |
| 1144 conflict with extant trade name. Added escape character input. | |
| 1145 | |
| 1146 | |
| 1147 Version 0.5 2007-02-28 | |
| 1148 ====================== | |
| 1149 Added Australia Post 4-State Barcodes and Pharmacode (1 and 2 track). | |
| 1150 4-state codes now draw with correct height/width ratio. | |
| 1151 | |
| 1152 | |
| 1153 Version 0.4 2007-01-15 | |
| 1154 ====================== | |
| 1155 Added barcode stacking (now stacks up to 16 barcodes) and Code16k (stub). | |
| 1156 | |
| 1157 | |
| 1158 Version 0.3 2006-12-30 | |
| 1159 ====================== | |
| 1160 Added MSI/Plessey Mod 10 check and 2 x Mod 10 check options, Telepen | |
| 1161 ASCII and Telepen numeric, Postnet, RM4SCC. Code has been tidied up quite a | |
| 1162 bit. Bind option added. | |
| 1163 | |
| 1164 | |
| 1165 Version 0.2 2006-12-12 | |
| 1166 ====================== | |
| 1167 Added Code 128 (which is now the default), Code 11, Code 2 of 5, Add-on | |
| 1168 codes EAN-2 and EAN-5 parity and MSI/Plessey without check digit. | |
| 1169 | |
| 1170 | |
| 1171 Version 0.1 (as Zebar) 2006-11-13 | |
| 1172 ================================= | |
| 1173 Draws UPC-A. UPC-E, EAN-8, EAN-13, Interlaced 2 of 5, | |
| 1174 Codabar, Code 39, Extended Code 39 and Code 93 barcodes and Add-on codes EAN-2 | |
| 1175 and EAN-5 without parity. | |
| 1176 | |
| 1177 # vim: syntax=off : |
