All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
- Watches key press for allow or deny, default keys are 13 (Enter) and 27 (Esc) respectively [#571, #487]
- Categories: 'Uncategorized', 'Essential', 'Analytics', 'Marketing', 'Personalization'
{ /*...options*/, type: "categories" }
- Events: 'initialized', 'error', 'popupOpened', 'popupClosed', 'revokeChoice', 'statusChanged'
cc.on( 'error', console.error.bind( console ) )
- Moved to Webpack 4.0: This move integrates the CSS(SCSS) into the JS so there is only one file needed from the CDN [#558]
- Added the link click event watcher that will dismiss the pop-up if option
dismissOnLinkClick: (false)
is set to true [#503] - Added
cookie
optionsameSite
. Supports value 'Lax', 'Strict' and 'None', default is 'Lax', disable usingcookie.sameSite: ''
- Added geolocation service
freegeoip
and set as default. (15,000 queries per hour) – Added more countries having cookie laws:- Australia
- Brasil
- Chile
- India
- Japan
- South Korea
- New Zealand
- Russia
- Thailand
- United States
- Updated all dependencies to latest stable releases
npm audit
- Throws appropriate message if there is no container for the popup to attach to [#579]
- Opt-out changes cookie value appropriately [#560] ( we're not destroying them as they fall under the 'essential' category)
- 'initialise' callback now 'intialized' event that fires before any user actions are possible [#474]
- Removed
event.path
from the code base [#502]
- Started move to ES6
- Distribute utilities
- Set constants
- Event emitter added
- Removed utilities that have built-in JS functionality solutions
- Content options mostly refactored into nested properties with flattened
text replacers
{{buttons.allow}}
and so on.
Default Content options:content: { header: 'Cookies used on the website!', message: 'This website uses cookies to ensure you get the best experience on our website.', policy: 'Cookie Policy', link: { text: 'Learn more', title: 'Learn more about cookies', href: 'https://www.cookiesandyou.com', target: '_blank' }, buttons: { allow: 'Allow cookies', close: '❌', deny: 'Decline', dismiss: 'Got it!', save: 'Save', tooltip: '^' }, categories: { uncategorized: { label: 'Uncategorized', description: 'This is the category for cookies that don\'t fit any of the other categories' }, essential: { label: 'Essential', description: 'This is the category for cookies that are essential' }, personalization: { label: 'Personalization', description: 'This is the category for cookies that are used for personalization' }, analytics: { label: 'Analytics', description: 'This is the category for tracking cookies' }, marketing: { label: 'Marketing', description: 'This is the category for marketing cookies' }, }, }
- Callbacks:
onInitialise
,onPopupOpen
,onPopupClose
,onStatusChange
,onRevokeChoice
- Move storage to localStorage [#455]
- Multiligual support [#570]
- Allow for custom categories
- More lifecycle events
- Updated all dependencies to latest stable releases
- Expiration date future calculation error
- Closing with touch out did not work when cookie consent was displayed on iPhone Safari and dismissOnWindowClick is enabled
- Insite branding and domains replaced with Osano branding and domains
- Secure cookies (must use the
secure
flag) in thecookie
option - Added a onNoCookieLaw hook
- Added a few
content
options likepolicy
andtarget
- Added
dismissOnWindowClick
option (with anignoreClickFrom
) option which blacklists any clicks
- Icons (plus anything else) now allowed in buttons
- Dont call location service again if user has already chosen their privacy level
- Revoke option bug (fixed bug where revoke option wouldn't show on refresh after user has picked choice)
- Lowered console log level from error to warning when location service fails
- Removed non-standard X-Requested-By header from XxmHttpRequest
- Removed Maxmind as a default service, but you can still add it yourself (you need to whitelist a domain with maxmind)
- Removed deprecated FreeGeoIP
- Accessibility
- :focus effects
- ARIA rules for accessibility
- GoogleOff/GoogleOn tags for all content inside the banner. This prevents Google registering CookieConsent text as site content.
- Changelog
- Application written to support:
- geolocation
- callback hooks
- different consent types
- new and easy to customize stylings