## RELEASE NOTES ### Version 2.0.3 - July 8, 2015 **Docs Updates** - **Examples** - Source code examples have been greatly improved. Required class names for each example will be highlighted in yellow. Other UI elements used in examples will now link out to their definition pages. **[Reported Bugs](https://github.com/Semantic-Org/Semantic-UI/issues?q=is%3Aissue+milestone%3A2.0.3+is%3Aclosed)** - **Checkbox** - Checkbox initialized with JS and with `for/id` matching would cause toggle to occur twice on click (making it seem as if nothing was updated) **thanks @malacalypse** [#2572](https://github.com/Semantic-Org/Semantic-UI/issues/2572) - **Divider/Grid** - `vertical divider` no longer has inexplicable right border when stacked on mobile [#2558](https://github.com/Semantic-Org/Semantic-UI/issues/2558) - **Dropdown** - Dropdown using `` behavior. - **Dropdown** - Added new dropdown variation `scrolling dropdown` and `scrolling menu`, this can be used to include a scrollable section inside a dropdown menu. - **Dropdown** - Dropdown will automatically animate upward if there is not enough space to appear below. - **Dropdown** - Using `page up` and `page down` keys will now scroll menus by a page at a time - **Form** - Forms now use `flexbox` for creating field groups. Inline fields now support `(x) wide` sizing using `flex` - **Grid** - Grids now use `flexbox`, columns are now all equal height by default. New flexbox alignment types like `stretch` have been added for easier vertical alignment. - **Multiple UI** - Many components now use flexbox, which means previous confusing fixes like `font-size: 0;` to remove [white-space from inline block](https://css-tricks.com/fighting-the-space-between-inline-block-elements/) is no longer necessary. Removing this hack, now means any element can be a direct child of `grid` or `menu`. - **Modal** - Added new settings `blurring` and `inverted` which automatically set a modal's dimmer to either inverted or blurring. - **Menu** - Menu now uses flexbox. This allows menu items to match each others heights regardless of each items content size. `right menu` content should now follow other menu content instead of preceding it (no longer uses float). - **Grid** - Grids are now `flexbox` and `equal height` by default, the `equal height` variation can safely be removed - **Popup** - Popup has been rewritten to drastically improve performance, especially when testing multiple positions. - **Transition** - Fallback javascript animations have been removed from UI components like dropdown and popup to increase performance. This removes need for expensive pseudo selectors like `:visible`, `:animated` and `:hidden` and reduces filesize. - **Form Validation** - Form validation now uses a single `settings` object like other modules. Using `(fields, settings)` will continue to work but will produce a deprecation notifications in `console` - **Form Validation** - Form validation now supports many new validation rules, including some specifically for use with multiple select values. - **Item** - Items now uses `flexbox` for layout. - **Message** - `icon message` now uses `flexbox` for layout - **Menu** - `vertical tabular menu`, a vertical tab menu, has been added - **Input** - All `input` types use `flexbox` for layout - **Segment** - Segments now support complex nesting, many new rules for how segment groups should appear inside groups - **Segment** - New `horizontal segment` groups make laying out auto resizing text columns much easier. - **Sidebar** - iOS will now correctly report `scrollTop` values for `document` or `body` when using a sidebar. Chrome on iOS no longer has issues with fixed content not sticking immediately when using a sidebar. - **Shapes** - Shapes now correctly adjusts for margin on `sides` - **Steps** - Steps now use `flexbox`, fluid steps now center content inside each step - **Steps** - Steps no longer need `item count` and will automatically divide evenly - **Transition** - Transition code has been optimized to increase performance. 100% improvement on first animation, and 40% improvement on subsequent animations. - **Visibility** - Using `.visibility({ type: 'fixed'})` will now automatically add a placeholder element which will swap places with an element when it is attached to the viewport. This should make fixed content drastically simpler. - **Visibility** - Visibility and sticky now use a more performant [pub/sub pattern](http://davidwalsh.name/pubsub-javascript) that will only attach a single event to context `scroll`. - **Visibility** - Added two new visibility callbacks `onOnScreen` and `onOffScreen`, which occur, most obviously when an element first appears in or out of a browser's viewport. **Enhancements** - **Site** - Added many new site variables, including the ability to control input size across all UI `inputPadding`, along with more border colors, accents, and colors. - **Accordion** - adds `onOpening` and `onClosing` callback (before animation) to go with `onOpen`, `onClose` (after animation) **Thanks @cluppric** - **Accordion** - Added `on` setting for specifying accordion trigger event. - **Activity Feed** - Activity feed has been rewritten to use `flexbox` - **API** - API now has new settings `throttleFirstRequest` and `interruptRequests`. Interrupt requests will abort a previous request on an element when making a new request. `throttleFirstRequest`, sets whether the first request or only subsequent requests should be throttled when a `throttle` duration is specified. - **Build Tools** - Build tools will now display pre-specified errors when a theme file is missing or an element specifies an unavailable theme. - **Build Tools** - Adjusting `site.variables` will now rebuild all UI, instead of just `site.less` - **Button** - Added `:focus` styles for all button types, all button examples in docs now are keyboard focusable using either `