# V3 Hypersync SDK migration guide ## Version 2.x to version 3.0 The Hypersync SDK version 3.0 includes a number of new capabilities that require small changes to Hypersync apps that use versions 2.1 or earlier. ### Package versions The Hypersync SDK functionality is distributed via three Node packages: | Package | Version | Description | | --- | --- | --- | | @hyperproof/hyperysnc-sdk | 3.0.2 | This is the core Hypersync SDK. | | @hyperproof/hypersync-models | 5.0.0 | Supporting Hypersync models. | | @hyperproof/integration-sdk | 1.0.2 | Common integration elements. | All functionality needed to develop Hypersync appls is now exported from `@hyperproof/hypersync-sdk`. There's no need to include dependencies to `@hyperproof/hypersync-models` or `@hyperproof/integration-sdk`. The `dependencies` section of your app's `package.json` file should be updated as follows: ``` "dependencies": { "@hyperproof/hypersync-sdk": "^3.0.2", ... } ``` 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. ### Updated execution environment Hypersync apps running in Hyperproof EU use an updated execution environment. To ensure compatibility, existing apps need a few adjustments. The main difference is how apps are started: Hyperproof EU requires an `up` script in `package.json` that creates and initializes an HTTP server within the app. #### Step One: Adding the up script to package.json The required `up` command should be added to the scripts section of `package.json` as follows: ``` "scripts": { "up": "node ./build/start.js", ... } ``` #### Step Two: Creating start.ts After adding the `up` command, create a new file called `start.ts` under your package's `/src` directory. It should contian the following content: ``` import { MyApp } from './MyApp'; import { HttpServer } from '@hyperproof/integration-sdk'; const server = new HttpServer(); const app = new MyApp(); server.startListening(app.start()); ``` > **Tip**: Replace "MyApp" with the name of your custom app. After these updates, building your app generates `./build/start.js`, which is referenced by the `up` command. With this change, your custom Hypersync app will run correctly in both Hyperproof US and Hyperproof EU environments.