github IABTechLab/iabgpp-java 4.0.0
v4.0.0

3 hours ago

iabgpp-java version 4.0.0 has been released!

Release Notes
Maven: https://repo1.maven.org/maven2/com/iabgpp/iabgpp-core/4.0.0/

Requires: Java 11
This release adds support for four new US state privacy sections, improves TcfCaV1 encoding and backward compatibility, fixes bitfield encoding, and increases the supported vendor ID range. This is the final release of the 4.0.0-RC2 line.

What's New !

  1. US State Privacy Sections
    StateSection IDAccessorMaryland24getUsMdSection()Indiana25getUsInSection()Kentucky26getUsKySection()Rhode Island27getUsRiSection()
    Each section includes its header, core fields, and supported optional segments, determined by the subsection header.

  2. Vendor IDs up to 16,384
    The maximum supported vendor ID has increased from 8,192 to 16,384. This fixes encoding and decoding for vendor IDs above 8,192, including IDs such as 10,000.

  3. TcfCaV1 Encoding
    Updated TcfCaV1 (Canada) to use Fibonacci integer range encoding for:
    Vendor Express Consent
    Vendor Implied Consent
    Disclosed Vendors
    Publisher Restrictions

  4. Backward Compatibility
    Existing TcfCaV1 strings generated using the previous fixed-range encoding remain decodable. New strings use Fibonacci integer range encoding, while previously generated strings remain readable.

  5. Bitfield Encoding
    Fixed an off-by-one error in bitfield encoding. Bitfields are 1-based, but the encoder previously wrote values one position earlier than intended. Encoding now writes each value to the correct bit position.

  6. TCF EU v2.3 Segments
    Optional segments are now written whenever they contain data. isServiceSpecific no longer controls this behavior, allowing vendorsDisclosed to be encoded when isServiceSpecific is true.

  7. Legacy Decode Logging
    While decoding legacy TcfCaV1 strings, the library attempts Fibonacci decoding before falling back to fixed-range decoding. Previously, this probe could log Exceeding IntegerSet.MAX_COLLECTION_SIZE for an ID that was subsequently discarded.
    These non-actionable probe warnings are now suppressed. Vendor IDs that actually exceed 16,384 still generate a warning.
    FibonacciIntegerRangeEncoder.decode(BitString) remains available and delegates to decode(reader, true).

Included Changes
PR #106 — Updated TcfCaV1 encoding to use Fibonacci integer ranges.
PR #107 — Added backward compatibility for legacy TcfCaV1 strings.
PR #108 — Fixed the bitfield off-by-one encoding issue.
PR #109 — Added Maryland, Indiana, Kentucky, and Rhode Island sections, along with TCF EU v2.3 optional segment updates.
Vendor ID fix — Increased the supported vendor ID range from 8,192 to 16,384.
PR #111 — Suppressed non-actionable size warnings during the legacy TcfCaV1 Fibonacci probe.

What's Changed

New Contributors

Full Changelog: 3.2.5...4.0.0

Don't miss a new iabgpp-java release

NewReleases is sending notifications on new releases.