AssetHub Upgrade Guide

Upgrade from AssetHub v3.1.0 to v4.0.0

This guide walks you through updating an existing v3.1 installation while keeping your database, uploaded files, translations, and configuration intact. v4.0 is a non-breaking feature release — no new database migrations are required.

Applies to: v3.1.0 → v4.0.0 Estimated time: 10–20 minutes Main commands: php artisan optimize:clear, php artisan optimize

Overview

AssetHub v4.0.0 adds Settings → Appearance for customizing brand, status, and text colors in light and dark mode, and improves browser tab title handling so it follows Settings → Branding → App Name at runtime. All v3.1 features — visible languages checklist, Translation Editor, login footer/badge branding — continue to work unchanged.

Choose your path: Follow exactly one upgrade section below based on where your v3 site runs — Localhost, Hostinger, or cPanel. Backup rules and “do not” warnings apply to all environments.
Item Action
Application code (app/, routes/, public/build/, lang/, etc.) Replace with v4.0 files from CodeCanyon source/
.env Keep your existing file
storage/ (uploads, logs, installed.lock) Keep your existing folder
MySQL database Keepno migration required for v4.0
Settings (appearance_colors_light, appearance_colors_dark) Optional — created when you save Appearance; until then built-in AssetHub colors are used
Settings (visible_locales) Keep — unchanged from v3.1
Custom locales & translation overrides Keep — preserved automatically
Pre-built assets: The CodeCanyon source/ package includes compiled frontend assets in public/build/. On production (Hostinger, cPanel), you do not need Node.js or npm run build on the server.

Before you start

Even for a patch release, back up before upgrading any installation — including localhost if it contains real data.

1. Back up your database

Export your MySQL database via phpMyAdmin, Adminer, or the command line:

mysqldump -u USERNAME -p DATABASE_NAME > assethub-v31-backup.sql

2. Back up your files

  • .env — database credentials, mail settings, APP_KEY
  • storage/ — asset photos, avatars, company logo, logs
  • storage/app/public/ — all uploaded media

3. Put the site in maintenance mode (recommended for production)

php artisan down
# ... perform upgrade ...
php artisan up

On Hostinger Single without Terminal, skip this or use a temporary PHP script pattern in the Hostinger section.

4. Download v4.0.0 from CodeCanyon

Go to your CodeCanyon Downloads page and download AssetHub v4.0.0. Use the contents of the source/ folder (application files). Open documentation/index.html in the package root for the full buyer install guide.

Do not visit /install after upgrading. The web installer runs migrate:fresh and will wipe your database.

What's new in v4.0.0

After upgrading, these features become available without affecting your existing v3.1 data:

  • Appearance settings — new Settings → Appearance tab: customize brand, accent, status, and text colors separately for light and dark mode; live preview panel; save to database (no code edit or npm run build on production)
  • Browser tab title from Admin — the page title in the browser tab now follows Settings → Branding → App Name at runtime (sidebar title and post-login UI already used this; v4.0 extends it to the tab title)
  • App version in System settingsSettings → System → Environment shows the application version (4.0.0); configurable via APP_VERSION in .env if needed
  • New backend filesconfig/appearance.php, app/Services/AppearanceService.php, appearance route in SettingController
  • Updated frontend assetsAppearanceTab.vue, useAppearance.js, Tailwind colors mapped to CSS variables; pre-built in public/build/

All v3.1 features (visible languages checklist, Translation Editor, custom locales, timezone/currency, login footer/badge from App Name) continue to work unchanged. If you never open Appearance, the default AssetHub color palette is used — same look as v3.1.

Login subtitle: The line under the login heading still uses the translation key auth.login_subtitle. Edit it per language in Administration → Translations if rebranding. See Customize Login Branding.

Upgrading on Localhost

For developers running AssetHub v3.1 locally (Laragon, XAMPP, WAMP, Valet, Sail, or php artisan serve).

