Releases: mxmCherry/openrtb
Use openrtb2.Video for native1/request.Video
Changes since v16.0.0:
- now
native1/request.Videois a type alias toopenrtb2.Video(#53 , see #52 for explanation, but shortly - thenative1/request.Videois 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.EventTrackingMethodandnative1.EventTypetype changed fromint8toint64to 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
nativesub-package to native1 (#35) - changed all >8bit types (like
int16,uint64) toint64(#37) - changed all
uint8types 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
RawJSONtojson.RawMessage(#24)
WARNING: Switching tojson.RawMessagemeans, that Ext fields will work properly only with Go 1.8+ (older Go versions marshal non-pointerjson.RawMessageto 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.