Changelog

What's new

New features, improvements, bug fixes, and security updates.

Improvement 06 Apr 2026

Analytics query performance improvements

Several database indexes have been added to the pageviews table, making dashboard queries significantly faster for sites with large datasets. A pathname index scoped to each tracking driver was added alongside compound indexes covering the columns most commonly filtered together. Index existence is checked before creation so deployments are safe to run on existing installations.
Feature 06 Apr 2026

Billing and subscription management

Manage your GhostlyX subscription entirely from within the app. Choose a plan during or after registration, upgrade or downgrade at any time, and schedule a downgrade to take effect at the end of your current billing period. PDF invoices are available for every payment. Renewal dates are shown without making additional API calls, keeping the billing page fast to load.
Improvement 06 Apr 2026

Improved SPA navigation tracking

The tracking script now handles single-page application navigation reliably across all major frameworks. History API transitions (pushState and replaceState) and popstate events are all captured. A fallback to DOM querying is in place for environments where document.currentScript is unavailable at navigation time, such as Astro's partial hydration model. Duplicate pageview recording after framework re-execution has also been fixed.
Feature 06 Apr 2026

Real-time pageview broadcasting

Your dashboard now updates live as visitors land on your site, with no page refresh required. Pageview events are broadcast over WebSockets the moment they are recorded. The realtime widget, the live visitor counter, and the active sessions panel all reflect changes within seconds. The connection is established automatically when you open your dashboard and reconnects silently if it drops.
Feature 04 Apr 2026

Getting started guide

The Getting Started documentation page is now live at /docs/getting-started. It covers the full setup flow in three steps: creating an account and adding your site, installing the tracking snippet (HTML and WordPress), and verifying the installation to view your first data. The guide also documents SPA navigation support (history.pushState and popstate are tracked automatically), CSP configuration, and a detailed breakdown of exactly what is and is not stored IP addresses are never written to the database, the visitor hash resets daily, raw user-agent strings are not stored, and no cookies are set. Privacy signals are documented clearly: GPC and DNT are honoured both client-side before any request is made and server-side as a second check. The opt-out API is also covered. The Getting started card on the /docs index now links to the guide instead of showing a Soon badge.