v1.00 — First stable release

July 10, 2026

GWS Backup 1.00 is here. The first stable release of the Enterprise Edition, free under the GWS Backup Free Licenceinstall guide here. Below is the complete feature set as it ships today.

Backup engine

  • Differential backup engine — a SQLite-backed index of every file and message means each run only fetches what changed since the last one
  • Parallel worker pools with a global per-user Google API rate limiter, tuned to stay inside Google's quotas
  • Automatic retries with exponential backoff and Retry-After awareness on every transfer
  • "Parked" quota handling — if Google's daily quota is hit mid-run, the job pauses cleanly and resumes exactly where it left off at the next scheduled window
  • Health Watcher auto-resumes stalled runs; a 5-minute integrity watchdog keeps schedules honest
  • Instant cancellation — stopping a run tears down every in-flight transfer immediately, no zombie threads
  • Optional AES-256 encryption of every backed-up file before it leaves the server
  • Zero silent failures — every error is captured per run and shown in the console, never swallowed

What gets backed up

  • Gmail — complete mailboxes as raw EML files with full label metadata preserved
  • Google Drive — native Google files exported to real formats (Docs → .docx, Sheets → .xlsx, Slides → .pptx, Drawings → SVG, Forms → PDF, Apps Script → JSON) with automatic PDF fallback when Google refuses a conversion; every other file backed up byte-for-byte; original folder paths recorded for faithful restores
  • Shared Drives — the same tiered export across your team drives
  • Google Groups — collaborative inbox archives backed up per group
  • Calendar — every event preserved as .ics
  • Contacts — every contact preserved as .vcf
  • Gmail account settings — filters, forwarding and delegation snapshots per user

Storage destinations

  • Google Drive (via service account or OAuth), Amazon S3, Azure Blob Storage, or local / mounted disk
  • Destination chosen per client — mix and match across your client base
  • Encrypted uploads supported on every destination type

Scheduling

  • Per-client schedules — every 6, 12 or 24 hours, anchored to the time of day you choose
  • Per-data-type toggles: back up Gmail, Drive, Calendar and Contacts on independent switches
  • Global Schedule Planner showing every client's windows side by side
  • Automatic database housekeeping window, schedulable off-peak

Restore & recovery

  • Restore Console File Explorer — browse any user's backed-up mail, files, events and contacts with search, date and label filters, sorting and pagination
  • Deep search across the entire backup index, with per-file version history and point-in-time restore
  • One-click single-item restore and multi-select batch restore
  • Five-step Recovery Wizard with three modes: Disaster Recovery (purge-first), Point-in-Time Rollback, and Migration / Clone
  • Restore to a different user in the same workspace — recovered emails are auto-labelled with the source account (e.g. Restored/jsmith) so nothing gets lost in the destination mailbox
  • Pre-flight source validation before bulk restores, and a type-RESTORE confirmation gate on destructive operations
  • Live restore progress, explicit completion confirmations, and a persistent restore error report you can download or copy for clients
  • Investigative Mode — inspect backed-up content with a mandatory reason, permanently recorded in the audit log

Verification & integrity

  • One-click backup verification — audits the entire index against your storage destination and reports intact, missing and corrupted files

Data retention

  • Rolling or fixed-date retention policies, configured per client
  • Label-and-skip or label-and-backup actions — responsible phase-out instead of blind deletion
  • Shielded Gmail labels and per-file Preserve flags exempt anything you mark from retention
  • Retention forecasting — see exactly how many emails and files a policy would touch before you apply it

Monitoring & reporting

  • Live backup console — real-time worker slots, per-file transfer progress and speed telemetry
  • Audit Ledger recording every backup, restore, deletion and investigative access
  • Global Reporting — custom PDF report builder with reusable templates for client-facing proof of backup
  • Google Workspace usage and login-audit reports

Workspace administration

  • User grid with onboarding and suspension controls, plus login policy management
  • Spam Triage — review, rescue or purge quarantined mail across the whole domain
  • Collaborative inbox creation and membership management via Google Groups
  • Two connection tiers per client — backup-only or full admin — with a guided connection wizard and live scope verification

Linux server backups

  • Agentless SSH backups of Linux servers with key-based authentication
  • Dedicated Linux scheduler and a searchable file index for restores

Security & access control

  • Fully self-hosted — backup data flows directly from Google to your storage and never touches our servers
  • All stored credentials AES-256 encrypted at rest; encryption keys generated automatically on first boot
  • Role-based team access — Super Admin and Restore Operator roles
  • Recovery-key fallback if an administrator password is lost
  • Cryptographically signed licence keys, validated locally and against the licence server

