Releases: stevelr/anytype
anytype-v0.3.2
Release Notes
Added
- new helper
client::find_grpc(program)to discover a local Anytype gRPC port by scanning listeners for a process prefix and probing candidate ports.
Install anytype 0.3.2
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/stevelr/anytype/releases/download/anytype-v0.3.2/anytype-installer.sh | shInstall prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/stevelr/anytype/releases/download/anytype-v0.3.2/anytype-installer.ps1 | iex"Install prebuilt binaries via Homebrew
brew install stevelr/tap/anytypeDownload anytype 0.3.2
| File | Platform | Checksum |
|---|---|---|
| anytype-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
| anytype-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| anytype-aarch64-unknown-linux-gnu.tar.xz | ARM64 Linux | checksum |
| anytype-x86_64-unknown-linux-gnu.tar.xz | x64 Linux | checksum |
anytype-rpc-v0.3.1
Release Notes
- no change, re-releasing to use new release tag format
Install anytype-rpc 0.3.1
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/stevelr/anytype/releases/download/anytype-rpc-v0.3.1/anytype-rpc-installer.sh | shInstall prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/stevelr/anytype/releases/download/anytype-rpc-v0.3.1/anytype-rpc-installer.ps1 | iex"Install prebuilt binaries via Homebrew
brew install stevelr/tap/anytype-rpcDownload anytype-rpc 0.3.1
| File | Platform | Checksum |
|---|---|---|
| anytype-rpc-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
| anytype-rpc-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| anytype-rpc-aarch64-unknown-linux-gnu.tar.xz | ARM64 Linux | checksum |
| anytype-rpc-x86_64-unknown-linux-gnu.tar.xz | x64 Linux | checksum |
anyr-v0.4.1
Release Notes
Added
- auth updates:
anyr auth set-grpc --bip39to derive and save gRPC account credentials from a BIP39 mnemonic.anyr auth find-grpc [--program PREFIX]to discover a local Anytype gRPC listener port.
Install anyr 0.4.1
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/stevelr/anytype/releases/download/anyr-v0.4.1/anyr-installer.sh | shInstall prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/stevelr/anytype/releases/download/anyr-v0.4.1/anyr-installer.ps1 | iex"Install prebuilt binaries via Homebrew
brew install stevelr/tap/anyrDownload anyr 0.4.1
| File | Platform | Checksum |
|---|---|---|
| anyr-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
| anyr-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| anyr-aarch64-unknown-linux-gnu.tar.xz | ARM64 Linux | checksum |
| anyr-x86_64-unknown-linux-gnu.tar.xz | x64 Linux | checksum |
any-edit-v0.1.5
Release Notes
Changed
Bumped dependencies. Use new release tag format
Install any-edit 0.1.5
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/stevelr/anytype/releases/download/any-edit-v0.1.5/any-edit-installer.sh | shInstall prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/stevelr/anytype/releases/download/any-edit-v0.1.5/any-edit-installer.ps1 | iex"Install prebuilt binaries via Homebrew
brew install stevelr/tap/any-editDownload any-edit 0.1.5
| File | Platform | Checksum |
|---|---|---|
| any-edit-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
| any-edit-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| any-edit-aarch64-unknown-linux-gnu.tar.xz | ARM64 Linux | checksum |
| any-edit-x86_64-unknown-linux-gnu.tar.xz | x64 Linux | checksum |
anyback-v0.4.0-alpha.2
Release Notes
- Inspector updates:
- Added
inspect --max-cache SIZE(default200 MiB) and switched preview caching to size-aware LRU with approximate byte budgeting. - Save to markdown file now includes properties in yaml header
- More properties visible in preview pane (select and multi-select had been omitted)
- select and multi-select are looked up and display as Name and Id instead of Name
- Added new keymaps
- ctrl-e open markdown in editor
- ctrl-c copy object id to clipboard
- ctrl-o open object in anytype app (using registered url scheme anytype://)
- single-line edit keys for editing save-as path (ctrl-a, ctrl-e, ctrl-k)
- Fixed inspector preview performance regression by reusing cached snapshot/markdown data instead of repeatedly re-reading and re-rendering the same objects.
- Added
Install anyback 0.4.0-alpha.2
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/stevelr/anytype/releases/download/anyback-v0.4.0-alpha.2/anyback-installer.sh | shInstall prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/stevelr/anytype/releases/download/anyback-v0.4.0-alpha.2/anyback-installer.ps1 | iex"Install prebuilt binaries via Homebrew
brew install stevelr/tap/anybackDownload anyback 0.4.0-alpha.2
| File | Platform | Checksum |
|---|---|---|
| anyback-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
| anyback-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| anyback-aarch64-unknown-linux-gnu.tar.xz | ARM64 Linux | checksum |
| anyback-x86_64-unknown-linux-gnu.tar.xz | x64 Linux | checksum |
anytype-v0.3.1
Release Notes
Added
- new function
backup_space()to export any space, format: Markdown, Protobuf, or Json; with/without Files, and other options. - file upload/preload request options:
created_in_contextandcreated_in_context_ref - chat message text styles:
toggle_header1,toggle_header2,toggle_header3 - new gRPC
process_watchermodule for reusable process lifecycle tracking (subscribe/wait/reconnect/unsubscribe), with cancellation-channel support and configurable timeouts/fallbacks. - archived object management APIs on
AnytypeClient:list_archived(space_id)builder withlimit,offset, andtypesfilters.count_archived(space_id)to count archived objects.delete_archived(space_id, &[String])to hard-delete archived objects in gRPC batches of 200.delete_all_archived(space_id)to delete all archived objects by paging archived IDs and deleting in repeated batches (200 per delete request) with settle delay and progress debug logs.
Changed
- bumped anytype-rpc to 0.3.0
- removed generate-markdown example
Install anytype 0.3.1
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/stevelr/anytype/releases/download/anytype-v0.3.1/anytype-installer.sh | shInstall prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/stevelr/anytype/releases/download/anytype-v0.3.1/anytype-installer.ps1 | iex"Install prebuilt binaries via Homebrew
brew install stevelr/tap/anytypeDownload anytype 0.3.1
| File | Platform | Checksum |
|---|---|---|
| anytype-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
| anytype-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| anytype-aarch64-unknown-linux-gnu.tar.xz | ARM64 Linux | checksum |
| anytype-x86_64-unknown-linux-gnu.tar.xz | x64 Linux | checksum |
anytype-rpc-v0.3.0
Release Notes
Changes
-
protobuf definitions no longer included in this repo. The build is now faster and doesn't require
protoc. -
Generated source is in
src/gen. Instructions for regeneratingsrc/gen/*.rsfrom protobuf definitions in github:anytype-heart are in the README. -
Breaking
- Updated proto files to 0.48.0
Added
-
new api to backup space
AnytypeGrpcClient::backup_space -
cli additions
- space create, delete, invite (create/show/revoke), enable-sharing, disable-sharing
-
gRPC client channel now sets explicit transport defaults for long-running operations:
- connect timeout: 30s
- TCP keepalive: 60s
- HTTP/2 keepalive interval/timeout: 30s/10s
- keepalive while idle enabled
-
new storage package anytype.storage
anytype_rpc::storage::FileInfoanytype_rpc::storage::FileKeysanytype_rpc::storage::ImageResizeSchemaanytype_rpc::storage::Linkanytype_rpc::storage::Step
-
updated protobuf definitions with file upload context fields, toggle header text styles,
TemplateNamePrefillType, andinvalidateObjectsIndex -
added compatibility table to README
Install anytype-rpc 0.3.0
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/stevelr/anytype/releases/download/anytype-rpc-v0.3.0/anytype-rpc-installer.sh | shInstall prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/stevelr/anytype/releases/download/anytype-rpc-v0.3.0/anytype-rpc-installer.ps1 | iex"Install prebuilt binaries via Homebrew
brew install stevelr/tap/anytype-rpcDownload anytype-rpc 0.3.0
| File | Platform | Checksum |
|---|---|---|
| anytype-rpc-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
| anytype-rpc-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| anytype-rpc-aarch64-unknown-linux-gnu.tar.xz | ARM64 Linux | checksum |
| anytype-rpc-x86_64-unknown-linux-gnu.tar.xz | x64 Linux | checksum |
anyr-v0.4.0
Release Notes
Added
- new space archive commands:
anyr space count-archived SPACE_NAME_OR_IDanyr space delete-archived SPACE_NAME_OR_ID [--confirm]
anyr chat create SPACE_NAME_OR_ID CHAT_NAMEto create chat objects in a space
Changed
- Breaking: chat command argument order is now consistent for space-scoped chat operations:
anyr chat get SPACE CHATanyr chat read SPACE CHATanyr chat unread SPACE CHATanyr chat messages list/get/send/edit/delete SPACE CHAT ...
Install anyr 0.4.0
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/stevelr/anytype/releases/download/anyr-v0.4.0/anyr-installer.sh | shInstall prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/stevelr/anytype/releases/download/anyr-v0.4.0/anyr-installer.ps1 | iex"Install prebuilt binaries via Homebrew
brew install stevelr/tap/anyrDownload anyr 0.4.0
| File | Platform | Checksum |
|---|---|---|
| anyr-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
| anyr-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| anyr-aarch64-unknown-linux-gnu.tar.xz | ARM64 Linux | checksum |
| anyr-x86_64-unknown-linux-gnu.tar.xz | x64 Linux | checksum |
anyback-v0.3.0-alpha.1
Release Notes
-
Flattened CLI: removed
archivesubcommand group andinfocommand.archive inspect->list(with--brief,--expanded,--files)archive cmp->diffarchive cp->extract(positional:<archive> <id> <output>)info->list(for summary/object IDs) ormanifest(for manifest JSON)- New
manifestcommand for standalone manifest output.
-
listincludes summary and object IDs by default; use--brieffor summary only. -
Legacy
archive,infocommands rejected with migration guidance. -
Changed backup/export archive output defaults:
- ZIP is now the default archive format for backup/export.
- removed the
--zipCLI flag frombackup/export. - directory-layout archive support remains in archive reader/import paths.
-
Added an
anyback_reader::markdownmodule that converts protobuf snapshots
(objects/<id>.pb) to markdown directly from archive data, including text
block styles, inline marks, links/bookmarks, file/image links, and markdown
table rendering (Table/TableRows/TableColumnsblocks). -
Added
anyback archive cp OBJID FILE [--archive ARCHIVE]:- saves document-like objects as markdown
- saves file/image objects as raw payload bytes
-
Inspector updates:
- Preview panel now attempts real markdown rendering from protobuf snapshots
- Added
wsave-as flow for selected object with remembered output directory
-
Renamed primary commands:
backup create->backuprestore apply->restore- legacy forms are now rejected with guidance to use the simplified commands
-
Replaced
restore planpreflight flow with direct restore/import preflight:- added
restore --dry-runandimport --dry-run - removed restore plan/apply split from primary CLI flow
- added
-
Added backup zip output controls:
- new
--zipflag onbackup --dest PATHnow auto-enables zip mode whenPATHends in.zip- manifest metadata is written to sidecar
<archive>.manifest.json(sibling path) - inspect/restore still read legacy in-archive
manifest.jsonfor compatibility
- new
-
Added
archive cmp ARCHIVE1 ARCHIVE2:- compares directory/zip archives
- emits
ARCHIVE1 only,ARCHIVE2 only, andChangedsections - supports
pbvspb,pb-jsonvspb-json, and cross-comparepbvspb-json
-
Restore now supports archives without
manifest.json(including desktop-generated backups), and infers object IDs for reporting when possible. -
backup createoutput args updated:- renamed parent directory option to
--dir - added
--dest PATHfor explicit archive output path - added
--prefixfor generated archive naming - added conflict and path validation (
--destvs--dir/--prefix, existing/missing paths)
- renamed parent directory option to
-
Added milestone-02 e2e coverage for full backup + restore in same space.
-
Added nightly integrity fuzz scaffold test (
tests/integrity_nightly.rs) with profile/env controls for object count, body size, elapsed time, and total bytes. -
Restore transport compatibility update:
- reintroduced path-based restore/import via
Rpc.Object.Import.Request.params.PbParams.pathfor full archive apply - moved snapshot restore code paths behind cargo feature
snapshot-import(opt-in) - when built without
snapshot-import,--objectsrestore/import returns actionable guidance to rebuild with that feature
- reintroduced path-based restore/import via
-
Added integrity failure artifact capture in
tests/integrity_nightly.rs:- persists failed batch metadata, backup/restore command output, archive file listing, and copied archive under
/tmp/anyback-integrity-failures/... - adds
ANYBACK_INTEGRITY_TYPESandANYBACK_INTEGRITY_FORMAT=pb|pb-jsoncontrols
- persists failed batch metadata, backup/restore command output, archive file listing, and copied archive under
-
On Linux/macOS, call
nix::unistd::sync()after writing backup archive metadata to reduce transient filesystem visibility races in follow-up restore/integrity runs. -
Added
archive inspectcommand with optional JSON output (--json) and optional file listing (--files). -
Extended
archive inspect:- supports both directory and
.ziparchives without unpacking - adds
--expandedmode to parse all*.pb/*.pb.jsonsnapshot files and emit per-file metadata - is fault-tolerant: unreadable snapshot files are marked
status="unreadable"with reason while remaining files continue to parse
- supports both directory and
-
Milestone 1 (restore snapshot transport plan) implementation:
- added shared archive reader module used by restore staging,
archive inspect, andarchive cmp - removed duplicate dir/zip traversal branches in restore staging in favor of one archive-reader path
- added archive reader unit tests for directory and zip listing/read behavior
- added shared archive reader module used by restore staging,
-
Refactored archive reader into a standalone library target:
anyback/Cargo.tomlnow defines lib crateanyback_readerplus CLI binanyback- archive reader API moved to
anyback_reader::archivefor reuse by external inspector programs - archive reader code has no keystore dependencies
- CLI-only dependencies are gated behind feature
cli(enabled by default); library consumers can usedefault-features = false
-
Milestone 2 (snapshot transport engine) implementation:
- added snapshot import builder and batch planner for
Rpc.Object.Import.Request.snapshots - added chunk limits with env overrides:
ANYBACK_IMPORT_MAX_SINGLE_SNAPSHOT_BYTESANYBACK_IMPORT_MAX_BATCH_BYTESANYBACK_IMPORT_MAX_BATCH_SNAPSHOTS
- added oversize single-snapshot error path with object id/path/size context
- added unit tests for batch split and oversize enforcement
- added initial transport switch
ANYBACK_RESTORE_TRANSPORT=snapshotsduring migration - snapshot transport currently supports
*.pb;*.pb.jsonrestore returns actionable error
- added snapshot import builder and batch planner for
-
Milestone 3 (event-driven progress/completion) implementation:
- restore now wraps import lifecycle with
ProcessSubscribe/ListenSessionEvents/ProcessUnsubscribe - restore now waits for
processNew/processUpdate/processDonecorrelation per import dispatch and tracksimportFinishsummaries - added restore process timeout env overrides:
ANYBACK_EVENT_STREAM_CONNECT_TIMEOUTANYBACK_PROCESS_START_TIMEOUTANYBACK_PROCESS_IDLE_TIMEOUTANYBACK_PROCESS_DONE_TIMEOUT
- restore JSON report now includes
event_progresssummary with process/event counts and final observed process state
- restore now wraps import lifecycle with
-
Milestone 3 (path transport hardening) implementation:
- removed restore import staging helpers and manifest-stripping staging branches
- removed path-race retry branch for
"no such file or directory"in integrity restore harness
-
Increased nightly integrity profile complexity in
tests/integrity_nightly.rs:smallprofile now runs more iterations/objects and higher body-byte budgetsmediumprofile now runs more iterations/objects with larger byte/time caps- profile parse test now enforces monotonic growth across tiny/small/medium/large
-
Expanded nightly integrity semantic coverage in
tests/integrity_nightly.rs:- validates restored object type, description property, and per-object markdown markers
- uploads and roundtrips file attachments (with context metadata) on even iterations
- validates file attachment roundtrip via restore JSON success rows (
type=file, expected file name)
-
Restore reliability hardening:
- restore import progress is always enabled at the RPC layer (
no_progress=false) so process events remain observable in non-interactive runs - session event stream drop/read failures now trigger reconnect-and-continue within existing restore timeouts
- restore cancellation now uses an
mpscchannel so signal handlers (SIGINT/SIGTERM) can request cancellation via the same path intended for future TUI cancel actions - import API errors now include code-based hints for common import failure classes
- restore import progress is always enabled at the RPC layer (
-
Restore/import completion hardening for path-based imports:
- restore/import now fails if process completion events time out instead of silently proceeding
- this prevents early command exit while server-side async import is still running against archive paths
-
Test cleanup hardening:
- e2e and nightly integrity tests now register per-test prefix cleanup guards that run on early returns/panics
- cleanup no longer depends solely on end-of-test happy-path execution
-
Added chat restore coverage:
-
new e2e tests validate chat message roundtrip for chat spaces and regular spaces with chats
-
nightly
largeprofile now runs chat-message roundtrip checks for both regular spaces-with-chats and chat spaces -
chat validations explicitly assert that sent message tokens are present after restore
Install anyback 0.3.0-alpha
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/stevelr/anytype/releases/download/anyback-v0.3.0-alpha/anyback-installer.sh | shInstall prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/stevelr/anytype/releases/download/anyback-v0.3.0-alpha/anyback-installer.ps1 | iex"Install prebuilt binaries via Homebrew
brew install stevelr/tap/anybackDownload anyback 0.3.0-alpha
| File | Platform | Checksum |
|---|---|---|
| anyback-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
| anyback-x86_64-pc-windows-msvc.zip | x64 Windows | [checksum](https://github.com/stevelr/anytype/releases/download/anyback-v0.3.0-alpha/anyback-x86_64-pc-... |
anytype-v0.3.0
Release Notes
Major update:
- adds gRPC backend for Files and Chats.
- Refactored keystore to use db-keystore (sqlite) for file-based keystore
Added
take_items()onPaginatedResult<T>- gRPC files module with list/search/get/upload/download/preload support.
- gRPC file list/search filters for name, extension, size, and file type.
- gRPC file downloads now support explicit destination file paths via
to_file()(andto_dir()alias). - gRPC chat streaming API with subscription control, reconnect, and preview support.
- chat message send with helpers for text marks
- functions to generate web links:
Object::get_link,Object::get_link_shared, andobjects::object_link,objects::object_link_shared - new example: agenda - Collect top-10 tasks (sorted by date modified and priority) and recent documents, and send in a chat message.
Changed
- simplified KeyStore implementation leveraging new keyring_core apis.
- KeyStoreFile replaced by db-keystore::DbKeyStore. Uses local sqlite file (turso rust-native implementation), with optional encryption. Default key store is still OS keyring.
- gRPC feature is enabled by default; disable with
default-features = falseif you only need REST. - Apache-2.0 license
- bumped dependencies (markdown2pdf -> 0.2.1)
BREAKING
- Build changes
- protoc and libgit2 must be installed for build from source or cargo install
- ClientConfig::base_url changed from String to Option
- Changes to authentication apis
- is_authenticated() replaced with auth_status().http.is_authenticated() and auth_status().grpc.is_authenticated().
- keystore is now configured in ClientConfig. set_key_store() and load_key() no longer needed.
- If using file-based keystore, default path is ~/.local/state/keystore.db
- removed SecretApiKey
Install anytype 0.3.0
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/stevelr/anytype/releases/download/anytype-v0.3.0/anytype-installer.sh | shInstall prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/stevelr/anytype/releases/download/anytype-v0.3.0/anytype-installer.ps1 | iex"Install prebuilt binaries via Homebrew
brew install stevelr/tap/anytypeDownload anytype 0.3.0
| File | Platform | Checksum |
|---|---|---|
| anytype-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
| anytype-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| anytype-aarch64-unknown-linux-gnu.tar.xz | ARM64 Linux | checksum |
| anytype-x86_64-unknown-linux-gnu.tar.xz | x64 Linux | checksum |