This document provides detailed instructions for upgrading Securaine to newer versions safely and efficiently in production environments.
Important: Always back up your existing project before performing an upgrade.
Before any upgrade:
Backup all files from your current installation directory.
Backup the following critical files:
.env
app/config.php
Any custom Blade views you modified (especially under views/)
Uploaded files (storage/secure-files/)
Secure attachment metadata (storage/secure-meta/) if attachment link delivery is enabled
Logs (storage/logs/) if needed for audits
Note: If you are using AWS S3 storage, ensure your bucket configuration and credentials are backed up securely. Do not include secrets in public backups.
Download the latest licensed version of Securaine from the official distribution channel.
Unzip the new version locally.
Before upgrading production:
Set up a staging site using a copy of your .env and configuration files.
Verify:
Form loads and submits successfully
CAPTCHA and CSRF validations work
Emails are sent correctly
File uploads work correctly
Attachment delivery mode behaves as expected
Any customizations still function as expected
Carefully replace or merge files. Recommended steps:
Replace / Merge | Description |
|---|---|
| Replace unless you've customized logic. |
| Replace unless you've extended them. Review attachment, storage, and mail services carefully. |
| Replace (contains bootstrap updates). |
| Manually merge if you made customizations. |
| Replace or merge UI layout updates. |
| Review email templates if attachment handling or email formatting changed. |
| Add or update language files as needed. |
| Replace for updated CSS/JS and UI improvements. |
| Replace if routes were updated. |
| Preserve your logs, cache, secure metadata, and generated files. Do not replace. |
| Do not overwrite. Copy any new variables from |
| Replace only if instructed. |
After replacing files:
Open your existing .env file.
Compare it with the new .env.example file.
Add any new environment variables introduced in the update.
Example:
+ CAPTCHA_PROVIDER=turnstile
+ TURNSTILE_SITEKEY=your-new-site-key
+ TURNSTILE_SECRET=your-new-secret
+ ATTACHMENT_DELIVERY_MODE=attachmentNewer versions include configurable attachment delivery handling.
Review:
app/config.phpVerify the attachment_delivery section:
'attachment_delivery' => [
'enabled' => true,
...
],Mode | Behavior |
|---|---|
| Files are uploaded and attached directly to outgoing emails. No download metadata is generated. |
| Files are stored privately and delivered through protected download links with optional expiration, password protection, and download limits. |
If upgrading from a version before secure attachment links:
Verify:
storage/
βββ secure-meta/
βββ logs/
βββ cache/The following folder must exist and be writable:
storage/secure-meta/This directory stores:
Secure download tokens
File metadata
Expiration information
Download counters
Password protection settings
Do not manually edit generated metadata files unless troubleshooting.
If using local storage:
Verify:
storage/secure-files/permissions and uploaded files.
If using AWS S3:
Verify:
Bucket credentials
Region configuration
Bucket permissions
Private object access
Files used for secure download links should remain private. Public bucket access is not required.
If your previous installation or server cached compiled views, language files, or configs, clear them manually.
# Navigate to your installation folder
cd /path-to-your-site/storage/cache
# Delete all contents inside the /cache folder
rm -rf *β Ensure the
storage/cache/folder remains intact but empty after this.
Once everything is uploaded and configured:
Visit your site in a private/incognito browser window.
Test the contact form submission flow.
Check:
Form validation
File uploads
CAPTCHA functionality (Google reCAPTCHA or Cloudflare Turnstile)
Email delivery
AI message generation
Language switching
Dark/light mode
Test both delivery modes.
Environment:
ATTACHMENT_DELIVERY_MODE=attachmentVerify:
File is attached to the outgoing email.
No secure download metadata file is created.
No download password is generated.
Environment:
ATTACHMENT_DELIVERY_MODE=linkVerify:
Secure download URL is generated.
Metadata is created under:
storage/secure-meta/Password protection works if enabled.
Expiration date is enforced.
Download limits are enforced.
The changelog is not bundled inside the software package. To see whatβs new:
π Visit the official Securaine Changelog Page.
If you need help upgrading or encounter issues:
π οΈ Create a ticket via our Helpdesk.
Provide your:
License key or registered email
Description of the issue
Current version you are upgrading from
Server environment details
Relevant error logs if available
Task | Status |
|---|---|
π½ Downloaded latest | β |
π Extracted & uploaded files | β |
π | β |
π§ Reviewed | β |
π Reviewed attachment delivery configuration | β |
βοΈ Verified storage configuration | β |
ποΈ Checked | β |
π§Ή Cleared | β |
π¬ Tested form functionality | β |
π Tested attachment delivery mode | β |
π Support ready (if needed) | β |
Email templates are located in:
views/email/Form layout can be edited in:
views/form.blade.phpLayout templates:
views/layouts/Attachment delivery configuration:
app/config.phpSecure attachment metadata:
storage/secure-meta/If you've made manual changes to any of the following:
views/ templates
app/config.php
JS or CSS in public/assets/
Attachment or storage related services
β¦you must carefully merge updates instead of simply replacing files.
Use a tool like Beyond Compare, Meld, or Git diff tools to assist with merging.