Typical path: E:\...\Asset Manager\ or a clone of the project. Your local URL is usually http://localhost:8000 or a Laragon virtual host.
  1. Get v4.0 application files

    Option A — Git: Pull or merge the v4.0 release branch/tag into your working copy.

    Option B — CodeCanyon package: Extract v4.0 source/ into your project folder, overwriting app/, routes/, resources/, public/build/, lang/, config/, etc.

    Do not overwrite your local .env or storage/ (uploads, logs).

  2. Install PHP dependencies (if vendor changed)

    cd /path/to/asset-manager
    composer install

    v4.0 does not add new Composer packages. Run this only if composer.lock changed or vendor/ was not copied from the package.

  3. Rebuild frontend (local dev only)

    If you edit Vue/JS locally, rebuild assets. The CodeCanyon package already ships public/build/:

    npm install
    npm run build

    Remove public/hot if it exists (Vite dev marker) before testing production-style assets.

  4. Clear caches (required)

    php artisan optimize:clear
    php artisan optimize

    No migrate step is needed for v3.1 → v4.0. You may run php artisan migrate anyway — it will report “Nothing to migrate”, which is normal.

    Optional: add APP_VERSION=4.0.0 to your .env (defaults to 4.0.0 in config/app.php if omitted).

  5. Verify locally

    • Start the server: php artisan serve (or use Laragon)
    • Log in as admin — confirm v3.1 data (assets, translations, settings) is intact
    • Settings → Branding — change App Name, save, and confirm the browser tab title updates after refresh
    • Settings → Appearance — confirm the new tab loads; change a brand color, click Save appearance, and verify buttons/sidebar update
    • Toggle light/dark mode (sun/moon icon) — confirm dark palette applies if configured
    • Settings → System — confirm App Version shows 4.0.0
    • Settings → Localization — confirm visible languages checklist still works (v3.1 feature)
    • Open /login (or log out) — footer and badge still match App Name

Localhost checklist

  • Back up local database (if not disposable)
  • Replace/pull v4.0 code; keep .env and storage/
  • composer install (if needed)
  • npm run build (if developing frontend)
  • php artisan optimize:clear and php artisan optimize
  • Test Appearance tab + browser tab title
  • Do not visit /install

Upgrading on Hostinger

For customers running AssetHub v3.1 on Hostinger (Single, Premium, Business, or VPS). Steps use hPanel terminology.

Hostinger Single has no SSH/Terminal. v4.0 does not require migrate. Use a temporary Cron Job or one-time PHP script (Methods A/B below) only for optimize:clear and optimize. Premium/Business/VPS may use SSH (Method C).

Step 1 — Back up via hPanel

  1. Login to Hostinger hPanelHosting → Manage for your domain.
  2. Database: Databases → phpMyAdmin → select your AssetHub database → ExportQuickGo. Save the .sql file.
  3. Files: Files → File Managerpublic_html/ (or your Laravel root).
  4. Enable Settings → Show hidden files to see .env.
  5. Download .env and compress/download the entire storage/ folder.

Step 2 — Check PHP version

  1. Advanced → PHP Configuration
  2. PHP 8.2 or 8.3 (same as v3.1)

Step 3 — Upload v4.0 files (keep your data)

  1. On your computer, extract the v4.0 CodeCanyon package and zip the contents of the source/ folder.
  2. In File Manager, open public_html/ where v3.1 already lives.
  3. Upload the ZIP and Extract. Allow overwrite of app/, public/, vendor/, lang/, resources/, etc.
  4. Restore if overwritten: re-upload your saved .env and storage/.
  5. Delete the upload ZIP after extraction.
  6. Confirm artisan, .htaccess, and storage/installed.lock still exist.
Never replace .env with the default from the v4.0 package on a live site — you will lose DB credentials, mail config, and APP_KEY.

Step 4 — Clear caches (no migrate needed)

Replace uXXXXXX with your Hostinger username. Find the full path: File Manager → right-click artisanProperties.

Method A — Temporary Cron Job (recommended for Single)

  1. Advanced → Cron Jobs → Create Cron Job
  2. Type: Custom
  3. Command (run once, then delete the cron job):
    /usr/bin/php /home/uXXXXXX/public_html/artisan optimize:clear
  4. Schedule: Every minute (* * * * *) for 1–2 minutes only
  5. Create a second one-time cron (delete after it runs):
    /usr/bin/php /home/uXXXXXX/public_html/artisan optimize
  6. Check storage/logs/laravel.log or log in to confirm the site loads.

Method B — One-time PHP script (alternative)

  1. Create public_html/upgrade-v31.php with the script below. Set a strong secret key.
  2. Visit https://yourdomain.com/upgrade-v31.php?key=YOUR-SECRET-KEY once.
  3. Delete the file immediately after success.
<?php
// DELETE THIS FILE IMMEDIATELY AFTER USE
$secret = 'YOUR-SECRET-KEY-HERE';
if (($_GET['key'] ?? '') !== $secret) { http_response_code(403); exit('Forbidden'); }

