SDKs
Notable additions and updates to Flatfile core libraries
September 2024
September 18, 2024
Wrappers
@flatfile/react@7.12.4
Fixes a bug when relaunching a re-used space. Resolves an issue causing the “Maximum update depth exceeded” React error when multiple Portals are used within the same FlatfileProvider (this is not supported). Introduces changes to the FlatfileContext and FlatfileProvider components to handle the onClose callback, using a mutable ref instead of state. Refactors the resetSpace function and introduces changes to handle the resetOnClose config option when re-using a space.
September 17, 2024
Wrappers
@flatfile/react@7.12.3
The release notes include a fix for a bug with the Workbook onSubmit functionality. Specifically, it addresses an issue where the onSubmit action was not being correctly added or updated in the workbook actions list. The fix ensures that the onSubmit action is properly added or updated when the onSubmit prop is provided, and that duplicates are not created if the action already exists. This change is relevant for developers using the Workbook component and expecting the onSubmit callback to be triggered when the workbook is submitted.
September 13, 2024
Wrappers
@flatfile/javascript@1.4.2
The JavaScript Portal style sheet is now attached only once, instead of every time the Portal is opened. This should improve performance and avoid redundant style sheet insertions.
A new option has been added to allow specifying submit complete options, giving more control over the behavior when submitting a job. Developers can now set the ‘acknowledge’ and ‘message’ properties when completing a job submission.
This would result in the job being completed with ‘acknowledge’ set to false and ‘message’ set to ‘Custom complete message’.
August 2024
August 28, 2024
Wrappers
@flatfile/react@7.12.7
Added option submitSettings.startingJobMessage
to configure the initial message displayed in the job progress modal.
@flatfile/react@7.12.2
The release includes a new removeSheet
method to allow removing a specific sheet from the workbook by its sheet slug.
August 09, 2024
Wrappers
@flatfile/react@7.12.1
This release updates the @flatfile/react package to version 7.12.1. The update fixes a bug where the space was not completely reset upon closing the Flatfile Portal. Specifically, the changes ensure that when the Flatfile Portal is closed, the internal session space is reset, preventing any state from persisting between sessions.
Wrappers
@flatfile/javascript@1.4.1
The startFlatfile function has been exported from the package, allowing developers to invoke it directly. Additionally, the FlatfileClient type has been exported from the @flatfile/api package, providing developers with access to this type when using the @flatfile/javascript package.
August 08, 2024
Wrappers
@flatfile/react@7.12.0
This release includes the following changes:
A new onClose
event handler has been added to the useFlatfile
hook, allowing developers to specify a callback function that is called when the Flatfile modal is closed.
The missing stylesheet for the legacy useSpace
and usePortal
flows has been restored, ensuring proper styling for these deprecated hooks.
By default, the Flatfile modal now fills the entire screen. Developers may need to adjust any style overrides to accommodate this change.
Additionally, a bug that prevented server-side configuration of Spaces has been fixed.
July 2024
July 17, 2024
Wrappers
@flatfile/react@7.11.0
The CSS variable --ff-color-text
has been renamed to --ff-text-color
to be consistent with other variable names. This change affects the text color used throughout the Flatfile React components.
July 16, 2024
Wrappers
@flatfile/javascript@1.4.0
This exciting release adds internationalization support to the Flatfile JavaScript SDK. The SDK now detects the user’s browser language or allows specifying an override language. Translation strings are provided for the confirmation modal, error modal, and other UI elements. The SDK also includes functionality to handle missing translation keys and log them to the console.
Additionally, this release updates the modal logic to use functional components and make the text strings dynamic based on the provided translations or defaults.
A new util function initializeIFrameConfirmationModal
is introduced to handle mounting the confirmation modal and its associated behaviors onto the iFrame wrapper element.
This function takes callbacks for the modal’s button click actions (exit or stay) and text string providers for the modal’s title, message, and button labels.
July 08, 2024
Wrappers
@flatfile/react@7.10.0
The FlatfileProvider
component now accepts a new styleSheetOptions
prop which allows setting the nonce value and position of the injected stylesheet. This gives more control over how the styles are applied.
The package now contains utility functions attachStyleSheet
and styleInject
to dynamically inject the stylesheet into the DOM at runtime. This replaces the previous import of the stylesheet directly.
June 2024 (3)
June 28, 2024
Wrappers
@flatfile/javascript@1.3.9
The createlistener function now takes an additional onClose
parameter. This function is used to handle the closing of the Flatfile space, and it removes the event listener and cleans up the DOM elements associated with the Flatfile space. The initializeIFrameConfirmationModal
function has also been updated to use the new closeSpaceNow
function, which simplifies the process of closing the Flatfile space.
June 25, 2024
Wrappers
@flatfile/javascript@1.3.8
A bug fix for issues with the closeSpace.onClose()
function. This function is called when the Flatfile space is closed, and the bug fix ensures that it works correctly.
An improvement to the closing behavior of the Flatfile space. Instead of removing the iframe element immediately, a new closeSpaceNow
function is introduced, which handles removing the necessary elements and event listeners in a more organized manner.
There is also an update to the way the confirmation modal is displayed when closing the Flatfile space. Instead of using a separate event listener, the closing logic is now handled within the existing closeFlatfileSpace
function, which listens for the job:outcome-acknowledged
event and triggers the closing process accordingly.
June 16, 2024
Core
flatfile@3.7.0
The latest release of the flatfile package includes improvements for handling file uploads and inferring event topics from arrays. Listeners using an array syntax listener.on(['commit:created', 'layer:created'], (event) => {}
will now correctly infer the event topics.
This release also includes a fix for handling file uploads with updated event flatfile.upload
May 2024 (4)
May 24, 2024
Wrappers
@flatfile/react@7.9.9
This release includes a fix to address instances where the iframe wasn’t ready when the portal:initialize
call was posted. The fix ensures that the portal:initialize
message is sent to the iframe only after it has finished loading. This resolves an issue where the initialization process could sometimes fail due to the iframe not being ready. Developers using the @flatfile/react
package will benefit from a more reliable initialization process for the embedded Flatfile experience.
The new useIsIFrameLoaded
hook listens for the load
event on the iframe and updates a state variable accordingly. The portal:initialize
message is then sent only when the iframe has finished loading, ensuring a reliable initialization process.
May 22, 2024
Wrappers
@flatfile/javascript@1.3.7
This release adds the ability to set the default page when preloading the Flatfile Portal embed. Use updateDefaultPageInSpace
and findDefaultPage
to specify which workbook, sheet, or document page should display initially.
May 21, 2024
Core
@flatfile/listener@1.0.5
The unmount()
method has been added, allowing developers to cleanly disconnect the event listener from the event driver. The EventDriver
class now includes unmountEventHandler()
to remove attached event handlers, providing more control over event listeners.
May 01, 2024
Wrappers
@flatfile/javascript@1.3.4
, @flatfile/javascript@1.3.6
, @flatfile/listener@1.0.4
, @flatfile/react@7.9.3
The closeSpace.operation
and closeSpace.onClose
properties are now optional, offering more flexibility. The @flatfile/embedded-utils
dependency is updated to version 1.2.1, simplifying event listener setup with handlePostMessage
.
@flatfile/listener
now has optimized build tooling and updated dependencies, improving compatibility and performance.
April 2024 (5)
April 27, 2024
Wrappers
@flatfile/javascript@1.3.3
, @flatfile/react@7.9.2
This release enables clipboard read and write functionality within the embedded Flatfile iframe component. Also, @flatfile/embedded-utils
is updated to version 1.2.0.
April 17, 2024
Wrappers
@flatfile/react@7.9.1
This release improves the submission process. After data upload, the onSubmit
action handlers now acknowledge the job automatically, enhancing user feedback.
April 10, 2024
Core
@flatfile/listener@1.0.2
, @flatfile/react@7.9.0
@flatfile/listener
now supports removing event listeners with off()
and detach()
methods. The FlatfileProvider
component sets up a FlatfileContext
with configurations for Space
, Workbook
, Document
, and event handlers.
April 05, 2024
Wrappers
@flatfile/javascript@1.3.2
, @flatfile/react@7.8.12
Updates to dependencies and improvements in performance for both packages. @flatfile/embedded-utils
dependency updated to 1.1.14.
April 03, 2024
Wrappers
@flatfile/javascript@1.3.1
, @flatfile/react@7.8.11
Updated @flatfile/embedded-utils
to version 1.1.13. Simplified logic for setting sidebarConfig
when initializing a new Flatfile import space.
March 2024 (3)
March 22, 2024
Wrappers
@flatfile/react@7.8.10
Fixed a bug in the usePortal
hook related to the onSubmit
function, ensuring reliable unmounting of the iframe.
March 15, 2024
Wrappers
@flatfile/javascript@1.3.0
, @flatfile/react@7.8.9
Added initNewSpace
utility to create a new space, workbook, and document in a single API request. The environmentId
parameter is now optional.
March 08, 2024
Wrappers
@flatfile/react@7.8.8
Fixed an issue where the embedded Flatfile iframe would not be removed properly if there was an error during initialization.
February 2024 (7)
February 29, 2024
Wrappers
@flatfile/javascript@1.2.6
@flatfile/react@7.8.7
Updated the space creation request to only include defined parameters. Improved reliability and efficiency of data import experience.
February 28, 2024
Wrappers
@flatfile/javascript@1.2.5
@flatfile/react@7.8.6
startFlatfile
function now accepts new optional parameters, including namespace, metadata, labels, translation path, and language override, providing more customization.
February 26, 2024
Wrappers
@flatfile/javascript@1.2.3
@flatfile/javascript@1.2.4
@flatfile/react@7.8.4
@flatfile/react@7.8.5
Updated default spaces URL to avoid unnecessary preflight requests. Improved support for nested entrypoints in package.json
.
February 20, 2024
Wrappers
@flatfile/react@7.8.3
Fixed bug related to updating the authentication token for the @flatfile/listener
package, ensuring secure and authorized communication.
February 07, 2024
Wrappers
@flatfile/javascript@1.2.2
@flatfile/listener@1.0.1
@flatfile/react@7.8.2
Added exports and browser fields in package.json
for better module resolution and compatibility. Updated dependencies for improved stability.
February 06, 2024
Wrappers
@flatfile/javascript@1.1.7
@flatfile/javascript@1.2.0
@flatfile/javascript@1.2.1
@flatfile/react@7.8.0
@flatfile/react@7.8.1
Removed global style overrides from SDKs, improving compatibility. Updated dependencies and improved type support for better integration experience.
February 01, 2024
Wrappers
@flatfile/javascript@1.1.6
Added functionality to remove the event listener after submit and close actions, improving memory management.
January 2024 (10)
January 31, 2024
Wrappers
@flatfile/javascript@1.1.5
@flatfile/listener@0.4.2
The @flatfile/javascript
package update includes a better-organized package.json and fixes for type conflicts with peer dependencies. These changes ensure a smoother development experience and easier integration. The @flatfile/listener
package resolves type conflicts with peer dependencies and improves type compatibility.
January 30, 2024
Wrappers
@flatfile/javascript@1.1.4
The confirmation modal’s close action is now independent of user parameters, ensuring the modal is consistently removed from the DOM when closed.
January 26, 2024
Wrappers
@flatfile/javascript@1.1.3
@flatfile/listener@0.4.1
The @flatfile/javascript
package consolidates source code, generates type declarations, and re-exports modules for convenience. The @flatfile/listener
package update enhances exports and adds dotenv dependency for better environment variable management.
January 24, 2024
Wrappers
@flatfile/javascript@1.1.2
This release fixes an issue when reusing an existing Flatfile space and adds support for passing an existing space object to startFlatfile
.
January 19, 2024
Wrappers
@flatfile/javascript@1.1.0
The new release introduces preloading the Flatfile embed iFrame, initializing without a space ID, and adding additional metadata when creating a space. The pubnub dependency has been removed.
Updated to version 1.1.1 with a bug fix and dependency updates for improved reliability.
January 10, 2024
Wrappers
@flatfile/react@7.5.4
@flatfile/react@7.6.0
The @flatfile/react
update bundles @flatfile/api
and removes the pubnub dependency. The package now listens for window message events directly.
January 09, 2024
Wrappers
@flatfile/javascript@0.3.2
@flatfile/listener@0.4.0
@flatfile/react@7.5.3
Updates include better browser compatibility, gzipping request bodies, and using Rollup for bundling. Dependencies for @flatfile/react
are also updated for better performance and reliability.
January 08, 2024
Wrappers
@flatfile/react@7.5.2
The @flatfile/react
package removes the styled-components dependency, migrating styles to SCSS for improved performance and maintainability.
January 05, 2024
Core
@flatfile/listener@0.3.19
The @flatfile/listener
package now compresses the request body using pako compression by default when calling the update()
method. This reduces network bandwidth usage and transfer times.
January 03, 2024
Core
@flatfile/listener@0.3.18
The EventCallback
type now expects a Promise to be returned, allowing developers to use async/await for greater flexibility and control over asynchronous operations.
December 2023 (4)
December 21, 2023
Wrappers
@flatfile/javascript@0.3.1
@flatfile/react@7.5.1
The UMD build file for the @flatfile/javascript
package is renamed to dist/index.js
. The @flatfile/react
package update simplifies the import process by using dist/index.js
for browser environments.
December 19, 2023
Wrappers
@flatfile/javascript@0.3.0
@flatfile/react@7.5.0
The @flatfile/javascript
package includes bundle optimizations and a new option to keep the space after submitting data. The @flatfile/react
package improves accessibility with the close button’s type="button"
attribute and adds the option to keep the space active after submission.
December 13, 2023
Wrappers
@flatfile/javascript@0.2.2
@flatfile/react@7.4.0
The @flatfile/javascript
package introduces a new Simplified React Flow and updates dependencies. The @flatfile/react
package adds a usePortal
hook for a smoother integration experience.
December 01, 2023
Wrappers
@flatfile/react@7.3.1
The useSpaceTrigger
hook has been renamed to initializeFlatfile
, and createOrUseSpace
has been renamed to OpenEmbed
for better clarity.
November 2023 (8)
November 28, 2023
Wrappers
@flatfile/javascript@0.2.1
Re-introduces the initializeFlatfile
method, fixing issues with the submit action and simplifying the user experience.
November 27, 2023
Wrappers
@flatfile/javascript@0.2.0
Simplifies the integration flow by allowing developers to provide sheet configurations directly and introducing new utilities for record-level hooks and job submissions.
November 15, 2023
Wrappers
@flatfile/react@7.3.0
The new useSpaceTrigger
hook allows developers to control when the Flatfile import experience is triggered.
November 10, 2023
Wrappers
@flatfile/javascript@0.1.27
@flatfile/react@7.2.34
All parameters are now seamlessly passed to the API when creating a Workbook client-side.
November 9, 2023
Wrappers
@flatfile/react@7.2.32
@flatfile/react@7.2.33
Removed styled-components
from peer dependencies and resolving an issue with the change.
November 8, 2023
Wrappers
@flatfile/listener@0.3.17
Resolved an issue where axios
and its associated HTTP methods were unavailable.
November 6, 2023
Wrappers
@flatfile/javascript@0.1.25
- Implemented UMD build type for seamless compatibility with Content Delivery Networks (CDNs).
- Updated dependencies:
@flatfile/listener@0.3.16
Wrappers
@flatfile/listener@0.3.16
Adds UMD build type for working with CDNs.
November 1, 2023
Wrappers
@flatfile/react@7.2.31
@flatfile/javascript@0.1.24
- Enhanced performance by updating package versions and removing unused dependencies
- Updated dependencies:
@flatfile/embedded-utils@1.0.7
October 2023 (4)
October 29, 2023
Wrappers
@flatfile/react@7.2.29-30
@flatfile/javascript@0.1.22-3
Implemented the use of rollup.js
for bundling purposes, enhancing the project’s build process.
October 19, 2023
Wrappers
@flatfile/react@7.2.28
@flatfile/javascript@0.1.21
- Updated dependency:
@flatfile/api@1.5.31
Wrappers
@flatfile/javascript@0.1.20
Streamlined the project by removing the unnecessary dotenv
dependency, resulting in a cleaner and more efficient codebase.
October 16, 2023
Wrappers
@flatfile/javascript@0.1.19
@flatfile/react@7.2.27
When creating a Space, you may like to receive the spaceId
that was created to tie it back to something in your platform. You can now receive this in the Javascript SDK. This functionality is coming soon for the React SDK.
October 12, 2023
Wrappers
@flatfile/javascript@0.1.18
When creating a Space, you may like to receive the spaceId
that was created to tie it back to something in your platform. You can now receive this in the Javascript SDK. This functionality is coming soon for the React SDK.
September 2023 (3)
September 29, 2023
Wrappers
@flatfile/javascript@0.1.17
@flatfile/react@7.2.24
In this version, we’ve made two important updates:
Auto-Added Labels for Embedded Spaces: Embedded spaces now come with auto-generated labels (that will be displayed in your Spaces Dashboard) for easier navigation and organization.
Listener loading Reordered: The listener is now created before the Workbook, allowing you to listen for workbook creation events within your listener for more streamlined and effective integration in client-side listeners.
September 20, 2023
Wrappers
@flatfile/javascript@0.1.13
You can now use @flatfile/api
inside a client-side listener without needing a secret key. The listener will instead use the accessToken
created from your publishableKey
.
Wrappers
@flatfile/javascript@0.1.11
@flatfile/react@7.2.21
In this version, we’ve made two important updates:
- We’ve changed the default setting for
sidebarConfig
to hide the sidebar, providing a cleaner and more focused workspace. - Now, when no
workbook
is set,autoConfigure
is automatically turned on for Space creation. This enables you to listen for thespace:configure
job in a server side listener.
Core
@flatfile/plugin-record-hook@1.1.2
In this update, we’ve resolved a pesky bug that caused the message generated by recordHook
to be overwritten when bulkRecordHook
was also in use.
Our solution? We’ve introduced caching, ensuring that both messages can coexist harmoniously.
September 12, 2023
Wrappers
@flatfile/react@7.2.20
@flatfile/javascript@0.1.8
@flatfile/react@7.2.20 & @flatfile/javascript@0.1.8
This version update introduces proper class names on the Error container so you can more easily control the look and feel of this component.
See all classes that can be overridden in CSS in the Reference.
August 2023 (3)
August 30, 2023
Wrappers
@flatfile/react@7.2.18
This version introduces the following notable updates:
-
Enhanced Close Dialog: Class names have been incorporated for all elements within the close dialog, which becomes visible when closing the embedded Flatfile component. This improvement gives you more control on styling.
-
Utilization of Shared Utilities: The integration now utilizes the shared
@flatfile/embedded-utils
module. This change lays the groundwork for consistent properties to be shared across all Flatfile wrapper SDKs, promoting standardization and ease of maintenance. -
Dependency Refinement: The dependencies on
vite
and@flatfile/configure
have been removed. This streamlines the codebase and reduces unnecessary dependencies, contributing to a more efficient and lightweight integration.
August 24, 2023
Wrappers
@flatfile/react@7.2.17
An improvement was made to add the userInfo
param on metadata
in a more comprehensible way.
August 20, 2023
Core
@flatfile/api@1.5.21
The response type for the getRecordsAsCSV
endpoint was incorrectly typed as a string instead of a file. This fixes downloading a sheet as a CSV via SDk.
Core
@flatfile/listener@0.3.15
This version has four great updates:
- Previously, you had to fake-out TypeScript because the event time was not exposed (it was a private class variable) for FlatfileEvents. We have now added
createdAt
to the FlatfileEvent. - Axios responses 200-399 now no longer throw Errors.
- Created a secrets cache based on
spaceId
. - Previously, if your listener fetched secrets for multiple environments, those maps would entirely override each other.
- If your listener fetched
spaceId
overrides first, and then environment — you would get the space id overrides. - We now make sure that the fetch URL in the listener is formatted properly whether or not the user puts a trailing slash in the environment variable.
Core
@flatfile/listener@0.3.14
event.secrets
now defaults to spaceId
. It will throw if no environmentId
is available for secrets retrieval.
Wrappers
@flatfile/react@7.2.15
You can now pass in a spacebody. This will allowyou to send more than any already-defined parameters allowed on space creation.
Wrappers
@flatfile/react@7.2.14
The close button and iframe now have a proper class name to allow for CSS overrides.