Change Log
A record of all notable changes made to the application.
Last updated
Was this helpful?
A record of all notable changes made to the application.
Last updated
Was this helpful?
Added OpenAI to the list of Sub Processors in the DPA.
Why is OpenAI added as a subprocessor? CSVbox leverages OpenAI’s industry-leading AI capabilities to enhance functionality within the importer app. As we build new AI-powered features, OpenAI has been included as a subprocessor.
Added support for file submissions without requiring predefined template columns. Check out Zero Template Column functionality
Expanded styling options with customizable colors, fonts, and layout sizes, allowing for a more consistent and professional appearance.
Added Mapping Choices - option for customers to map file columns to template fields or template fields to file columns.
Support for Environment Variables is now available in Validation Functions, Data Transforms, and Virtual Columns.
Relocated the File Delete Policy from account-level settings to sheet-level settings.
Introduced the csvbox.columns
object for use in Data Transforms and Validation Functions.
Added auto_map attribute to the REST File API to activate automatic column mapping during file submission.
Optimized the code to improve import performance 2x.
Introduced Data Transforms, enabling a new method for bulk editing datasets before pushing them to your app. Learn more here: Data Transforms Guide
Refined the CSVbox admin panel UI for a more intuitive and streamlined experience.
Added the option to hide File Upload Box for cases where only Copy-Paste data option is mandatory.
For List-type columns introduced the ability to accept list values interchangeably with display labels.
Introduced several UI improvements to the importer, including a confirmation prompt when closing the import process.
Added toggle functionality to enable or disable Virtual Columns and Validation Functions.
Added the option to show Unmapped Columns on the Validation Screen.
Updated the REST File API to enable direct uploading of file contents. Check import.file body param.
Added support for the Slovak language.
Added the functionality to make columns Read Only.
Enable end users to input a file/import description before uploading the file. More info here.
Added support for the Turkish language.
Importer Enhancement: The importer now handles password-protected files more effectively. Users will receive a message indicating that password-protected files cannot be read.
You can now provide a URL to redirect the page after the import is completed successfully.
Two-Factor Authentication (2FA) is now available for all CSVbox users. This new feature is a part of our ongoing efforts to enhance security when accessing our platform. To activate 2FA, login to your CSVbox account > go to Accounts page > Click on 'Enable 2-factor Authentication' button and follow the instructions.
Added upload_file_url and upload_file_worksheet_name options to pre-load the importer with data from a file.
You can now encrypt environment variables using the AES Everywhere library to protect sensitive data. More info here.
Updated the List Type Column validation to include the 'Accept Other Values' option.
Selecting the 'Accept Other Values' option will allow the users to input values that are not found in the predefined list of acceptable values.
This option is also available for the Dynamic List, Multi-Select List and Dynamic Multi-Select List column types as well.
Added min_rows config option to enforce a minimum number of rows uploaded in a single sheet.
Added option to configure a default delimiter for manual data entry.
You can now add Environment Variables to define different environments (such as 'production', 'staging', 'local') and pass dynamic values to the importer.
You now have the capability to directly send JSON formatted files to S3, in addition to the CSV format files that were already sendable.
Added search functionality to quickly find the text in the uploaded sheet. It can be turned off via the admin dashboard.
Added functionality to find and replace text in the uploaded data.
A new option was added to allow the default selection of columns as Ignored Columns.
Added Azure Blob Storage as data destination.
Added Google Sheets to the target_file_name option. You can now provide custom file names for each new import in Google Sheets.
New option to append custom user attributes to Dynamic List API. This helps to identify the user in your app and generate custom list options.
Added an option to skip the Data Validation screen if no errors are found.
The $9 Personal Plan has been discontinued. Existing subscribers to this plan will remain on their current subscription.
Added a new page for API keys. Each team will have one common set of API and Secret key. Only the Super Admin can generate/regenerate the keys. Admin and Tech roles can view the keys.
Updated Airtable integration to move from the older API key based authentication to the newer Personal Access Token based authentication.
Added optimizations to improve speed.
Fixed vulnerabilities as per the external pen testing report.
Improvements added to Server Side Validation functionality. To allow the users to re-submit all the rows again (instead of error rows only) we have added the 'All Rows' option as shown below:
Updated Teams feature to allow users to be part of multiple teams.
Added option to skip pushing of header row to the FTP data destination.
It is official! CSVbox is now SOC 2 Type 2 certified. Read more.
Added the 'Allow Commas' option to the 'Number' type column.
Add an option 'No headers in the sheet' on the Header Row selection page.
Added target_file_name option to control the name of the file that gets pushed to the end destination.
Added dynamic column support to Validation Functions.
Added Validation Functions. Code your custom validation logic in Javascript.
Added support for worksheet selection in Excel files.
Deployed the functionality to add multiple team members to the CSVbox account.
Added new options - max_rows_allow_submit and max_rows_custom_message for max_rows validation.
Added Currency Column Type validation.
Added raw_columns object to the Import Complete Webhook and the Data at Client. This object contains all the column headers found in the raw spreadsheet file uploaded by the user.
Added sample_template_url and sample_template_button_text configuration options. With these, you can now configure a dynamic sample template file for each user.
Added Ignored columns - allow users to skip columns for data submission.
Infrastructure changes
Bug fixes
Added functionality to hide copy-paste data option.
Added option to skip confirmation message when accepting invalid data.
UI enhancements to improve the speed of the admin dashboard.
Enabled multiple importers on the same page for the Bubble plugin.
Performance improvements across all destinations.
Few UI enhancements. Now the entire row gets highlighted when there is a validation issue in any one cell.
Added Private Mode for data processing.
Added Server Side Validation (Beta) feature
Added the Danish language to the importer.
Added option to select between Sequential and Parallel sending of data via webhooks. More info here.
Option to add a new sheet in Google Sheets for each file upload.
Added the importer event onLoadStart. It gets triggered when the importer iFrame starts loading.
Added Upsert operation for Airtable.
Option to disable user keywords based column mapping.
Added position
parameter to control the display order of the dynamic columns.
Added Lazy Load option for importer initialization.
Added multiple-level List-Dependent List validations.
Added info icons on the Column Mapping page.
Updated email validation to accept special characters.
Fixed bugs, improved notifications and made minor UI changes to the admin section.
Added the Japanese language to the importer.
Added option to skip Column Mapping screen if there is an exact match of columns.
Added support for delimiters such as "." and "|" for Multi-select List and Dynamic Multi-select List column types.
Added Slovenian language.
Added the option to provide help text in multiple languages.
csvbox.row["total_rows"]
and csvbox.row["row_number"]
data variables added to Virtual Columns.
csvbox.virtual
object added to Virtual Columns.
Added 1-click Resubmit button to trigger a new import on the recently submitted file.
Added Multi-select List and Dynamic Multi-select List column types.
Added option to view and delete User Keywords.
Added a Reset All Mappings button to make it easier for the users to reset and remap the columns. This button is optional and its visibility can be controlled via the Sheet settings page.
Added the Italian language option for the importer front end.
Added option to Copy sheet settings to an existing sheet. The data destination config and license key remain the same in the target sheet.
Optimized SQL Server integration code to improve speed.
Added data_location initialization parameter for specifying data and server location.
Fixed UI buys related to max_rows option.
Upgraded infrastructure and added optimizations for improved speed for EU region.
Improved performance for imports with many Virtual Columns.
Updated DPA to add Europe Data Residency option.
Added the option to select Europe (Germany) location for data residency. More info here.
Added Hebrew language for importer frontend.
Added Time Column type validation.
The 100 column sheet restriction removed.
Added Virtual Columns. Create new columns by applying custom data transformation logic.
Added the Romanian language option for the importer frontend
Added Import Link disable option
Added option to control import dialog size
Added decimal / integer validation
Updated React, Angular and Vuejs libraries for onSubmit Importer event
Added onSubmit Importer event
You now have the option to specify a default filler value for the column in case the incoming data is blank.
Added domain authorization option. You can provide a list of approved domains/sub-domains for embedding the importer. The embedded importer will work on the whitelisted domains only.
Added functionality to configure custom success or failure messages at import complete. More info here.
Added dynamic column support for Depenedent List and Dependent Dynamic List columns.
Added the Polish language option for the importer frontend.
Added the Thai language option for the importer frontend.
Added column_mappings object to the import complete webhook and the callback function. The column_mappings object contains the user-defined mappings between the columns of the sheet (template) and columns in the uploaded CSV file.
Added the Import ID column in the table on the Imports page of the CSVbox dashboard.
The dynamic columns now support multiple date validation.
Added an Export button that downloads the validation errors and row data in an Excel sheet. More info here.
Updated importer UI to show the truncated row count.
Added Max Rows option to the importer dashboard. It limits the number of rows per import.
Added phone number validation based on the libphonenumber.js library.
Minor UI changes to the import modal. Changes include:
The importer modal is now full screen across all devices.
The column mapping table & validation error text are center-aligned for better visibility.
New styling options added - upload logo and custom fonts.
Added the Arabic language (ltr) support for the importer frontend.
Added option to allow displaying the import fail error messages to the end-user.
Added Primary Color custom theme option. You can stylize the importer with the primary color of your brand. More styling options coming soon.
The importer will attach the custom user attributes as query parameters to the Dynamic List API request. csvbox_ prefix will be added to the custom user attribute query parameters. This will help you identify the users/environment and return back a relevant list of values.
Added Upsert operation to MySQL, PostgreSQL and MS SQL data destinations. Instead of directly inserting the file data to the databases, the importer will first check if the record exists. If the record exists, then the row will be updated. Only if the record does not exist then a new row will be added.
Added Dynamic List column type to accept valid list values via API, real-time.
New display options for the 'Select Header Row' page of the importer.
Skip this step? - Hide/Show the 'Select header row' page to the users.
Show encoding - Hide/Show the character set selection list to the users.
Switch Row/Columns - Hide/Show the option to switch rows and columns to the users.
These settings help to remove the non-essential options from the importer and make the user experience cleaner.
Added the option (DELETE button on Accounts page) to delete and close down the CSVbox account permanently.
Added 'Multiple' option to Date Type columns. With this, you can provide multiple date formats that are allowed for the incoming data.
Added the option to receive the CSV data in JSON format in the callback function. More info here.
Added Notion Data Destination
Fixed a bug for very large file uploads with REST FileAPI
Ability to add help texts for each page (header selection, column mapping, data validation) on the importer
Yearly pricing plans
REST File API beta
New importer events (onReady, onClose)
request_headers option to send headers at run-time
PATCH request type
total_rows parameter to the API output.
original_filename parameter to the import complete webhook and importer callback function.
Fixed issue related to freezing of the importer
Updated the code from Laravel 8 to Laravel 9
Added new layers of database security
Fixed issue related to the downloading of the template files
Added custom attribute mapping for Airtable
UI enhancements
Custom message for regex validation.
Portuguese language support for the importer frontend.
language sheet option to select the frontend language while initializing the importer.
You can now view the translated texts for all supported languages and submit suggestions for changes.
Dutch language support for the importer frontend.
Unmapped Columns: Allowing users to submit columns not included in the sheet template.
Header row selection step in the importer.
Importer internationalization. The importer now supports German, French and Spanish languages.
max_rows config option to restrict the number of rows uploaded in a single sheet.
Included 'Custom' validation option for Date Type columns. Date formatting options available here.
Added options for controlling the close of importer dialog after the import is complete.