define('LARAVEL_START', microtime(true));
require __DIR__.'/vendor/autoload.php';
$app = require_once __DIR__.'/bootstrap/app.php';
$app->make(Illuminate\Contracts\Console\Kernel::class)->bootstrap();

Illuminate\Support\Facades\Artisan::call('optimize:clear');
echo Illuminate\Support\Facades\Artisan::output() . "\n";

Illuminate\Support\Facades\Artisan::call('optimize');
echo Illuminate\Support\Facades\Artisan::output() . "\n";

echo "Done. DELETE upgrade-v31.php now.\n";

Method C — SSH / Terminal (Premium, Business, VPS)

cd ~/public_html
php artisan optimize:clear
php artisan optimize

Step 5 — Verify cron job (unchanged from v3)

Your existing schedule:run cron should still work:

/usr/bin/php /home/uXXXXXX/public_html/artisan schedule:run

Schedule: every minute. Do not remove it when deleting temporary upgrade cron jobs.

Step 6 — Test the upgrade

  • Login — confirm v3 data (assets, translations, localization settings) is intact
  • Settings → Branding — change App Name and confirm browser tab title updates
  • Settings → Appearance — test color customization and save
  • Settings → Localization — confirm visible languages checklist still works
  • Select a subset of languages, save, and verify the navbar picker
  • Uploaded images still display (storage/app/public/ via /files/)
  • Log out and open /login — footer and right-panel badge should match Settings → Branding → App Name

Hostinger checklist

  • Export database via phpMyAdmin
  • Download .env and storage/
  • Upload/extract v4.0 source/ into public_html/
  • Re-upload .env and storage/ if overwritten
  • Run optimize:clear + optimize (Cron, PHP script, or SSH)
  • Test Appearance tab and browser tab title
  • Do not visit /install

Upgrading on cPanel

For customers running AssetHub v3.1 on any hosting that uses cPanel (shared hosting, reseller, or managed VPS with cPanel).

Many cPanel hosts include Terminal (Advanced → Terminal) or SSH. If available, use Method A for the fastest upgrade. If not, use temporary Cron Jobs like Hostinger Single.

Step 1 — Back up via cPanel

  1. Login to cPanel for your account.
  2. Database: Databases → phpMyAdmin → Export → Quick → Go. Save the .sql file.
  3. Files: File Manager → download .env and storage/.

Step 2 — Check PHP version

cPanel → Software → Select PHP Version — PHP 8.2 or 8.3.

Step 3 — Upload v4.0 files

  1. Zip the contents of the v4.0 CodeCanyon source/ folder.
  2. File Manager → navigate to your Laravel root (where artisan lives).
  3. Upload the ZIP → Extract → overwrite application files.
  4. Re-upload your backed-up .env and storage/ if they were replaced.

Step 4 — Clear caches (no migrate needed)

Method A — cPanel Terminal (if available)

cd ~/public_html
php artisan optimize:clear
php artisan optimize

Method B — SSH (if enabled)

ssh USERNAME@yourdomain.com
cd ~/public_html
php artisan optimize:clear
php artisan optimize

Method C — Temporary Cron Job (no Terminal)

  1. cPanel → Advanced → Cron Jobs
  2. Add a Once Per Minute cron (temporarily):
    /usr/local/bin/php /home/USERNAME/public_html/artisan optimize:clear
  3. Wait 1–2 minutes, delete the cron, then run optimize the same way.

Method D — One-time PHP script

Create upgrade-v31.php in your web root, visit it once with a secret key, then delete it. Use the script from the Hostinger section (Step 4, Method B).

Step 5 — Verify scheduled tasks cron

/usr/local/bin/php /home/USERNAME/public_html/artisan schedule:run

Step 6 — Test the upgrade

  • Log in as Admin
  • Settings → Branding — test browser tab title
  • Settings → Appearance — test color save
  • Settings → Localization — confirm v3.1 visible languages still work
  • Log out and open /login — footer and badge should match Settings → Branding → App Name

cPanel checklist

  • Export database (phpMyAdmin)
  • Download .env and storage/
  • Upload/extract v4.0 source/
  • Restore .env and storage/ if needed
  • Run optimize:clear + optimize
  • Test Appearance + tab title
  • Do not visit /install

Database migrations

v4.0.0 does not ship any new migrations. Appearance colors are stored in the existing settings table as appearance_colors_light and appearance_colors_dark (JSON values, group appearance) — same pattern as timezone, default language, and visible_locales.

