All notable changes to Harmony will be documented in this file. This project adheres to Semantic Versioning.
- Allow AdSlots to join multiple groups by using an array of group names in the construction settings.
- Bind GPT events
slotOnload
andslotVisibilityChanged
to slot-level event handlers.
- Bind GPT events
slotOnload
andslotVisibilityChanged
to system-level event handler. - Attach two new fields to GPT Slot instances
slot._name
andslot._id
for use during GPT events. slot.name
is now soft deprecated. Scheduled for removal in version 8.
- Separate slot display from service enable to ensure srm bundles correctly.
- Ensure that repeat calls to
show
never results in double slot refresh.
- Expose wrapper for disableInitialLoad. This allows the option to restore
the page back to normal ad calls after the first (SRM usually) call has
returned. Double
show
call for SRM, then singleshow
call afterwards.
- Reduce mangling of slot ids. Mangling will now only append "-h#" instead of replacing the entire id.
- Added contributing guide to readme.
- New slot option
preserveId
. Disables container id mangling whentrue
. This will likely be inverted in Harmony 8 since disabling yields a performance improvment.
- Expose master slot group as
harmony.slots
.
harmony.breakpoint()
now returnsundefined
when no breakpoints have been set.
- Update breakpoint-watcher to use RequestAnimationFrame.
- Remove screen module in favor of
window.innerWidth
. IE9+. - Stop mangling ad slot names. This forces developers to use the grouping feature appropriately.
- Group slots together when refreshing with
show.group()
, instead of refreshing one at a time.
- Expose system-level
impressionViewable
event. - Attach slot name to GPT Slot object.
- Expose
slot.gpt
to decouple GPT slot from Harmony slot. - Slot option
interstitial
changed tooutofpage
. - Slots are no longer defined in GPT until they are displayed. This is an effort to fix how Harmony behaves under Single Request Mode.
- Removed
hide.slot()
andhide.group()
actions. - Slot display styles are no longer altered by Harmony.
- Added support for ActiveView's impressionViewable event.
- Removed
harmony.hasSlot()
. - Merged
harmony.show
andharmony.refresh
into onlyharmony.show
. - Break up
harmony.load
intoload.targeting
,load.slots
, andload.breakpoints
.
- Fixed bad NPM publishing credentials.
- Minor docs update.
- Mangle slot ids on slot creation always.
- Mangle slot names on creation for duplicates.
- Provide
googletag
by default. - Enable GPT services on calls to
refresh()
andshow()
.
- Fully automated build process for docs and versioning.
- Remove global
Harmony()
constructor method. - Expose API as a global object named
harmony
.