Skip to content

Releases: medievalrp-net/Spyglass

Spyglass 1.1

Choose a tag to compare

@github-actions github-actions released this 25 Sep 03:13
fcaa567

Minecraft 26.1.2, 26.2 and 26.3 - Java 25. Download the jar matching your server:

  • 26.1.2: Spyglass-1.1.0-mc26.1.2.jar
  • 26.2: Spyglass-1.1.0-mc26.2.jar
  • 26.3: Spyglass-1.1.0-mc26.3.jar

Shaded jars bundle libraries; Velocity and API jars are optional. Checksums: SHA256SUMS.
Minecraft 1.21.11: use 1.0.13.

Rebuilt for #371. Existing installations of this version should download the jar again.

  • Fix #371: /sg tool or throwing away the wand deactivates inspection and removes all tagged tools. Ordinary items are preserved.
  • Inventory GUIs for snapshots and rollback storage.
  • Fixes wand protection, location indexes and live config reload.
  • Adds logging for age locks, sulfur cubes/spikes, copper golems, cushions and straw beds on applicable versions.
  • /sg version and ops receive compatible update notices. Disable with updates.enabled=false and restart.

26.3 uses an alpha Paper build. See validation coverage.

Rebuild source: 3b1065e.

The existing tag and automatic source archives are unchanged; use the rebuild source commit above.

Spyglass 1.0.13 - Minecraft 1.21.11

Choose a tag to compare

@github-actions github-actions released this 25 Sep 03:00

Minecraft 1.21.11 - Java 21. Download Spyglass.jar; use Spyglass-shaded.jar if your host cannot download dependencies. Velocity and API jars are optional. Checksums: SHA256SUMS.

Rebuilt for #371. Existing installations of 1.0.13 should download the jar again.

  • /sg tool or throwing away the wand deactivates inspection and removes tagged tools. Ordinary items are preserved.
  • Inventory snapshots, accurate automated/copper-golem transfers and FAWE fixes.
  • Wand protection, location indexes, live config reload and compatible update notices.
  • Disable update checks/notifications with updates.enabled=false and restart.

Minecraft 26.x: use the matching Spyglass 1.1 build.

Rebuild source: e0216ca. The existing tag and automatic source archives are unchanged.

Spyglass 1.0.12

Choose a tag to compare

@github-actions github-actions released this 31 Aug 21:49
4da291b

Spyglass v1.0.12 - forensic logging & rollback for Paper 1.21.x (Java 21).

What's fixed