Expected output if you run migrate anyway:
php artisan migrate --force
# Nothing to migrate.

This is normal and safe. You do not need to run migrate for v3.1 → v4.0.

Backward compatibility

Installations that upgrade without saving Appearance keep the built-in AssetHub color palette — the UI looks the same as v3.1. All v3.1 settings and translation overrides are preserved.

After upgrade — customize branding & appearance (optional)

These steps are optional. Skip them if you are happy with the default AssetHub look and name.

  1. Change browser tab title & app name

    Log in as Admin → SettingsGeneral (Branding section) → update App Name → Save. Refresh any open tab — the browser title should match the new name.

  2. Customize colors (Appearance)

    Open Settings → Appearance. Use Editing: Light / Dark to configure each palette. Adjust brand, status, and text colors; watch the Preview panel update live.

  3. Save appearance

    Click Save appearance to apply colors app-wide. Use Reset to defaults to restore the built-in palette (you must save afterward to persist).

  4. Login subtitle (if rebranding)

    If the login page subtitle still mentions “AssetHub”, edit auth.login_subtitle per language in Administration → Translations. See Customize Login Branding.

Light and dark: Users switch modes with the sun/moon icon in the top bar. Configure both palettes if your team uses dark mode.

Do NOT do this

The following actions will erase or corrupt your data:

Action Why it's dangerous
Visit /install again Runs migrate:fresh — drops all tables and wipes your database.
Delete storage/installed.lock and reinstall Same as above — triggers a fresh install.
php artisan migrate:fresh Drops every table and re-runs all migrations from scratch.
php artisan migrate --seed on production May insert demo data into your live database.
Replace .env with the default v4.0 copy You'll lose DB credentials, mail config, and APP_KEY.
Delete storage/app/public/ Removes all uploaded asset photos, avatars, and documents.
Data loss warning: If you accidentally ran the installer or migrate:fresh, restore from your database backup immediately.

Quick checklist

Universal steps — combine with your environment section above:

  • Back up MySQL database
  • Back up .env and storage/
  • Download AssetHub v4.0.0 from CodeCanyon
  • Upload v4.0 source/ files; keep .env and storage/
  • Run php artisan optimize:clear and php artisan optimize
  • (Optional) Customize colors in Settings → Appearance
  • (Optional) Update App Name for browser tab title
  • Log in — verify v3.1 data + new Appearance tab
  • Do not visit /install

Troubleshooting

Appearance tab missing

Confirm v4.0 public/build/ was uploaded and run php artisan optimize:clear. You need manage settings permission (Admin). Hard-refresh the browser (Ctrl+F5).

Colors do not change after saving

  • Confirm you clicked Save appearance (not just changed the picker).
  • Hard-refresh the browser (Ctrl+F5).
  • Check whether you are in light or dark mode — each palette is edited separately.
  • Ensure config/appearance.php and app/Services/AppearanceService.php exist in the uploaded files.
php artisan optimize:clear
php artisan optimize

Browser tab title still shows old name or “AssetHub”

Update Settings → Branding → App Name and save. Hard-refresh the tab. Confirm v4.0 public/build/ was uploaded (tab title logic is in the compiled JS). Clear caches as above.

Login page still shows “AssetHub”

  • Footer or badge: These follow App Name since v3.1. Confirm public/build/ is from v4.0 and App Name is set.
  • Subtitle under the heading: Uses auth.login_subtitle. Edit per language in Administration → Translations. See Customize Login Branding.

“Nothing to migrate”

Normal for v3.1 → v4.0. No migrations are required. Proceed with cache clear and testing.

500 error after upload

php artisan optimize:clear
chmod -R 775 storage bootstrap/cache

Check storage/logs/laravel.log. Restore .env if overwritten. Confirm app/Services/AppearanceService.php and config/appearance.php exist in the uploaded files.

Blank page / Vite dev URLs in HTML

Ensure public/hot does not exist on the server and public/build/ from v4.0 was uploaded.

Upgrading from v3.0, v2.x, or v1.x?

Upgrade step by step: upgrade-guide-v3-to-v3.1.html (v3.0 → v3.1) first if you are still on v3.0, then this guide. For v2 or v1, use upgrade-guide-v2-to-v3.html or upgrade-guide-v1-to-v2.html to reach v3.0, then v3.1, then v4.0.

Need more help?

Open documentation/index.html in your v4.0 CodeCanyon package (buyer guide), see Customize Login Branding for rebrand details, or contact the author through the CodeCanyon item support tab.