Changelog
Import via API
We understand every company's file ingestion process is unique. That’s why a focus for OneSchema has always been enabling companies to optimize OneSchema’s import workflow for their specific use case. To further expand on the customizability of OneSchema, we’re introducing Import via API.
For workflows that ideally involve a blend of managing some portions of the import process internally while still using OneSchema to handle the rest, initializing the importer via our API provides a great solution.
Accept partial imports
A new modal has been added to the end of the Review & Finalize pane that allows you to accept only rows without errors. For use cases where you’d like to get as much data in as possible but ingesting all of the user’s data isn’t critical, this is a great option to increase your import conversion rates.
The new modal addition:
- Allows your user to submit clean rows without having to fix every single error in their data
- Gives end users the opportunity to export the remaining errors so they may fix their data in Excel and re-upload it into your system.
Note: This modal will only appear if there are remaining error rows in your end user’s upload when they attempt to import.
OneSchema will still send the final JSON export with clean rows as “records” and error rows as “error_records.” This way, even if your user never returned to clean the rows with the remaining errors, you still have a record of the data not imported.
Skip mapping pane
The importer will now skip the mapping step if all template columns are matched (exact match) in the list (and header row selection was also skipped).
Data Template summary
You can now customize the first pane of your CSV import experience to include a summary of the data you’d like your customer to import. You can include your required and optional fields and descriptions of the data the customer should upload.
We added the following optional customizations to empower you to create the ideal experience for your end users on the first pane:
- The header and subheader copy within the Uploader component can now be fully customized
- Show the required columns and their descriptions in a new InfoSideBar component
- Show the required and optional columns along with their descriptions in a new InfoSideBar component
You can learn more about how to enable these customizations in our docs.
Localization (21 languages)
OneSchema now supports the ability to fully translate the UI into the language of your choosing. Internationalization is currently an enterprise-tier feature. Please reach out to us to discuss your team's i18n needs and desired language support. Supported languages include: English, Spanish, Portuguese, French, German, Swedish, Chinese (Simplified), Czech, Danish, Dutch, Finnish, Hungarian, Italian, Japanese, Korean, Norwegian, Polish, Portuguese, Romanian, Russian, Arabic,
Learn more about the configuration option in our docs.
Guided error-fixing
We’re very excited to announce our most requested feature: guided error fixing. In our beta tests, offering helpful suggestions for resolving errors has driven substantial uplift in import conversion rates. These upgrades include:
- Error Fix Suggestions: OneSchema will offer suggestions to your customer to fix errors, contextualized to the type of error your customer is encountering.
- Navigate to column with errors: When clicked in the issues summary, OneSchema will now pull the column with issues directly into view.
Bulk deleting rows:
- Delete all rows with errors: OneSchema now contextually surfaces the option to delete all rows with errors, allowing customers to progress in their import workflow. Alternatively they can “Export to Excel” to get a summary of their errors.
- Delete selected rows: “Delete selected row(s)” button when selecting rows will be shown to users
We are also launching usability improvements based on customer feedback:
- Issues Sidebar: Issues summary sidebar will no longer obstruct the last few columns in the sheet. Instead, it will appear inside of the spreadsheet view.
- Filter to find errors: We’ve added a “show error” button in the issues summary that when clicked, brings the error front-and-center. It’s never been easier to find errors in your file.
SOC 3 Report
Import activity
An activity feed of all successful, failed, and unsubmitted imports are now available to view via the Developer Dashboard. This will let your team review information about the files that are being imported by each of your users. To help your customer success teams easily provide troubleshooting support on failed imports, we’ve also added the option to download the original files uploaded by your users.
SDK updated to 0.2
We’ve updated the version of our Javascript and React SDKs to v0.2. Updating the version will require some small changes to initialization and passing in configuration options.
See the new documentation here:
Javascript: https://docs.oneschema.co/docs/javascript
Multi-picklist error resolution
We’ve improved our picklist data type error resolution to support multi-value picklists. Your users can now resolve any delimited picklist columns with ease in the same way they would for single value picklist columns.
Skip header row selection pane
To streamline the import process, users who upload a file with a header row will now skip the Header Row Selection pane and be taken directly to the Map Column pane. Header rows are automatically identified based on a number of criteria. To learn more about how we identify the header row, visit our changelog here.
Template sandbox experience
To enhance the template creation process as well as the implementation experience, we’ve released a sandbox of the Importer. This will allow you to see the Importer in action without any additional effort and quickly test new or existing templates with real files.
Picklist mapping
Your users will now be prompted to map their picklist values to the set of values that you specify within a template. Picklist mapping will help eliminate any unrecognized, undesired, or incorrect values from being in the imported data.
Intelligent column mapping
We’ve improved our column matching algorithm so your users’ uploaded columns will be automatically mapped to template columns during the Map Column pane more often. In addition to mapping columns that have exact column names, OneSchema will also remember historical mappings that your users may have successfully imported in the past. You can learn more about how our mapping intelligence works in our changelog.
Default fill columns
You can now enable template columns to automatically fill a value of your choice into the mapped column’s empty cells.
Note: This is only available to customers whose Importers are using our new Rust architecture. Please reach out to your account manager if this feature isn’t available in your Create a Template column modal.
Multi-region hosting
Advanced Branding
You’re now able to customize the appearance of the OneSchema Importer through our developer dashboard! You may customize the primary color of the Importer to better match your brand colors and import a custom font via URL (e.g. Google Fonts or Adobe TypeKit). You will also be able to hide the OneSchema logo as long as you have committed to our annual subscription pricing.
We’re actively working on bringing you more granular customization options to better fit in with your product styles — if you have any particular requests, please let us know.
Audit logging dashboard & API
Angular SDK
Angular SDK is now available for users who would prefer to build the OneSchema Importer using Angular.
Support for 10M+ row files
Our spreadsheets are running on new infrastructure! Our engineering team has built a new spreadsheet data service in Rust that loads every uploaded file fully in-memory. The spreadsheet files will live on new high-memory servers that make it possible to validate and transform files of up to 4 GB in under 1 second.
Files of up to 1,000,000 rows can be:
- Uploaded in under a minute.
- Validated in under a second.
- Auto-fixed and transformed in under a second.
Branding v1
You’re now able to customize the appearance of the OneSchema Importer through our developer dashboard! You may customize the primary color of the Importer to better match your brand colors and import a custom font via URL (e.g. Google Fonts or Adobe TypeKit). You will also be able to hide the OneSchema logo as long as you have committed to our annual subscription pricing.
We’re actively working on bringing you more granular customization options to better fit in with your product styles — if you have any particular requests, please let us know.
GDPR Compliance
HIPAA Compliance
Excel worksheet selection
Your users will be presented the option to select which worksheet within an Excel workbook they want to upload.
Note: This pane will only appear for users who upload an Excel Workbook with multiple worksheets. CSV uploads and single sheet imports will not trigger this modal.
Access management
You can now grant and revoke team member access to OneSchema directly from the developer dashboard.
Custom columns
From our new Template Settings, you can now allow your users to upload and import custom columns from the Importer.
Your users can map any of their uploaded columns as a custom column. Custom columns come with default string validations but can be customized with additional validations from the Template Settings page.
Mapping UI update
The UI for the Map Column pane has been updated. We’ve added more visual separation to delineate your user’s uploaded columns from the template columns. We’ve also improved the delete UX to make it clearer that columns are deleteable and will not be imported as a result.
These changes do not require any additional configuration from you.
Column descriptions
Write custom descriptions for any column you feel your users could use additional context or instructions. These descriptions can help guide them through the mapping process and during the final validation step. Descriptions will appear in context to each column, both in the Map Column pane and the Review pane.
Column validation hooks
External validation hooks now also support column hooks in Rust. Below are the differences between the existing external row hooks and the new external column hooks:
Configuration differences: If the hook type is `column` the batch size can’t be configured since we always send all rows for column hooks. As you can see in the screenshot we also show a warning banner since a slow column hook could result in a bad user experience. The reason for this lies in the behavioral differences.
Behavioral differences: When a single value is updated by the user we send only send the edited row for row hooks. For column hooks, we send the whole affected column which can be slower depending on the logic implemented by our admins.
Gating: The gate `ColumnHooks` has to be active in order to create and use column hooks. If the batch size doesn’t show up the `InMemoryListStorage` gate is not active.
Embedded importer launch
The launch of our ready-made CSV importer for developers which automatically corrects customer data. (Also: edge case handling, simple UI, bulk editing).
Dynamic templates
Create custom templates for each of your users. Generate templates via code and create an import experience tailored to your customer’s unique needs.
SOC 2 Type II Compliance
While OneSchema makes the overall process of data migration much faster and far less painful, security and compliance are always top of mind as our customers trust us with their customer's sensitive business data and PII.
We are extremely excited to share the news today that OneSchema has now achieved SOC2 Type II compliance.
Export to Excel with highlighting
Users can now download annotated Excel files with their errors highlighted, allowing them to collaborate with other users on error correction.
Expanded validation library (50+ options)
No-code validation library
At OneSchema, we’ve created the largest proprietary library of data validations available, designed for all industries. With our pre-built validators, even non-technical team members can configure your template(s) without asking an engineer for a single line of code – all while saving your team the enormous cost of building and continuously maintaining validations every time your database schema changes.
With OneSchema, setting up a validation is as easy as giving the column a name, selecting a validation from the dropdown, and optionally ticking a few boxes. We’re continuously testing our validators against messy CSV data of all types across our customer base, updating them to handle the never-ending list of new edge cases, and adding new ones so your team can focus on building your core product.
No-code validation library
At OneSchema, we’ve created the largest proprietary library of data validations available, designed for all industries. With our pre-built validators, even non-technical team members can configure your template(s) without asking an engineer for a single line of code – all while saving your team the enormous cost of building and continuously maintaining validations every time your database schema changes.
With OneSchema, setting up a validation is as easy as giving the column a name, selecting a validation from the dropdown, and optionally ticking a few boxes. We’re continuously testing our validators against messy CSV data of all types across our customer base, updating them to handle the never-ending list of new edge cases, and adding new ones so your team can focus on building your core product.
FileFeeds Mapping + Transforms experience updates
- Pipelines are now built into FileFeeds and called Transforms
- FileFeeds now respect pushed templates (relying on the latest template version pushed to the Production environment)
- Change history: you can now see the history of saved transforms per FileFeed
- New bulk action & pop-up: “Missing required columns”, clicking on “Add all missing columns” forces all required template columns onto the FileFeed
- “Save transforms” button moved to the top right corner of Transforms
- When uploading a new sample file to a FileFeed, the column mapping modal auto-opens
- Sample file columns mapped to template columns are now highlighted by a green “MAPPED” badge
- Other minor UI/UX updates
Support for 50M row files
We've increased the efficiency of our Rust data infrastructure, allowing support for uploading even larger files than before (up to 50M rows). Note: performance will be affected if code hooks are used, depending on the complexity of the code hook.
Code Hooks API
We've launched additional endpoints for creating code hooks via the API to allow you to easily manage your code hooks locally.
Webhook logs popover update
The log details popover for Validation Webhooks now contains "rows sent" and "errors returned". This will aid you in more easily debugging validation webhook issues.
All templates page redesign
We've just launched a redesign to the all templates page that allows users to search and sort their templates by various criteria (eg. template key, label, created time) and filter templates by whether they were created from the API. Our goal is to continue making it easier and much faster for you to find a template they are looking for, especially for organizations with a large amount of dynamic templates.
Picklist Truncation and Dropdown Width Adjustments
These 3 improvements to picklists help customers whose use cases require long picklist values to be inputted:
- Picklist pills will now truncate properly with a tooltip on hover to show the full value
- The base width of the dropdown has just naturally been increased 20% across the board
- The width of the dropdown will now actually increase if the column width increases
Accounting format for Number Autofixer
We've launched an update to our number autofixer, which can now handle negative numbers in account format. You can utilize this to automatically correct entries formatted as (100), and automatically change them to -100.
External API keys update
The external API keys page has been updated so every user can see all external API keys in their organization. With these changes, a user can create multiple keys, set a label, and see when an API key was last used. In addition, deleting a user also now does not delete any API key(s) created by that user.
Environment variables in webhook keys
Customers can now set environment variables in webhook keys. This helps customers who want to keep their secret keys isolated across different environments.
Define validation hooks in template overrides
Customizations and Templates determine the behavior of OneSchema Importers. Using overrides can allow specific behavior for individual importing sessions. Customers now have the ability to define validation hooks in template overrides.
Historical Matching improvements
We've launched a feature to split Historical Matching into User-specific and Org-level matching. Previously, this only worked on the org-level. This helps customers whose users are differentiated enough that they do not want to have cross-user mappings be saved.
Environment Variables in Importer Webhooks
Per-Customer Overrides
We’ve made improvements to our Template Overrides functionality by adding the ability to add and remove columns from the overrides.
Code Hooks improvements
We’ve made improvements to our custom code transformations and validations, also known as OneSchema Code Hooks. These Code Hook upgrades aim to greatly enhance both how your team builds custom functions that support your company’s unique business logic, as well as how your end-users experience the OneSchema Importer.
Review & Finalize pane UI improvements
We’ve added UI for end users to immediately filter for all rows, only rows with errors, or only clean rows.
Custom column support in validation webhooks
Custom columns can now be supported inside of validation webhooks. Review our updated docs to understand the different use cases, how to set up custom columns, and example JSON POST/responses.
Markdown support in customizations
To provide further customization of our Upload pane, the optional message box can now be customized using Markdown. Our customers can insert URLs to additional data import resources for the end user.
Multi-suggestion support for validation web hooks
Customers can now choose to return a list of suggestions from a validation webhook. End users will be prompted to select one of the suggestions as a part of the error resolution process.
Better error messages for numbers and currency
The error messaging for the Number data type and Money data type has been improved so end users can better understand why the value is invalid and how to fix it.
New template configurations
OneSchema templates just got even more powerful.
- With the alternative mappings feature, you can tell OneSchema which mappings you’re expecting to see so that your user won’t have to map them manually.
- Use fill default values to automatically fill in empty cells instead of leaving them blank
- Check out the flexible options on our data type validations that let you validate everything from digits after the decimal to excluding special characters.
We've also redesigned the template column creation modal to better organize all the different data validations options and to make template creation easier for you.
Guided error-fixing
We’re very excited to announce our most requested feature: guided error fixing. In our beta tests, offering helpful suggestions for resolving errors has driven substantial uplift in import conversion rates. These upgrades include:
- Error Fix Suggestions: OneSchema will offer suggestions to your customer to fix errors, contextualized to the type of error your customer is encountering.
- Navigate to column with errors: When clicked in the issues summary, OneSchema will now pull the column with issues directly into view.
Bulk deleting rows:
- Delete all rows with errors: OneSchema now contextually surfaces the option to delete all rows with errors, allowing customers to progress in their import workflow. Alternatively they can “Export to Excel” to get a summary of their errors.
- Delete selected rows: “Delete selected row(s)” button when selecting rows will be shown to users
We are also launching usability improvements based on customer feedback:
- Issues Sidebar: Issues summary sidebar will no longer obstruct the last few columns in the sheet. Instead, it will appear inside of the spreadsheet view.
- Filter to find errors: We’ve added a “show error” button in the issues summary that when clicked, brings the error front-and-center. It’s never been easier to find errors in your file.
Import activity
An activity feed of all successful, failed, and unsubmitted imports are now available to view via the Developer Dashboard. This will let your team review information about the files that are being imported by each of your users. To help your customer success teams easily provide troubleshooting support on failed imports, we’ve also added the option to download the original files uploaded by your users.
SDK updated to 0.2
We’ve updated the version of our Javascript and React SDKs to v0.2. Updating the version will require some small changes to initialization and passing in configuration options.
See the new documentation here:
Javascript: https://docs.oneschema.co/docs/javascript
Default fill columns
You can now enable template columns to automatically fill a value of your choice into the mapped column’s empty cells.
Note: This is only available to customers whose Importers are using our new Rust architecture. Please reach out to your account manager if this feature isn’t available in your Create a Template column modal.
Advanced Branding
You’re now able to customize the appearance of the OneSchema Importer through our developer dashboard! You may customize the primary color of the Importer to better match your brand colors and import a custom font via URL (e.g. Google Fonts or Adobe TypeKit). You will also be able to hide the OneSchema logo as long as you have committed to our annual subscription pricing.
We’re actively working on bringing you more granular customization options to better fit in with your product styles — if you have any particular requests, please let us know.
Support for 10M+ row files
Our spreadsheets are running on new infrastructure! Our engineering team has built a new spreadsheet data service in Rust that loads every uploaded file fully in-memory. The spreadsheet files will live on new high-memory servers that make it possible to validate and transform files of up to 4 GB in under 1 second.
Files of up to 1,000,000 rows can be:
- Uploaded in under a minute.
- Validated in under a second.
- Auto-fixed and transformed in under a second.
Excel worksheet selection
Your users will be presented the option to select which worksheet within an Excel workbook they want to upload.
Note: This pane will only appear for users who upload an Excel Workbook with multiple worksheets. CSV uploads and single sheet imports will not trigger this modal.
Mapping UI update
The UI for the Map Column pane has been updated. We’ve added more visual separation to delineate your user’s uploaded columns from the template columns. We’ve also improved the delete UX to make it clearer that columns are deleteable and will not be imported as a result.
These changes do not require any additional configuration from you.
Column descriptions
Write custom descriptions for any column you feel your users could use additional context or instructions. These descriptions can help guide them through the mapping process and during the final validation step. Descriptions will appear in context to each column, both in the Map Column pane and the Review pane.
Expanded validation library (50+ options)
Environment scopes for API keys
We're excited to roll out environment scopes for API keys, which enables those keys to only access embeds in the prescribed environment. This helps customers uplevel the security of their organization by ensuring that their developers' local and staging environments should not have access to customer PII.
CA data residency
AU data residency
Self hosting (Enterprise Feature)
You can now host OneSchema inside of your AWS or Azure cloud environment. The self-hosted model provides full isolation of data in your own cloud, and is best for customers who are handling government data (GovCloud), or other extremely sensitive data with unique contractual / compliance requirements. OneSchema will deploy updates and maintenance to the platform through an IAM user.
SOC 3 Report
Multi-region hosting
Audit logging dashboard & API
GDPR Compliance
HIPAA Compliance
Access management
You can now grant and revoke team member access to OneSchema directly from the developer dashboard.
SOC 2 Type II Compliance
While OneSchema makes the overall process of data migration much faster and far less painful, security and compliance are always top of mind as our customers trust us with their customer's sensitive business data and PII.
We are extremely excited to share the news today that OneSchema has now achieved SOC2 Type II compliance.
Public version of FileFeeds embedding SDK in JS + React
Importer SDK versions 0.6.0 and 0.7.0
A new version of our SDKs for the Importer (0.6.0) is now available for all 4 supported frameworks: JS, React, Vue and Angular.
- Added compatibility with OneSchema FileFeeds packages.
- Exported TypeScript types in Importer React package.
- Dropped TemplateGroups feature.
- Added tslib as direct dependency.
Importer React SDK 0.7.0 update: inline
prop is defaulted to true
When upgrading to this version, if you still need the non-inline behavior, you could set inline={false}
explicitly. Or, you could switch to the inline
rendering (which is more native to React environment) and adjust your style attribute and CSS rules to achieve the desired UI presentation.
Webhook Logs for all webhooks
OneSchema now has logs for all types of supported webhooks:
- Importer Event webhooks
- Importer Metadata webhooks
- FileFeed Event webhooks
FileFeeds Mapping + Transforms experience updates
- Pipelines are now built into FileFeeds and called Transforms
- FileFeeds now respect pushed templates (relying on the latest template version pushed to the Production environment)
- Change history: you can now see the history of saved transforms per FileFeed
- New bulk action & pop-up: “Missing required columns”, clicking on “Add all missing columns” forces all required template columns onto the FileFeed
- “Save transforms” button moved to the top right corner of Transforms
- When uploading a new sample file to a FileFeed, the column mapping modal auto-opens
- Sample file columns mapped to template columns are now highlighted by a green “MAPPED” badge
- Other minor UI/UX updates