Changelog

Unreleased Phase 1 notes for Epure product and docs, in Keep a Changelog format, with no invented git tags.

Engineering log for the binary and the docs IA. Until public tags exist, everything sits under Unreleased.

Format follows Keep a Changelog and Semantic Versioning. For the narrative version, read the marketing changelog at /changelog.

What is unreleased?

Added

  • Docs site on epure.sh (/docs): Get started, JavaScript platforms (Browser, Node, Next.js), Python, Go, Ruby, PHP, Java, .NET, product UI, self-hosting, ingest/Issues/Events API
  • Try ingest panel: copyable store curl + JSON body; fields persist in the tab; no browser POST
  • Copyable command panels on product and self-host pages (login, DSN, webhooks, compose, health)
  • Object-first API: Ingest, Issues, Events, Authentication, Errors
  • Product Events guide; per-SDK platform pages (Python, Go, Ruby, PHP, Java, .NET) plus Other runtimes hub (store curl)
  • Ingest: envelope + store, spike valve, project ingest cap, JS/TS sourcemap demangle
  • Storage: PostgreSQL 16 + RLS, monthly partitions
  • Dashboard: session auth, Issues triage, releases, webhooks, RBAC lite

Changed

  • Docs IA split: Get started / Platforms / Product / Guides / Self-hosting / API
  • Envelope reference title is Ingest (URL /docs/api/envelope unchanged)
  • Clone instructions target the dedicated public repo epure-sh/epure (Compose at repo root)
  • Operator knobs live in one .env (EPURE_PORT, EPURE_PUBLIC_URL, CORS). Compose interpolates it.
  • Production: .env.production.example, HTTPS public URL, example DB passwords refused off localhost
  • docker compose up pulls ghcr.io/epure-sh/epure. Pin with EPURE_IMAGE. Source build overlay: docker-compose.build.yml.
  • Error tables: what happened + what to do next

Fixed

  • Nothing tagged. File product bugs with SDK name + version.

Removed / not in Phase 1

Tracing, session replay, profiling, log product, iOS/Android symbolication, Cloud billing (Pro $24 / Plus $79 later). No Redis, Kafka, or SQLite-as-primary on the OSS path.

How to read this page

SectionMeaning
AddedNew surface in the binary or docs
ChangedBehavior or IA that existing readers must notice
FixedDefect closed after a public tag exists
RemovedExplicitly out of Phase 1, not a silent delete

When the first git tag ships, add ## [x.y.z] - YYYY-MM-DD above Unreleased and move the matching bullets.

Confirm the running build

Health has no auth. Use this after compose up or an upgrade.

command

curl -sS http://localhost:8080/health

Expected

{"status":"ok"}
Where is the GitHub compare link?

There is no public tag yet, so this page does not invent github.com/epure-sh/epure/compare URLs. When the first tag ships, add ## [x.y.z] - YYYY-MM-DD above Unreleased and move matching bullets. Confirm a running build with GET /health.

Docs vs product changelog?

This page is the engineering log for the binary and the docs IA. The marketing changelog is /changelog. Product bullets here track the Phase 1 FEATURES surface. Until tags exist, everything sits under Unreleased.