Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Releases: ng-bootstrap/ng-bootstrap

19.0.1

01 Jul 15:26

Choose a tag to compare

19.0.1 (2025-07-01)

Bug Fixes

  • toast: missing export of NgbToastOptions interface (6b26ef3)
  • positioning: missing export of PlacementArray type (#4847) (a4e94a3)
  • datepicker: missing export of DayTemplateContext interface (1b90da5)

19.0.0

19 Jun 15:28

Choose a tag to compare

19.0.0 (2025-06-19)

This release bumps minimum required versions to Angular 20.0.0

Bug Fixes

  • carousel: remove invalid aria-activedescendant (6ecb129)
  • datepicker: add missing attributes aria-disabled and aria-selected (fab39cb)
  • modal: fix usage of modal in zoneless, by calling mark for check after update of modal options (afe98ee)
  • pagination: put aria-current on link element instead of li for a11y (39dc037)
  • timepicker: wrong auto-setting of hour value (4137c60)
  • tooltip: opening just after a close does not keep the tooltip open (bfee86d)
  • tooltip: tooltip created after view destroyed (d9c96aa)
  • typeahead: add aria-controls for accessibility (#4816)
  • typeahead: set the value of typeahead's control to null instead of undefined when using the non-editable mode (daaa56d)

Features

  • tooltip,popover: allow to keep tooltip/popover open when hovered if closeDelay is a positive number (8117bfa)

19.0.0-rc.0

03 Jun 13:11

Choose a tag to compare

19.0.0-rc.0 Pre-release
Pre-release

This release candidate version bumps minimum required versions to Angular 20.0.0

Bug Fixes

  • carousel: remove invalid aria-activedescendant (6ecb129)
  • datepicker: add missing attributes aria-disabled and aria-selected (fab39cb)
  • modal: fix usage of modal in zoneless, by calling mark for check after update of modal options (afe98ee)
  • pagination: put aria-current on link element instead of li for a11y (39dc037)
  • timepicker: wrong auto-setting of hour value (4137c60)
  • tooltip: opening just after a close does not keep the tooltip open (bfee86d)
  • typeahead: add aria-controls for accessibility (#4816)
  • typeahead: set the value of typeahead's control to null instead of undefined when using the non-editable mode (daaa56d)

Features

  • tooltip,popover: allow to keep tooltip/popover open when hovered if closeDelay is a positive number (8117bfa)

18.0.0

18 Dec 13:54

Choose a tag to compare

This release bumps minimum required versions to Angular 19.0.0.

We have reviewed all components to make sure they are hydratable.
Please note that currently components using i18n require the use of experimental withI18nSupport().
You can learn more about the advantages of hydration in the Angular doc.

Bug Fixes

  • accordion: respect destroyOnHide with OnPush (5b64712)
  • toast: added correct ariaLive values (fc6007e)
  • accordion: fix hydration (3f3173a)

Features

BREAKING CHANGES

ngbAccordionBody has been converted from a Directive into a Component. This is was needed in order to fix accordion hydration while not breaking the syntax.
Note that if you were using a template variable to retrieve the DOM element you will need to query the ElementRef instead of the component .

Concretely, the following code with ng-bootstrap 17.0.2:

@Component({
  standalone: true,
  imports: [NgbAccordionModule],
  template: `
    <div ngbAccordion>
      <div ngbAccordionItem [collapsed]="false">
        <!-- header -->
        <div ngbAccordionCollapse>
          <div ngbAccordionBody #myAccordionBody>
            <ng-template>Actual content</ng-template>
          </div>
      </div>
    </div>
  `
})
export class Example {
  readonly myAccordionBody= viewChild.required<ElementRef>('myAccordionBody');
  
  myScrollingFunction() {
    this.myAccordionBody().nativeElement.scrollIntoView();
  }
}

needs to be migrated to the following with ng-bootstrap 18.0.0:

@Component({
  imports: [NgbAccordionModule],
  template: `
    <div ngbAccordion>
      <div ngbAccordionItem [collapsed]="false">
        <!-- header -->
        <div ngbAccordionCollapse>
          <div ngbAccordionBody #myAccordionBody>
            <ng-template>Actual content</ng-template>
          </div>
      </div>
    </div>
  `
})
export class Example {
  readonly myAccordionBody= viewChild.required('myAccordionBody', {read: ElementRef});
  
  myScrollingFunction() {
    this.myAccordionBody().nativeElement.scrollIntoView();
  }
}

18.0.0-rc.0

11 Dec 11:13

Choose a tag to compare

18.0.0-rc.0 Pre-release
Pre-release

This release bumps minimum required versions to Angular 19.0.0.

Bug Fixes

  • accordion: respect destroyOnHide with OnPush (5b64712)
  • toast: added correct ariaLive values (fc6007e)
  • accordion: fix hydration (3f3173a)

BREAKING CHANGES

  • ngbAccordionBody converted from a Directive into a Component

17.0.1

28 Aug 13:29

Choose a tag to compare

Hopefully fixes that one datepicker bug with weekday labels.

Also replacing NgZone.onStable() with afterRender()/afterNextRender() internally and using esbuild with zoneless CD for the demo site.

Bug Fixes

  • datepicker: generate weekday labels in correct order (04010d6)
  • datepicker: config not inherited from datepicker-input (db14075), closes #3848
  • datepicker: global config not applied (18919c9), closes #4697

17.0.0

13 Jun 14:17

Choose a tag to compare

This release bumps minimum required versions to Angular 18.0.0.

We do not officially support provideExperimentalZonelessChangeDetection() yet, it will come in a future minor release. Please remember this an experimental API, follow #4709 and open new issues if you find any problems.

Signal support will come later, most likely in the next major release.

Bug Fixes

  • datepicker: track weekdays by $index (#4712) (ca1028d)
  • datepicker: track weekdays by index to avoid clashes (7c693d6)
  • datepicker: type of ngAcceptInputType_weekdays (5ad11bb)
  • pagination: track page by index since -1 can be there twice (1d190a8)
  • timepicker: get period from angular formatDate (56b0368)
  • typeahead track by index in NgbHighlight (#4707) (2085265), closes #4705
  • typeahead: track results by index in NgbTypeahead (#4711) (fa8aba9), closes #4702

16.0.0

22 Nov 15:19

Choose a tag to compare

This release bumps minimum required versions to Angular 17.0.0 and Bootstrap 5.3.2.

Main features:

  • dark mode support for all components and demo site.
  • new stacked progressbar markup in Bootstrap 5.3 allowed us to do the long-standing stacked progressbar feature request.
  • Ethiopian calendar for datepicker.
  • old component-based accordion implementation is removed (it was deprecated in 14.1.0 in favor of directive-based implementation).
  • we're using new control flow syntax internally and for all demos.

Please make sure to check the BREAKING CHANGES section below.

Bug Fixes

  • use setInput where possible for dynamic components (f29a7b5)
  • datepicker: fix day hover color in dark mode (519bbc3)
  • dropdown: add show class to dropdown toggle when dropdown is open (#4532) (6bf2ab0), closes #4531
  • nav: NgbNavLinkBase matches multiple times (02ab48b), closes #4594
  • schematics: use getMainFilePath() to get main project file (acd635a)
  • tooltip: add offset to align with Bootstrap 5.3 (6fd04af), closes #4574
  • datepicker: startDate type should accept dates with days (#4618) (81ec20a), closes #4616
  • accordion: allow querying body template (#4625) (472d842), closes #4623
  • dropdown: allow setting custom tabindex on items (#4626) (3d9f052), closes #4592
  • nav: correct focus handing with keyboard (184b6bd)

Features

  • bootstrap 5.3 and dark mode (99c2162), closes #4450
  • add axe a11y tests of the demo site (#4588) (b573a2b)
  • progressbar: add stacked progressbar (#4621) (1982133)
  • datepicker: add ethiopian date picker (bf02fb0), closes #4499
  • migrate to the new control flow syntax (6c3570b)
  • accordion: remove type from configuration (ed7732a)
  • accordion: remove component-based version (7aab9e3)
  • dropdown: remove deprecated NgbNavbar directive (c2c8061)

BREAKING CHANGES

  • minimum required versions are now Angular 17.0.0, Bootstrap 5.3.2 and Popper 2.11.8
  • accordion: removed component-based accordion. It was deprecated in 14.1.0
  • accordion: removed type property from the NgbAccordionConfig. It was deprecated in 14.1.0.
  • we use inject function internally more than before, so constructor signatures have changed for all components. If you extend our components (and you really shouldn't do it), you might need to update your code.
  • nav: NgbNavbar directive is removed, as it is no longer required. It was deprecated in 14.2.0.
  • nav: default value for the @Input() keyboard: boolean | 'changeWithArrows' was changed from false to true, meaning that all navs are now keyboard accessible by default and focus between navs moves with arrow keys. Focusing behavior follows the WAI-ARIA tab recommendation as well as Bootstrap's nav implementation. To turn off keyboard support set keyboard to false either on the individual NgbNav or via NgbNavConfig

16.0.0-rc.2

16 Nov 16:25

Choose a tag to compare

16.0.0-rc.2 Pre-release
Pre-release

This release migrates to the new control flow syntax internally and for all demos.

Bug Fixes

Features

  • datepicker: add ethiopian date picker (bf02fb0), closes #4499
  • migrate to the new control flow syntax (6c3570b)

16.0.0-rc.1

15 Nov 16:17

Choose a tag to compare

16.0.0-rc.1 Pre-release
Pre-release

Bug Fixes

  • datepicker: startDate type should accept dates with days (#4618) (81ec20a), closes #4616