Comment on page
Stay up to date with minimal maintenance effort!
This chapter covers everything you need to know about handling maintenance and updates for your application.
Hyperswitch requires minimal maintenance effort, and updating to newer versions is quite simple
- Hyperswitch adheres to a monthly release schedule, with versions undergoing thorough internal testing before being deemed stable
- Hyperswitch follows semantic versioning for all releases
Our releases ensure backward compatibility between the three components - the App Server, Web Client and Control Center
In case of any release which defers backward compatibility, prior announcement will be made along with the expected action
Often, when you are upgrading to a latest version of Hyperswitch, you would also need to take care of two aspects
Why is this required?
This is required due to any schema additions/ deletions required due to the new features
How to update the schema?
- The SQL commands for database schema changes would be included in the
up.sqlfiles included in sub-directories of the
migrationsdirectory in the repository
- You can easily obtain the commands to be run with a command like the one below
$ git diff --name-only <CURRENT_VERSION>..<NEW_VERSION> migrations/**/up.sql | sort | xargs cat
- You can log in to the database console and run the SQL commands obtained
Why is this required?
- Environment variables typically store configuration data such as API endpoints, database connection details, security credentials, feature toggles, and application settings
- Managing them in each new release is essential to accommodate changes, adapt to evolving requirements, maintain security, and ensure the application functions are as intended
How to update the environment variables?
- Hyperswitch allows specifying application configuration variables from two sources a TOML file and environment variables, with environment variables having higher priority
- Except for some values such as database connection information that must be provided, if a configuration variable has not been specified in either source, the application uses default values specified in code
- To ease the management of application configuration variables, the suggested approach would be to specify values that would depend on the deployment environment such as database and Redis URLs and some secrets values (such as admin API key, master encryption key, etc.) via environment variables, and specifying domain related configuration variables (such as payment methods enabled for a specific connector, base URLs used for accessing connectors, etc.) via the TOML file
Hyperswitch Web client is periodically updated for new features and bug fixes.
- Please note that the web client adheres strictly to semantic versioning for consistent releases.
- For ensuring backward compatibility, please ensure that the major version of the web client is the same as that of the app server's major release version.
You can reach out to us about new features or report bugs on GitHub:
Steps for updating and maintaining the Control Centre would be updated in this chapter soon!