Releases: mxmCherry/openrtb
Use openrtb2.Video for native1/request.Video
Changes since v16.0.0:
- now
native1/request.Video
is a type alias toopenrtb2.Video
(#53 , see #52 for explanation, but shortly - thenative1/request.Video
is just a very stripped downopenrtb2.Video
)
This is released as new major version, but upgrading to this version from v16 is expected not to be noticeable at all. Pay attention / make deliberate choice to upgrade if you do native/video auctions.
OpenRTB 2.6
Changes since v15.0.1:
Shortly - generated JSON should not change, but Go API changed a lot. Basically, upgrade and then fix everything that Go complains about.
Upgrade notes (if you have anything to add - please, open an issue)
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 |
Require Go 1.13+ + test with Github Actions
Changes since v15.0.0:
- library requires Go 1.11+ (first Go version to handle versioned paths), test/matcher lib requires Go 1.13+ for
errors.Is
-> library is tested with Go 1.13+ (that's effective from v14, just now it is stated in README and reflected in Go version matrix for testing) - switched from Travis CI to Github Actions (purely internal thing)
Basically this is a housekeeping/info release, no code changes.
Native Response - pointer Asset.ID
Fix go module
Init go.mod
Changes since v13.0.0:
- initialised go.mod
Changed native EventTrackingMethod and EventType type to int64
Changes since v12.0.0:
native1.EventTrackingMethod
andnative1.EventType
type changed fromint8
toint64
to hold exchange-specific values>= 500
(#39 , thanks @zachbadgett )
OpenRTB 3.0, AdCOM 1.0
https://github.com/mxmCherry/openrtb/milestone/3
Changes since v11.0.0:
- added OpenRTB 3.0 implementation - openrtb3 (#31)
- added AdCOM 1.0 implementation - adcom1 (#34)
- moved root package/code to openrtb2 (#35)
- renamed
native
sub-package to native1 (#35) - changed all >8bit types (like
int16
,uint64
) toint64
(#37) - changed all
uint8
types toint8
(#37)
OpenRTB 2.x migration hint:
- mass-replace library imports from
"github.com/mxmCherry/openrtb"
toopenrtb "github.com/mxmCherry/openrtb/openrtb2"
Device.{DNT,Lmt} made pointers
https://github.com/mxmCherry/openrtb/milestone/2
Changes since v10.0.0:
Device.{DNT,Lmt}
fields made pointers: #27 (thanks @evgenigourvitch )- minor: guides improvements: #28 , #29
- minor: travis builds are now done only for Go
1.8.x
(oldest supported version) and1.x
(latest version): #30
Native 1.2, RawJSON -> json.RawMessage, Go 1.8+
Changes since v9.2.0:
- OpenRTB Dynamic Native Ads API Specification Version 1.2 implemented (#21)
- Native enums (Native 1.2/1.1 section 7 Reference Lists/Enumerations + OpenRTB 2.5 section 5.8 Protocols) moved from
native/request.*
andnative/response.*
to top-levelnative.*
(#21) - switched from custom
RawJSON
tojson.RawMessage
(#24)
WARNING: Switching tojson.RawMessage
means, that Ext fields will work properly only with Go 1.8+ (older Go versions marshal non-pointerjson.RawMessage
to base64-encoded string)
Native 1.1 -> 1.2 migration is "back-compatible": fields/enums, that were deprecated/removed in Native 1.2, are kept in this lib (at least till Native 1.3), so this lib still can be used for Native 1.1 integrations.