Release Notes v3
info
As of version 3.x, all frameworks now use the new scoped packages: @getnuvo/importer-react
, @getnuvo/importer-angular
, @getnuvo/importer-vue
, and @getnuvo/importer-vanilla-js
. These packages replace the older nuvo-*
packages used in versions 1.x and 2.x.
While you can continue using the previous versions, we recommend migrating to the new @getnuvo/importer-*
packages to benefit from the latest features, performance improvements, and ongoing support.
27.06.2025
3.3.0
Added
- Introduced the new
stepHandler
feature, which replaces and extends the previousdataHandler
functionality, providing more granular and consistent control throughout the import process.- Added the following
stepHandler
steps:uploadStep()
– Triggered after file upload and parsing, allowing access to the original file(s) and direct modification of the uploaded data before sheet/header selection. Learn moreheaderStep()
– Triggered after header selection is confirmed, enabling pre-mapping data modification. Learn moremappingStep()
– Triggered after mapping is confirmed, prior to review, providing access to mapped data and mapping logs, and enabling data modification and validation. Learn morereviewStep()
– Triggered before completing the import, allowing final data validation or blocking the import. Learn more
- Each step supports
alert()
andblock()
methods to trigger the corresponding warning or error modals.
- Added the following
- Added a new
nuvo AI Prompts
feature, unlocking powerful bulk editing using natural language in the review step. Learn more
Improved/Changed
- Improved the design and functionality of the "Ready to submit?" modal in the review step:
- Added the configurable setting
submitModalConfiguration
to optionally hide the modal, show an import summary, and/or export only error rows. - In combination with
stepHandler.reviewStep()
, you can now execute pre-submission validations, add cell-specific error/warning/info messages, and block the user from progressing if needed.
- Added the configurable setting
- Adjusted the
onResults
callback. Learn more- Now supports
block()
for consistent error handling, similar to otherstepHandler
steps. - Unified success modal behavior and configuration via
successModalConfiguration
. - Updated default loading animation and modal interactions.
- Deprecated
PassSubmitResult()
andRejectSubmitResult()
in favor ofcomplete({importedRows, failedRows})
andblock()
.
- Now supports
- Unified all loading animation texts for consistency and enhanced UX.
- Adjusted
columnHooks
andonEntryInit
so that all TDM keys, including unmapped keys, are present in the data object withnull
as value. This ensures data consistency for hooks and review logic (exception: whenonlyMappedColumns === true
, only mapped keys are present).
Deprecated
- Deprecated the
dataHandler
. All previousdataHandler
hooks are now replaced by the correspondingstepHandler
hooks (uploadStep
,headerStep
,mappingStep
,reviewStep
). Please migrate tostepHandler
for future compatibility.
Migration Notes
- All previous
dataHandler
functions (headerStep
,reviewStep
,onEntryInit
, etc.) must be replaced with the newstepHandler
equivalents. - The structure and available arguments for the hooks have changed. Review the updated syntax and sample usage in the stepHandler documentation.
- For a guided migration, use our Migration GPT or contact support at [email protected].
- Code using
PassSubmitResult()
andRejectSubmitResult()
should be updated to usecomplete({importedRows, failedRows})
/complete()
andblock()
respectively insideonResults
.
30.05.2025
3.2.0
Added
- Added React 19 support.
Improved
- Adjusted our Angular, Vue and vanilla JS version to properly destroy the importer component on close. This resolves an issue where the "Screen width is too small" modal would persist in the DOM and remain responsive to screen size changes, even after navigating away.
- Ensured consistent row index display in the review step. Applying filters or sorting no longer causes discrepancies between the technical and displayed
rowIndex
values. For example, a row with technical index0
will always display as index1
within the review step UI, regardless of sorting.
Fixed
- Fixed a crash occurring when using Angular, and the user tried to delete rows within the Error tab.
- Fixed a localization issue in the French version of the UI where the upload button incorrectly displayed “Choisir le dossier” (Choose the folder). It now correctly displays “Choisir le fichier” (Choose the file).
- Fixed an issue where
columnHooks
were not executed for columns marked asdisabled
. - The
onCancel
callback is now also triggered when users close alert modals ("Invalid license key" modal, "Screen width too small" modal, etc.).
13.05.2025
3.1.0
Added
- Added Angular 19 support.
Updated
- Updated
axios
to version1.8.4
to address a security vulnerability.
Fixed
- Fixed a workflow issue where selecting the manual importer flow while using the Contextual Engine in combination with
automaticHeaderDetection
led to the wrong step.
22.04.2025
3.0.1
Added
- Added a new
contextualEngine
setting to enable our Contextual Engine feature. This option enables for automatic end-to-end import handling, including mapping, transforming, and cleaning data (link).- When set to
"enabled"
, the engine runs automatically after uploading the input file. - When set to
"prompt"
, users can choose between the Contextual Engine and the manual flow.
- When set to
- Introduced a new
baseUrl
key to support using nuvo's self-hosted backend and mapping module (link). - Made major improvements to the mapping module to boost accuracy and performance speed, while giving you finer control over mapping behavior through configurable layers, processing modes, and thresholds.
- Introduced two new configuration objects:
columnMappingConfiguration
– Allows defining where column mapping should run ("browser"
or"node"
), which matching layers to apply ("exact"
,"historic"
,"smart"
,"fuzzy"
), and the confidence threshold for accepting matches (link).optionMappingConfiguration
– Offers the same level of control for the option mapping of each category column, with default processing in the browser (link).
- Introduced two new configuration objects:
Improved
- Improved sticky footer behavior for embedded use: when
modal === false
, the footer is now fixed to the bottom of the importer component instead of the full page. This prevents overlap with the host application and ensures smoother integration.
Deprecated
- Deprecated the
optionMappingMode
andprocessingEngine
settings. UseoptionMappingConfiguration
instead for more granular control over option mapping behavior.
Fixed
- Fixed an issue where hidden keys were not included in the row object within
errors
returned byonResults
. - Fixed an issue where imports without confirmed mappings led to an empty review step.
- Fixed an issue where 2D JSON arrays were incorrectly parsed, adding an extra top row containing index values.