Stay up to date
Our versioning system is loosely based on Semantic Versioning, with a few key differences.
- Patch (x.y.Z) – For non-breaking changes only. Patch releases should be made regularly to deliver fixes and improvements.
- Minor (x.Y.z) – May include small breaking changes, such as renamed properties or updated interfaces. These should be easy to adapt to with the help of in-code documentation. Use minor when a feature or fix introduces a breaking change that can be resolved quickly.
- Major (X.y.z) – Reserved for larger, planned refactors. These are not taken lightly and are unlikely unless both Nova and our users have a strong reason. Only use major when the impact is clear and the benefit is significant.
Breaking changes are always clearly indicated in the changelog below. We use a single version number and consistent functionality across all platforms.
Changelog
All notable changes to this project will be documented in this file. See commit-and-tag-version for commit guidelines.
3.6.0 (2025-06-19)
⚠ BREAKING CHANGES
- nv-fieldmultiselect:
- The value prop now expects an array of strings instead of a single string
- The multiselectChange event is deprecated and will be removed in a future version
- Event payloads now consistently use arrays for selected values
Features
- improves icon browser in storybook, several fixes for dialog (#381) (6c9d519)
- nv-accordion: add accordion component with item support, documentation & tests (#363) (c975527)
- nv-fielddate: placeholder rendering (#383) (ec64bfc)
- upgrades storybook to v9, adds code preview feature (#386) (f061b02)
- nv-fieldmultiselect: (#382)
- Support for initial filter text via filterText prop
- New filterTextChanged event for better filter state management
- Improved badge handling for multiple selections
Bug Fixes
- nv-calendar: ensure correct day alignment in multi-calendar view (#387) (2e832fd)
- nv-fieldmultiselect: value binding not working (#382)
- resolve floating point precision and localization issues with numeric properties (#389) (f3ed896)
3.5.0 (2025-06-16)
Features
- adds full ssr support to react output (#380) (8c45cd2)
- icons: added 3 icons and uodated some spacing tokens (2761226)
- arrows-maximize
- arrows-minimize
- bolt-off
- nv-fielddaterange: update styling and placeholder (#378) (3141cc8)
Bug Fixes
3.4.0 (2025-06-10)
Features
- storybook: add icon explorer to storybooks (#372) (fa27ff7)
- nv-fieldnumber: Extend nv-fieldnumber with trailing input slot and refactor nv-fieldslider (#373) (cb75061)
- nv-datagrid: implement state binding for pagination, sorting, and global filtering (#374) (75a09f4)
Bug Fixes
- blazingstory: fix disableddate in story (#375) (5839c8c)
- nv-calendar: improve date parsing error handling to reduce console spam for incomplete inputs (#371) (22146e6)
- nv-popover: set default shiftPadding to 0 for improved positioning (#376) (7f381c9)
3.3.0 (2025-05-28)
⚠ BREAKING CHANGES
- nv-calendar: The dateChange event has been removed in favor of the unified valueChanged event to maintain consistency across all form components in the Nova Design System.
Before
// Using dateChange event
<nv-fielddate
onDateChange={(event) => {
console.log('Date changed:', event.detail.value);
}}
/>
// Or in vanilla JavaScript
const fieldDate = document.querySelector('nv-fielddate');
fieldDate.addEventListener('dateChange', (event) => {
console.log('Date changed:', event.detail.value);
});
After
// Use valueChanged event instead
<nv-fielddate
onValueChanged={(event) => {
console.log('Date changed:', event.detail);
}}
/>
// Or in vanilla JavaScript
const fieldDate = document.querySelector('nv-fielddate');
fieldDate.addEventListener('valueChanged', (event) => {
console.log('Date changed:', event.detail);
});
Key Differences
- Event name: dateChange → valueChanged
- Event payload:
- dateChange: { value: string }
- valueChanged: string (direct value)
- Consistency: valueChanged is now consistent with all other form components
Features
- nv-calendar: refactor calendar component by modularizing into partials for improved readability and maintainability (#367) (6719e49)
- nv-calendar: add support for two-way binding (#369)
- slider: enhance slider component styles and functionality (#366) (b5f4219)
Bug Fixes
- nv-password: for edge, removes the native password reveal (#370) (b546a84)
- library: Resolve Blazor slot rendering issues (#362) (2549f0b)
- nv-calendar: update default first day of the week (#367)
3.2.0 (2025-05-20)
Features
- nv-slider: adds slider component (experimental) (#355) (1c30097)
- field: added 'destructive-in-field' color token and update focus box shadow variable (#356) (ae2c066)
- nv-datagrid: simplify data handling and add column header grouping support (#350) (49325a1)
- nv-field-text: add trailing slot (#357) (9134412)
- nv-fielddropdown: add scrollbar support (#352) (9959be8)
- nv-fielddropdown: enhance dropdown functionality with maxHeight and debounceDelay properties (#361) (88bf54a)
- nv-icon: add 'ban' icon to the list of available icon names (#365) (2244bff)
- nv-slider: adds snapTicks and changes 2 way binding (#360) (0032659)
- tailwind: typography utility classes (#353) (652f6a3)
Bug Fixes
- Blazor Storybook: enums now display their parent class (#351) (8193347)
- native: updates common js import for the loader (da9c687)
3.1.0 (2025-04-28)
⚠ BREAKING CHANGES
- tailwind-plugin: The default !important flag applied to Tailwind utility classes has been removed, which might affect component overrides. To maintain the desired specificity, you can either: • Prefix the class with ! to explicitly mark it as important, or • Set the important option to true in your Tailwind config.
Please note that enabling the global important flag may cause responsive modifiers to function poorly.
- nv-calendar: nv-calendar, nv-fielddate, and nv-fielddaterange components no longer accept stringified JSON for attributes. All consumers must update their implementations to pass actual objects or arrays as properties instead of JSON string attributes.
This transforms our calendar components by converting JSON string attributes to direct object properties. Additional refactoring includes extracting utility functions, fixing synchronization between daterange inputs and calendar popovers, and repairing E2E test fixtures. Test coverage has been increased across all relavant components.
- blazor: Custom event payloads in Blazor have unique classes, types for event payloads in JS updated.
Adds full type safety for complex data types emitted by web components in Blazor, following the same pattern established for props. Includes an ESLint rule enforcing inline interface definitions for event types, refactors required attributes in prop/event classes, updates event callbacks, and fixes e2e tests.
Features
- blazor: adds parameters and complex types to methods (#343) (1021baf)
- blazor: event typesafety (#322) (a51fcda)
- fields: refactors all fields to improve default settings for width (#338) (25900b9)
- icons: add helmet icon (#328) (d003ce3)
- nv-badge: add petrol color to badge component and update styles (#340) (4a06bbd)
- nv-badge: update badge colors with status values and named colors (#337) (5caf894)
- nv-calendar: changes JSON string inputs to complex data types (#332) (bc3cea6)
- nv-datagrid: add row selection functionality and event emission (#341) (e2a7d92)
- nv-datagrid: now with sortable columns, double array love, and smarter tests (#329) (5b9df8c)
- nv-fielddate: removed double border in dropdown (#323) (765587d)
- nv-icon: the icon helmet swopp has been added (#344) (4f808c0)
- tailwind-plugin: remove default !important flag for utility classes (#335) (b1cda51)
- tailwind-tokens: added new functionality for generating Tailwind classes from Figma tokens (#336) (ae1e7b9)
Bug Fixes
- blazor storybook: ensure light, dark and mode updates correctly in Preview frames (#331) (cead97d)
- blazor storybook: href attributes are no longer capitalized in code templates (#324) (9034077)
- dialog: the submitbutton inside a dialogfooter not linked to a form in Blazor (#339) (52da7cd)
- generate-icons: fix script inability to find icons (#342) (130cc96)
- nv-badge: move label out of the slot (#325) (590a989)
- nv-components: prevent event propagation in handleOpenChanged methods (#330) (2867b0c)
3.0.0 (2025-04-07)
Features
3.0.0-beta.47 (2025-04-02)
⚠ BREAKING CHANGES
- Component props no longer accept stringified JSON inputs and now require objects directly.
Components affected:
- nv-menu
- nv-fielddropdown
- nv-fieldmultiselect
Implementation details:
- Blazor metadata enhanced to generate schemas reflecting Blazor types.
- Storybook examples updated accordingly.
Features
- Components: accept complex data objects directly for component inputs (#312) (98d676f)
- Blazor: add AssemblyName to Nova project file alowing using an alias during V2 to V3 migration (#320) (9b65c83)
- nv-datagrid: Add pagination, improve integration & refactor filtering (#314) (dd51ae8)
Bug Fixes
- blazor-storybook: add toggle to show/hide a preview and increase performance (#311) (5f53857)
- nv-fieldnumber: make the stepper buttons unfocusable since they can be controlled using arrow up/down (#310) (9aa993e)
- nv-stack: code examples are visible again in Storybook, gutter functionality is restored (#309) (d2f7b28)
3.0.0-beta.46 (2025-03-24)
Features
- blazor: enhance event handling with custom event listener removal and async form submission (#296) (ad195e3)
- blazor: handle null default values in renderPropDefaultValueForBlazor function (#306) (ca15908)
- nv-datagrid: add repeatTemplate property and enhance column rendering (#295) (cac1d1a)
Bug Fixes
- blazor: block TypeScript compilation and clean up .csproj file (#301) (15591e5)
- build: makes sure the meta data types are generated correctly (8d71ecc)
- components: filterable not working for nv-fielddropdown in React (9fd74f2)
- nv-badge: fixes an issue with the lead icon when using default slot (#298) (8cb0c40)
- util-css: adds font families to nova-utils css (#300) (1cb315f)
3.0.0-beta.45 (2025-03-19)
Features
- nv-datagrid: add Role model, update Person with roles, implement autoGenerateColumns, and improve event handling in Blazor (#290) (daa9853)
- storybook: adds option to disable source code for large templates (#292) (5ba1077)
- storybook: allows rendering complex properties in the webcomponents version of storybooks (#293) (4fe58d4)
3.0.0-beta.44 (2025-03-14)
⚠ BREAKING CHANGES
- nv-dialogfooter: nvDialogCanceled is not dialogCanceled, and nvDialogPrimaryClicked is not dialogPrimaryClicked
Features
- nv-dialogfooter: removes nv prefix from event names (b67f04c)
Bug Fixes
- nv-button: submit issues (#291) (b67bd90)
- tailwind: removes lineheight from fontsize (#284) (e057d14)
- tailwind: removes outdated brand classes (#287) (ef78362)
3.0.0-beta.43 (2025-03-12)
Features
- coverage: Unify Test Coverage Report Location & Add Coverage Documentation (#261) (5b92c40)
- nv-icon: icon collection and tokens updated (#282)
- nv-calendar: implement token and styling (#272)
- nv-badge: add outline to the badge to improve accessibility (#282)
Bug Fixes
- blazor: Correct DynamicDependency attribute reference in RenderFragmentExtensions (#280) (abafe39)
- blazor: Pipeline Blazor Storybook (#275) (9e65b72)
- blazor: Update formatting in Home.razor and improve ElementRef handling in codebehind template (#279) (04456bc)
- monocart: Add coverage loading indicator & improve report script (#273) (1fd43eb)
- nv-fielddropdown: improves a11y and default values (#270) (58b0661)
3.0.0-beta.42 (2025-03-11)
⚠ BREAKING CHANGES
- nv-menu: The menuitem text content should now be set as a label prop, this improves reactivity for dynamic menus. The default slot should only be used completly custom markup, for example when using non standard menu items that could contain other elements such as avatars
Features
- BlazorStory: Align to original library (#263) (2b1855e)
- nv-datagrid: Added global filter to nv-datagrid (#257) (19c7cf8)
- nv-fielddaterange: create a date range selection component (#259) (e0f1159)
- nv-menu: adds label prop to menuitem, improves onclick handling (#262) (d5de0b8)
Bug Fixes
- nv-popover: improve click outside and event handling (#265) (d9a20d7)
- Props: Updates every prop to be reflect if simple type (#267) (78838db)
3.0.0-beta.41 (2025-03-04)
Features
- Monocart: Add GitHub Action to comment coverage report on PRs (#247) (8f6948e)
- ReactJS: Add CommonJS build via Rollup for better compatibility (#258)
- nv-icon: Add nv-icon sprite at the end of the document improving debugging in unit testing tools (#258)
Bug Fixes
- NuGet: fix pipeline to publish NuGet package to ProGet (#260)
3.0.0-beta.40 (2025-03-03)
⚠ BREAKING CHANGES
- nv-dialog: refactor form submission and atofocus behavior (#246)
- Removed manualFocus prop from nv-dialog component: dialog now automatically handles focus management. Remove any usage of manualFocus prop
- Changed the naming of the dialog footer's submit button to primary button: update any references from submitLabel to primaryLabel in dialog footer components and any references from nvDialogConfirmed to nvDialogPrimaryClicked in dialog footer components
Features
- fields: improves styles across all input components (#249) (cc5c01d)
- nv-datagrid: transformed composed to templating (#254) (4bdff1c)
- nv-fielddate: create a new date selection component (#252) (e53c130)
- nv-calendar: calendar i18n, update translations (#253)
- nv-alert: add hasNoAnimations prop for disabling animations (#248)
Bug Fixes
- Blazor: Escape Description Blazor Story (#255) (239a5f6)
- enum: enum default value for blazor (#251) (a7be99d)
- nv-dialog: ensure scrolling is restored when a nested form closes the dialog (#250) (b8cf76b)
- nv-table: changed the composed to template and add actions (#239) (38b3ff2)
- nv-alert: hide the component fully when the hidden property is set (#248)
3.0.0-beta.39 (2025-02-21)
Features
- form fields: add autofocus to all fields, improves nv-icon performance (#240) (0b736c2)
- angular: adds packages for v18 and v19, updates docs for tailwind 4 (5f8cd22)
- nv-calendar [beta]: add new calendar component with comprehensive date selection features (#238) (f239066)
- tailwind: force important on Tailwind classes (#242) (fc1ef40)
- template: add a new template accessible in code and design (#243) (9eb9974)
- Testing: Added some utils testing (#228) (768b63f)
Bug Fixes
- dev: improves speed and reliability of the dev server (0727742)
- nv-dialog: adds additional sytles to fix changes from tailwind 4 (2ee96d8)
- nv-popover: apply display none when hidden (#244) (62c433b)
- nv-fielddropdown: fixes selected item issue, refactors logic (#244) (00ed8fb)
3.0.0-beta.38 (2025-02-14)
Features
- code-coverage: Added merging and monocart report (#223) (5f65ea3)
- experimental: adds feature control to hide stories in prod, additional docs page for tags (6a44ae0)
- nv-fieldmultiselect, nv-fielddropdown: align styles and update tokens (#227) (e3490b5)
- Playwright: Code Coverage for e2e (#220) (6252497)
Bug Fixes
- dialog: improve docs, vue demo and scroll handling (#225) (54f424e)
- icon-generator: reconnecting to moved files & excluding non-icon exportable assets (#230) (0409048)
3.0.0-beta.37 (2025-02-07)
⚠ BREAKING CHANGES
Features
- nv-breadcrumbs: finalizes the component (#199) (568001b)
- nv-button: adds new active state (#202) (96e0db8)
- nv-fielddropdown: add support for JSON options with preselection (#203) (fdda4f8)
- nv-fieldselect: add support for JSON options with selection and preselected states (#205) (3986548)
- nv-fieldtime: Added a new component nv-fieldtime (d73779e)
- nv-dialog: Added a new component nv-dialog (#187)
- nv-menu: add support for JSON menu items with nested structure (#217) (3f218a4)
Bug Fixes
- Blazor: Checked if every nv-field has validation + changed the generation (#215) (4d9644e)
- EditContext: Blazor form not required (33db7ca), closes #210
- nv-button: triggers click for enter and space keys (#212) (1c753e0)
3.0.0-beta.36 (2025-01-31)
Bug Fixes
3.0.0-beta.35 (2025-01-31)
Features
Bug Fixes
- packages: fixes some issues with the dependancies (644a2aa)
3.0.0-beta.34 (2025-01-29)
Features
- components: adds breadcrumb component (#190) (4b58fd1)
- tailwind: adds system to build tailwind components from sass + nv-button classes (#191) (d8ff8dc)
- nv-dropdown: * Style/nv-fielddropdown (#182) (2e59e17), closes #182 #160 #179
Bug Fixes
- nova-blazor: remove duplicate README.md packaging configuration from project csproj file (#193) (8185f5c)
- nv-fielddropdown: now the popover size fits the input field (#184) (1b23924)
- nv-fieldtextarea: make sure the autosize is triggered when value prop is changed (#192) (103f367)
- release-script: use dynamic project root path for .csproj version update (#196) (ee9665c)
- release: fixes release script and bumps npm versions to 3.0.0-beta.33 (9f90428)
3.0.0-beta.31 (2025-01-14)
Features
Bug Fixes
3.0.0-beta.30 (2025-01-14)
⚠ BREAKING CHANGES
When generating the tailwind tokens, new classes and tokens are generated. Hence some old classes might not work
Bug Fixes
- extract-tokens: No longer extract tokens that are deletedButReferenced (#177) (a4fc479)
- vue: makes sure events names can be transformed to kebab-case (#175) (3cae48d)
3.0.0-beta.29 (2025-01-08)
Features
Bug Fixes
3.0.0-beta.28 (2025-01-02)
3.0.0-beta.27 (2024-12-22)
Features
- datagrid: Add documentation for complex data handling in Stencil and initial datagrid draft and Blazor Readme (#166) (42507c2)
- extract-tokens: create a json token file from Figma API (#165) (f488828)
Bug Fixes
- blazor licence: include LICENSE and README files in the package (#163) (f348550)
- blazor: fixed the import of blazor into apps (#167) (d28a7db)
- react-storybook: component name rendering (#164) (78a2fe2)
3.0.0-beta.26 (2024-12-18)
3.0.0-beta.25 (2024-12-18)
3.0.0-beta.24 (2024-12-18)
⚠ BREAKING CHANGES
Features
- global: update font import (#143) (c0f4084)
- nv-fielddropdown: creation of nv-fielddropdown component (#145) (3621c81)
Bug Fixes
- generate-component: update test file path and extension for Playwright tests (#146) (06d7712)
- Testing: Changed the extension files for playwright testing (#142) (f90485e)
3.0.0-beta.14 (2024-11-15)
Features
- nv-menu: adds nv-menu & nv-menuitem components (#128) (e62420b)
- base: tailwind plugin export (#129) (9ad791f)
- blazorstorybook: Adds branding to Blazor Storybook (#124) (3d0ea5b)
- generateblazordemo: add Blazor Demo App generation script and update Vue.js files (#132) (7647726)
- icons: add car-crane caravan clock-edit (72a8c18)
- input-controls: update disabled style #136 (2051d79)
- staticapps: Add Blazor Storybook to static apps (#134) (302994d)
Bug Fixes
- nv-badge: fix badge alignment with and without icon (#127) (6f984c2)
- nv-fieldcheckbox: restore readonly opacity (#138) (c178981)
- nv-menu & nv-menuitem: solve multiple event propagation (#135) (9e4e461), closes #137
- storybook: updated the child rendering of the generation for Blazor Storybook (#133) (ac30357)
3.0.0-beta.13 (2024-10-24)
Features
- fonts: cleanup font direction, add monofont and update font.css (50a8e73)
- generate-icon: remove special chars from icon name if present (94109cc)
- global-styles: add cursor not-allowed on disabled elements (2fc4999)
- nv-fieldcheckbox: Added nv-fieldcheckbox testing + updated logic tests (2bf1ef9)
- nv-icon-: add icons from mccs (da45fc0)
- nv-icon: added tir, train and bike icons (8730f68)
- nv-icons: added download icon (cafb418)
- nv-popover: add tokens (da19bcd)
- nv-popover: added styles for popover and tooltip and removed spatial modes (0b96908)
- popover: adds popover and tooltip components (711703e)
- release: adds husky and committizen (e00702a)
- storybooks: creates custom addon for theme switching (0e1f37a)
Bug Fixes
- adds clean script to storybook utils package to prevent npm exit code (0093a07)
- codecheck: added chromium browser (e1b9e81)
- CodeSpace: added default language of code space to en (e77c8a9)
- devcontainer: Block the French Language Pack (7da123a)
- Dev: devcontainer (9aec83e)
- naming: NvBadge (a94e910)
- naming: NvBadge (ff70fc4)
- numberfield: improve stepper css and functionality (4d6fe73)
- nv-button: Updated the nv-button tests and add playwright to it (ab4fbcc, cd0e40a)
- Playwright: fixed the readme docs of playwright (0536ac7)
- popover & tooltip: fix style issues (4f122b7)
- rebase: fixed little error from rebase (1beb888)
- rebase: fixed little error from rebase (ab0aae0)
- removes husky deprecation (7610b5a)
- stepper-event missing: value changed event not fired when value is changed using stepper (dd00522)
- stepper-event missing: value incorrectly updated when using stepper buttons (b05123b)
- stepper-event-missing: update event in autogenerated documentation (8a8d9e3)
- stepper: lock the numberfield value to the amount of decimals from the step value (743e7f8)
Changelog
All notable changes to this project will be documented in this file. See commit-and-tag-version for commit guidelines.