Releases: textileio/textile
v2.0.0
Powergate
The Powergate API is now available via a Hub proxy. Calls to PushStorageConfig are excluded because the primary way of saving data to Powergate is via Bucket archiving (#323).
Other changes:
- Each new
AccountandUsergets a dedicated FFS instance (#291). - Adds improved detection and handling when the underlying Powergate is reset.
- Fixes the finalization of aborted cases during archive tracking.
Buckets
Bucket file collaboration
File-level access control is available to v1 buckets, which is enabled by the new WriteValidator and ReadFilter JavaScript collection functions.
The buckets API has two new methods for manipulating file access roles:
PushPathAccessRoles(available on the gRPC client andlocallibrary)PullPathAccessRoles(available on the gRPC client andlocallibrary)
local gets a helper method for sending path invites, SendPathInvite.
Versioning
Bucket now have versions. All original buckets are version 0. New buckets are version 1.
Hub
The gRPC API and client have a new method, GetIdentity. This can be used by accounts that do not know their identity (private key), but wish to use the Mailbox APIs.
CLI
hub got a few new sub-commands:
hub pow: Executes a limited set of Powergate calls through the Hub (#323).hub version: Reports the CLI and API version (#327).hub update: Auto-magically updates the CLI to the latest stable release (#327).
Misc.
Closes #313
Closes #314
Closes #318
Thanks to community contributors!
v1.0.14
Buckets
- Adds
bucket.Watch, which provides the ability to watch a bucket for local (offline-first) and remote changes. This is the missing piece of the offline-first bucket sync w/ diffing functionality. (#278) - Adds a new Powergate archive tracker component which provides greater resiliency when tracking bucket archive progress (#301)
- Fixes an issue where IPFS paths were not parsed properly on Windows (#302)
Mailboxes
- Adds a new Hub service for sending messages between Hub users. (#290)
Docs
- Updates Readme with more info and examples for Go developers. (#281)
v1.0.13
Remote Buckets
- Adds bucket size and thread count limits for
Accounts andUsers (#262).- Bucket max size: A bucket must be smaller or equal than the size.
- Buckets total max size: The sum of the sizes of all buckets from the account must be smaller or equal than the limit.
- Maximum number of buckets per Thread.
- Maximum number of threads per Owner.
- Fixes an issue where bucket objects returned 404 when gateway subdomains were enabled (#273).
Local Buckets
- Adds a local Buckets library (
buckets/local) that can be used by programs and CLIs to create offline-first buckets. ThebuckCLI now leverages this functionality for all thing (diffing, syncing, config management, etc.) (#264). - IMPORTANT: Moves the
orgconfig value and flag to a globalhubflag andauth.ymlconfig value. Previously,orghad been attached tobuck, but buckets are not directly concerned with Organizations. Bucket configs that containorgare not effected.
Core
- Enables a keep-alive WebSocket ping interval for web-based API requests (#263).
- Adds the ability to use a custom
libp2pconnection manager when creatingcore.Textile(#261).
Deps
- Updates
go-threadstov0.1.23(#274). - Updates
powergatetolatest(#260). - Updates
go-ipfstov0.6.0(#260).
Closes #272
Closes #234
Closes #248
Closes #251
Closes #235
Thanks to community contributors!
v1.0.12
v1.0.11
v1.0.10
v1.0.9
Local Buckets
- Migrates from using a CAR node archive as the local bucket state to a flatfs repo
- Provides handling for tracking different local and remote roots, which is needed when dealing with private buckets since the local version is always plaintext
Remote Buckets
- Allows for a bucket's Unixfs directory to be encrypted using a modified version of the Google Drive client's dcrypto library
- AES-CTR + AES-512 HMAC was selected because it can encrypt streams, but also works for small bit of data (Unixfs directory nodes)
CMD
- Adds a
--privateflag tobuck init, which states that this bucket will always be encrypted - Adds
buck encrypt [file] [password]andbuck decrypt [path] [password]commands, which provide the ability to encrypt bucket files with a password client-side, meaning the remote will never be able to decrypt the true contents (in a private bucket, the remote will re-encrypt the contents)
Closes #174
v1.0.8
API
- Allow insecure keys for development (#228)
Buckets
- Adds
ListIpfsPathand associated client method (show contents at an IPFS path) - Adds
PullIpfsPathand associated client method (pull data at an IPFS path) - Adds
SetPathand associated client method, which allows setting an arbitrary bucket path via a Cid from the IPFS network
CMD
- A new flag for init-ing a bucket with data from a provided Cid on the IPFS network:
buck init --cid - Adds the ability to add content to an existing bucket from the IPFS network:
buck add <cid> <path>
Threads
- Updates
go-threadstov0.1.20
Docker
- Fixes
local upcommands (#229)
Closes #188
v1.0.7
CMD
- Allows a local bucket to be either cid v0 or cid v1 for backwards compatibility
- Detects remote cid version when needed locally
Buckets
Core
- Handles bucket schema updates when creating a new bucket in an older thread
API
- Adds
Rootand associated API+client methods for retrieving a bucket's root
v1.0.6
CMD
- Fixes
powergateAPI address configuration