- Update version to match iOS SDK; no changes from 1.5.1
- Avoid using inline script in full access mode.
- Add README for CTV reference app and new tests for web data parser.
OM SDK 1.5.0 is a significant update. It adds support for Samsung and LG TVs.
- Add LG WebOS and Tizen CTV support in OM Web SDK.
- Add Reference app for web CTV.
- Add appId and deviceInfo for LG WebOS and Tizen.
- Add device volume detection for LG WebOS and Tizen.
- No longer mark JS-managed sessions as under evaluation.
- Add session owner to context in session start event.
- Mark Picture-in-Picture as non-viewable in Service Library.
- Update version to match iOS SDK; no changes from 1.4.11
- Update chromedriver version.
- Add dv.tech domain to DoubleVerify's Whitelist.
- Set underEvaluation to true for JS-managed sessions.
- Prevent display ad verification scripts from falsely detecting OM SDK.
- Allow sessions to be started/finished from the JS session client on App.
- Block session client post messages from unregistered windows.
- Remove unnecessary @export annotations in example creatives.
- Send a sessionError event when verification scripts included in the creative (a.k.a. side-loaded or inline scripts) attempt to register on Web. Only verification scripts injected by the OM SDK will be permitted on Web. In a future release, all non-injected scripts will fail to register at all on Web.
- Trigger initial geometryChange event when backgrounded.
- Add getEnvironment method to verification client.
- Partition session state in service.
- Allow setting session client window with same-origin window.
- Add sandbox attribute to presence iframe.
- Add friendlyToTop in rawJSON.
- Add method to set session client window.
- Add iPadOS and tvOS to our list of expected OS values.
- Fix 'stale element' error in fullstack tests.
- Malware in fsevents and update Node to lts/hydrogen.
- Add documentation for cross-origin session clients.
- Trigger initial geometryChange event when page hidden on session start.
- Update JS session client to send ID-scoped messages.
- Use message source to identify scripts in addition to injection ID.
- Lowercase adSessionType in native context.
- Fix incompatibility between JS 1.4.1 and native <1.4.0.
- [CTV] Enable Last Activity for native display.
- Set access mode to LIMITED for natively injected resources.
- Prevent late-registering scripts from getting next session's events.
- Fix bug causing video element to be wrongly included in some events.
- Update License, V 1.1
- Update docs for video ad impression.
OM SDK 1.4.0 is a significant update. It adds support for CTV. Implement CTV-related features
- Add DeviceCategory to Context definitions.
- Last Activity signal for CTV.
- Handled user activity signal in omsdk service.
- Added lastActivityTime to verification event schema & event-typedfs.
- Add noOutputDevice to list of reasons in schema.
- Factor noOutputDevice connected into viewability.
- Remove unused adId field.
- Update web video doc with audio ads info.
- Update chromedriver and pixel data for Chrome 104.
- Update reference urls in Access Mode Guidance.
- [Reference apps] Update ad reference urls.
- Add third party hosted prefixes.
- Fix JSClients update issue in TravisCI release script.
- Skip packaging step for local builds.
- Replace display:none by border:0px in OM SDK iframe.
- Return before source check for non-session client messages.
- [OM Web] Treat all Service DirectCommunications as from same message source.
- [Reference apps] Fire impression and start event for video ads when video starts playing.
- Lock down OmidJsSessionBridge in DirectCommunication too.
- Fix Travis breakage due to chromedriver/Chrome version mismatch.
- Use flexbox to layout the reference app controls UI.
- Add volume changes, user interaction, pause, resume and player state example to Web reference app.
- Add volume changes, user interaction and player state info to Web documentation.
- Update version to match iOS SDK; no changes from 1.3.29
- Don't use tuple destructuring which is not supported by the compiler.
- Fixed impressionType in web video reference app.
- Update version to match Android SDK; no changes from 1.3.27
- Move headless fullstack tests to headful mode.
- Implement VerificationVendor.
- Do not serialize the DOM elements.
- Update OM Web Video Dev Docs.
- Validate schema in fullstack tests.
- Update Closure Compiler version to 20200112.0.0
- Remove instanceof checks in type validators
- Update fullstack test data for Chrome 94.
- Add STRICT dependency mode where applicable.
- Use built-in globalThis instead of eval('this’).
- Fix Travis breakage due to chromedriver/Chrome version mismatch.
- Add hidden reason code when ad area is 0.
- Missing reason code where percentageInView < 100%.
- Replace
notFound
reason code sent for ad views without window focus tobackgrounded
andnoWindowFocus
only when there is evidence that the out-of-focus view is attached. - Define
adView.pixelsInView
field to represent the number of visible pixels aka unrounded value forpercentageInView
*adView
's area. - Modify
adView.onScreenGeometry.pixels
to ignore app state, i.e. doesn't get zeroed out when app is backgrounded.
- Fixed friendlyToTop crash.
- Update OM Web Video Dev Docs with Access Mode Guidance.
- Change default log server domain name from 'iabtechlab.com' to 'localhost' in validation verification script.
- Ensure chrome and chromedriver versions match.
- Added friendlyToTop to compliance script.
- Fixes for float arithmetic issues
- Add @externs annotation to omid-native.js
- Making schema match 1.3 reality
- Publish cached
loaded
event for display ad sessions. (loaded
events that were sent beforesessionStart
)
- Fire Reason.BACKGROUNDED correctly on web
- Added injectionSource to verification client API and supporting code to Service and Domain Loader code
- Add custom reference data usage to Web Reference App.
- Update version to match JS Service, Android, and iOS SDKs; no changes from 1.3.14
- Add AdSession.start() and AdSession.finish()
- Add omweb-v1.js Service Script for Web.
- Add omloader-v1.html Domain Loader for Domain Access Mode.
- Add AccessMode.Domain
- Add Context.underEvaluation
- Add Context.canMeasureVisibility
- Add Context.setServiceWindow()
- Add accessMode constructor parameter to VerificationScriptResource
- Fixed issue where contentUrl showed up twice in Context and in SessionStartEventData.
- Pass contentUrl in Web Reference App
- Compliance Event Validation
- Use element's window for prototype in instanceof checks
- Fix typo in isVideoElement
- Check instanceof of slot/video elements
- Automate Web Reference App. Use Validation Script
- Change default access mode to creative in reference app
- Fix HTML creative type
- Modify creatives to show percentageInView value
Added omid-element attribute to creative element
- Added example HTML creatives used by both iOS & Android reference apps. These example creatives demonstrate best practices when integrating OM SDK in an HTML ad session.
- Added measuringElement to AdViewEventData
- Updated JSDoc for SessionClient and VerificationClient with full OMID API documentation. No changes to code behavior.
Session client APIs that were deprecated in 1.3.0 have been fully removed.
See the service changelog for changes visible to session scripts.
There are no changes to the verification client API. Verification scripts using the client library for 1.2.x or 1.3.x continue to fully interoperate with any version of the OM SDK JavaScript service, including old releases and this new release.
- Update version to match JS Service, Android, and iOS SDKs; no changes from 1.3.2
- Modified JavaScript type annotations to better catch transpiler warnings.
- Allow sending contentUrl from cross-domain iframed session scripts.
- Modify fullstack test case to sandbox session scripts.
OM SDK 1.3 is a signficant update. It adds support for some key new use cases for OMID 1.3 while allowing scripts using OMID 1.2 to run correctly. Integrations (apps and SDKs) using OM SDK will need to make code changes. See the Migration Guide included in the Android and iOS releases.
This changelog covers features common to verification scripts and session scripts. See the service changelog for changes specific to session scripts.
The following features changed their API from OM SDK 1.2 to 1.3. The old 1.2 APIs are still supported, but scripts running in OMID 1.3 apps are encouraged to use the new APIs.
- Event
loaded
will occur on display ad sessions - Atribute
adSessionType
can have valuejavascript
- Attribute
mediaType
replaced bycreativeType
- Event type
video
replaced bymedia
- Error events can have a
media
event type
- Event
sessionStart
has new attributessupportsLoadedEvent
,contentUrl
- Event
loaded
has new attributescreativeType
,mediaType
,impressionType
- Event
impression
has new attributescreativeType
,impressionType
- Event
geometryChange
has new attributespixels
,friendlyObstructions
,declaredFriendlyObstructions
- Stop clearing session events on finish for native AdSessionTypes to allow late loading verification scrips to receive past events.
- Use injectionId on sessionStart when available
- Capture injectedResources from native layer
- Inject and store injectionId
- Send video/slotElement to verification scripts in creative access mode.
- Measure window.top viewport in GeometricViewabilityListener
- Update IntersectionObserverViewabilityListener to capture measurement when using same element in subsequent session
- Update to accurately report 'hidden' or 'notFound' for non visible ad views and include geometry.
- Add resource-level isolation in service script
- Add JS event registration
- Cache all video events from JS layer before Ad session is initialized from the native layer
- Implement ResizeObserver to listen for size changes if the ad is 0-area.
- Remove 'goog.require' from omid-js-session-interface.js from externs file.
- Add resource-level isolation in service script.
- Remove ES6 arrow from JavaScript library wrapper, ensuring that verification and session client libraries run on iOS 8 and Android API 16-23.
- Rename Environment.MOBILE to Environment.APP.
- Add Environment.WEB and fix environment at compile time
- Split out SessionService communication into OmidJsBridge
- Refactor fullstack tests
- Split build process in two for app and web
- Refactor how full-stack tests are configured
- Cache all video events then re-publish once session starts
- Update version to match JS Service, Android, and iOS SDKs; no changes from 1.2.12.
- Additional non-zero area check for IntersectionObserver
- Remove non-deterministic behavior for IntersectionObserver
- Start IntersectionObserver after creative has non-zero area
- VerificationClient crashes on creation inside cross-domain iframe on iOS 9
- Fix crash related to resolveTopWindowContext on IE11.
- Update version to match JS Service, Android, and iOS SDKs; no changes from 1.2.7.
- Allow elementBounds to be passed for non-IFrame cases
- OmidSessionClient to include 'default' version key
- Added logic to support older Chromium versions
- 'const' changed to 'var' in verification client for IE<11
- Update version to match JS Service, Android, and iOS SDKs; no changes from 1.2.4.
- Make sure cached loaded event has session ID when republishing
- Fix JS Clients audit errors by upgrading Gulp and Karma
- Set the adView from the creative measurement, if it's available
- Update LICENSE
- Update version to match JS Service, Android, and iOS SDKs; no changes from 1.2.0.
- Use direct communication instead of post message when verification script is in a friendly iframe.
- Fix validation script to fire the default measurement URL in presence of verification parameters.
- Change default vendor name from 'dummyVendor' to 'iabtechlab.com-omid' in validation verification script.
- Change default log server domain name from 'localhost' to 'iabtechlab.com' in validation verification script.
- Remove restriction that impression event must be sent before other events can be sent.
- Purge stale version files before regenerating files in npm prebuild.
- Add support for using window.omid3p in VerificationClient.
- Make OM SDK JS client code available in public GitHub repository.
- Add build files, README, and CHANGELOG to OM SDK JS client repository.
- Dispatch device volume change video events for HTML video ad formats.
- Fix validation verification script to no longer register multiple observers for video events.
- Include validation-verification script in OM SDK JS distribution ZIP.
- Add new properties to session context for compatibility with OMID for Web.
First General Availability release of OM SDK JavaScript.