<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ZXing/zxing.git/javase, branch dependabot/github_actions/actions/setup-java-6</title>
<subtitle>ZXing ("Zebra Crossing") barcode scanning library for Java, Android (mirror)</subtitle>
<id>https://git.radix-linux.su/ZXing/zxing.git/atom?h=dependabot%2Fgithub_actions%2Factions%2Fsetup-java-6</id>
<link rel='self' href='https://git.radix-linux.su/ZXing/zxing.git/atom?h=dependabot%2Fgithub_actions%2Factions%2Fsetup-java-6'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/ZXing/zxing.git/'/>
<updated>2026-06-25T22:09:49+00:00</updated>
<entry>
<title>reject negative and overflowing crop in BufferedImageLuminanceSource (#2111)</title>
<updated>2026-06-25T22:09:49+00:00</updated>
<author>
<name>jmestwa-coder</name>
<email>jmestwa@gmail.com</email>
</author>
<published>2026-06-25T22:09:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/ZXing/zxing.git/commit/?id=329f34a8849544c78f8478bd35925da25d6f30d2'/>
<id>urn:sha1:329f34a8849544c78f8478bd35925da25d6f30d2</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Validate crop rectangle for TYPE_BYTE_GRAY images in BufferedImageLuminanceSource (#2107)</title>
<updated>2026-06-22T17:45:57+00:00</updated>
<author>
<name>Vasiliy Mikhailov</name>
<email>vasiliy-mikhailov@users.noreply.github.com</email>
</author>
<published>2026-06-22T17:45:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/ZXing/zxing.git/commit/?id=f70ca235c3374177b077420db4151f32b53d8568'/>
<id>urn:sha1:f70ca235c3374177b077420db4151f32b53d8568</id>
<content type='text'>
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.</content>
</entry>
<entry>
<title>wrap invalid base64 as IOException in readDataURIImage (#2105)</title>
<updated>2026-06-22T13:11:52+00:00</updated>
<author>
<name>jmestwa-coder</name>
<email>jmestwa@gmail.com</email>
</author>
<published>2026-06-22T13:11:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/ZXing/zxing.git/commit/?id=bbe601df8b9a8264a448609cf41ed527a526f7c7'/>
<id>urn:sha1:bbe601df8b9a8264a448609cf41ed527a526f7c7</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix QR decode failure for small/native-size images (#2061)</title>
<updated>2026-04-08T03:40:49+00:00</updated>
<author>
<name>Andrew Szeto</name>
<email>github@jabagawee.com</email>
</author>
<published>2026-04-08T03:40:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/ZXing/zxing.git/commit/?id=282319c8134c132fddfc0c942981c41eea3311cb'/>
<id>urn:sha1:282319c8134c132fddfc0c942981c41eea3311cb</id>
<content type='text'>
* 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 &lt; 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 (&lt;= 25 entries,
yielding &lt;= ~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.</content>
</entry>
<entry>
<title>[maven-release-plugin] prepare for next development iteration</title>
<updated>2025-11-11T20:38:37+00:00</updated>
<author>
<name>Sean Owen</name>
<email>srowen@gmail.com</email>
</author>
<published>2025-11-11T20:38:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/ZXing/zxing.git/commit/?id=1ebe8fc3e72a2d0e3ad6b522d8886d70a133f53f'/>
<id>urn:sha1:1ebe8fc3e72a2d0e3ad6b522d8886d70a133f53f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>[maven-release-plugin] prepare release zxing-3.5.4</title>
<updated>2025-11-11T20:37:54+00:00</updated>
<author>
<name>Sean Owen</name>
<email>srowen@gmail.com</email>
</author>
<published>2025-11-11T20:37:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/ZXing/zxing.git/commit/?id=f651b0a0375676e47144f73397dddff8868b0e4c'/>
<id>urn:sha1:f651b0a0375676e47144f73397dddff8868b0e4c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Restore 3.5.4-SNAPSHOT</title>
<updated>2025-11-11T20:35:58+00:00</updated>
<author>
<name>Sean Owen</name>
<email>srowen@gmail.com</email>
</author>
<published>2025-11-11T20:35:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/ZXing/zxing.git/commit/?id=6d66bd96437e15650b91b7c9c6c7dfaa302b3b3d'/>
<id>urn:sha1:6d66bd96437e15650b91b7c9c6c7dfaa302b3b3d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>[maven-release-plugin] prepare release zxing-3.5.4</title>
<updated>2025-11-11T20:33:27+00:00</updated>
<author>
<name>Sean Owen</name>
<email>srowen@gmail.com</email>
</author>
<published>2025-11-11T20:33:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/ZXing/zxing.git/commit/?id=c65c5506a7f75c6623e8720391487a9db47ed1e0'/>
<id>urn:sha1:c65c5506a7f75c6623e8720391487a9db47ed1e0</id>
<content type='text'>
</content>
</entry>
<entry>
<title>[maven-release-plugin] rollback the release of zxing-3.5.4</title>
<updated>2025-11-11T20:21:05+00:00</updated>
<author>
<name>Sean Owen</name>
<email>srowen@gmail.com</email>
</author>
<published>2025-11-11T20:21:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/ZXing/zxing.git/commit/?id=4a160986ef8b9c1e27efa32d724681f28a1eccfd'/>
<id>urn:sha1:4a160986ef8b9c1e27efa32d724681f28a1eccfd</id>
<content type='text'>
</content>
</entry>
<entry>
<title>[maven-release-plugin] prepare for next development iteration</title>
<updated>2025-11-11T19:57:09+00:00</updated>
<author>
<name>Sean Owen</name>
<email>srowen@gmail.com</email>
</author>
<published>2025-11-11T19:57:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/ZXing/zxing.git/commit/?id=7c58665161d5bfd75593f0d4777f036ffdaf9d1c'/>
<id>urn:sha1:7c58665161d5bfd75593f0d4777f036ffdaf9d1c</id>
<content type='text'>
</content>
</entry>
</feed>
