Release notes for iabgpp-java
Version : 4.0.0-RC2
Maven : iabgpp-core/4.0.0-RC2
Requires Java 11
This release adds support for four new US state privacy sections, fixes several encoding issues, and expands support for vendor IDs.
Highlights
New US State Sections
Added encoding and decoding support for:
| State | Section ID | Accessor |
|---|---|---|
| Maryland | 24
| getUsMdSection()
|
| Indiana | 25
| getUsInSection()
|
| Kentucky | 26
| getUsKySection()
|
| Rhode Island | 27
| getUsRiSection()
|
Each section supports the required header, core, and optional segments defined for the state.
Optional segments are determined from the subsection header.
Fixes
Vendor IDs up to 16,384
Previously, vendor IDs were limited to 8,192, which meant IDs above that limit, including 10,000, could not be encoded and decoded correctly.
The limit is now 16,384.
Vendor IDs such as 10,000 now correctly round-trip through encoding and decoding.
Bitfield Encoding
Fixed an off-by-one issue in bitfield encoding.
Bitfields use 1-based indexing, but encoding was previously writing each value one position too early. The encoder now writes values to the correct bit positions.
TcfCaV1 Encoding
Updated the Canada (TcfCaV1) section to use the correct Fibonacci integer range encoding for:
- Vendor Express Consent
- Vendor Implied Consent
- Disclosed Vendors
- Publisher Restrictions
Backward Compatibility
Existing TcfCaV1 strings created with the previous fixed-range encoding can still be decoded successfully.
New strings use the updated Fibonacci encoding, while older strings remain readable.
Included PRs
- PR #106 — Fix TcfCaV1 encoding to use Fibonacci integer ranges.
- PR #107 — Maintain backward compatibility with legacy TcfCaV1 strings.
- PR #108 — Fix bitfield off-by-one encoding.
- PR #109 — Add Maryland, Indiana, Kentucky, and Rhode Island sections.
- Vendor 10,000+ fix — Increase the supported vendor ID limit to 16,384.
Artifacts
com.iabgpp:iabgpp-encoder:4.0.0-RC2com.iabgpp:iabgpp-extras:4.0.0-RC2com.iabgpp:iabgpp-extras-jackson:4.0.0-RC2