recycleUpdates

Stay up to date with minimal maintenance effort!

circle-info

This chapter covers everything you need to know about handling maintenance and updates for your application.


Hyperswitch version updates

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

  • Stay informed about updates by checking our GitHub releasesarrow-up-right page

  • Hyperswitch follows semantic versioning for all releases

circle-check

Updating the application

Often, when you are upgrading to a latest version of Hyperswitch, you would also need to take care of two aspects

chevron-rightDatabase Schema Additionshashtag

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.sql files included in sub-directories of the migrations directory 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

chevron-rightConfiguration Updates (ENVs)hashtag

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

  • This way, you can just copy over the development.tomlarrow-up-right file from the repository for ensuring that the application configuration variables are up-to-date

Web Client Updates

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.

  • Please follow the Changelogarrow-up-right to get the latest updates. You can pull the latest changes to get new features or build new features and contribute to the hyperswitch-web repo for others to use.

  • 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.

Request Features or Report Bugs

You can reach out to us about new features or report bugs on GitHub:

  1. You can request for a new featurearrow-up-right if it hasn't been requested already on our issue trackerarrow-up-right.

  2. You can report a bugarrow-up-right if there isn't hasn't been reported already on our issue trackerarrow-up-right.

  3. You can open a GitHub discussionarrow-up-right, or reach out to us on our Discord serverarrow-up-right or Slack workspacearrow-up-right for any general help or queries that you may have.

triangle-exclamation

Last updated

Was this helpful?