Changelog
Stay updated with the latest features, improvements, and fixes to Berican Labs hosting platform
PHP and Composer applications are now first-class on Berican Labs, with their own plans and their own database. We also refreshed the whole interface, replaced placeholder numbers with live platform figures, and moved every price on the site to a single source of truth.
FEATURE
Run Laravel, Symfony, Craft, Drupal or any Composer project. We detect composer.json, install dependencies with Composer, and serve your application behind PHP-FPM with the document root set correctly for your framework (public/ for Laravel and Symfony, web/ for Craft and Drupal).
PHP hosting is sold separately from WordPress and static hosting: PHP Starter includes 1 site and PHP Business includes 3. PHP usage never eats into a WordPress or static allowance - you can hold either plan, or both.
IMPROVEMENT
Each PHP site is created with its own database and its own database user on a dedicated PHP database server, kept separate from WordPress databases. Migrations are destructive by nature, so a PHP application can never reach a live WordPress database - and a bad migration stays inside that one site's schema.
The marketing pages and the dashboard have been redesigned for clarity, with clearer navigation and consistent styling throughout. PHP has its own dashboard area showing usage, plan status and quick actions alongside WordPress and static sites.
The homepage now reports real, live counts of running sites and custom domains instead of placeholder figures, so what you see reflects the platform as it is right now.
Every price shown across the platform is now derived from a single source of truth. Change a price in one place and it updates everywhere at once - no stale figures on the homepage, pricing page or dashboard.
Builds now run under capped CPU and memory, so a deployment can never degrade dashboard or database performance while you are using the platform. If demand peaks, builds queue rather than compete.
FIX
PHP site setup now builds the shared PHP runtime automatically on first use, and recovers cleanly if the PHP database server is stopped, so a site can be provisioned without manual intervention.
FEATURE
Point a domain you already own at your site, verify it from the dashboard, and we take care of the rest — web server routing and a free SSL certificate, set up automatically. No DNS handover, no support ticket.
IMPROVEMENT
If your domain is proxied through Cloudflare, set the zone SSL/TLS mode to Full (strict). In Flexible mode Cloudflare connects to our server over plain HTTP, and a redirect loop can make the site look offline.
FIX
Verification compared your DNS against a single platform address, so a domain pointed at the server that actually runs your site could still fail to verify. It now checks the server your site lives on.
Adding a domain to a site that was already running configured the web server but stopped short of issuing a certificate, leaving the domain without HTTPS. Certificates are now issued for the domain and its www automatically.
Apps using Prisma could start with a database-client error, because the client was generated on the build machine and never shipped to the server. It is now generated on the server that runs your site.
Backups became real this month. WordPress backups had been stored without a database dump, so restoring one would have produced an empty site. Backups now capture the full database and files, restoring is verified end to end, expired copies are cleaned up automatically, and the Backup Now button performs a real backup. This release also adds per-site CPU and memory limits with a Small / Medium / Large selector that applies instantly, fixes the automated workflow engine so scheduled workflows actually fire, makes expired trials expire, and removes hard-coded database credentials from the codebase.
FEATURE
Each of your sites now runs inside its own resource envelope, with a guaranteed floor and a generous ceiling it can burst into. A busy site can no longer slow down the others sharing the same server.
Backups are kept for 30 days and are now removed on schedule, along with their stored archives, so storage is not consumed indefinitely.
The Backup Now button previously created a placeholder record and never ran a backup. It now performs a full backup of your site and reports the result, the same way the nightly job does.
Site Settings now has a Resources card where you choose a tier for your site. Changes take effect immediately - no restart, no downtime. Medium is the default and suits most sites.
IMPROVEMENT
The shared database and reverse proxy behind WordPress hosting had no resource limits at all. They are now capped and given reserved capacity, so a single heavy site cannot exhaust them for everyone.
FIX
Restoring a backup could damage your site while reporting success: the files step could not complete and the database import silently did nothing. Restore now writes both the database and your files back, verifies every step, and refuses to modify a site unless the backup genuinely contains the content it is restoring.
WordPress backups were being stored without a database dump - the archive held only your theme and uploads. A restore would have given you an empty site. Backups now capture the complete database and files, and a backup that is missing either now fails loudly instead of reporting success.
The automation engine had never executed a single workflow. Three separate faults in the trigger path meant nothing was ever selected or launched. Workflows now fire on their schedule as intended.
Trial and subscription status was only calculated when a page was viewed, never saved, so an expired trial still displayed as active. Add-on status and monthly usage are now updated automatically every day.
SECURITY
Database connection strings with live passwords had been committed in deployment scripts and documentation. They have been removed from the codebase and rotated at the provider.
A large release: WordPress management is now real end to end, background workers deploy together with your site, sites get their own environment variables, performance metrics are measured rather than stubbed, and the AI assistant lives in the site manager.
FEATURE
New WordPress sites are installed automatically with an admin account instead of landing on the setup wizard. The credentials appear in your dashboard and in the site-ready email.
The WP Admin button now signs you straight in. Links are single-use, expire after 2 minutes, and are bound to your IP address.
Restoring a backup brings back both the database and the site files. It was previously a placeholder that reported success without restoring anything.
Browse, edit, upload (up to 10 MB per file), download, create and delete files on your site. Access is confined to the site root.
Run SELECT, SHOW and EXPLAIN queries against your site database, capped at 200 rows. Destructive statements are rejected and real database errors are shown.
Memory limit, upload size and maximum execution time are now written into the running PHP container instead of only being saved to the database.
Activate, deactivate and delete plugins and themes, and toggle maintenance mode - all genuinely applied to the site.
Set encrypted environment variables per site, injected both at build time and at runtime. A site's build no longer silently falls back to platform configuration.
Sites can declare worker processes that start from the deployed directory and are restarted cleanly on every redeploy.
The Performance tab now measures load time, time to first byte, CPU, memory and database query load, instead of showing nothing.
The WordPress AI assistant is available directly on the site manage page, running on a single unified usage quota.
FIX
Nginx access and error logs are read from the nginx container and PHP logs from the application container. They were previously read from the wrong place, so they always looked empty.
Deployments now ship the source files that workers need, so a redeploy no longer leaves them unable to start.
Opening backups, PHP settings and other site tools no longer fails with "Site not found" or a server error.
The webhook test endpoint now enforces key scopes like the rest of the API.
Several dashboard and admin pages that returned server errors now render correctly.
FEATURE
Migrated the entire Berican Labs platform to self-hosted VPS infrastructure. This gives us more control over the infrastructure, improves performance, and reduces costs.
Added a comprehensive system status page at /status showing real-time operational status of all services including Static Hosting, WordPress Hosting, Database Services, DNS & Domains, SSL Certificates, API Services, Email Delivery, and Payments (MPESA).
The status page now displays a visual 7-day uptime graph showing historical uptime percentages for the platform.
IMPROVEMENT
Fixed scroll-to-top behavior when navigating to the status page from footer links, ensuring users always see the page content from the top.
Implemented PM2 cluster mode for the main application, providing better process management, auto-restart on crashes, and improved performance.
Added connection pooling parameters to reduce database saturation when handling multiple concurrent requests.