Setup & maintenance

  • Zero-config first boot, guided setup and interactive product tours
  • One-command updates (php update.php) with an automatic database backup before every update
  • Five-phase database optimization tool with a pre-vacuum safety backup
  • Full configuration export / import for server migrations
  • Appearance themes and custom console backgrounds
  • Runs on cPanel shared hosting, any VPS, or Docker — see the install guide

GWS Backup is now free

July 8, 2026

The GWS Backup Free Licence

Both editions of GWS Backup are now free to use forever — for personal and commercial use alike — under the new GWS Backup Free Licence. Development is funded by voluntary donations instead of subscriptions.

  • Free forever for personal and commercial use — a free licence key is required to run the software
  • Not open source: rebranding, reselling and redistribution remain prohibited
  • Donations fund ongoing development — support the project here

White-Label & Custom Branding Programme

Want GWS Backup under your own brand? We now offer white-label editions for purchase, or we can fit your branding into the app for a one-off fee.

  • Full white-label: your name, logo and colours, sold under your identity
  • Custom branding service: we apply your logo, palette and report templates for you
  • Enquiries via the contact form

Full Website Redesign

  • New homepage with fluid, scroll-driven feature showcase and full-size screenshots
  • New Free Licence page, donations section and white-label programme
  • Registration flow now issues free licence keys instead of a beta waitlist

v0.9.7

May 3, 2026

Audit Ledger UI — Table Flashing

The Audit Ledger table constantly refreshed and flashed during an active backup due to its internal poll loop colliding with the parent telemetry fetch.

  • Detached the ledger fetch dependency array from the parent backupJobs array
  • Skeleton loaders now only show on the very first render
  • Table data now swaps silently in the background

Backup Engine — Status Misclassification

Quota-exhausted and rate-limited runs were failing entirely instead of entering a parked state for incremental resumption.

  • Implemented explicit [Parked] error escalation in the retry engine
  • Job statuses are correctly set to Parked to preserve state, rather than Stopped or failing

v0.9.6

April 26 — May 2, 2026

Critical bug fixes

Backup Engine — Full Re-download Regression

Every scheduled backup was creating a brand new Google Drive folder and re-uploading the entire dataset from scratch, instead of incrementally updating the existing one.

  • Scheduled runs now inherit the previous job's folder for true incremental backups
  • Health Watcher auto-recovery resumes the stalled job instead of starting fresh
  • Eliminated redundant full backups consuming 824 GB across 12 clients

Manual Backup Trigger — 500 Error

The "Backup Now" button returned a 500 error due to a query against a non-existent schema field.

  • Corrected the job ordering query and added graceful degradation
  • Manual backups now correctly continue from the previous run

Google Quota ("Parked") Jobs — Silent Hang

When a backup hit Google's daily API quota, workers would park but the job kept running silently until the Health Watcher killed it.

  • Quota hits are now detected in both completion and error paths
  • Jobs exit cleanly within seconds with a distinct Parked status
  • Parked state preserves the run folder and counters for incremental continuation

Backup Cancellation — Memory Leaks & Zombie Threads

Cancelling a running backup left zombie threads alive — long-running Google API requests continued consuming RAM.

  • Replaced the boolean cancellation flag with abort signals threaded through the entire pipeline
  • All HTTP sockets now tear down immediately upon cancellation

Client Deletion — Silent 500 Error

Permanently deleting a client appeared to succeed but the client remained, caused by missing columns and methods in the database layer.

  • Added the missing schema migrations and index methods
  • Deletion now completes and reports accurately

Client List — Filter Removed All Clients

  • Fixed a query-builder gap that hid every client instead of only archived ones

Engine, database & storage

Clean "Parked" Status & UI

  • New distinct amber "Parked (Quota)" badge across the console
  • "Parked" filter option in the Runs tab; client cards display parked status with warning colour

Enhanced Vacuum Tool — Deep Housekeeping

The optimization tool was only running a basic vacuum, reporting "already optimised" even with 400 MB of bloat.

  • Now a five-phase clean: purge soft-deleted jobs, sweep orphaned index rows, clear stale audit entries, rebuild the database file, truncate the WAL to zero
  • A timestamped safety backup is taken before any destructive phase — if it fails, the vacuum is aborted

Client management

Archive vs. Permanent Delete Workflow

Clients can now be archived (soft-deleted with configurable retention) before permanent destruction.

  • New destruction modal — choose between Archive or Permanent Delete
  • Archive Hub with countdown timers and restore capability
  • Duplicate client detection against both business name and domain

Restore & deployment

Recovery Wizard

Replaced the legacy 3-step restore modal with a comprehensive 5-step Recovery Wizard.

  • Three dedicated modes: Disaster Recovery, Point-in-Time Rollback, Migration/Clone
  • "Type RESTORE" safety confirmation gate and pre-flight validation

Deployment & Packaging

  • The update script now locates the database across a cascade of paths before extraction
  • Standardized build pipeline producing a single deployable update archive