Point-in-time inventory and container views, and a batch of fixes for events that were recorded wrongly, not at all, or shown misleadingly.

  • New /sg snapshot: reconstruct a player inventory or a container as it stood at a past instant, browse it in a GUI, and take items back out of it. Every take is logged and attributed, so pulling an item out of a reconstructed inventory is itself searchable history. Container snapshots need no setup and store nothing, because they are rebuilt from the deposit/withdraw log you already keep. Capturing player inventories is opt-in and off until you set snapshot.players.enabled, since it is the one capture that runs on a timer rather than reacting to events and so costs disk whether or not anyone looks; running the command while it is off tells you which key to turn on.
  • FastAsyncWorldEdit edits are logged correctly again on FAWE 2.15.2. On that version Spyglass took its notes after FAWE had already written the chunk, so it read the new blocks as the "before" state and logged every placed block as a break of the material that had just been placed. Generation commands and brushes (//cyl, //pyramid, //sphere) lost their place records entirely, and //paste and //move gained phantom breaks at the destination. Logging now happens in the stage where the before and after data are both valid. FAWE 2.15.0 and earlier were never affected. Records already written by an affected build cannot be repaired, because the "placed" facts were never stored.
  • Hopper, dropper and dispenser movement is recorded per slot, each record carrying that slot's exact contents before and after. A container snapshot now replays automated traffic exactly, instead of returning a confident wrong answer for a container a hopper had drained. These records are still never touched by rollback or restore. Every movement is now recorded rather than one per flow window, so servers running heavy hopper farms should watch disk and reach for the per-event toggles or a shorter per-event retention.
  • Container access on animals and chest boats is logged. Horse saddle and armor slots, donkey, mule and llama chests, and chest boats produced no records at all: no deposits, no withdrawals, and no open or close pair. Minecart inventories now also emit open and close records, which the old code dropped.
  • Snapshotting a double chest, or a container that has since been destroyed, opens the view instead of failing silently. The window was built one row taller than Minecraft permits, so the player got no window and no error whatsoever. Any other failure to build the view now falls back to the text listing rather than swallowing the result.
  • Chiseled bookshelves, decorated pots and lecterns can be snapshotted. They hold inventories but are not containers as far as the server API is concerned, so looking at one was refused, and naming it by coordinate reported it as destroyed while it stood there full.
  • Container reconstruction is more honest about what it cannot know. A change recorded in the same second you asked about is no longer dropped, an instant older than the container's whole recorded history is reported as inferred rather than certain, and a window large enough to hit the internal query cap says so instead of quietly leaving the oldest changes out. Naming a coordinate that never held a container answers plainly, and no longer generates world chunks as a side effect of the lookup.
  • /sg version shows the support Discord.

Config upgrades from v2 to v3 on first boot and your existing file is backed up beside it. The two hopper transfer events changed names, and the migration carries any toggle or retention you had set on the old names across to the new ones. Stored data is unchanged and no data migration runs, so upgrading is a jar swap.

Downloads

  • Spyglass.jar (recommended) - lean build. Paper's library loader
    downloads its database driver, command framework, and config libs from
    Maven Central on first start (needs outbound internet once; cached under
    <server>/libraries/).
  • Spyglass-shaded.jar - fat fallback with every dependency bundled.
    Use it if your host blocks outbound network at boot, or you hit a
    library-loader issue. Identical behavior, larger file.
  • Spyglass-Velocity.jar - optional Velocity proxy companion for
    cross-server search. Read-only: never writes records, never rolls back.
    Install on the proxy only if you run a Velocity network; a standalone
    Paper server doesn't need it.

For plugin developers

  • spyglass-api.jar (plus -sources/-javadoc) - the Apache-2.0
    API, for compiling against Spyglass. Prefer Maven Central:
    net.medievalrp:spyglass-api:1.0.12. These jars are a fallback for when
    Central hasn't caught up yet. Server owners don't need this file.

Spyglass 1.0.11

Choose a tag to compare

@github-actions github-actions released this 27 Jul 13:42
0361509

Spyglass v1.0.11 - forensic logging & rollback for Paper 1.21.x (Java 21).

What's fixed

A public block-capture API, and a fix for Maven Central publishes that were silently never going public.

  • spyglass-api can now build a BlockSnapshot. BlockSnapshots.capture(BlockState) and the captureRaw/finishCapture split live in net.medievalrp.spyglass.api.capture, along with ItemSerialization. Plugins recording their own block events previously had no supported way to produce the snapshot that BlockBreakRecord and BlockPlaceRecord require, and the workaround was compiling against the GPL-3.0 plugin jar. See API.md section 3.
  • Maven Central publishing actually publishes now. Releases 1.0.8, 1.0.9 and 1.0.10 uploaded to the Central Portal, passed validation, then stopped and waited for a manual click nobody made, while the release job reported success. Central served 1.0.7 throughout, so 1.0.11 is the first version since then that anyone can resolve. The release now publishes without the manual step and waits for Central to confirm, so a green job means the artifact is public.
  • spyglass-api.jar ships as a GitHub release asset from this release on, with sources and javadoc, so Central is no longer the only way to get the API.
  • API.md said the API jar ships under the plugin's terms and linked the GPL-3.0 licence. It is Apache-2.0. Corrected, along with a local-jar section that pointed at a file nothing published.

Nothing here changes stored data or config, and no migration runs. Upgrading from 1.0.10 is a jar swap.

Downloads

  • Spyglass.jar (recommended) - lean build. Paper's library loader
    downloads its database driver, command framework, and config libs from
    Maven Central on first start (needs outbound internet once; cached under
    <server>/libraries/).
  • Spyglass-shaded.jar - fat fallback with every dependency bundled.
    Use it if your host blocks outbound network at boot, or you hit a
    library-loader issue. Identical behavior, larger file.
  • Spyglass-Velocity.jar - optional Velocity proxy companion for
    cross-server search. Read-only: never writes records, never rolls back.
    Install on the proxy only if you run a Velocity network; a standalone
    Paper server doesn't need it.

For plugin developers

  • spyglass-api.jar (plus -sources/-javadoc) - the Apache-2.0
    API, for compiling against Spyglass. Prefer Maven Central:
    net.medievalrp:spyglass-api:1.0.11. These jars are a fallback for when
    Central hasn't caught up yet. Server owners don't need this file.

Spyglass 1.0.10

Choose a tag to compare

@github-actions github-actions released this 15 Jul 04:28
67b7517

Spyglass v1.0.10 - forensic logging & rollback for Paper 1.21.x (Java 21).

What's fixed

  • Added explicit rollback scopes: blocks by default, plus --containers and --entities.
  • Rolled-back records now appear gray and struck through.
  • Fixed numerous rollback, undo, salvage, container, double-chest, and audit issues.
  • Improved rollback performance and moved crafter serialization off the main thread.
  • Added worldedit.enabled, enabled /s by default, and expanded inspector lookback.
  • Upgrades from 1.0.8/1.0.9 automatically migrate config.conf and create config.conf.v1.bak.

Important: Upgrade the backend and Velocity jars together, and run pending /sg undo operations first.

Removed: storage.durability and storage.rolled-audit.

API changes add guarded rollback reasons, container/entity flags, and null-location validation.

Downloads

  • Spyglass.jar (recommended) - lean build. Paper's library loader
    downloads its database driver, command framework, and config libs from
    Maven Central on first start (needs outbound internet once; cached under
    <server>/libraries/).
  • Spyglass-shaded.jar - fat fallback with every dependency bundled.
    Use it if your host blocks outbound network at boot, or you hit a
    library-loader issue. Identical behavior, larger file.
  • Spyglass-Velocity.jar - optional Velocity proxy companion for
    cross-server search. Read-only: never writes records, never rolls back.
    Install on the proxy only if you run a Velocity network; a standalone
    Paper server doesn't need it.

Spyglass 1.0.9

Choose a tag to compare

@github-actions github-actions released this 09 Jul 14:27
91238f3

Spyglass v1.0.9 - forensic logging & rollback for Paper 1.21.x (Java 21).

What's fixed

Command UX polish and two stability fixes, on top of 1.0.8's CoreProtect import and backend migration.

  • Help: /sg help now lists every command (import, migrate, inventory, stats, rbqueue...) and paginates, with the same red clickable page arrows as search results.
  • Consistency: /sg import and /sg migrate output now use the standard "Spyglass" chat styling, /sg version spacing is fixed, and /sg migrate tab-completes its backend argument.
  • /s alias: register /s as a third root command next to /spyglass and /sg (opt in with commands.s-alias, off by default).
  • Fix: a null-location record no longer wedges the ClickHouse ingest drain. Such a record is stored with a sentinel location and rejected at the API boundary, so one bad third-party event can't stop the audit log.
  • Fix: a capture whose world just unloaded no longer throws on the block break/place path; it records with a worldless sentinel instead.

Downloads

  • Spyglass.jar (recommended) - lean build. Paper's library loader
    downloads its database driver, command framework, and config libs from
    Maven Central on first start (needs outbound internet once; cached under
    <server>/libraries/).
  • Spyglass-shaded.jar - fat fallback with every dependency bundled.
    Use it if your host blocks outbound network at boot, or you hit a
    library-loader issue. Identical behavior, larger file.
  • Spyglass-Velocity.jar - optional Velocity proxy companion for
    cross-server search. Read-only: never writes records, never rolls back.
    Install on the proxy only if you run a Velocity network; a standalone
    Paper server doesn't need it.

Spyglass 1.0.8

Choose a tag to compare

@github-actions github-actions released this 09 Jul 03:59
4a52e46

Spyglass v1.0.8 - forensic logging & rollback for Paper 1.21.x (Java 21).

What's fixed

The CoreProtect migration release: bring your CoreProtect history into Spyglass, and move it between storage backends.

  • Import: /spyglass import loads a CoreProtect 20+ database (SQLite file or live MySQL) into whatever backend you run, with dedup-safe re-imports. It warns up front when part of the history is older than storage.retention and would age out after import.
  • Migrate: /spyglass migrate copies every record from the active backend into another configured one - fill in the target's block in config.conf, migrate, flip database.backend, restart.
  • Config: storage.retention now accepts "never" (and 0/forever/off) instead of disabling the plugin on boot.
  • Search/rollback: p: resolves players this server never saw (imported histories, shared stores), so rolling back the old griefer by name works.
  • Fix: imported expiries are clamped below ClickHouse's TTL ceiling; unclamped they wrapped past 2106 and OPTIMIZE deleted the rows.

Downloads

  • Spyglass.jar (recommended) - lean build. Paper's library loader
    downloads its database driver, command framework, and config libs from
    Maven Central on first start (needs outbound internet once; cached under
    <server>/libraries/).
  • Spyglass-shaded.jar - fat fallback with every dependency bundled.
    Use it if your host blocks outbound network at boot, or you hit a
    library-loader issue. Identical behavior, larger file.
  • Spyglass-Velocity.jar - optional Velocity proxy companion for
    cross-server search. Read-only: never writes records, never rolls back.
    Install on the proxy only if you run a Velocity network; a standalone
    Paper server doesn't need it.

Spyglass 1.0.7

Choose a tag to compare

@github-actions github-actions released this 02 Jul 19:18
9f12b16

Spyglass v1.0.7 - forensic logging & rollback for Paper 1.21.x (Java 21).

What's fixed

Mostly a performance pass on the storage backends and the rollback apply path.

  • Storage: cheaper SQLite/MariaDB retention sweeps, leaner Mongo inserts, and a fix for a ClickHouse read-after-flush visibility gap.
  • Rollback: salvage serialization moved off the main thread, paced chunk loads, faster container reads, and partial-drain rollbacks now log their backlog.
  • Fix: cascade dedup key no longer overflows the Y coordinate.

Downloads

  • Spyglass.jar (recommended) - lean build. Paper's library loader
    downloads its database driver, command framework, and config libs from
    Maven Central on first start (needs outbound internet once; cached under
    <server>/libraries/).
  • Spyglass-shaded.jar - fat fallback with every dependency bundled.
    Use it if your host blocks outbound network at boot, or you hit a
    library-loader issue. Identical behavior, larger file.
  • Spyglass-Velocity.jar - optional Velocity proxy companion for
    cross-server search. Read-only: never writes records, never rolls back.
    Install on the proxy only if you run a Velocity network; a standalone
    Paper server doesn't need it.

Spyglass 1.0.6

Choose a tag to compare

@github-actions github-actions released this 28 Jun 00:32
3a0d164

Spyglass v1.0.6 - forensic logging & rollback for Paper 1.21.x (Java 21).

Downloads

  • Spyglass.jar (recommended) - lean build. Paper's library loader
    downloads its database driver, command framework, and config libs from
    Maven Central on first start (needs outbound internet once; cached under
    <server>/libraries/).
  • Spyglass-shaded.jar - fat fallback with every dependency bundled.
    Use it if your host blocks outbound network at boot, or you hit a
    library-loader issue. Identical behavior, larger file.
  • Spyglass-Velocity.jar - optional Velocity proxy companion for
    cross-server search. Read-only: never writes records, never rolls back.
    Install on the proxy only if you run a Velocity network; a standalone
    Paper server doesn't need it.

Spyglass 1.0.5

Choose a tag to compare

@github-actions github-actions released this 26 Jun 19:16

Spyglass v1.0.5 - forensic logging & rollback for Paper 1.21.x (Java 21).

Downloads

  • Spyglass.jar (recommended) - lean build. Paper's library loader
    downloads its database driver, command framework, and config libs from
    Maven Central on first start (needs outbound internet once; cached under
    <server>/libraries/).
  • Spyglass-shaded.jar - fat fallback with every dependency bundled.
    Use it if your host blocks outbound network at boot, or you hit a
    library-loader issue. Identical behavior, larger file.
  • Spyglass-Velocity.jar - optional Velocity proxy companion for
    cross-server search. Read-only: never writes records, never rolls back.
    Install on the proxy only if you run a Velocity network; a standalone
    Paper server doesn't need it.