CoreUI PRO v5.16.0

CoreUI PRO v5.16.0

We are thrilled to announce the release of CoreUI PRO v5.16.0! This major update introduces the brand new Autocomplete component, enhanced Multi-Select functionality with custom templates, significant calendar improvements, and comprehensive documentation updates with schema markup support.


Speed up your responsive apps and websites with fully-featured, ready-to-use open-source admin panel templates—free to use and built for efficiency.


How to Update

To upgrade your project to CoreUI PRO v5.16.0, follow these steps:

  1. Open your project’s package.json.
  2. Locate the @coreui/coreui-pro entry under dependencies and update the version number to 5.16.0.
  3. Save your changes to the package.json file.
  4. In your project’s root directory, execute the appropriate command:
    • For npm users: Run npm install
    • For yarn users: Run yarn install

What’s New

🚀 New Features

  • Autocomplete Component: Brand new autocomplete component with comprehensive functionality

    • Built-in search and filtering capabilities
    • Keyboard navigation support with arrow keys and Enter/Escape
    • Customizable dropdown positioning and styling
    • ARIA accessibility features for screen readers
    • Support for custom data sources and dynamic loading
    • Configurable debounce timing for performance optimization
  • Multi-Select Custom Templates: Enhanced Multi-Select component with template support

    • optionsTemplate for custom option rendering
    • optionsGroupsTemplate for custom group label styling
    • HTML sanitization with allowList and sanitizeFn options
    • Full customization while maintaining accessibility

🛠 Fixes & Improvements

  • Calendar: Fixed year calculation for week selection using proper ISO 8601 standards
  • Popover: Fixed issue where popovers with hover and click triggers would close incorrectly on mouseleave
  • Date Range Picker: Enhanced event handling for start and end date changes
  • Multi-Select: Improved click handling for nested elements in custom templates
  • Tooltip: Fixed click trigger toggle behavior for better user experience

♻️ Major Refactors

  • Calendar Utilities: Complete rewrite of week calculation system

    • Renamed getWeekNumber() to getISOWeekNumberAndYear() for ISO 8601 compliance
    • Enhanced getMonthDetails() to return proper week structure with year information
    • Improved week selection accuracy across year boundaries
  • Date Picker Events: Improved event handling architecture

    • Enhanced start/end date change event triggering
    • Better event timing and consistency

📚 Documentation & Schema Updates

  • Schema Markup: Added comprehensive schema markup support for better SEO
    • Structured data for components and integration guides
    • Enhanced search engine visibility
  • New Component Documentation: Complete documentation for Autocomplete component
  • Multi-Select Examples: Added custom template examples and usage guides
  • Range Component: Added dynamic value display examples
  • Laravel Integration: Enhanced integration guide with schema markup

🔧 Build & Development

  • Node.js 22: Switched build system to Node.js 22 for better performance
  • Sass Mixins: Added missing box-shadow mixin and consolidated multiple none values
  • Test Coverage: Updated and enhanced test suites with bug fixes
  • Documentation Build: Improved documentation build process and styling

📦 Dependency Updates

This release includes comprehensive dependency updates for security and performance:

Core Dependencies

  • Updated @eslint/markdown from ^6.6.0 to ^7.1.0
  • Updated cross-env from ^7.0.3 to ^10.0.0
  • Updated eslint from ^9.30.1 to ^9.32.0
  • Updated eslint-config-xo from 0.47.0 to 0.48.0
  • Updated eslint-plugin-unicorn from ^59.0.1 to ^60.0.0
  • Updated hugo-bin from ^0.144.9 to ^0.145.1
  • Updated jasmine from ^5.8.0 to ^5.9.0
  • Updated rollup from ^4.44.1 to ^4.46.0
  • Updated stylelint from ^16.21.0 to ^16.22.0

🎯 Breaking Changes

Calendar Week System

  • ISO 8601 Compliance: Week selection now uses proper ISO 8601 standards
  • Function Rename: getWeekNumber() has been renamed to getISOWeekNumberAndYear()
  • Return Type Change: The function now returns an object { weekNumber, year } instead of just a number

Multi-Select Templates

  • New Template System: Custom templates now support HTML sanitization by default
  • Security Enhancement: Added XSS protection for custom template content

💡 Migration Guide

Calendar Utilities

If you were using getWeekNumber() directly:

// Before
const weekNum = getWeekNumber(date)

// After
const { weekNumber, year } = getISOWeekNumberAndYear(date)

Multi-Select Custom Templates

To use the new template functionality:

new MultiSelect(element, {
  optionsTemplate: (option) => `<span class="custom-option">${option.text}</span>`,
  optionsGroupsTemplate: (group) => `<strong>${group.label}</strong>`,
  sanitize: true // Enable XSS protection (default)
})

This release represents a significant step forward in component functionality, accessibility, and developer experience. The new Autocomplete component and enhanced Multi-Select capabilities provide powerful tools for building modern, interactive web applications.

Subscribe to our newsletter
Get early information about new products, product updates and blog posts.
How to concatenate a strings in JavaScript?
How to concatenate a strings in JavaScript?

What is Double Question Mark in JavaScript?
What is Double Question Mark in JavaScript?

How to get element ID in JavaScript
How to get element ID in JavaScript

The Best Bootstrap Alternative for Developers in 2025
The Best Bootstrap Alternative for Developers in 2025

Javascript Random - How to Generate a Random Number in JavaScript?
Javascript Random - How to Generate a Random Number in JavaScript?

What is JavaScript Array.pop() Method?
What is JavaScript Array.pop() Method?