## RELEASE NOTES ### Version 2.0.0 - March xx, 2015 **Migration Guide** - **Modal** - If you are using a modal with image content, you will need to use `image content` on the parent element. This is because `flex` rules require parent styling that the previous `table-row` rules did not. - **Modal** - Modal will now only close on buttons matching `deny` or `approve` selector. Any button that should hide modal on click should either match one of these selectors, or call `$('.ui.modal').modal('hide')` `onclick`. - **Grid** - `page grid` has been deprecated. `page grids` used percentage gutters which made it unnecessarily difficult to style responsive page content. Moving forward we recommend using `ui container` a fixed width responsive container for holding page contents. - **Dropdown** - Dropdowns will now change opening directions automatically based on available screen space. If you need to force a dropdown direction use `dropdown({ direction: 'upward'})` - **Form Validation** - Form validation now passes settings through a `fields` object. This is to make form initialization match other components. The previous syntax will continue to work but will produce deprecation notices in console - **Dropdown** - Dropdown item `description` now are floated in default theme and should be included before other `item` content - **Popup** - Popups are no longer exclusive by default. Opening a popup will not necessarily close other visible popups. You can change this behavior by using the setting `exclusive: true`. Additionally the default theme now uses `1rem` size for standard popups. - **Colors** - Default colors have been adjusted, which may cause slight changes in your design. New colors have also been added to fill in missing gaps in [color naming](http://en.wikipedia.org/wiki/Linguistic_relativity_and_the_color_naming_debate#Berlin_and_Kay). - **Segment** - Segment no longer includes a [clearfix](http://learnlayout.com/clearfix.html) by default. You will need to specify a `clearing segment` to clear floated content. - **Rail** - Rail now uses `border-box` instead of `content-box`. This means manually specified rail widths will now need to account for padding. This was added to fix issues where rail `height: 100%` would incorrectly match content when a rail had padding. - **Tab** - `onTabInit` and `onTabLoad` have been renamed to `onFirstLoad` and `onLoad` respectively. This is to conform to the naming conventions of other modules (no self reference). Previous callbacks will continue to work but will produce deprecation notices in console. Two new callbacks `onVisible` and `onRequest` have been added as well. - **Button** - `wide` variations using numbers `2 wide`, `3 wide` have been removed due to incompatibilities with some build tools. Please use `two wide`, or `three wide` instead. - **Video** - The undocumented `video` module has been renamed to `embed`. Behaviors remain the same, but users need to adjust their javascript init to `$('.ui.embed').embed();` - **API** - API `onFailure` will now be called when a request is errored (504, 404 etc), aborted (page change or CORS), or JSON does not pass `successTest` function. `onError` and `onAbort` will also fire for each specific failure condition. **New UI** - **Container** - Containers are fixed width containers meant for holding page contents, and are a simpler alternative to `ui page grid`, view more [examples in docs](http://www.semantic-ui.com/elements/container.html#examples) - **Multiselect** - New `multiple` dropdown types have been added. Many new dropdown improvements have been added including tagging/tokenizing features and loading data through API requests. - **Embed** - New embed component allows for responsive iframe embeds that maintain their aspect ratio. Embed can be used with YouTube or Vimeo videos, along with placeholder content to avoid loading third party libraries until a user chooses to interact with the video. **Major Enhancements (Please Read)** - **Site** - Added new colors `olive`, `violet`, `brown` and `grey`. These are available in all elements with color variations. **Thanks @lemartialou** - **API** - API can now be used with mocked responses, and custom AJAX requests. `mockResponse` has been added to resolve request with a prespecified JSON object, or a synchronous function callback. - **API** `mockResponseAsync` has been added for custom asynchronous requests. This allows you to specify a custom async callback to resolve an API request, helping with integration with libraries like Ember or Angular that may wrap AJAX requests. - **API** - API callbacks now have an `onResponse` callback that can adjust a servers response before it is parsed by other callbacks for success or failure conditions. **Thanks @mnquintana** - **API** - API now provides a local caching setting to avoid server roundtrips for identical urls by using `cache: 'local'`. This is not enabled by default. Local caching is useful for results that should return the same values across a single session, for example when querying an autocomplete. - **Card** - Cards now support multiple custom `content` blocks. Content blocks and images can now appear in any order. - **Dropdown** - Added remote API integration with dropdown, to allow `search selection` to query against a remote dataset. - **Dropdown** - Dropdowns now automatically observe changes in `menu` and will update selector cache with new additions - **Dropdowns** - Added ability to add custom choices to all search selection dropdowns (multi/single) using `allowAdditions: true` setting. Search now displays error messages on no results in all cases. - **Dropdown** - Keyboard shortcuts have been added for selecting dropdown choices, for example "N" will scroll to "New York" in a state selection list, similar to native `` after initialization not being correctly applied to `ui dropdown` - **Dropdown** - Fixed issue with matching boolean values, and using `set selected` with `true` or `false` - **Dropdown** - Fixed `search dropdown` submitting parent form when enter shortcut pressed - **Dropdown** - Fixed dropdown menu items should not center inside of a center aligned container. - **Form** - Form will no longer set a height for `textarea` using the `rows` property - **Form** - `field` inside `fields` no longer produce double sized margins. - **Form** - Form sizes and input sizes now inherit from `site.variables` - **Form Validation** - Fixed bug causing `match` rule not to work as expected. - **Form Validation** - Fixed `clear` and `reset` causing validation error to appear on checkbox if empty rule was set on checkbox. - **Form Validation** - Form validation now validates correctly on `` not applying to the generated `ui dropdown` **Backport from 2.0** - **Input** - Fixes labeled inputs not adjusting correctly with flex. **Backported from 2.0** - **Input** - Fixes placeholder text color prefixes for `webkit` **Backport from 2.0** - **Progress* - Fixes rounding error in precision settings *Thanks @aaroncox* - **Popup** - Removes `min-width: moz-max-content` from popups, which may cause display differences between chrome and FF ### Version 1.12.0 - April 13, 2015 **Enhancements** - **Visibility** - Adds updated visibility module from `2.x` channel. Visibility will automatically refresh by default after images load on page refresh. Fixes issues with element positions after image loading. - **Sticky** - Adds sticky module from `2.x` branch. Sticky elements now use pub/sub with drastically improved performance. Sticky elements that do not fit on page will now scroll at the same speed as the page is scrolled instead of slower. **Changes** - **Popup** - Popup no longer produces a console error when it cannot find an adequate position in the browser viewport. **Bugs** - **Build Tools** - Fixes issue with component glob matching twice (causing build to include file twice) if duplicate values found in `semantic.json` component. - **Input** - Backports fix from `2.x` for `ui fluid input` not appearing correctly. - **Visibility** - Fixed issue where `precache` behavior was missing from visibility causing `image` lazy loading to fail ### Version 1.11.8 - April 13, 2015 **Bugs** - **Build Tools** - Fixed `npm install` without `semantic.json` to merge changes with site theme and packaged themes in a similar fashion to `npm update` - **Build** - `gulp build` now properly warns against missing `semantic.json` **Thanks @rudyrk** ### Version 1.11.7 - April 13, 2015 **Bugs** - **Sticky** - Fixes errant `console.log` statement appearing in source - **Card** - Fixes card `flex` display issues in IE - **Build Tools** - Fixes issue where `npm update` install scripts would remove custom themes from `src/themes/` during copy after updating Semantic UI ### Version 1.11.6 - March 27, 2015 More critical bug backports from `2.x` branch, as well as fixes for browserify **Bugs** - **Menu/Dropdown** - Fix dropdown headers disappearing inside menus - **Dropdown** - Fix unescaped character in css property causing css validation errors - **Form** - Fix `grouped required` fields display issues **Thanks @palmsey** - **All UI** - Fix `index.js` npm build to work with browserify in individual component repos **Thanks @sdimit** - **LESS Repo** - Add missing `semantic.less` file to less repo for importing components ### Version 1.11.5 - March 23, 2015 This version backports several bugs that were being packed in `2.0` to `1.x`. 2.0 will be coming in the next 1-2 weeks. **Bugs** - **Build Tools** - Adjusting site.variables will now rebuild all UI, instead of just site.less - **Build Tools** - LESS will now throw errors correctly in `watch` - **Card** - Fixes dimmer background shorthand property causes transparent dimmer in minified version - **Dimmer** - Fixed `variation` setting not working correctly - **Dropdown** - `onChange` no longer fires when reselecting same value - **Dropdown** - Fix bug where element will not blur on tab key when search selection and no selection made - **Dropdown** - Dropdown init on `select` now returns `ui dropdown` created for chaining - **Dropdown** - Dropdown `focus` color has been adjusted to match forms more closely - **Dropdown** - Fixes IE10 scrollbar width in menu (calc was being precompiled in LESS) **Thanks @gabormeszoly** ### Version 1.11.3-4 - March 6, 2015 **Enhancements** - **Grid** - Added opt-in `stretched` variation for `equal height` instead of forcing `flex` on all `equal height columns` which may cause layout issues due to changes in rendering with `flexbox`. **Fixes** - **Build Tools** - Fix issues with minified CSS `@import` not being on top of minified semantic ui concatenated release due to [bug in clean-css](https://github.com/jakubpawlowicz/clean-css/issues/476) - **Grid** - Fixes `stackable` `equal height/width` grid to remove `flex` on mobile when stacking - **Grid** - Fixed `right/left/center aligned` to adjust `align-items` in flex containers like `equal height/width` ### Version 1.11.2 - March 6, 2015 **Enhancements** - **Accordion** - Accordion can now specify a trigger element instead of `title`, added an [example in docs](http://www.semantic-ui.com/modules/accordion.html#changing-trigger) - **Accordion** - Accordion can now hide while opening animation is still occuring - **Grid** - Equal width grids will now make column content stretch to full height, not just the column itself (requires flexbox). See examples [in the grid docs](http://www.semantic-ui.com/collections/grid.html#equal-height) - **Header** - Labels inside headers have been slightly increased in size - **Search** - Search now uses internally [fuzzy search](https://github.com/bevacqua/fuzzysearch) as its new full text search algorithm. **Important Fixes** - **Build Tools** - Fix issues with minified component CSS `@import` not always being on top of files due to [bug in clean-css](https://github.com/jakubpawlowicz/clean-css/issues/476) **Bugs** - **Accordion** - Removed mistaken extra `1px` top border on nested `styled accordion` - **Modal** - Fixes modal `buttons` on mobile devices to not have extra bottom padding. - **Card/Dimmer** - Fix dimmer z-index being too high when inside a `ui card`. Added variable for specifying default dimmer color inside card. - **Site** - `h1-h5` now have no top margin when `first-child` and no bottom margin when `last-child` - **Dropdown** - Fix issue in `setup reference` (added in `1.11.1`) where chaining would not return `ui dropdown` immediately after initialization ### Version 1.11.1 - March 5, 2015 **Enhancements** - **Dropdown** - Calling behaviors on a dropdown `select` will now automatically route them to the appropriate parent `ui dropdown` **Bugs** - **Grid** - Fix issue in `centered grid` not centering `column` inside `row` - **Dropdown** - Added select styles for elements before they are initialized instead of FOIC (Flash of invisible content) ### Version 1.11.0 - March 3, 2015 **New Components** - **Visibiliity** - Attach callbacks to elements visibility conditions like `top visible` `bottom visible`, `passing`. Useful for things like: image lazy loading, infinite scroll content, and recording tracking metrics. [See the examples](http://www.semantic-ui.com/behaviors/visibility.html#/examples) online for a demonstration. **Enhancements** - **Menu** - Horizontal menus now use flexbox so they can resize automatically to content size. - **Form** - `` values after initialization, and will automatically update dropdown menu when changed - **Dropdown** - Dropdown behavior `set selected` will now also call `set value` automatically, so you do not have to invoke two behaviors to update a `selection dropdown` **Thanks @mktm** - **Form** - Form will now prevent browsers from resubmitting form repeatedly when keydown is pressed on input field. - **Header** - Content headers now inherit `@h1-h6` sizes from `site.variables` - **Header** - Sub headers now adjust in size depending on header size, added new variables for subheader resizing - **Search** - Greatly reduced search delay from `300ms` to `100ms`. Previous request will automatically abort `xhr` when new request made - **Search** - Search `onSelect` and `onResultsAdd` can now cancel default actions by returning `false`. - **Transition** - Transition duration now defaults to what is specified in `css`, to set custom duration you can still pass at run-time as a different value. Animation duration no longer set by default during animation. - **Transition** - Transition will now prevent repeated animations when using an inferred direction i.e. animation without `in` or `out` specified. When `queue: true` only animations with explicit direction, e.g. `fade in`, will be ignored when called repeatedly. **Bugs** - **API** - Fixed bug where `$.api('get xhr')` was not correctly returning xhr promise - **API** - Fixed bug where API would query resource immediately when specifying `on: false` - **Button** - ``ui vertical basic buttons` now have dividers in default theme - **Button** - Fixes formatting for `disabled button` inside `ui buttons` - **Checkbox** - Checkbox now only modifies `input[type="radio"]` and `input[type="checkbox"]` ignoring any other inputs - **Dropdown** - Dropdown no longer will not show menu when no `item` are present in menu. Dropdown will now only filter results for `ui search dropdown` #1632 **Thanks PSyton**. - **Dropdown** - Dropdown will now produce an error if behaviors on an initialized ``` elements will now preserve original ``