| Age | Commit message (Collapse) | Author | Files | Lines | |
|---|---|---|---|---|---|
| 2026-06-26 | reject negative and overflowing crop in BufferedImageLuminanceSource (#2111) | jmestwa-coder | 2 | -1/+30 | |
| 2026-06-22 | Validate crop rectangle for TYPE_BYTE_GRAY images in ↵ | Vasiliy Mikhailov | 2 | -5/+75 | |
| BufferedImageLuminanceSource (#2107) The crop-bounds check was only in the else branch, so TYPE_BYTE_GRAY images skipped it and an out-of-bounds crop was accepted, failing later with an ArrayIndexOutOfBoundsException instead of IllegalArgumentException. Hoist the check above the image-type branch so it applies to all images. Adds a test. | |||||
| 2026-06-22 | wrap invalid base64 as IOException in readDataURIImage (#2105) | jmestwa-coder | 2 | -2/+13 | |
| 2026-04-08 | Fix QR decode failure for small/native-size images (#2061) | Andrew Szeto | 1 | -0/+54 | |
| * Fix QR decode failure for small/native-size images (#1976) QRCodeWriter.encode(..., 0, 0) produces a 33x33 native-size QR that ZXing cannot decode. The CENTER_QUORUM filter in selectBestPatterns() (added in 110ef9e to fix #1567) removes finder patterns with count < 2. For small images, the row-skip interval (iSkip=3, MIN_SKIP) means the scanner only crosses the top two finder pattern centers on a single row each, giving them count=1. The bottom-left pattern gets count=2 because it's scanned after iSkip drops to 2. The filter then removes the two count=1 patterns, leaving 1 of the 3 needed, and throws NotFoundException. The fix: only apply the CENTER_QUORUM filter when either (a) at least 3 confirmed patterns would survive, or (b) the total candidate list exceeds a size threshold. This preserves #1567 protection while allowing small images through. Why a size threshold: the filter was added to prevent O(n^3) blowup in the triangle-selection loop when noisy images produce thousands of spurious candidates. When the candidate list is small (<= 25 entries, yielding <= ~2300 loop iterations), the cubic cost is negligible regardless of whether the patterns are real or spurious. A clean single-QR image produces ~3 candidates; even a noisy image below the threshold is computationally trivial. Above the threshold, the filter applies unconditionally, matching today's behavior. Alternatives considered: - Removing the filter entirely: all 561 existing tests pass, but re-opens #1567 for pathological images with thousands of spurious count=1 candidates. - Reducing MIN_SKIP from 3 to 1 for small images: addresses the symptom (more scan rows = higher counts) but doesn't fix the fundamental interaction between iSkip and the quorum filter, and changes scan behavior for all small images. - Fallback (try with filter, retry without on failure): re-opens #1567 whenever fewer than 3 confirmed patterns exist, which is exactly the scenario that produces thousands of unconfirmed candidates in noisy images. * Increase noisy-image test timeout from 5s to 30s GitHub shared runners timed out at 5s. Local measurement shows ~1.2s, implying at least 4x slowdown on CI. 30s gives a comfortable margin while still catching the O(n^3) regression from #1567. | |||||
| 2023-09-07 | Prevent --raw CLR option from failing if result.getRawBytes() is null (#1683) | Dan Lenski | 1 | -6/+9 | |
| Fixes https://github.com/zxing/zxing/issues/1682 | |||||
| 2023-07-21 | javase/test/matrix: check format support (#1668) | Valérian Rousset | 1 | -5/+10 | |
| 2022-10-24 | Use SwingUtilities to avoid deadlock in GUI mini app | Sean Owen | 1 | -5/+16 | |
| 2022-01-14 | Set FEATURE_SECURE_PROCESSING when reading XML in HtmlAssetTranslator, just ↵ | Sean Owen | 1 | -1/+3 | |
| in case (#1482) | |||||
| 2021-10-13 | Minor code style updates to MinimalEncoder and a few other files ; minor dep ↵ | Sean Owen | 1 | -1/+1 | |
| updates | |||||
| 2021-10-05 | Enforce line length and indent in checkstyle (#1448) | Sean Owen | 1 | -2/+3 | |
| 2021-09-28 | Add option to output raw bitstream from CommandLineRunner. (#1442) | Anders Hammarquist | 2 | -0/+17 | |
| * Add option to output raw bitstream from CommandLineRunner. Useful for debugging barcodes. Same as the web decoder. * Use StringBuilder. Fix indentation. | |||||
| 2020-12-09 | Improve test coverage | Sean Owen | 4 | -7/+31 | |
| 2019-12-12 | Plugin updates; misc code simplifications and optimizations | Sean Owen | 1 | -10/+11 | |
| 2019-05-14 | Bump to 3.4.0. Require Java 8. Various code simplifications and plugin / dep ↵ | Sean Owen | 7 | -177/+12 | |
| updates | |||||
| 2019-05-13 | Move 'Translator' classes to .client.j2se subpackage in order to allow a ↵ | Sean Owen | 2 | -2/+2 | |
| Java 9 module for javase | |||||
| 2018-09-03 | Many more changes from recent IJ inspections | Sean Owen | 1 | -3/+3 | |
| 2018-07-25 | A few more tests and fix handling of data: URIs in command line decoder | Sean Owen | 2 | -0/+6 | |
| 2018-07-25 | A few more tests and fix handling of data: URIs in command line decoder | Sean Owen | 4 | -3/+90 | |
| 2018-07-24 | Fix bug in decoding data URIs; Add tests in javase/, zxingorg/ | Sean Owen | 3 | -4/+52 | |
| 2018-05-18 | Apply checkstyle to test code too, and fix violations; minor updates from ↵ | Sean Owen | 4 | -2/+10 | |
| code inspections | |||||
| 2018-01-31 | Trivial dep update; code tweak | Sean Owen | 1 | -1/+1 | |
| 2017-10-08 | Minor update to last change | Sean Owen | 1 | -9/+10 | |
| 2017-10-08 | Fix null pointer exception (#885) | Michal Hernas | 1 | -0/+3 | |
| 2017-07-17 | Minor changes from inspection | Sean Owen | 2 | -2/+4 | |
| 2017-06-14 | Fix Codacy warnings | Sean Owen | 2 | -2/+2 | |
| 2017-04-23 | Add more tests for non-core modules | Sean Owen | 2 | -0/+70 | |
| 2017-04-23 | Optimize generating BufferedImage by allocating memory per row. Add tests. ↵ | Sean Owen | 2 | -4/+89 | |
| Remove old jetty plugin. | |||||
| 2017-04-15 | Catch a few corner case errors in web app | Sean Owen | 1 | -2/+3 | |
| 2017-04-06 | Update plugins/deps, fix bug in base64 decoding | Sean Owen | 1 | -1/+1 | |
| 2016-12-12 | Minor updates / optimization from inspection; minor plugin / dependency updates | Sean Owen | 1 | -5/+2 | |
| 2016-07-24 | A bunch of inspection changes, including some dead code removal and ↵ | Sean Owen | 1 | -1/+1 | |
| tightening visibility, removing unnecessary casts | |||||
| 2016-06-24 | Implement more style checks around whitespace | Sean Owen | 1 | -2/+2 | |
| 2016-05-23 | Use java.util.Base64 in Java 8+ only, to remove javax.xml.bind dependency in ↵ | Sean Owen | 4 | -2/+121 | |
| javase, which doesn't exist by default in Java 9 | |||||
| 2016-02-16 | Use StringWriter to prevent race condition in println | Lucas Wiman | 1 | -7/+17 | |
| 2016-02-08 | Closes issue #540 : handle file paths with space | Sean Owen | 2 | -3/+17 | |
| 2016-01-21 | Update plugins, dependencies, and clean up small code inspection issues | Sean Owen | 1 | -2/+2 | |
| 2016-01-14 | Closes issue #539 : handle relative files again | Sean Owen | 1 | -3/+2 | |
| 2015-10-13 | Add possibility to choose the error correction level for the encoding | openerp | 2 | -6/+19 | |
| 2015-10-01 | Update BufferedImageLuminanceSource.java | wood | 1 | -4/+6 | |
| 2015-10-01 | fix a little error | wood | 1 | -3/+3 | |
| RGB to gray, the weight of R is 0.299, not 0.229. The comment have a little error. And why add 0x200 ? It may be a error. 306/1024 = 0.2988. 601/1024=0.5869 and 117/1027 = 0.1143. | |||||
| 2015-09-23 | Closes #467 : more efficient construction of BufferedImage from bit matrix | Sean Owen | 1 | -3/+6 | |
| 2015-05-03 | Use JCommander for CommandLineEncoder args | Sean Owen | 2 | -65/+71 | |
| 2015-05-03 | Use JCommander for CommandLineRunner args | Sean Owen | 4 | -278/+199 | |
| 2015-05-03 | CommandLineRunner can now handle URIs again; refactored some duplicated code | Sean Owen | 3 | -163/+114 | |
| 2015-01-30 | Fix unescaped quote in new translation and make translator escape quotes ↵ | Sean Owen | 1 | -5/+7 | |
| going forward | |||||
| 2015-01-24 | Follow up with translations for #296 | Sean Owen | 1 | -1/+1 | |
| 2014-06-25 | Use ARGB when on/off colors are not opaque | Sean Owen | 1 | -2/+14 | |
| 2014-06-24 | Use ARGB color model in MatrixToImageConfig | Mikhail Surin | 1 | -2/+2 | |
| 2014-04-13 | Fix some Java 8 javadoc warnings | Sean Owen | 1 | -3/+39 | |
| 2014-03-13 | Output HTML DOCTYPE correctly from HtmlAssetTranslator | Sean Owen | 1 | -1/+6 | |
