@coreui/angular changelog
- fix(collapse): collapse not expanded when initial visible=true
- fix(offcanvas): use
inert
attribute instead ofaria-hidden
- chore(dependencies): update
- chore(dependencies): update
- feat(services): uid service
- feat(services): rtl service
- refactor(form-floating): signal inputs, host bindings, cleanup
- test(progress): cleanup
- chore(dependencies): update
- refactor: migrate constructor-based dependency injection to inject function
- fix(tab-panel): avoid initial transition
- chore(dependencies): update
- fix(accordion): accordion item not expanded on init when visible=true
- refactor(avatar): remove NgOptimizedImage directive, add object-fit: cover
- chore(workflows): update node-version to 22.x
- chore(dependencies): update
- chore(workflows): update with npm ci
- fix(package-lock): rebuild
- chore(dependencies): update
- fix(tabs): NG0950 required input is accessed before a value is set tempfix
- chore(dependencies): update to
Angular 19
- refactor: directives, components and pipes are now standalone by default
- refactor: remove deprecated 'allowSignalWrites' flag for effect() - writes are allowed by default
- chore(dependencies): update to Angular
18.2.12
- fix(tabs-list): allowSignalWrites for tabsService effect
- chore(dependencies): update to Angular
18.2.11
- refactor(tab-panel): animateChild for optional nested animations
- chore(dependencies): update
- refactor(html-attr.directive): signal input, cleanup
- refactor(icon): signal inputs, host bindings, cleanup
- chore(dependencies): update
- refactor(collapse): input signals, host bindings
- refactor(navbar): input signals, host bindings
- refactor(icon.directive): host binding innerHtml
- refactor(offcanvas): minor fixes
- refactor(sidebar-nav): minor fixes
- chore(dependencies): update
- chore(dependencies): update to Angular
18.2.8
- refactor(accordion): input signals, host bindings
- refactor(toaster.service): readonly props
- chore(dependencies): update to Angular
18.2.6
- refactor(spinner): input signals, host bindings, ng-content default fallback content
- chore(dependencies): update to Angular
18.2.5
- fix(progress-bar): bar animation fails for no style width on 0 percent
- refactor(popover): use ComponentRef setInput() api, input signals, host bindings
- refactor(tooltip): use ComponentRef setInput() api, input signals, host bindings
- refactor(toast): use ComponentRef setInput() api, input signals
- fix(widget-stat-f): rounded-start-1 bg for icon without padding, text-color for value prop
- refactor(callout): input signals, host bindings
- refactor(card-header-actions): host bindings
- refactor(card-img): input signals, host bindings
- refactor(card): host bindings
- refactor(input-group): input signals, host bindings
- refactor(container): input signals, host bindings
- refactor(header): input signals, host bindings
- refactor(widgets): input signals, host bindings
- refactor(collapse): input signals, host bindings
- refactor(img): input signals, host bindings
- refactor(list-group): input signals, host bindings
- chore(dependencies): update to Angular
18.2.2
- see also: vulnerability Webpack AutoPublicPathRuntimeModule has a DOM Clobbering Gadget that leads to XSS
- refactor(footer): input signals, host bindings
- refactor(placeholder): input signals, host bindings
- chore(dependencies): update
eslint
to^9.9.1
- chore(dependencies): update
typescript-eslint
to~8.3.0
- chore(dependencies): update
tslib
to^2.7.0
- chore(dependencies): update
micromatch
to4.0.8
- see also: vulnerability Regular Expression Denial of Service (ReDoS) in micromatch
- refactor(button): input signals, host bindings
- refactor(button-close): input signals, host bindings
- refactor(avatar): host bindings
- refactor(badge): host bindings
- chore(dependencies): update to Angular
18.2.1
- chore(dependencies): update to typescript-eslint
~8.2.0
- chore(dependencies): update to Angular
18.2
- chore(dependencies): update to typescript
~5.5.4
- chore(dependencies): update to typescript-eslint
~8.1.0
- chore(dependencies): update to angular-eslint
~18.3.0
- refactor(button): input signals
- chore(dependencies): update
- chore(karma.conf): add custom chrome launcher with
--disable-search-engine-choice-screen
flag - refactor: remove empty constructors, wrapper components host class cleanups
- chore(dependencies): update
- chore(eslint): update
eslint
to v9,angular-eslint
,typescript-eslint
- refactor: eslint minor syntax cleanups
- feat(schematics): ng-add basic integration
- chore(dependencies): update
- chore(dependencies): update
- chore(dependencies): update to Angular 18.1
- refactor: update calls to
afterRender
with an explicit phase to the new API
- chore(dependencies): update
- refactor(accordion): minor cleanup, add host class metadata
- refactor(avatar): template default ng-content, host class metadata, input signals
- refactor(badge): host class metadata, input signals
- refactor(card): host class metadata, input signals
- refactor(text-bg-color): input signals
- refactor(text-color): input signals
- refactor(widget-stat-b): input signals
- refactor(modal): minor syntax cleanup
- chore(dependencies): update
- fix(tabs2): missing exportAs
- fix(tab.directive): missing disabled attribute
- chore(dependencies): update
- chore(dependencies): update to
Angular 18
- feat(tabs): Angular tabs reimagined structure, keyboard interactions and WAI-ARIA support
- chore(dependencies): update (js-yaml vulnerability)
- fix(avatar): add
alt
prop for img alternate text - fix(footer): set default
role="contentinfo"
- fix(header): set default
role="banner"
- fix(sidebar-nav): set default
role="navigation"
- fix(tab-pane): add default
role="tabpanel"
- fix(TabContentRef): add
aria-selected
attribute and defaultrole="tab"
- chore(dependencies): update
- fix(dropdown): add aria-expanded attribute, refactor
- chore(dependencies): update
- feat: element-ref directive
- feat(tooltip): reference input for positioning the tooltip on reference element, refactor with signals
- refactor(listeners.service): add focusin Trigger
- refactor(template-id.directive): cleanup, add missing test
- chore(dependencies): update
- fix(tooltip): do not show the tooltip for empty content, refactor with input()
- chore(dependencies): update
- test: add missing tests, refactor
- chore(dependencies): update
- fix(icon): cIcon directive [name] binding does not refresh icon in angular 17 #203
- refactor(icons-angular): use Angular signals
- test(icons-angular): update
- chore(dependencies): update
- fix(color-mode.service): afterNextRender() for SSR
- fix(local-storage.service): provide null for empty Storage.getItem() value
- chore(dependencies): update to
Angular 17.3
- chore(dependencies): update to
CoreUI 5
- refactor(sidebar): drop sidebar-toggler component, use directive instead, use control flow, use Input() transform
- refactor(widget): update to v5
- fix(tooltip): update offset for v5
- refactor(toast): use Input() transform
- feat(utilities): shadow-on-scroll directive
- refactor(tabs): use Input() transform
- refactor(table.type): Partial attributes
- feat: ThemeDirective
- feat(services): v5 color-mode, local-storage, in-memory-storage, script-injector
- refactor(progress): add progress-stacked component, update testing, rewrite with signals
- refactor(progress): add progress-bar props for simplified use with [value]
- fix(popover): update offset for v5
- refactor(placeholder): use Input() transform
- refactor(offcanvas): use ThemeDirective composition for dark prop
- refactor(navbar): colorScheme prop replaced with ThemeDirective composition
- fix(row): row-cols-n for xs="n"
- refactor(form-check-input): use Input() transform
- refactor(dropdown): allow to select a dropdown-item with up/down arrows, testing update, use Input() transform
- refactor(dropdown): implement FocusableOption interface for items
- refactor(dropdown): use ThemeDirective composition for dark prop
- refactor(collapse): use Input() transform
- refactor(carousel): control flow, use Input() transform, ThemeDirective composition for dark prop
- refactor(card): use TextColorDirective composition
- refactor(button-close): deprecate white input prop, use ThemeDirective composition for dark prop
- refactor(breadcrumb): cleanups, add routeSnapshot.title as fallback value, use control flow, use Input() transform
- refactor(badge): update TextColors, use TextColorDirective composition
- chore(backdrop.service): cleanup
- refactor(avatar): update TextColors, use TextColorDirective composition, use control flow
- refactor(alert): use Input() transform, use control flow
- refactor(coreui.types): update to v5
- refactor(accordion): use Input() transform
- refactor(chartjs): update to ChartJS 4.x, types cleanup, use afterRender for SSR
- refactor(icon): add afterNextRender for SSR, add aria-hidden attribute, improve testing
- feat(utilities): TextBgColor directive
- refactor(badge): improve background and text color handling with TextBgColor directive composition api
- refactor(card): improve background and text color handling with TextBgColor directive composition api
- chore(dependencies): update
- chore(dependencies): update to
Angular 17.3
- chore(dependencies): update
- fix(sidebar-nav-group): typo on control flow migration - thanks @meriturva, closes #200
- chore(workflows): update github actions to v4 - checkout, setup-node
- chore(dependencies): update to
Angular 17.2
- refactor(@coreui/angular): use control flow
- fix(chartjs): canvas already in use, refactor
- chore(dependencies): update
- fix(chartjs): use afterRender, afterNextRender fails - temp fix
- fix(toast): types
- fix(carousel): types
- fix(sidebar): missing export SidebarNavHelper
- chore(dependencies): update
- refactor: allow getComputedStyle() to be undefined for SSR
- refactor(tooltip): for use with IntersectionService providedIn root
- refactor(popover): for use with IntersectionService providedIn root
- refactor(carousel): for use with IntersectionService providedIn root
- refactor(IntersectionService): providedIn root, allow multiple observers, add unobserve() method
- refactor(icon): afterNextRender in case of SSR
- refactor(chartjs): afterNextRender in case of SSR
- chore(dependencies): update
- chore(dependencies): update
- refactor(backdrop, modal, offcanvas): move scrollbar adjustments to offcanvas, cleanups feat(modal): restore focus on modal hide, set focus to visible modal
- fix(backdrop): add missing export
- chore(dependencies): update
- chore(dependencies): update to
Angular 17
Angular 17
TypeScript ~5.2
zone.js ~0.14.2
- chore: update tsconfig and eslintrc
- refactor: minor cleanups - typings, tests
- chore: update
.github/workfows
for node-version 20
- chore(dependencies): update
- chore(dependencies): update
see: Babel vulnerable to arbitrary code execution when compiling specifically crafted malicious code
- chore: sync with v4.5.25
- chore(dependencies): update
- chore(dependencies): update
- chore(dependencies): update to Angular 16.2
- fix(icon): check name value for undefined
- fix(@coreui/angular): add missing peerDependencies
- refactor(sidebar-nav): IconDirective imports
- chore(dependencies): update
- chore(dependencies): update
- refactor: @Input() transform option of @angular/[email protected] instead of @angular/cdk coerce functions (partial)
- chore: dependencies update (angular v16.1.4)
- chore: peerDependencies update to Angular 16.1
- fix(toast): show animation not working
- refactor(toast): remove: onAnimationEvent(), @fadeInOut.start, @fadeInOut.done
- fix(toaster): drop setTimeout() on removeToast()
- refactor(toaster): move to takeUntilDestroyed()
- chore: dependencies update (angular v16.1.3)
- fix(tooltip): add IntersectionObserver to remove tooltip when host element is not visible
- chore: dependencies update
- chore: dependencies update
Angular 16
TypeScript ~4.9.3
- refactor(breadcrumb-router.service): router.events takeUntilDestroyed()
- refactor(toaster): remove ComponentFactoryResolver
- refactor: safe ?.unsubscribe() from subscriptions
- chore(dependencies): update
- refactor(tabs): safe tabServiceSubscription?.unsubscribe()
- chore(dependencies): update
- feat(form-check): add reverse prop
- chore(dependencies): update
- fix(alert): typo in template
- refactor(html-attr): cleanup
- refactor(icon, icon-set): cleanup
- chore: dependencies update
- chore(sidebar): minor cleanups
- feat: standalone components
- chore: dependencies update
- fix(popover): remove popover when host element is not visible
@coreui/angular
@coreui/angular-chartjs
@coreui/icons-angular
- chore: dependencies update
@coreui/angular
- chore: dependencies update
@coreui/angular-chartjs
- chore: dependencies update
@coreui/icons-angular
- feat(cIcon): standalone directive
- chore: dependencies update
@coreui/angular-chartjs
- feat(c-chart): emit chartRef on new Chart()
- feat(c-chart): standalone component
- chore: dependencies update
- fix(offcanvas): avoid flicker on the first render
- feat: standalone components (wip)
- feat(offcanvas): add responsive variations
- refactor(offcanvas): animation classes, scrollbar behavior, cleanup
- refactor(modal, offcanvas): move get scrollbarWidth to BackdropService
- feat(offcanvas): add backdrop static option support
- chore: dependencies update
- chore: dependencies update
- fix(dropdown): visibleChange emit and visibleState update on changes, refactor with rxjs
update to:
Angular 15.1
update to:
Angular 15
TypeScript 4.8
RxJS 7.5