## RELEASE NOTES ### Version 2.2.0 - XX XX, 2016 **Major Enhancements** - **Popup** - Added new `tooltip` popup type that works **without javascript**. Tooltips can specify positioning and some variations using `data` attributes, and will handle positioning automatically with CSS only. - **Webpack** - Modified all relative paths in project to prefix with `./` to make them webpack friendly (wont be misinterpreted as module) - **Form Validation** - Added ability for field validation to depend on other fields being filled out - **Popup** - Added new setting `boundary` and `scrollContext`. `boundary` lets you specify an element that the popup will try to position itself to be contained inside of. `scrollContext` lets you specify the element which when scrolled should hide the popup - **Popup** - Added new settings `observeChanges`, which is enabled by default. This will add special mutation observers to trigger `destroy` when the element is removed from the document, preventing memory leaks. - **Dropdown** - Dropdown now changes user selection on keyboard shortcuts **immediately**, this will save the extra `enter` key press to confirm selection in most cases. To enable previous pre `2.2` selection style use the setting `selectOnKeydown: false` NEEDS DOCS - **Dropdown** - Multiple select dropdown now sizes current dropdown input based on rendered width of a hidden element, not using an estimate based on character count. This means search will never break to a second line earlier than would normally fit in current line. - **Button** - Added compatibility with `primary` `secondary` `positive` `negative` buttons with the `basic` styling variation. #3756 - **Dropdown** - Added new setting for search selection `hideAdditions` this will remove showing user additions inside the menu, making for a more intuitive adding process. Dropdowns now have a new state `empty` which will format an active dropdown with empty results. #3791 - **Dropdown** - Adds new `allowReselection` option to trigger `onChange` events even when reselecting same value ***NEEEDS DOCUMENTATION*** - **Dropdown** - Added `fullSearchSearch: 'exact'` setting, which requires exact matches for dropdown values #3085 #3994 **Thanks @ShawnCholeva** - **All UI** - All UI now include _all_ sizing variations, `mini`, `tiny`, `small`, `large`, `big`, `huge`, `massive`. Headers remain with only 5 sizes `small-huge` to match `H1-H5` - **Icons** - Icons now use the latest Font Awesome `4.5.0` Icons. 50+ new icons+ are included. Thanks @BreadMaker for the PR and @davegandy for the font! - **Progress** - Progress now uses a polling interval for updates. Rapidly updating the progress bar over a period quicker than the animation duration (for example with xhr `onprogress` events say every 50ms) will now appear smooth as butter. - **Modules** - Added new setting `silent` to all modules which allows you to disable **all** console output including errors. This can be useful for preventing known errors, like a popup which cannot place itself on screen, or `sticky` content which initializes before it is visible #3713 - **Dropdown** - All dropdowns, not just `selection dropdown`, will now select the first `menu item` that starts with a pressed keyboard key, for example "N" will select "New" - **Build Tools** - Added new `autoInstall` option to allow for Semantic to be installed without user interaction. See [docs explanation](http://www.semantic-ui.com/introduction/advanced-usage.html#Auto-Install) for how to use. #3616 **Thanks @algorithme** - **Popup** - Fixed issue where clicking element inside popup removed from DOM (like clicking a multi select label) would cause popup to close #3887 - **Search** - Added a new option `selectFirstResult`, which defaults to `false`. Will automatically highlight first result on search **NEEDS DOCS** - **Search** - Search now includes a `showNoResults` setting for determining whether no results messages should be shown **NEEDS DOCS** - **Tab** - Added new setting `cacheType`, can either be `html` or `response` (default). HTML will cache resulting html after callbacks, `response` will cache the original response so that it can be played back identically on future loads #2534 - **Visibility** - Added `onFixed` and `onUnfixed` callbacks for visibility `type: 'fixed'` **NEEDS DOCS** **Critical Bugs** - **All UI** - Using `setting` on a setting that is an object literal, for example `error: {}` will now extend the existing object instead of replacing it. - **API** - `beforeSend` would not correctly cancel request when `return false;` is used in callback. #3660 - **API** - `cache: 'local'` would not return the localstorage cached results in some cases - **Dropdown** - `search selection` would not let you move back in an entered search string with left arrow #3596 **Thanks @Sanjo** - **Divider** - Descenders like "g" are cut off in `horizontal divider` #3585 - **Dropdown** - `forceSelection` will now automatically select values with multi dropdowns. When using `userAdditions` setting it will now automatically tokenize the current entered value - **Form Validation / Dropdown** - Using "enter" key in a `search dropdown` could cause a form to be submitted #3676 - **Form** - Fixed issue with `(x) fields` and `equal width` fields where middle rows would be slightly smaller because they include both left and right padding in % width. (Edges only have one side padding). Field groups now use negative margins instead. - **Form Validation** - Fix issue with some foreign email addresses with extended charsets causing email validation to fail #3955 #3755 - **Form Validation** - Revalidating a field `on: blur` could cause fields not yet interacted with to be validated #3606 - **Rail** - Fixed incorrect width for `close rail` and `very close rail` caused by variable addition with mixed units `px` + `em` #3835 - **Search** - A previous unfinished XHR query aborting would cause the next query to fail #2779 - **Search** - Fixed an issue where `onResult` returning `false` would not prevent the search menu from hiding. Clicking on an empty results message will also no longer close the search results. #3856 #3870 - **Video** - Fixed issue with `change` behavior not working properly when correctly to change videos. - **Sticky/Visibility** - Added mutation observer to teardown element with `destroy` if removed from DOM context, fixing a possible memory leak **Bugs** - **API** - Using `onResponse` with `dataType` other than JSON or JSONP would cause an error. (Not allowing plain text responses to be translated) #3653 - **Button** - `right icon` like `right arrow icon` would have additional margin inside an `icon button` #3525 - **Build Tools** - Fixed gulp help text incorrect for RTL tasks in build tools #3858 - **Button** - Fixed typo in `green inverted button` #3873 - **Button** - Fixed issue where `disabled loading button` would not remove `pointer-events` #2933 - **Button/Dropdown** - Button dropdowns using `default text` no longer receive incorrect font styling for placeholder text - **Checkbox** - Radio buttons received `indeterminate` styles when user has not yet interacted with the page in Chrome - **Checkbox** - Fixed issue where docs refer to `onEnable` and `onDisable` with checkbox but callback was called `onEnabled` and `onDisabled`, both callbacks will now be valid until 3.0 #3761 #3763 - **Dropdown** - Dropdowns no longer re-open on selection when nested inside of a `