Skip to content

Upgrading

Release-specific migration notes and compatibility changes.

Updated View as Markdown

Upgrading to 0.3.0

Version 0.3.0 adds public tooling and documentation without changing the existing recorder configuration shape.

Testing subpath

The package now exports @rikology/adonisjs-periscope/testing. It contains storage-backed polling, assertion, cleanup helpers, and a Japa plugin. No test integration is installed automatically; see Testing for setup and application-scoped cleanup.

Doctor and import commands

Two Ace commands are new:

node ace periscope:doctor [--fix]
node ace periscope:import --file=<path|-> [--application=<name>]

periscope:doctor boots the application, checks the generated wiring, and exits with code 1 on a failed check. Its --fix mode only adds debug: true to Lucid connection objects it can edit conservatively. The configure hook’s final checklist now directs new installations to node ace periscope:doctor; run the same command once after upgrading an existing installation.

periscope:import reads a versioned batch export from a file or from stdin when --file=-. The optional application flag overrides the application on imported entries. It requires durable storage.

Public batch export schema

The version 1 periscope.batch envelope is now a documented public format. The package root exports BATCH_EXPORT_FORMAT, BATCH_EXPORT_VERSION, parseBatchExport, BatchExportV1, and StoredEntryTransport. See the batch export reference before producing or consuming exports outside Periscope.

Experimental HTTP API

The dashboard’s /api/* routes are now explicitly declared experimental. They may change between minor releases while the dashboard and server evolve together. External consumers should pin the package version and follow the HTTP API reference.

Release CI gate

The manual Release workflow now requires a successful completed CI workflow for the exact commit SHA being published. Run or wait for CI on the intended commit before dispatching a release.

Database storage schema

Existing installations must add an application varchar(191) NOT NULL DEFAULT 'default' column to periscope_monitored_tags and replace its tag-only primary key with a composite primary key on (application, tag). Existing rows remain in the default application scope.

Postgres installations may also enable pg_trgm and create the optional search index:

CREATE EXTENSION IF NOT EXISTS pg_trgm;
CREATE INDEX IF NOT EXISTS periscope_entries_content_trgm
  ON periscope_entries USING gin (content gin_trgm_ops);

The generated migration attempts both operations but tolerates managed-database privilege restrictions. Without the extension or index, content search behavior is unchanged; PostgreSQL uses ILIKE and the planner may fall back to a table scan.

Navigation

Type to search…

↑↓ navigate↵ selectEsc close