Skip to content

v0.6.0 - Server-Side Tracking & Advanced Features

Choose a tag to compare

@decker-dev decker-dev released this 29 Jun 23:37
· 150 commits to main since this release

Major Features

  • πŸ–₯️ Server-Side Tracking: Complete server-side analytics for Node.js, Edge Functions, Cloudflare Workers
  • πŸ”„ beforeSend Middleware: Transform or filter events before sending
  • πŸ“± Offline Support: Automatic retry with localStorage queue
  • 🚦 Route Computation: Automatic route pattern detection for SPAs (e.g., /user/[id])
  • πŸ“¦ Event Batching: Server-side performance optimization
  • πŸ‘€ User Identification: New identify() API for user tracking
  • ⏱️ Queue System: Capture events before SDK initialization
  • πŸ”— Session Stitching: Maintain session continuity between client and server

New APIs

Client-Side

// Initialize with beforeSend
init({
  site: 'my-app',
  beforeSend: (event) => {
    if (event.url?.includes('/admin')) return null;
    return event;
  }
});

// Identify users
identify('user123', {
  email: 'user@example.com',
  plan: 'pro'
});

Server-Side

import { initServer, trackServer } from "better-analytics/server";

// Initialize with batching
initServer({
  site: 'my-app',
  batch: { size: 50, interval: 5000 }
});

// Track from API routes
await trackServer('api_call', props, {
  request,
  user: { id: 'user123', sessionId: 'session456' }
});

This release transforms Better Analytics from a simple client-side tracker to a complete analytics solution suitable for modern full-stack applications.