Skip to content

v0.5.7: restore subject/delete + plugin-runtime subject helpers

Choose a tag to compare

@Shooksie Shooksie released this 07 Jun 15:04
· 80 commits to main since this release

Restores the animus-subject-protocol surfaces wiped by the v0.1.14 "sync from animus-cli" regression and re-adds the animus-plugin-runtime subject helpers downstream Rust plugins depend on.

Restored on animus-subject-protocol 0.1.14 → 0.1.15

  • METHOD_SUBJECT_DELETE = "subject/delete" wire constant
  • BackendError::Unsupported(String) variant + RpcError mapping to METHOD_NOT_SUPPORTED (-32001)
  • SubjectBackend::delete trait method with default impl returning Unsupported
  • DeleteSubjectRequest / DeleteSubjectResponse
  • Subject::native_status, Subject::status_metadata, Subject::attachments
  • SubjectAttachment { id, kind, uri, title, mime_type, metadata }
  • StatusDispatchHint { native_status, maps_to, dispatch_label, description }
  • SubjectSchema::native_status_values, SubjectSchema::status_dispatch_hints
  • SubjectFilter::native_status, dispatch_label, has_attachment_kind
  • SubjectChangedEvent::previous_native_status, previous_dispatch_label
  • ChangeKind::DispatchLabelChanged, ::AttachmentAdded, ::AttachmentRemoved

Added

  • SubjectSchema::supports_delete: bool — mirror of supports_create, defaults to false for back-compat.

animus-plugin-runtime 0.2.0 → 0.2.1

  • subject_backend_main(info, backend) — drop-in for the v0.1.13 entrypoint. Auto-derives kind-prefixed <kind>/<verb> aliases from backend.schema().kinds, forwards health/check to backend.health().
  • subject_backend_main_with_capabilities(info, backend, extra) — parity with v0.1.13.
  • subject_backend_main_with_kinds(info, backend, kinds) — explicit kinds list.
  • subject_plugin / subject_plugin_with_kind_aliases — builder-style.
  • Plugin::on_health(hook) — backend-specific health/check routing.
  • Plugin::advertised_methods() / Plugin::has_method_handler() — test accessors.

Kept from v0.1.14

  • schemars::JsonSchema derives on every public message type
  • animus-subject-protocol-export-schema bin

Why

The v0.1.14 "sync from animus-cli" merge replaced the upstream protocol crate with a snapshot of the in-tree ao-cli copy, silently dropping a number of subject extensions that downstream plugins depended on. v0.5.7 makes the upstream protocol forward-compatible with v0.1.13 again, so downstream Rust subject plugins can bump their pin to v0.5.7 in a single edit and pick up subject/delete instead of staying trapped on v0.1.13.