OpenRTB 2.6
The final OpenRTB 2.6 specification was released earlier this month. I'm curious about the plans to add support in this library and if you're interested in assistance.
Why not, feel free to PR.
2.6 Introduces Ad Pods for CTV transactions, a structured User-Agent object and other minor enhancements.
Maybe it wouldn't be too big of a code change as well.
If I'll get to it earlier - I'll write here not to work on the same thing. But don't think it happens till mid-May.
I had some time and got a PR up. Turned out to be quite a bit involved.
Note: relates to https://github.com/prebid/prebid-server/issues/2139
Main effort done in linked PR.
Next steps:
- [x] alpha (maybe beta) release(s) of this lib - pushed v16.0.0-alpha.1 -> v16 doc
- [x] maybe some fixes or improvements when bumping in https://github.com/prebid/prebid-server (CC me on PR if you'll do it, maybe I'll spot smth in PBS diffs to improve in this lib)
- [x] final 16.0.0 release of this lib
OpenRTB 2.6 removes nearly all enumerated lists in favor of the enumerations in adcom1/openrtb3, which in turn were based on OpenRTB 2.5. In v16 of this library, this is represented with a removal of openrtb2 enums and replaced with adcom1/openrtb3 enums. I put together this chart to assist with upgrading.
| v15 | v16 |
|---|---|
| openrtb2.AdPosition | adcom1.PlacementPosition |
| openrtb2.APIFramework | adcom1.APIFramework |
| openrtb2.CompanionType | adcom1.CompanionType |
| openrtb2.ConnectionType | adcom1.ConnectionType |
| openrtb2.ContentContext | adcom1.ContentContext |
| openrtb2.ContentDeliveryMethod | adcom1.DeliveryMethod |
| openrtb2.CreativeAttribute | adcom1.CreativeAttribute |
| openrtb2.DeviceType | adcom1.DeviceType |
| openrtb2.ExpandableDirection | adcom1.ExpandableDirection |
| openrtb2.FeedType | adcom1.FeedType |
| openrtb2.IPLocationService | adcom1.IPLocationService |
| openrtb2.IQGMediaRating | adcom1.MediaRating |
| openrtb2.LocationType | adcom1.LocationType |
| openrtb2.NoBidReasonCode | openrtb3.NoBidReason |
| openrtb2.PlaybackCessationMode | adcom1.PlaybackCessationMode |
| openrtb2.PlaybackMethod | adcom1.PlaybackMethod |
| openrtb2.ProductionQuality | adcom1.ProductionQuality |
| openrtb2.Protocol | adcom1.MediaCreativeSubtype |
| openrtb2.StartDelay | adcom1.StartDelay |
| openrtb2.VideoLinearity | adcom1.LinearityMode |
| openrtb2.VideoPlacementType | adcom1.VideoPlacementSubtype |
| openrtb2.VolumeNormalizationMode | adcom1.VolumeNormalizationMode |
Looks like these changes are now used by prebid-server https://github.com/prebid/prebid-server/pull/2280 - I eyeballed the diff (but really, really quickly) and did not notice any weird workarounds there, so I assume that recent OpenRTB 2.6 changes are usable (API is convenient enough etc).
I'd prefer to do a final v16 release of this lib soon(ish) - in 1-2 weeks, maybe with https://github.com/mxmCherry/openrtb/issues/52 included if it's done soon. Looks like it can affect prebid-server, but I think adapting should be very simple (native1/request.Video seems to be just a subset of a fuller openrtb2.Video), feel free to comment on the Native Video issue as well.
Released v16.0.0