# Breaking Changes This list shows all versions that include breaking changes and how to upgrade. ## 0.35.1 ### What has changed? * The 'name' attribute has been renamed to 'externalId' in the `AppConnection` entity. * The 'displayName' attribute has been added to the `AppConnection` entity. ### When is action necessary? * If you are using the connections API, you should update the `name` attribute to `externalId` and add the `displayName` attribute. ## 0.35.0 ### What has changed? * All branches are now converted to routers, and downgrade is not supported. ## 0.33.0 ### What has changed? * Files from actions or triggers are now stored in the database / S3 to support retries from certain steps, and the size of files from actions is now subject to the limit of `AP_MAX_FILE_SIZE_MB`. * Files in triggers were previously passed as base64 encoded strings; now they are passed as file paths in the database / S3. Paused flows that have triggers from version 0.29.0 or earlier will no longer work. ### When is action necessary? * If you are dealing with large files in the actions, consider increasing the `AP_MAX_FILE_SIZE_MB` to a higher value, and make sure the storage system (database/S3) has enough capacity for the files. ## 0.30.0 ### What has changed? * `AP_SANDBOX_RUN_TIME_SECONDS` is now deprecated and replaced with `AP_FLOW_TIMEOUT_SECONDS` * `AP_CODE_SANDBOX_TYPE` is now deprecated and replaced with new mode in `AP_EXECUTION_MODE` ### When is action necessary? * If you are using `AP_CODE_SANDBOX_TYPE` to `V8_ISOLATE`, you should switch to `AP_EXECUTION_MODE` to `SANDBOX_CODE_ONLY` * If you are using `AP_SANDBOX_RUN_TIME_SECONDS` to set the sandbox run time limit, you should switch to `AP_FLOW_TIMEOUT_SECONDS` ## 0.28.0 ### What has changed? * **Project Members:** * The `EXTERNAL_CUSTOMER` role has been deprecated and replaced with the `OPERATOR` role. Please check the permissions page for more details. * All pending invitations will be removed. * The User Invitation entity has been introduced to send invitations. You can still use the Project Member API to add roles for the user, but it requires the user to exist. If you want to send an email, use the User Invitation, and later a record in the project member will be created after the user accepts and registers an account. * **Authentication:** * The `SIGN_UP_ENABLED` environment variable, which allowed multiple users to sign up for different platforms/projects, has been removed. It has been replaced with inviting users to the same platform/project. All old users should continue to work normally. ### When is action necessary? * **Project Members:** If you use the embedding SDK or the create project member API with the `EXTERNAL_CUSTOMER` role, you should start using the `OPERATOR` role instead. * **Authentication:** Multiple platforms/projects are no longer supported in the community edition. Technically, everything is still there, but you have to hack using the API as the authentication system has now changed. If you have already created the users/platforms, they should continue to work, and no action is required. # Changelog A log of all notable changes to Activepieces # Editions Activepieces operates on an open-core model, providing a core software platform as open source licensed under the permissive **MIT** license while offering additional features as proprietary add-ons in the cloud. ### Community / Open Source Edition The Community edition is free and open source. It has all the pieces and features to build and run flows without any limitations. ### Commercial Editions Learn more at: [https://www.activepieces.com/pricing](https://www.activepieces.com/pricing) ## Feature Comparison | Feature | Community | Enterprise | Embed | | ------------------------ | --------- | ---------- | -------- | | Flow History | ✅ | ✅ | ✅ | | All Pieces | ✅ | ✅ | ✅ | | Flow Runs | ✅ | ✅ | ✅ | | Unlimited Flows | ✅ | ✅ | ✅ | | Unlimited Connections | ✅ | ✅ | ✅ | | Unlimited Flow steps | ✅ | ✅ | ✅ | | Custom Pieces | ✅ | ✅ | ✅ | | On Premise | ✅ | ✅ | ✅ | | Cloud | ❌ | ✅ | ✅ | | Project Team Members | ❌ | ✅ | ✅ | | Manage Multiple Projects | ❌ | ✅ | ✅ | | Limits Per Project | ❌ | ✅ | ✅ | | Pieces Management | ❌ | ✅ | ✅ | | Templates Management | ❌ | ✅ | ✅ | | Custom Domain | ❌ | ✅ | ✅ | | All Languages | ✅ | ✅ | ✅ | | JWT Single Sign On | ❌ | ❌ | ✅ | | Embed SDK | ❌ | ❌ | ✅ | | Audit Logs | ❌ | ✅ | ❌ | | Git Sync | ❌ | ✅ | ❌ | | Private Pieces | ❌ | 5 | 2 | | Custom Email Branding | ❌ | ✅ | ✅ | | Custom Branding | ❌ | ✅ | ✅ | # i18n Translations This guide helps you understand how to change or add new translations. Activepieces uses Crowdin because it helps translators who don't know how to code. It also makes the approval process easier. Activepieces automatically sync new text from the code and translations back into the code. ## Contribute to existing translations 1. Create Crowdin account 2. Join the project [https://crowdin.com/project/activepieces](https://crowdin.com/project/activepieces) ![Join Project](https://mintlify.s3-us-west-1.amazonaws.com/activepieces/resources/crowdin.png) 3. Click on the language you want to translate 4. Click on "Translate All" ![Translate All](https://mintlify.s3-us-west-1.amazonaws.com/activepieces/resources/crowdin-translate-all.png) 5. Select Strings you want to translate and click on "Save" button ## Adding a new language * Please contact us ([support@activepieces.com](mailto:support@activepieces.com)) if you want to add a new language. We will add it to the project and you can start translating. # License Activepieces' **core** is released as open source under the [MIT license](https://github.com/activepieces/activepieces/blob/main/LICENSE) and enterprise / cloud editions features are released under [Commercial License](https://github.com/activepieces/activepieces/blob/main/packages/ee/LICENSE) The MIT license is a permissive license that grants users the freedom to use, modify, or distribute the software without any significant restrictions. The only requirement is that you include the license notice along with the software when distributing it. Using the enterprise features (under the packages/ee and packages/server/api/src/app/ee folder) with a self-hosted instance requires an Activepieces license. If you are looking for these features, contact us at [sales@activepieces.com](mailto:sales@activepieces.com). **Benefits of Dual Licensing Repo** * **Transparency** - Everyone can see what we are doing and contribute to the project. * **Clarity** - Everyone can see what the difference is between the open source and commercial versions of our software. * **Audit** - Everyone can audit our code and see what we are doing. * **Faster Development** - We can develop faster and more efficiently. If you are still confused or have feedback, please open an issue on GitHub or send a message in the #contribution channel on Discord. # Telemetry # Why Does Activepieces need data? As a self-hosted product, gathering usage metrics and insights can be difficult for us. However, these analytics are essential in helping us understand key behaviors and delivering a higher quality experience that meets your needs. To ensure we can continue to improve our product, we have decided to track certain basic behaviors and metrics that are vital for understanding the usage of Activepieces. We have implemented a minimal tracking plan and provide a detailed list of the metrics collected in a separate section. # What Does Activepieces Collect? We value transparency in data collection and assure you that we do not collect any personal information. The following events are currently being collected: [Exact Code](https://github.com/activepieces/activepieces/blob/main/packages/shared/src/lib/common/telemetry.ts) 1. `flow.published`: Event fired when a flow is published 2. `signed.up`: Event fired when a user signs up 3. `flow.test`: Event fired when a flow is tested 4. `flow.created`: Event fired when a flow is created 5. `start.building`: Event fired when a user starts building 6. `demo.imported`: Event fired when a demo is imported 7. `flow.imported`: Event fired when a flow template is imported # Opting out? To opt out, set the environment variable `AP_TELEMETRY_ENABLED=false` # Appearance Customize the brand by going to the **Appearance** section under **Settings**. Here, you can customize: * Logo / FavIcon * Primary color * Default Language