diff --git a/README.md b/README.md index e879a3e..0db24a8 100644 --- a/README.md +++ b/README.md @@ -8,6 +8,20 @@ To get started with the Hypersync SDK hop on over to the [SDK documentation](doc ## Release Notes +### 6.0.0 + +- Bumped version to 6 to match hypersync-models package. All packages versions will be kept in sync from now on. +- **Breaking:** Updated to Node.js 22 +- **Breaking:** Updated to `@hyperproof/hypersync-models` 6.0.0 and `@hyperproof/integration-sdk` 6.0.0 +- Replaced `hyperproofUser` with `organization` object of type `ILocalizable` that can be used for date localization +- Added `ServiceDataIterator` class for iterative data fetching with support for dataset and criteria-sourced iteration +- Added `sort` option to sort data after all pages are collected +- Enhanced `JsonProofProvider` with iterator support for generating proofs from iterable data +- Improved `JsonCriteriaProvider` with saved criteria settings and search input handling +- Enhanced `RestDataSourceBase` with improved pagination and error handling +- Added `continueOnError` support in data set lookups +- Plus other bug fixes and performance enhancements + ### 3.2.0 - Integrate latest Integration SDK which contains reliability improvements and bug fixes. diff --git a/doc/001-getting-started.md b/doc/001-getting-started.md index e9e91fe..fc2382f 100644 --- a/doc/001-getting-started.md +++ b/doc/001-getting-started.md @@ -22,7 +22,7 @@ The Hyperproof CLI is needed to publish and manage your custom Hypersyncs: Finally, we recommend cloning the [Hypersync SDK Samples GitHub repository](https://github.com/Hyperproof/hypersync-sdk-samples). This is a public repository available on GitHub.com. -- The samples repository contains several complete Hypersync apps that can be used to bring data from an external service into Hyperproof. Using the Hypersync SDK you can customize these samples to meet your needs. The hypersync-sdk-samples repository contains samples for MySQL, Zoho and other services. Your will find the these Hypersync apps in the `/apps` directory. +- The samples repository contains several complete Hypersync apps that can be used to bring data from an external service into Hyperproof. Using the Hypersync SDK you can customize these samples to meet your needs. The hypersync-sdk-samples repository contains samples for MySQL, Zoho and other services. You will find these Hypersync apps in the `/apps` directory. - The samples repository also includes a handful of templates to get you started building your own Hypersyncs from scatch. Templates can be found in the `/templates` directory. See the `README.md` files in each template directory for more information on using the templates. diff --git a/doc/007-criteria.md b/doc/007-criteria.md index d37267d..5186c20 100644 --- a/doc/007-criteria.md +++ b/doc/007-criteria.md @@ -70,7 +70,7 @@ class MyCriteriaProvider implements ICriteriaProvider{ tokenContext: TokenContext, pages: ICriteriaPage[] ): Promise { - // TODO: Generate an ICriteriaMetdata instance containing the metadata for + // TODO: Generate an ICriteriaMetadata instance containing the metadata for // the fields the user needs to configure, as well as defaults for the Hypersync // name, frequency of execution, and versioning behavior. } diff --git a/doc/migration.md b/doc/migration.md index 8059917..46912ce 100644 --- a/doc/migration.md +++ b/doc/migration.md @@ -1,5 +1,56 @@ # Hypersync SDK Migration Guide +## Version 6 + +### Package versions + +Update package.json imports to the following versions: + +```json + "dependencies": { + "@hyperproof/hypersync-models": "^6.0.0", + "@hyperproof/hypersync-sdk": "^6.0.0", + "@hyperproof/integration-sdk": "^6.0.0" + } +``` + +Update the package.json devDependencies accordingly: + +```json + "devDependencies": { + "@types/node": "22.10.10" + } +``` + +Due to specific type dependencies, the types.node package needs to be updated to a specific version. Note there is no wildcard caret ^ in the version number. + +If your code imported classes, types, interfaces, or enums from one of the other packages, those imports need to be updated after making this change. + +### IP address allowlist change (US Only) + +New internal infrastructure for custom apps running version ^6.0.0 of the hypersync-sdk will cause the outgoing API calls to come from a new IP address. If you had previously added a Hyperproof address to your private server's allowlist, you may need to add additional addresses for your custom app to continue to function. See the "Integrations" IP Address for your instance of Hyperproof: https://docs.hyperproof.io/admin/en/get-to-know-hyperproof/hp-instances.html + +### OAuth callback change (US Only) + +For the same reason as the IP address change, a new callback URL is required for all custom apps using oauth. Previous addresses are formatted according to the following template: + +``` +https://api.us-west-1.fusebit.hyperproof.app/v1/run/sub-f63bb714ec30473e/org-{orgId}/{customAppId}/callback +``` + +The new URL template is: + +``` +https://hpip.hyperproof.app/v1/run/hpprod/org-{orgId}/{customAppId}/callback +``` + +It is a known issue that Hypersync SDK version 1.2.4 generates incomplete, only relative URLs. Use the following base URLs for your Hyperproof instance: + +- Hyperproof US: `https://hpip.hyperproof.app/v1/run/hpprod` +- Hyperproof EU: `https://hpip.hyperproof.eu/v1/run/hpprodeu` + +Update your oauth client's callback URL with this new value. + ## Version 2.X to Version 3.0 Version 3.0 of the Hypersync SDK includes a number of new capabilities that diff --git a/package.json b/package.json index f96bfb7..4432e19 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@hyperproof/hypersync-sdk", - "version": "6.0.0-beta.1", + "version": "6.0.0", "description": "Hypersync SDK", "license": "MIT", "repository": { @@ -17,8 +17,8 @@ "node": "^22.0.0" }, "dependencies": { - "@hyperproof/hypersync-models": "6.0.0-beta.1", - "@hyperproof/integration-sdk": "6.0.0-beta.1", + "@hyperproof/hypersync-models": "6.0.0", + "@hyperproof/integration-sdk": "6.0.0", "@js-joda/core": "3.2.0", "@js-joda/timezone": "2.5.0", "abort-controller": "3.0.0", diff --git a/yarn.lock b/yarn.lock index d0184ab..dd884f8 100644 --- a/yarn.lock +++ b/yarn.lock @@ -60,17 +60,17 @@ resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz#4a2868d75d6d6963e423bcf90b7fd1be343409d3" integrity sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA== -"@hyperproof/hypersync-models@6.0.0-beta.1": - version "6.0.0-beta.1" - resolved "https://registry.yarnpkg.com/@hyperproof/hypersync-models/-/hypersync-models-6.0.0-beta.1.tgz#ddbcd9b40c18db7d01ac2c8f945a05ab250f4114" - integrity sha512-uTGEQaUbVJyXaIteKXv6wVa+/zrtD9Jfc7Pmu8q4MGr0WgpBOMZd8pIwK41l3rNzWbWTMewOCV028iv4pXpfAw== +"@hyperproof/hypersync-models@6.0.0": + version "6.0.0" + resolved "https://registry.yarnpkg.com/@hyperproof/hypersync-models/-/hypersync-models-6.0.0.tgz#0422cb514ceec71be0b2d3ccab01fc2b1bf891da" + integrity sha512-gLLvb+5wypfTym1x67FG7EPwP1eYgoc3i6vGS0/r1RMclQdogQ9FNSMyzP0/fOv8VYdfU14YHY2xspdQimxA3w== -"@hyperproof/integration-sdk@6.0.0-beta.1": - version "6.0.0-beta.1" - resolved "https://registry.yarnpkg.com/@hyperproof/integration-sdk/-/integration-sdk-6.0.0-beta.1.tgz#c6aebdf9353f589852fa73c3b01296e0376c6e74" - integrity sha512-GVRo3C0GFF1LL3drQN8GFKZVhapN0kgKLZaVaxxMdO8O6+gh+VTQhN60iGMWMx1DTC4OErJ9JJNHuImYd7yszQ== +"@hyperproof/integration-sdk@6.0.0": + version "6.0.0" + resolved "https://registry.yarnpkg.com/@hyperproof/integration-sdk/-/integration-sdk-6.0.0.tgz#de642ccd512c77041e3020f7d0fab67902ed09d2" + integrity sha512-LQ7U/iH9MrXYj5e1kWhP0hsLp9RzdHEADDrHE6TGBYj/UVfI2yk3E9eG43Fo4rmV0ZjhvVGSbgYVh50NvNTQCg== dependencies: - "@hyperproof/hypersync-models" "6.0.0-beta.1" + "@hyperproof/hypersync-models" "6.0.0" "@js-joda/core" "3.2.0" "@pollyjs/adapter-node-http" "6.0.6" "@pollyjs/core" "6.0.6"