## 9.8.7 / 2018-06-24 * Fix `global` access in the dist version (#736) ## 9.8.6 / 2018-06-19 * Remove type attribute from style element (#724) ## 9.8.5 / 2018-06-19 * Fix version in the dist version (#730) ## 9.8.4 / 2018-06-12 * Add link to the egghead course * Upgrade prettier and format code (#726) ## 9.8.3 / 2018-06-10 - Fix CSSOM local typings (flow stopped looking into node_modules if types are not imported directly since v0.57.0) ## 9.8.2 / 2018-06-01 - Fixed typings for RuleList.update method. - Migrated from webpack to rollup. - Upgraded to flow 0.72 ## 9.8.1 / 2018-03-19 - Upgrade to flow 0.68.0 ## 9.8.0 / 2018-02-08 - Remove hyphenation from the core, moved it to jss-camel-case. Now any function values and `rule.prop()` will get hyphenation automatically. ## 9.7.0 / 2018-01-06 - Allow function values return falsy values in order to remove a property. ## 9.6.0 / 2018-01-28 - Added prettier - Added a new, correct way of handling CSP ## 9.5.1 / 2018-01-08 - Added postinstall script with donation log. ## 9.5.0 / 2018-01-02 - Export `toCssValue` utility function for css-vendor package. ## 9.4.0 / 2017-12-16 - Added array values support when used with function values. It now also supports priority option "!important" (#629) - Use classNamePrefix option in production mode (#638) - Added onUpdate to docs and types, now officially supported - Fixed class names collisions with multiple jss instances (#644) ## 9.3.3 / 2017-11-15 - Added CSS.escape fallback, so that polyfill is not required. ## 9.3.2 / 2017-11-14 - Don't put escaped class names into classes hash ## 9.3.1 / 2017-11-13 - Never use window object directly ## 9.3.0 / 2017-11-13 - Add CSS class name escaping for dev mode also we support emoji now! (#624) - Added CSP over webpack (#559) ## 9.2.0 / 2017-11-06 - Allow empty rules when option {link: true} is used. - Simplify internal logic for function values. - Introduce function rules - similar to function values, now function can return the entire style object. ## 9.1.0 / 2017-10-31 - Added Observable rules. Now not only values can be an observable, but also the entire style object. ## 9.0.0 / 2017-09-30 - Added `SheetsManager.size` getter to get amount of items in `SheetsManager`. - Refactored `StyleRule.selector` for better performance. Breaking change - it doesn't reregister rule in the classes map any more. It was used mainly in jss-isolate (#419). - Method `jss.setup()` can now be called multiple times and will merge properly the options. Also it will avoid applying same plugins more than once by comparing the reference (#576). - Fixed linker, which didn't work if selectors were escaped (#557). - In production `createGenerateClassName()` option will now produce short selectors and warn about memory leaks. (#546) - Update flow to v0.54.1. - Support observable values (#442). - Warn when dynamic properties update but link: true option is not set (#581) ## 8.1.0 / 2017-07-12 - Added webpackbin examples - Added size-limit tool - Added SheetsManager ## 8.0.0 / 2017-06-20 - Option `insertionPoint` can now accept a DOM node - DOM node provided in `insertionPoint` can be inside of an iframe. - Warn when an `insertionPoint` was specified but not found in the DOM. ### Breaking changes for users - Option `generateClassName` which was used in Jss constructor and `Jss.setup` has been removed. A new option is called `createGenerateClassName` which is a factory that returns the old `generateClassName`. We need this to reset counters on SSR for each request. - Removed default `insertionPoint` value ("jss") in order to have warnings when insertionPoint is not found in the DOM. With the default one we simply don't know when to warn. ### Potentially breaking changes for plugins - KeyframeRule has been renamed to KeyframesRule. - KeyframeRule.type === 'keyframe' => KeyFrames.type === 'keyframes'. - RegularRule has been renamed to StyleRule - RegularRule.type === 'regular' => StyleRule.type === 'style'. - RegularRule.name => RegularRule.key - ConditionalRule.selector => ConditionalRule.key - FontFaceRule.selector => FontFaceRule.key - SimpleRule.name => SimpleRule.key - ViewportRule.name => ViewportRule.key - RulesContainer => RuleList ## 7.1.7 / 2017-06-15 - Fix CSS flow types ## 7.1.6 / 2017-06-14 - Fix dynamic values for conditional and keyframe rules ## 7.1.5 / 2017-05-28 - Prevent duplicates in the sheets registry (#504) - Optimize `sheets.add` for a big registry ## 7.1.4 / 2017-05-27 - Fixed undefined rule support (#489) ## 7.1.3 / 2017-05-26 - Fixes flow error when updating to the latest version (#507) - Fixes createStyleSheet type definitions error (#495) - Fixes function values for for nested rules (#500) ## 7.1.2 / 2017-05-12 - Fixes function values within keyframes (#471) ## 7.1.1 / 2017-04-26 - Fixes rendering rules with function values only (#475) ## 7.1.0 / 2017-04-21 - Support updating specific rule in `sheet.update(name, data)` ## 7.0.3 / 2017-04-14 - Fix a bug when dynamically inserted rules disapeared after reattaching the sheet (#438) ## 7.0.2 / 2017-04-14 - Remove temporarily jss-isolate from the tests ## 7.0.1 / 2017-04-14 - Fix `getDynamicStyles` when nested object is in the same styles object (#467) ## 7.0.0 / 2017-04-10 - Perf improvement through removing of JSON.parse(JSON.stringify(style)) - New hook `onProcessStyle` - New hook `onChangeValue` ### Bugfixes - Run plugins over property names with function values (#441) - Function values inside of nested rules (#445) ### Breaking changes - New signature of `generateClassName(rule, sheet)` option. - Property `rule.originalStyle` is now available through `rule.options.parent.rules.raw[rule.name]`. It is longer but its a better place and is used in plugins only. - Plugin signature for the hook `onProcessRule` shortcut `jss.use((rule) => {})` is not supported any more. Instead this hook is supported using its full name: `jss.use({onProcessRule: () => {}})` ## 6.5.0 / 2017-03-14 - Dynamic Sheets for theming and animations. #356 ## 6.4.0 / 2017-03-10 - Reintroduced counter based class generation algorithm. #432 ## 6.3.0 / 2017-02-16 - Introduced new option `insertionPoint`. - Reduced amount of files in the package, dropped .npmignore file. - Removed babel-runtime from the build. - Added a new hook `onProcessSheet`. - Started a list of companies/products using JSS, see docs/users.md ## 6.2.0 / 2017-01-15 - Added @viewport and @-ms-viewport support (used in bootstrap). ## 6.1.1 / 2017-01-04 - Allow sheet.link() call when VirtualRenderer is used. ## 6.1.0 / 2016-12-26 - Add jss-cache to the tests suit. - Don't run processors on a rule which has been processed already. - Add test for onCreateRule arguments. - Add sheet as a second argument to the onProcessRule hook. ## 6.0.2 / 2016-12-23 - Call `onCreateRule` for every rule type. - RulesContainer is now exported for the plugins. - Using babel-runtime for the lib build now. - Using webpack 2 now. - Preparation for the bugfix - nesting within @global (#380) - Preparation for the bugfix - nested @media inside of a rule inside of @global (#387). ## 6.0.1 / 2016-12-10 - Don't insert empty rules #363. ## 6.0.0 / 2016-12-09 - Added flow types. - Added a new plugins API. It is backwards compatible. See plugins section. - Perf improvements. ### Breaking changes - Option "named" has been removed from JSS core and replaced by a jss-global plugin. From now on global styles are only possible using that plugin. - Sheets are not added to the sheets registry automatically server-side any more. In order to prevent leaking styles between requests, you now need to create your own SheetsRegistry instance and add sheets to it manually. Make sure to create a new instance for each request. On the client, sheets are still automatically added to the registry. ## 5.5.6 / 2016-11-03 - test suite - new is-in-browser detection #305 - warning when using an unknown at-rule - start using flow #296 ## 5.5.5 / 2016-09-23 - remove rewire from build - update roadmap ## 5.5.4 / 2016-09-19 - always use `cssRules.insertRule` when using addRule on attached sheet, mixing them results in weird overwrite of a rule added by insertRule by a media query rendered using text node. - catch errors from `cssRules.insertRule` and use a warning in development ## 5.5.3 / 2016-09-19 - add edge browser for browserstack - fix addRule insertion order from plugins when sheet is attached - fix @media insertion in IE ## 5.5.2 / 2016-09-9 - Skip empty values #307 ## 5.5.1 / 2016-09-6 - Fix adding rules during the plugins loop ## 5.5.0 / 2016-09-6 - Fix wrong order of nested rules #285 - Add `index` option to `sheet.addRule` which allows to specify the order or added rules - Add `