Skip to content
ESC

Searching...

Quick Links

Type to search • Press to navigate • Enter to select

Keep typing to search...

No results found

No documentation matches ""

Updating.

How updates work, protected paths, and using one-click updates.

Jan 9, 2026

💡 Always test updates in a test environment before updating production. Back up your database, verify everything works, then deploy.

Updates are free forever. As long as Reward Loyalty exists, you can download the latest version from the current purchase store at no additional cost. This applies to everyone who has ever purchased a license.

How Updates Work

There are two ways to update your installation:

Manual download (always available): Log into the current purchase store, download the latest version, and follow the manual update process. This works regardless of your support status.

One-click updates (active support required): A one-click updater is built into the admin dashboard. Because we pay for the update server infrastructure, this feature requires an active support license. It's a fraction of what the server costs us, but it helps keep the project sustainable.

Activating Your License

  1. Log in as an administrator at /en-us/admin
  2. Navigate to License & Updates in the sidebar
  3. Enter your purchase code
  4. Click Validate

Your purchase code is found in your purchase downloads. Open your order, then click "Download" and "License certificate & purchase code".

Once validated, your license status and support expiration date will display.

One-Click Updates

When a new version is available, you'll see a notification in the License & Updates section.

To update, go to License & Updates, review the changelog, and click Update Now. The system downloads the update, backs up critical files, applies changes, runs database migrations, and clears caches. No manual file uploads required.

What Gets Preserved

When you run a one-click update, the system downloads the new version and replaces all application files except for protected paths. Any files or directories not in the protected list will be overwritten.

Core Protected Paths

These paths are always protected automatically:

  • .env, your environment configuration
  • .htaccess, server configuration
  • storage/app, application storage files
  • storage/logs, log files
  • bootstrap/cache, cached framework files
  • public/files, user uploads and media
  • public/.htaccess, public directory server config
  • public/favicon.ico, your site icon
  • database/database.sqlite, SQLite database (if using SQLite)

The core protected paths may change with future updates. The definitive list is always in config/reward-loyalty.php under the protected_paths array.

Protecting Custom Files

If you've added custom translations, branding, or other files you want to preserve across updates, add them to your .env file:

PROTECTED_TRANSLATIONS="de_DE,fr_FR"
PROTECTED_PATHS="custom/branding/,my-custom-file.php"

PROTECTED_TRANSLATIONS: A comma-separated list of translation locale folders to preserve. These are relative to the lang/ directory. For example, de_DE,fr_FR protects lang/de_DE/ and lang/fr_FR/.

PROTECTED_PATHS: A comma-separated list of additional files and directories to preserve. Use paths relative to the application root. Add a trailing slash for directories (e.g., custom/branding/) or omit it for files (e.g., my-custom-file.php).

⚠️ Important: If you've made any customizations outside of protected paths, they will be lost during updates. Always add your custom paths to .env before updating.

Requirements

One-click updates require an active support license and the exec() PHP function, which is available on VPS hosting but often disabled on shared hosting. If your host disables exec(), use the manual update process instead.

Always test updates in a staging environment before updating production. Back up your database, verify everything works, then deploy.

Checking Your Version

Your current version displays on the admin dashboard and in the License & Updates section.

Support Renewal

Support can be renewed at any time, even after it has expired. Renewing gives you access to one-click updates and direct support. Use the /support page for the current support channel. Even without active support, you can download updates from the purchase store for free.

Extended License Holders

If you have an Extended license and your support has expired, you don't need to pay the higher Extended renewal price just to keep the one-click updater working.

You can purchase a Regular license ($69) instead. Both licenses validate the same for update server access. The license type affects your legal usage rights (selling accounts to clients), not the updater.

We need to cover the costs of running the update server infrastructure. A Regular license renewal accomplishes that while saving you money.

💡 Tip: If you originally purchased Extended for white-label/agency use, you already have those rights permanently. A Regular license just keeps your updater active at a lower cost.