Skip to content

Latest commit

 

History

History
1733 lines (1236 loc) · 144 KB

CHANGELOG.md

File metadata and controls

1733 lines (1236 loc) · 144 KB

13.0.0 (2024-01-28)

Features

12.0.0 (2023-11-09)

Bug Fixes

Features

11.0.1 (2023-09-06)

Features

  • select-with-autocomplete: add search when multi (#3204) (8792f84)

11.0.0 (2023-03-29)

Bug Fixes

  • autocomplete: fix show options for the autocomplete (#3152) (a693caf)
  • docs: remove bootstrap from docs (#3164) (b711f1d)

Features

10.0.0 (2022-12-02)

BREAKING CHANGES

  • bootstrap: remove bootstrap, ng-bootstrap packages, remove bootstrap from playground/without-styles/bootstrap. ng-bootstrap doesn't support Angular v14.2.x (#3146) (f3f05ce)

Features

Other

  • Minimal required Angular version is 14.2.x

9.1.0-rc.8 (2022-11-17)

Features

9.1.0-rc.7 (2022-10-10)

Bug Fixes

  • themes: fix typo in layout component style (#3098) (5740682)

Features

  • datepicker: improve date and time inputs combination (#3117) (8387967)

9.1.0-rc.6 (2022-09-22)

Bug Fixes

  • select-with-autocomplete: fix select autocomplete width (#3113) (078c9f3)

9.1.0-rc.5 (2022-09-15)

Bug Fixes

  • select-with-autocomplete: improve select open after input changed (#3110) (eaa036b)

9.1.0-rc.4 (2022-09-09)

Features

9.1.0-rc.3 (2022-09-08)

Bug Fixes

  • select-with-autocomplete: fix first render with disabled autocomplete (#3104) (efcd690)

9.1.0-rc.2 (2022-08-31)

Features

  • add keyboad navigation to select with autocomplete (#3097) (c52fe3a)

9.1.0-rc.1 (2022-08-04)

Bug Fixes

  • timepicker: change position adjustment to "counterclockwise" (#3085) (a546295)

Features

9.0.3 (2022-05-26)

Bug Fixes

  • select: disable opening disabled select after clicking on content (#3068) (1c6ef1b)

9.0.2 (2022-04-07)

Bug Fixes

9.0.1 (2022-01-31)

Bug Fixes

9.0.0 (2021-12-01)

BREAKING CHANGES

Theming

CSS custom properties mode for theming is enabled by default since Angular dropped support for Internet Explorer and also removed the ability to use node-sass to compile sass. Read details and how to opt-out here. This change doesn't affect users who use prebuilt Nebular themes. For prebult themes users we also ship prebuilt themes with custom properties. See usage guide here.

API changes

  • @nebular/theme/styles/_components.scss file removed. Replace imports from this files with:
    @import '@nebular/theme/styles/theming';
    @import '@nebular/theme/styles/themes';
    
  • layout-window-mode-max-width, tabset-tab-text-hide-breakpoint, route-tabset-tab-text-hide-breakpoint theme properties removed. Migration guide.
  • overlay trigger: NbTriggerStrategyBase's isNotOnHostOrContainer, isOnHostOrContainer, isOnHost, isOnContainer methods now expect Element instead of Event as the first parameter. Pass event.target as Element instead of event.
  • sidebar:
    • NbSidebarComponent.toggleResponsive method removed. Change method call to sidebar.responsive = !sidebar.responsive.
    • STATE_EXPANDED, STATE_COLLAPSED, STATE_COMPACTED static properties removed. Use NbSidebarState type values ('expanded', 'collapsed', 'compacted').
    • RESPONSIVE_STATE_MOBILE, RESPONSIVE_STATE_TABLET, RESPONSIVE_STATE_PC static properties removed. Use NbSidebarResponsiveState type values ('mobile', 'tablet', 'pc').
  • router tabset:
    • NbRouteTabsetComponent.tabs property type changed from any to NbRouteTab.
    • NbRouteTabsetComponent.changeTab property type changed from EventEmitter<any> to EventEmitter<NbRouteTab>.
    • tab parameter type of the NbRouteTabsetComponent.selectTab method changed from any to NbRouteTab.
  • infinite list: NbScrollableContainerDimentions class renamed to NbScrollableContainerDimensions. Use updated class name.
  • auth: NbOAuth2AuthStrategy.buildAuthHeader return type changed from any to HttpHeaders | undefined. If the method is overridden in a derived class, update its return type as well.
  • autocomplete: focusInputOnValueChange property removed from NbAutocompleteDirective class. Now autocomplete focuses input only when value is selected by option click or via keyboard.
  • range-picker:
    • NbRangepickerComponent's min, max properties are expecting Date (or moment if using moment adapter) type. filter function parameter also corrected to Date.
    • NbDatepicker now a has second generic D to use for min, max, and filter arguments. It should be set to Date or moment type.
  • context menu: Context menu won't close on menu item click if trigger strategy is set to noop (nbContextMenuTrigger="noop").

Other

  • Minimal required Angular version is 13

Features

  • auth: ability to add additional request headers (#2825) (3959848)
  • chat: ability to provide template as chat title (#2920) (9ccec64)
  • date-time picker: ability to remove now button (#2848) (a2c9d10)
  • date-time picker: add dateTimeChange output (#2816) (73a6b5a)
  • datepicker: allow to change adjustment (#2806) (a3b5ae5)
  • icon: add support for ligature icons (#2951) (b89339d)
  • infinite list: threshold emissions throttling (#2948) (718dd0a)
  • layout: add nbLtr and nbRtl directives (#2927) (35a7ad1)
  • layout: added error message if layout not provided (#2778) (7c12874)
  • router tabset: ability to configure routerLinkActiveOptions per tab (#2907) (276d610)
  • select, autocomplete: ability to override options width (#2874) (e30e00c)
  • stepper: add step change event (#2779) (1b871f4)
  • tabset: ability to provide template as tab label (#2829) (d56a492)
  • theme: enable CSS custom properties mode by default (#2965) (3a88e9b)
  • theme: add prebuilt themes with custom properties (#2977) (ff0b034)
  • toastr: add onclick, onclose events (#2821) (3795905)
  • tooltip, popover: add disabled property (#2841) (b7fe861)
  • window: ability to hide close button (#2952) (ad64fe2)
  • window: add component instance property to window ref (#2858) (fcf1a08)
  • window: template as window title (#2915) (8eaf460)
  • window: window may return result (#2869) (95247a4)
  • update to Angular 13 (#2944) (ed8cd04)

Bug Fixes

  • autocomplete: handle null and undefined values (#2814) (7753027)
  • autocomplete: input focus behavior on value change (#2852) (a86da11)
  • button: prevent expression changed error on icon button (#2846) (baee608)
  • button group: prevent unpress in single mode button group (#2860) (4b8a430)
  • chat: file drop in firefox (#2776) (07db7f5)
  • checkbox: don't style user icons in checkbox (#2857) (a94a867)
  • context menu: don't close on item click with noop strategy (#2875) (a76fccf)
  • context menu: prevent close on expand icon click (#2923) (2b7f60c)
  • datapicker: input update issue with reactive forms (#2945) (07527f8)
  • flip card: prevent extra whitespace (#2854) (e8fa95b)
  • focus trigger strategy: detect click out via activeElement (#2865) (1f8e0cb)
  • focus trigger strategy clickout: consider click target (#2885) (a5f695a)
  • moment date service: use locale format by default (#2856) (491c696)
  • range-picker: correct type for min, max, filter properties (#2877) (73cdec0)
  • route tabset: support icon config object (#2810) (ff00a16)
  • scroll service: listen position requests right after layout created (#2949) (74d64cf)
  • select: add ellipsis on selection view (#2809) (9b525f4)
  • select: correctly handle reset value when multiple is on (#2815) (37a0bc2)
  • select: scroll into selected option on open (#2859) (1c02e15)
  • select, autocomplete: don't open overlay without options (#2930) (fca5cd1)
  • tabset: lazy loading (#2827) (a51513c)
  • tag list: prevent initialisation error in Universal (#2937) (e6a8ba0)
  • theme: correct custom properties subtraction (#2932) (4e63abc)
  • theme: set scrollbars corner color (#2943) (1447b15)
  • tooltip, popover, context menu: correct physical positions in RTL (#2819) (0959935)

Code Refactoring

  • overlay trigger: accept element instead event (#2974) (2137969)
  • sidebar: remove deprecated properties (#2973) (0ba32cd)

8.0.0 (2021-06-27)

BREAKING CHANGES

  • Minimal required Angular version to 12.
  • Minimal required tslib version is 2.1.0.
  • NbTable and NbTreeGridComponent:
    • _viewRepeater, _coalescedStyleScheduler constructor parameters are now required.
    • New parameters (_viewportRuler, _stickyPositioningListener) added to the constructor.
  • chat: NbChatMessageComponent constructor now has a second parameter (NbCustomMessageService).

Bug Fixes

  • button: styling for disabled anchor (#2649) (19a5b43)
  • chat: double image preview (#2766) (1b3c809)
  • context menu: emit destroy when component got destroyed (#2767) (5036b89)
  • radio: add setDisabledState hook (#2717) (db9e556)
  • scroll dispatcher: emit scroll events from cdkScrollable directive (#2714) (f715e97)
  • sidebar: sidebar state observable (#2729) (dd0c88e)
  • sidebar: update state when responsive setting change (#2654) (bf7e2a3)
  • tag list: prevent autofocus on initial load (#2734) (8d60faf)
  • timepicker: save lastInputValue when changed via form api (#2718) (74096d0)

Features

7.0.0 (2021-01-18)

Bug Fixes

  • autocomplete: update input element disabled state (#2555) (23e59ba)
  • radio, select: prevent updates of destroyed component (#2617) (1ead242)
  • sidebar: emit state change (#2645) (8a35e85)
  • toggle: alignment of toggle switches (#2561) (09a7ba1)

Code Refactoring

  • sidebar: use OnPush change detection strategy (#2646) (59daeea)
  • auth: remove redundant _all.scss theme file (#2623) (09c5e91)
  • autocomplete: make renderer constructor parameter required (#2621) (2cd2c78)
  • overlay: add missing component class suffix (#2622) (3e20fe4)

Features

  • update to Angular 11 (#2611) (847bc99)
  • tag component (#2565) (bcdfcd8)
  • button group component (#2473) (72bb1b3)
  • deps: migrate to firebase 8 (#2584) (b7a2c6e)
  • select, autocomplete: ability to change scroll strategy (#2567) (d10275b)
  • autocomplete, datepicker, select, tooltip: add ability to customize overlay offset (#2628) (c1aafb9)
  • checkbox: remove deprecated value input (#2618) (0380050)
  • select: add custom comparator input (#2590) (1f8a57b)
  • select, autocomplete: add input to set options list class (#2560) (92083e8)
  • sidebar: add the ability to determine state and responsiveState (#1893) (bac0edc)
  • theme: ability to add custom statuses (#2625) (3b2e903)
  • toastr: remove deprecated iconPack property (#2620) (77a3519)
  • tooltip, popover: remove ability to use falsy adjustment (#2619) (32ab00e)

BREAKING CHANGES

  • deps:

    • Bump Angular version to 11+.
    • @nebular/fire requires @angular/fire 6.1.0+ and firebase 8.0.0+.
  • sidebar: Added change detector ref constructor parameter.

  • checkbox: NbCheckboxComponent.value and NbCheckboxComponent.valueChange properties removed. Use checked and checkedChange accordingly.

  • autocomplete: renderer constructor parameter is now required.

  • toastr: NbToastrConfig.iconPack property removed. You can set icon pack via icon property:

    const toastrConfig = {
      // ...
      icon: { icon: 'star', pack: 'eva' },
    }
    

    NbToastComponent.iconPack and NbToastComponent.iconConfig properties removed. Use icon property instead.

  • tooltip, popover: Falsy adjustment values no longer become converted to NbAdjustment.NOOP, pass NbAdjustment.NOOP instead.

  • theme: The document parameter in the NbViewportRulerAdapter and NbScrollDispatcherAdapter constructors is now required.

  • theme: Empty string won't be converted to basic status anymore. If you used to set status properties to '' change it to 'basic'.

  • theme: NbPositionedContainer renamed to NbPositionedContainerComponent.

  • auth: ~@nebular/auth/styles/allfile removed. Replace ~@nebular/auth/styles/all imports with ~@nebular/auth/styles/globals.

  • theme::

    • NbComponentStatus type replaced with NbComponentOrCustomStatus in following properties: NbActionComponent.badgeStatus, NbBadge.status, NbBadgeComponent.status, NbButtonComponent.status, NbAlertComponent.status, NbCardComponent.status, NbChatFormComponent.status, NbChatComponent.status, NbCheckboxComponent.status, NbFormFieldControl.status$, NbFormControlState.status, NbInputDirective.status, NbInputDirective.status%, NbSelectComponent.status, NbSelectComponent.status$, NbIconConfig.status, NbIconComponent.status, NbProgressBarComponent.status, NbRadioComponent.status, NbRadioGroupComponent.status, NbSpinnerDirective.spinnerStatus, NbSpinnerComponent.status, NbTabComponent.badgeStatus, NbToastrConfig.status, NbToggleComponent.status, NbTooltipDirective.status, NbTooltipComponent.context.status, NbUserComponent.badgeStatus. If you extended listed components replace NbComponentStatus in the property type with NbComponentOrCustomStatus.
    • NbBadgeComponent, NbButtonComponent, NbAlertComponent, NbCardComponent, NbChatComponent, NbCheckboxComponent, NbInputDirective, NbSelectComponent, NbIconComponent, NbProgressBarComponent, NbRadioComponent, NbSpinnerComponent, NbToastComponent, NbToggleComponent, NbTooltipComponent constructors now require NbStatusService as a constructor parameter. If you extended listed components, inject NbStatusService and pass it to the base class.

6.2.1 (2020-10-01)

Bug Fixes

  • accordion: extract inner elements styles outside accordion (#2536) (9089690)
  • calendar range cells: handle unset date or selectedValue (#2537) (0f20b9c)

6.2.0 (2020-09-25)

Bug Fixes

Features

Please note required @angular/cdk package version changed to 10.2.1+.

6.1.0 (2020-09-17)

Bug Fixes

  • auth: add client_id to the refresh request (#2350) (10b01fa)
  • radio: add value reset with undefined (#2511) (9ac12c7)
  • rangepicker: avoid setting month cell to null (#2330) (a577b26)

Features

6.0.1 (2020-08-31)

Bug Fixes

  • dynamic overlay: prevent multiple onStable subscriptions (#2494) (f22e87d)

6.0.0 (2020-07-31)

Bug Fixes

Code Refactoring

  • nb-icon: return null if icon wasn't found (#2466) (4af8924)

Features

BREAKING CHANGES

  • nb-icon: NbIconLibraries.getSvgIcon and NbIconLibraries.getIcon could return null if icon wasn't found and won't throw. As methods don't throw now, you need to handle possible null return value.
  • Angular: Nebular packages now require Angular 10+. Nebular packages no longer include ESM5 and FESM5 bundles as per Angular Package Format 10.
  • NbBasePicker: Angular lifecycle methods moved to NbBasePickerComponent. If you use NbBasePicker as a base class of your custom picker change it to NbBasePickerComponent.

5.1.0 (2020-06-03)

Bug Fixes

Features

5.0.0 (2020-03-09)

Bug Fixes

  • button link: remove text decoration (#2190) (0495259)
  • cdk: fix cdk mappings duplicates (#2068) (8179a02)
  • focus trigger: prevent stream destroy on focus out (#2189) (42ff4ee)
  • form field: make form control container take all space (#2241) (2e11ec9)
  • input: use correct status property name (#2248) (737ffe2)
  • layout: access view child property after view init (#2249) (5bb21a7)
  • menu: prevent color override in css vars mode (#2201) (ac50dae)
  • route tabset: tab icon margin (#2154) (f7210b2)
  • theme: prevent transition to initial status (#2256) (8e52fc0)
  • trigger: prevent stream destroy on mouse leave (#2141) (7c79d1d)
  • typography: concat anchor selector with color class (#2161) (8c9ed86)
  • typography: use text theme vars for text color classes (#2192) (af2e674)
  • add scroll strategy options to public api (#2129) (79ab083)
  • provide Nebular scroll services adapters (#2140) (0e0d11c)
  • support strict template check (#2273) (9b4ff5b)
  • avoid to declare and export NbTable component (#2126) (dbf5192)

Code Refactoring

Features

BREAKING CHANGES

  • auth: requireValidToken set to true by default. Now if response contains invalid token NbAuthIllegalTokenError is thrown. To enable old behavior, set requireValidToken: false in the auth strategy method config, e.g.:
NbPasswordAuthStrategy.setup({
  // ...
  login: {
    // ...
    requireValidToken: false,
  },
});

or

NbOAuth2AuthStrategy.setup({
  // ...
  authorize: {
    // ...
    requireValidToken: false,
  },
});
  • Badge, button, progress bar, toastr components now use basic status as a default.

  • calendar:

    • NbCalendarHeaderComponent removed. Along with that showHeader property removed from following components:

    • NbBaseCalendarComponent

    • NbCalendarRangeComponent

    • NbCalendarComponent

    • NbBasePicker

    • NbBasePickerComponent

    • medium and size-medium css classes were removed along with medium/isMedium properties from the following classes:

      • NbCalendarDayPickerComponent
      • NbCalendarMonthPickerComponent
      • NbCalendarYearPickerComponent
      • NbBaseCalendarComponent
      • NbCalendarWeekNumberComponent
    • Properties date, changeMode, isRtl removed from NbCalendarPageableNavigationComponent

    • File nb-calendar-week-number.component renamed to calendar-week-number.component

    • YEARS_IN_VIEW, YEARS_IN_ROW constants removed. Use NbCalendarYearModelServices getYearsInView and getRowInView methods.

    • NbCalendarNavigationComponent replaced with NbCalendarViewModeComponent.

    • initYears method removed from NbCalendarYearPickerComponent.

    • calendar-range-cells.ts file split into calendar-range-day-cell.component.ts, calendar-range-month-cell.component.ts and calendar-range-year-cell.component.ts.

    • Following theme properties were removed:

      • calendar-body-height
      • calendar-header-text-color
      • calendar-header-text-font-family
      • calendar-header-title-text-font-size
      • calendar-header-title-text-font-weight
      • calendar-header-title-text-line-height
      • calendar-header-sub-title-text-font-size
      • calendar-header-sub-title-text-font-weight
      • calendar-header-sub-title-text-line-height
      • calendar-navigation-button-width
      • calendar-large-body-height
      • calendar-cell-in-range-background-color
      • calendar-cell-disabled-background-color
      • datepicker-text-color
      • datepicker-arrow-size
  • cdk: NbPlatform and NbScrollStrategyOptions from theme/components/cdk/overlay/mapping.ts removed. Use NbPlatform from theme/components/cdk/platform/platform-service.ts and NbScrollStrategyOptions from theme/components/cdk/adapter/block-scroll-strategy-adapter.ts. NbPlatformModule removed.

  • select: select-option-* theme properties renamed to option-. nb-option and nb-option-group components moved to own options directory.

  • select: Generic value type removed from NbSelectComponent.

  • Angular: Nebular packages now require Angular 9+.

  • tslib: We no longer have a direct dependency on tslib. Instead it is now listed a peerDependency. This matches Angular framework. Users not using the Angular CLI will need to manually install tslib via:

yarn add tslib
# or
npm install tslib --save

4.6.0 (2019-11-26)

Bug Fixes

  • auth: use basic status instead deprecated empty string (#2063) (a202468)
  • docs: update links inside install guide page (#2079) (cd8cd9d)
  • hover trigger strategy: prevent resubscription after destroy (#2058) (1e1a293)
  • nbIsGranted: prevent subscription memory leak (#2087) (2084356)
  • overlay: set position when content or context update (#2081) (e85830f)
  • radio: reverse order of elements in RTL (#2093) (2e61d8d)
  • select: set value from queue when options change (#2082) (c934329)
  • toastr: move toastr overlay in front of other overlays (#2078) (906d3c0)
  • toggle: animation in IE11 (#2062) (1d52a20)
  • toggle: set correct ARIA role (#2097) (dd5f2b6)
  • universal: update dependencies to support universal enviro… (#2057) (0b22c40)

Features

4.5.0 (2019-10-31)

Highlights

Nebular 4.5 introduces a new basic and control component statuses. Please note, some theme properties were changed. If you use Nebular Theming or have custom themes, check out updated variables list.

Bug Fixes

  • actions: icon button alignment (#1895) (04d7e33)
  • datepicker: check trigger strategy is defined before destroying (#2011) (a678e60)
  • scroll bar theming (#1890) (e6b19a5)
  • datepicker, radio: always call touched callback (#2026) (d3a8e44)
  • icon: fix NULL content render in MS Edge (#2043) (f37223a)
  • list: vertically center list item content (#1894) (7a179bc)
  • popover, tooltip: convert falsy values for adjustments to noop (#1905) (3ec69e7)
  • sidebar: emit expand event when expanded because of menu c… (#1897) (a07487d)
  • toastr: dispose no longer used overlay container (#1873) (4114ad1)
  • tooltip: add angular positions classes (#2048) (a15c81d)

Features

4.4.0 (2019-10-07)

Highlights

Nebular 4.4.0 features synchronization with Eva 1.1 adding transparent colors.

Bug Fixes

  • layout header: prevent stretching wider than window max width (#1980) (c42c880)

Features

4.3.1 (2019-09-20)

Bug Fixes

  • calendar: use last defined week day to determine week numb… (#1969) (ba78d94)

4.3.0 (2019-09-20)

Features

4.2.2 (2019-09-11)

Bug Fixes

  • button: make sure icon has margins when button has html co… (#1953) (a17accb)

4.2.1 (2019-08-29)

Bug Fixes

  • ci: prevent travis from killing deploy docs job (#1928) (0b969cb)
  • datepicker: add missing show header input (#1889) (d265991)
  • schematics: use cli version for schematics/angular package (#1937) (4589726)
  • select: allow initial falsy values (#1936) (02080fb)
  • select: mark touched on hide trigger only when select is open (#1878) (8295c32)
  • toastr: call contains on body (#1872) (a01ec7a)
  • tree grid: assert node children is defined before spreading (#1898) (26ad5d2)
  • window: create new window container when overlay container change (#1867) (edb6b16)

Features

  • accept icon config in components which use nb-icon (#1935) (c9b9d32)
  • auth: add backend api endpoints article (#1931) (905029f)

4.2.0 (2019-08-22)

Bug Fixes

  • dynamic overlay: recreate overlay when overlay container change (#1913) (258b75b)
  • packages smoke: update webdriver-manager (#1881) (e6c4966)
  • popover: add missing start and end positions to positions mapping (#1904) (64777a4)

Features

4.1.3 (2019-07-29)

Bug Fixes

  • accordion: prevent styling of projected icons (#1836) (a7b55da)
  • card: make two smaller cards same height as one large (#1821) (88eb8f7)
  • checkbox: prevent second click event from input (#1835) (115ce08)
  • dialog: stop listening for close events when dialog closes (#1860) (7ddbfbd)
  • docs: custom theme link (#1832) (b17f6b4)
  • layout: set header background color on host element (#1823) (34cb370)
  • menu: clear typing for NbMenuItem pathMatch property (#1627) (49bea48)
  • select: prevent opening of disabled select when clicking on toggle (#1865) (0542371)
  • select: remove max width from options list in full width s… (#1837) (272cbd3)
  • typography: declare text color classes at the bottom (#1862) (1072754)

4.1.2 (2019-07-12)

Bug Fixes

4.1.1 (2019-07-09)

Bug Fixes

Features

4.1.0 (2019-06-14)

Bug Fixes

  • layout: set top position on fixed header (#1604) (6b89f73)
  • select: transparent gap between options (#1563) (714c45e)
  • sidebar: prevent translation to the top when overlay opened (#1607) (c2a11fb)
  • checkbox: don't emit on value input change, deprecate value, add checked (#1585) (72cc999)
  • dev docs: specify correct lts tag (#1593) (f7a8be4)
  • docs: correct mention of date-fns (#1572) (bad91ec)
  • docs: fix incorrect eva-icons/bootstrap readme (#1611) (73c5d36)
  • docs: fixed small errors (#1574) (03a8085)
  • docs: remove concave line and update dark example background (#1562) (21a40ee)
  • docs: use primary color for highlight (#1583) (e9381c2)

Features

3.6.2 (2019-07-19)

Bug Fixes

3.6.1 (2019-06-14)

Bug Fixes

  • layout: set top position on fixed header (#1605) (ed780dd)
  • sidebar: prevent translation to the top when overlay opened (#1608) (993c325)
  • theme: deprecation warning of dart sass 2.0.0 (#1603) (46ed014)

Features

3.6.0 LTS (2019-06-07)

Bug Fixes

  • overlay: set context on component portals before first cd run (#1395) (36aa416)
  • select: allow select to work with empty values in nb-option (#1282) (059af4b)
  • select: emit array when resetting multiple select (#1399) (fbda1d2)
  • tabset: prevent select call if no active tab found (#1444) (c0d27ad)
  • docs: prefix root css urls with base path (#1453) (a9120cf)
  • add missing components exports to public api (#1487) (256e21e)
  • add missing public api entries (#1545) (b9f7b86)

Chores

Features

BREAKING CHANGES

  • Angular 8+ now required
  • select: Only null and undefined option values now considered as reset. false and falsy values such as 0, '', NaN don't reset select value anymore.

4.0.0 (2019-06-03)

Highlights

Nebular 4.0 is a significant improvement and rework of the previous versions. We believe these changes bring Nebular to the new level of quality and feature-richness with:

  • Updated look&feel with Eva Design System;
  • New convenient and flexible Theming system;
  • Custom CSS properties support in theming;
  • Unified component interfaces (@Input's and @Output's);
  • New Dark theme;
  • Support of SVG Eva Icons.

Steps To Update

To achieve all of this and allow Nebular to grow faster and better, we had to refactor a lot of internal implementations, as well as public APIs. We hope that next Nebular versions won't receive such significant upgrades and the amount of breaking changes will be kept as low as possible.

Migration Guide is available. We would appreciate hearing your feedback on the update steps, quality of the guide and if you have any questions or complications - please post a comment here #1524.

Bug Fixes

Features

BREAKING CHANGES

  • Angular 8+ now required
  • bootstrap: Bootstrap checkbox and radio are removed now, use Nebular Checkbox and Nebular Radio with better theming support.
  • theme: The following sass mixins are removed: nb-radial-gradient, nb-right-gradient.
  • theme: Theme variables are refactored
  • themes: - remove disabled status for card
  • auth now uses giant size buttons and inputs
  • themes: - nb-theme function now throws an error if an unused variable is accessed
  • icons: Starting from version 4.0, Nebular introduces new nb-icon component and NbIconLibraries service to host SVG and Font icon packs. As a breaking change, Nebular moves from nebular-icons package to much more popular Eva Icons pack consisting of 480+ beautiful SVG icons. We believe this will bring more quality and variety to interfaces based on Nebular.

Now all Nebular components internally use <nb-icon></nb-icon> component utilizing Eva Icons SVG icons. More details on nb-icon component.

There are two ways to upgrade: Migrate to Eva Icons (recommended):

  1. install Eva Icons Nebular package npm i @nebular/eva-icons
  2. register NbEvaIconsModule in the app.module.ts
import { NbEvaIconsModule } from '@nebular/eva-icons';

@NgModule({
  imports: [
  	// ...
    NbEvaIconsModule,
  ],
})
  1. Search for all usages of <span icon="nb-*" or <i icon="nb-*"and replace with <nb-icon icon="icon-name"></nb-icon>. Full icons list https://akveo.github.io/eva-icons/.

  2. Search for icon: 'nb-*' references in properties for such components as Menu, Actions, Tabs, etc. Replace those with icon: 'icon-name'. Please note, there is no need to specify any icon prefix (such as eva- or nb-) since prefix is specified when the icon package is registered in Nebular.

  3. Update styles if necessary.

  4. if you have nebular-icons installed, remove the package and all references.

Continue using nebular-icons This option is also possible, but please note, Nebular Component will still use Eva Icons pack for internal component icons, such as close, arrow-down, arrow-up, etc.

  1. Register nebular-icons as a pack for Nebular in your app.component.ts
  import { NbIconLibraries } from '@nebular/theme';

  constructor(private iconLibraries: NbIconLibraries) {
    this.iconLibraries.registerFontPack('nebular', { iconClassPrefix: 'nb' });
    this.iconLibraries.setDefaultPack('nebular');
  }
  1. Search for all usages of <span icon="nb-*" or <i icon="nb-*" and replace with <nb-icon icon="icon-name"></nb-icon> without the nb- prefix since prefix is specified when the icon package is registered in Nebular.

  2. Search for icon: 'nb-*' references in properties for such components as Menu, Actions, Tabs, etc. Replace those with icon: 'icon-name' without nb- prefix since it is unnecessary and covered under the hood.

Please open an issue if you have any questions or having difficulties to migrate.

  • theme: - calendar - use primary button in cosmic theme
  • checkbox - opacity instead of lightning
  • context-menu, popover, datepicker - calc instead of round and scss calculations
  • input - opacity for placeholder instead of lightning
  • tabs - remove gradient for tab bottom separator in cosmic theme
  • toastr - use background-color instead of the gradient in cosmic theme
  • text colors are now used from success/primary/warning/etc colors

Code Refactoring

3.5.0 (2019-04-12)

Bug Fixes

Features

3.4.2 (2019-03-31)

Highlights

Fixed regressing in all overlay components failing to open after host component being destroyed and re-created.

Bug Fixes

3.4.1 (2019-03-18)

Bug Fixes

  • context-menu: updated context menu arrow left position calculation (#1268) (0db8c2c), closes #973
  • date service: prevent format calls if date isn't passed (#1291) (a3d6035)
  • datepicker: start from date typed in input (#1300) (dfc75f0)
  • docs: add search container class (#1270) (e1a84f4)
  • select: update selected after cd run is finished (#1299) (2a1f113)
  • window: Fixed window.component.ts creating incorrect context (#1266) (30f4a5d)

Features

  • playground: add without-styles folder for bootstrap like use-cases (#1271) (8e852ca)
  • smoke: include packages-smoke update into release (#1258) (8db4b29)

3.4.0 (2019-02-25)

Bug Fixes

Dev Features

  • route-tabset: configurable routerLinkActiveOptions (#1239) (3cf29d8)
  • tree-grid: allow specify getters for node properties (#1254) (a263a2e)

3.3.0 (2019-02-18)

Highlights

New Tree Grid component is here! 🌴

Bug Fixes

Features

3.2.1 (2019-01-31)

Bug Fixes

3.2.0 (2019-01-31)

Popover and Tooltip components can accept dynamic 🚀 content through bindings or code.

Bug Fixes

Features

3.1.0 (2018-12-31) 🎄

Happy New Year!

Bug Fixes

Features

3.0.1 (2018-12-13)

Bug Fixes

Features

3.0.0 (2018-11-15)

Bug Fixes

  • overlay: hover trigger stop fire show if container already exists (#947) (2988a4b)
  • select: add type button, stop form submitting (#945) (255fca9)
  • sidebar: expand if not compacted or collapsed (#984) (33a0990)
  • theme: provide component factory resolver in tooltip (#981) (57777f8), closes #979
  • toastr: animations in firefox and edge (#944) (27e4a6a), closes #865

Features

  • datepicker: throw error when setting format for native date (#986) (3e9df5d)
  • docs: add eva icons link in the footer (#963) (c230986)
  • theme: ng-add schematic (#942) (5d5a874)

BREAKING CHANGES

  • Angular 7+ now required.

2.0.2 (2018-10-23)

Bug Fixes

  • auth: don't import child routes as it will rewrite the app routes (#920) (d054a73)
  • auth: don't import http module (#919) (995de58), closes #631
  • calendar: show day in today's date (#899) (e023aa3)
  • checkbox: hide check mark when unchecked and disabled (#863) (c7205d4), closes #862
  • docs: fix dead links and code examples (#905) (d8307c9)
  • form controls: mark as touched (#864) (e06d3a7)
  • nbButton: set disabled DOM property (#871) (23a709d)
  • oauth2: grant_type now sends credentials in x-www-form-urlencoded form (#832) (57fda28), closes #716
  • overlay: fix click trigger (#912) (08c2eb6), closes #907
  • select: run change detection after setting initial value (#898) (5cf94f2)
  • theme: fix sidebar shadow styles for Safari (#909) (031b1e6), closes #562
  • theme: remove a fixed content height (#882) (a85eaf2), closes #836
  • tabset: add style incapsulation for tabset components (#911) (33162af), closes #561

2.0.1 (2018-10-03)

Bug Fixes

2.0.0 (2018-10-02)

Highlights

Nebular 2.0 is stable now! After 10 release candidates and a year of work we finally made it with a great help of Nebular community and we cannot be more grateful for all of your contributions! 🎉

Bug Fixes

Code Refactoring

Features

HOW TO UPGRADE/BREAKING CHANGES

Steps

This release has introduced a number of changes which may required some manual update steps, depending on your setup:

  1. In case if you use Nebular overrides of bootstrap styles - you need to manually install new @nebular/bootstrap package. To do that:
  • install Nebular Bootstrap npm i @nebular/bootstrap
  • then add it into your styles.scss
@import '~@nebular/bootstrap/styles/globals';
// ...

@include nb-install() {
  // ...
  @include nb-bootstrap-global();
}
  • if you import ~@nebular/theme/styles/global/bootstrap/breakpoints in your code, replace it with ~@nebular/theme/styles/global/breakpoints
  • if you import ~@nebular/theme/styles/global/bootstrap/*.scss somewhere in your code, replace it with ~@nebular/bootstrap/styles/*.scss
  1. Nebular 2.0 introduced a new peer dependency - @angular/cdk. A lot of out of the box functionality provided by @angular team gives our components a solid foundation. To do that:
  • install @angular/cdk npm i @angular/cdk

Breaking Changes

Here's a list of other possibly breaking changes that you may need to take into account:

  • menu: NbMenuComponent and NbContextMenuDirective now fire itemClick even if item with routerLink was clicked.

  • menu: The NbMenuService not reply the last click event. To update: if you use the knowledge that the last click event is replied you can wrap onItemClick stream in the custom stream based on ReplaySubject.

  • theme: angular2-toaster styles were removed from Nebular. Instead, we suggest using our new NbToastrService. To update: add NbToastrModule into imports of your app.module. Inject NbToastrService into the required component. call NbToastrService.show(...) to render toasts. For more information check toastr documentation.

  • theme: All bootstrap override styles were moved from the @nebular/theme package to the new @nebular/bootstrap package. If you don't need bootstrap support you can simply no use this package. @nebular/theme package introduced a dependency of normalize.css. To update:

    • install Nebular Bootstrap npm i @nebular/bootstrap
    • then add it into your styles.scss
    @import '~@nebular/bootstrap/styles/globals';
    // ...
    
    @include nb-install() {
      // ...
      @include nb-bootstrap-global();
    }
  • theme: appendToLayoutTop and clearLayoutTop methods was removed from NbThemeService. Instead of this methods, you have to use NbOverlayService. It's the extension of @angular/cdk overlays, so, check documentation first of all. Basic usage of overlays may look like this:

    constructor(protected overlay: NbOverlayService) {
    }
    
    const overlayRef = overlay.create();
    const overlayComponentPortal = new ComponentPortal(MyOverlayComponent);
    overlayRef.attach(overlayComponentPortal);
  • tabset: Possibly a breaking change since tabs won't be bold in hover state.

  • auth: According to RFC6749 section 4.3.2, the OAuth2 token request body with grant-type='password' must provide username to the auth server and not email.

  • auth: NbAuthJWTInterceptor now always tries to refresh the token. Urls for token sending can be filtered using a filter function:

{ provide: NB_AUTH_TOKEN_INTERCEPTOR_FILTER, useValue: (req) => filter(req)},
  • auth: failWhenNoToken has been removed from password strategy as it was still not released and becoming redundant

2.0.0-rc.10 (2018-08-08)

Highlights

  • Bunch of new components: Button, Input, Calendar, Chat UI, List, Infinite List, Spinner, Stepper
  • New Auth NbAuthOAuth2JWTToken
  • Icons in tabs, subheader header option, and other cool stuff!

Bug Fixes

  • accordion: fix accordion border-radius and shadow (#584) (22ba6ef)
  • auth: fix token parceler suppressing getClassByName errors (#548) (ac41765), closes #528
  • checkbox: fix disable state with reactive forms (#599) (7d8beea), closes #296
  • docs: add a note about new theme (#504) (872645c)
  • docs: delay first calculation of examples' height (#586) (9a74fc1)
  • docs: fix auth md article formatting (ac0f668)
  • docs: fix popover examples (#503) (83061ef)
  • fix peer dependency rxjs version (#546) (402bca2), closes #514
  • docs: fix widget margin (ba5def0)
  • docs: live example height on theme change (57aae1a)
  • docs: update analytics tracking to exclude duplicated events (#502) (36e2611)
  • docs: update articles copy (f76ce1f)
  • docs: update concept-theme-system.md (#602) (95fbe74)
  • docs: update copy (#587) (d8e8881)
  • flipcard: fix flip card back view in Safari and IE (0ccb4ab)
  • menu: update url-matching helper to include ; (#475) (c67ec11)
  • tabset: fix exception, when renders conditionally with *ngIf directive (#501) (946e68c)

Code Refactoring

  • auth: make components CD=OnPush, use nbInput, nbButton (#595) (e1863ec)

Features

  • alert: add outline alerts (#590) (a7b8ff4)
  • auth: add a back link to the strategy name in the token (#571) (1c89636)
  • auth: add a new grant type password to OAuth2 Strategy (d8a66a8)
  • auth: add back button (#556) (36fc953)
  • auth: add new NbAuthOAuth2JWTToken (#583) (aed2099)
  • auth: NbOAuth2AuthStrategy add basic authentication scheme against token endpoints (#582) (4360a18), closes /tools.ietf.org/html/rfc6749#section-2 #581
  • auth: use existing refreshToken if it is not repeated by the backend refresh endpoint (#593) (dffbd59)
  • button: add fullWidth mode (#591) (13014d4)
  • docs: add example change animation (#531) (e7bb266)
  • docs: enable analytics for documentation (37f2fe0)
  • docs: set title per tab (09d71c9)
  • header: add subheader mode when header is placed on a side of sidebar (#555) (4715b04), closes #554
  • icons: add e-commerce icon (#609) (2ca41cf)
  • icons: add expand, collapse icons, fix angle double right (#542) (82a5c93)
  • layout: add scroll & ruler services (043050a)
  • playground: update examples to use the new nbButton (#559) (657147b)
  • security: add ability to assign multiple roles to a user (#549) (c3402a6), closes #222
  • tabs: ability to assign an icon (#607) (b78b8d3), closes #288
  • theme: add Accordion component (3a94f9c)
  • theme: add new Button component (#341) (89d429d)
  • theme: add new Calendar component & Calendar Kit module (#598) (8547527)
  • theme: add new Chat UI components set (ebfcd0e)
  • theme: add new Input directive (#569) (42c588e)
  • theme: add new List and Infinite List components (#530) (a07c78c)
  • theme: add Spinner component (8ef7412)
  • theme: add Stepper component (d474598)
  • theme: override default bootstrap style for row css class for small screens (#608) (9be2fcb)
  • theme: update card border color for corporate theme (#594) (ff0985e)

BREAKING CHANGES

  • auth: possibly a breaking change since we don't use bootstrap inputs and buttons anymore and use Nebular components instead also OnPush added to the components
  • auth: nbAuthCreateToken (token.ts) function now takes a third parameter, which is the ownerStrategyName. Since nbAuthCreateToken is a part of public API this could potentially introduce a breaking change.
  • theme: bootstrap button class .btn-tn renamed to btn-xs

2.0.0-rc.9 (2018-06-19) 🚀

Highlights

  • New design theme Corporate
  • New components: Progress Bar, Alert
  • OAuth2 Strategy with Google Auth example
  • New documentation website with live examples
  • Auth module refactoring

Bug Fixes

  • context-menu: hide on menu item click (#431) (a5bcd3c)
  • docs: add missing operator (#455) (1cb4993)
  • docs: add progress-bar icon (#476) (98562f5)
  • docs: fix auth install article Closes #273 (180d8f1)
  • docs: update mobile styles (#487) (6af2694)
  • docs: update styles (#486) (9e44fb8)
  • footer: use correct footer color variable (#454) (c2e310d)
  • layout: fix layout height when header is not fixed (#437) (084391b)
  • popover: hide when host was removed (#430) (a07496d)
  • reveal-card: fix second card being visible on small screens (#438) (cad2246)
  • rtl: reset bootstrap default styles (#414) (7634df5)
  • search: resolve search field component factory (#439) (15cf18d)
  • theme: add new variable(btn-outline-focus-fg) for focused outline buttons (#471) (df31a4c)
  • theme: remove layout-padding for corporate theme, remove unnecessary color from icon (#496) (49abbb9)

Code Refactoring

  • auth: provider -> strategy, setup method, multiple tokens (3428ec3)

Features

  • auth: add OAuth2 example with google auth (fd95095)
  • auth: add OAuth2 strategy (2f28cbc)
  • card: option to hide toggle button in reveal/flip cards (#448) (ef5ebbb)
  • docs: update docs design, add playground examples (f40e78f)
  • docs: update urls to include baseUrl (#489) (f7fb11a)
  • docs: use path-location instead of hash (61d4139)
  • menu: add collapseAll function (#478) (2942bfd)
  • sidebar: breakpoints configuration for compacted states (#457) (56411db)
  • theme: add alert component (ee27fda)
  • theme: add progress-bar component (#459) (3693494)
  • theme: corporate - new theme (#479) (c75eaf7)

HOW TO UPGRADE/BREAKING CHANGES

Multiple breaking changes introduced to auth module to improve code readability, follow better naming conventions and for better extensibility in future releases. More details and update steps: https://github.com/akveo/nebular/blob/master/src/framework/auth/UPGRADE.md#200-rc8-200-rc9

2.0.0-rc.8 (2018-05-10)

Features

2.0.0-rc.7 (2018-04-21)

Bug Fixes

  • auth: fix full-name validation error showing password validation text (d12397b)
  • auth: fix jwt interceptor to set Authorization header only if token is valid (#294) (1e99ff3)
  • buttons: indicate focus state of outline button just with border-color (e68a1ea), closes #295
  • docs: add context-menu item click handler example (#371) (96ec81b)
  • docs: fix incorrect component mention (#375) (3fcbb61), closes #286
  • docs: fix typo in auth-guard docs (#277) (682314d)
  • docs: return missed section anchors (#370) (3895c81)
  • layout: fix flexbug, same as in bcbfcc0 but works in IE11 too (#148) (#355) (a432e82)
  • menu: apply default values for menuItems (#344) (674eef5)
  • add polyfills for IE (es7 array & object) (#361) (3f91898), closes #272
  • provide browser globals with injection tokens (#358) (63f4bb8)
  • menu: avoid DOM elements creation for hidden menu items (#312) (0c10917), closes #270
  • menu: trigger change detection after setting max-height (#349) (8c10372), closes #263
  • outline-btn-group: reduce specificity of transparent background (#313) (eb18ebe), closes #295
  • popover: run markForCheck to detect changes if nb-layout has onPush (#267) (7af0f62), closes #266
  • search: prevent search from crashing when no layout (#332) (36dc9dd)
  • styles: get rid of nested mixins as sass doesn't support this for the time being (#331) (157b69d), closes #316
  • theme: fix window and document providers to work in AOT (#345) (0aa898b)

Features

  • docs: add capability to use playground module in the docs application (#310) (7676095)
  • docs: add tabs to docs (12b18c4)
  • menu: add support for query parameters (#283) (#324) (bbd86aa)

BREAKING CHANGES

  • menu: URL fragment no longer affects menu items selection. Now we only find matches between path part of the URL and link property of menu-item.

2.0.0-rc.6 (2018-02-22)

Bug Fixes

  • DEV_DOCS: add missed line in development on the latest Nebular sources (#182) (3b84981)
  • docs: update font spacing (#193) (7e2a41a)
  • docs: update menu component to react to expand (add a relevant class) (#206) (18ccdf6), closes #180
  • docs: use correct tag in usage example (#186) (b2333a9)
  • menu: don't collapse menu which has a selected item (#225) (5c489f3)
  • menu: fix items not being prepared when passed through input (#181) (2e9d14a)
  • search: fix search not un-subscribing from events (#185) (691e100)

Code Refactoring

  • auth: move token storage out of token service (c8273da)
  • theme: remove user context menu (#231) (959bd4a)

Features

  • security: add new security module with acl implementation (#187) (86b2784), closes #164
  • auth: ability to configure social link (#205) (86b2784), closes #171
  • bootstrap: update bootstrap to 4.0.0 release (including ng-bootstrap, angular) (#226) (f047f14), closes #160 #223 #224
  • checkbox: expand checkbox variables for easier customization (6b93924), closes #143
  • context-menu: add context menu component (13799a5)
  • popover: add new awesome popover component (7dbefd6)
  • popover: add popover-border-radius theme var (#254) (baf1a61)
  • ssr: add server-side rendering support (c826187)
  • tabset: add lazyLoad property to nb-tab so that it loads content before it is actually shown (#227) (270995d), closes #144
  • theme: add capability append component to the layout top by its factory (#253) (515636c)
  • user: allow use base64 images for user picture (#238) (28338a7)

BREAKING CHANGES

  • theme: NbUserComponent no longer has context menu. We've completely moved context menu in the separate component. So, to migrate from the previous version you have to remove user menu items
<nb-user [menu]="items"></nb-user>

and use NbContextMenuDirective:

<nb-user [nbContextMenu]="items"></nb-user>
  • auth:
  1. NB_AUTH_TOKEN_WRAPPER_CLASS renamed to NB_AUTH_TOKEN_CLASS and you should use useValue instead of useClass when providing a token: { provide: NB_AUTH_TOKEN_WRAPPER_TOKEN, useClass: NbAuthJWTToken }, to { provide: NB_AUTH_TOKEN_CLASS, useValue: NbAuthJWTToken },

  2. setValue method removed from NbAuthSimpleToken, NbAuthJWTToken, tokens only accept read-only value when created through constructor now.

  3. Token Storage moved out from NbTokenService into a separate NbTokenStorage. If you need to change the storage behavior or provide your own - just extend your class from basic NbTokenStorage or NbTokenLocalStorage and provide in your app.module:

  { provide: NbTokenStorage, useClass: NbTokenCustomStorage },
  • checkbox: Checkbox check mark color variable (radio-fg) is expanded. There are three variables instead to set a color depending a the checkbox state:
  • checkbox-checkmark - base color
  • checkbox-checked-checkmark - color when checkbox checked
  • checkbox-disabled-checkmark - color when checkbox is disabled

2.0.0-rc.5 (2018-01-31)

Bug Fixes

  • docs: remove comma between shorthand properties in themes table (#130) (#133) (b36a409)
  • docs: update marked version (#124) (f4c970e)
  • header: fix layout header test (#153) (b97ee8f)
  • menu: remove hardcoded max-height (#122) (a753bee), closes #65
  • menu: stop sidebar adding display: none to collapsed item span t… (#155) (4c10d2a)
  • search: fix tests some time not passing on search (#176) (254ddd3)
  • sidebar: only expand sidebar when item has children elements (#158) (3a47dbf), closes #23
  • travis: fix karma config for browserstack (#156) (d5a4873)
  • travis: remove git depth to allow commits comparison (#150) (4704d9e)
  • travis: stop randomly failing builds (#126) (3740e08)

Features

  • auth: warn about empty token, return falsy result (ad8afb0)
  • badge: add new badge component (#111) (a9324b4)
  • cards: new card types (f15470a), closes #139
  • search: add input to be able to customize info label (#147) (12a55dc), closes #21

BREAKING CHANGES

  • auth: now if login/register returns no value for token, unsuccessful NbAuthResult is returned

2.0.0-rc.4 (2017-12-31) 🎄

This release features an update to angular 5+, rxjs 5.5+. Make sure to update these dependencies in your project.

Bug Fixes

  • auth: fix scrollbar cutoff issue with auth (#87) (893d56a)
  • auth: fix typo in request password sub-title (#105) (336b05e)
  • theme: fix an issue when scrollbar didn't reset after a route change (#91) (9c77dad)
  • theme: remove stock bootstrap box-shadow (#72) (7d7b3ab)
  • theme: scrollbars color in IE (#66) (b5b500c)

Features

  • logout: let logout.component use form configs (#78) (41d0f78)
  • dependencies: update dependencies (angular 5+, rxjs, bootstrap, smart-table) (#108)

BREAKING CHANGES

  • dependencies: since angular and rxjs are updated please make sure to look through the corresponding changelogs for the details

2.0.0-rc.3 (2017-10-26)

Bug Fixes

  • auth: fix auth service isAuthenticated, onAuthenticationChange not returning a boolean, fix #15 (30a1d47)
  • buttons: remove transition from buttons (7e3f56d)
  • js-theme: fix defaut font, fix e2e & unit tests (cff8561)
  • layout: prevent layout expansion when some child with overflow:hidden has an element with width larger than layout width (82e4dfc)
  • user: fix user component context menu showing an icon not correctly, fix #25 (f723e54)

Features

  • dependencies: update bootstrap & angular, accompanying fixes (angular cli kept as previous due to build issues) (3660f9a), closes #42
  • font: update default font value (5b93759)
  • theme: support hidden property (#31) (f26922a)

BREAKING CHANGES