Skip to main content

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 previous dataHandler 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 more
      • headerStep() – Triggered after header selection is confirmed, enabling pre-mapping data modification. Learn more
      • mappingStep() – Triggered after mapping is confirmed, prior to review, providing access to mapped data and mapping logs, and enabling data modification and validation. Learn more
      • reviewStep() – Triggered before completing the import, allowing final data validation or blocking the import. Learn more
    • Each step supports alert() and block() methods to trigger the corresponding warning or error modals.
  • 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.
  • Adjusted the onResults callback. Learn more
    • Now supports block() for consistent error handling, similar to other stepHandler steps.
    • Unified success modal behavior and configuration via successModalConfiguration.
    • Updated default loading animation and modal interactions.
    • Deprecated PassSubmitResult() and RejectSubmitResult() in favor of complete({importedRows, failedRows}) and block().
  • Unified all loading animation texts for consistency and enhanced UX.
  • Adjusted columnHooks and onEntryInit so that all TDM keys, including unmapped keys, are present in the data object with null as value. This ensures data consistency for hooks and review logic (exception: when onlyMappedColumns === true, only mapped keys are present).

Deprecated

  • Deprecated the dataHandler. All previous dataHandler hooks are now replaced by the corresponding stepHandler hooks (uploadStep, headerStep, mappingStep, reviewStep). Please migrate to stepHandler for future compatibility.

Migration Notes

  • All previous dataHandler functions (headerStep, reviewStep, onEntryInit, etc.) must be replaced with the new stepHandler 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() and RejectSubmitResult() should be updated to use complete({importedRows, failedRows})/complete() and block() respectively inside onResults.

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 index 0 will always display as index 1 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 as disabled.
  • 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 version 1.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.
  • 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).

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 and processingEngine settings. Use optionMappingConfiguration 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 by onResults.
  • 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.