2.16.0 - 2024-04-23
- Numeric operands for object search queries (#265)
- Link object payload message (#263)
- Children sizes index to the link objects (#264)
LINK
split chain object type (#283)BearerToken.issuer
field (#266)- First child search filter (#295)
- Split ID is deprecated, the first child part is used instead and is known to the other parts (#283)
- Object header is now limited to 16KB (#262)
- X-headers
__NEOFS__NETMAP_EPOCH
and__NEOFS__NETMAP_LOOKUP_DEPTH
are ignored by servers now (#282) Tombstone.expiration_epoch
field is ignored by servers now (#215)- Signature for Replicate request (#294)
- Object attributes
__NEOFS__TICK_EPOCH
and__NEOFS__TICK_TOPIC
(#279) - X-headers
__NEOFS__NETMAP_EPOCH
and__NEOFS__NETMAP_LOOKUP_DEPTH
(#282) Tombstone.expiration_epoch
field in favor of corresponding object attribute (#215)split_id
field in tombstones (#297)
2.15.0 - 2024-01-30
- Well-known
Version
node attribute (#267) - Reserved node attribute for verified domains (#277)
- Fast object replication API (#280)
- Improved documentation (#224, #275)
- Redundant object system attribute
__NEOFS__UPLOAD_ID
(#271)
- Subnets (#261)
2.14.0 - 2022-09-23 - Anmado (안마도, 鞍馬島)
NetmapSnapsot
RPC tonetmap.NetmapService
(#228)- Well-known object attribute
FilePath
ofobject.Header.Attribute
(#238) MAINTENANCE
value ofnetmap.NodeInfo.State
enum (#237)NODE_UNDER_MAINTENANCE
code tostatus.CommonFail
status section (#237)- Well-known node attribute
ExternalAddr
ofnetmap.NodeInfo.Attribute
(#235)
- Object session can be issued for a group of objects (#202)
- System network parameters are explicitly declared in
NetworkConfig.Parameter
(#214)
2.13.1 - 2022-08-01
EACL_NOT_FOUND
status code to thecontainer
section (#230)
2.13.0 - 2022-06-21 - Yeonpyeongdo (연평도, 延坪島)
- Extended headers usage clarification (#204)
OUT_OF_RANGE
status code to theobject
section (#208)- Disabling homomorphic hashing container setting (#217)
LOCK
object behaviour clarification (#221)- Storage group members uniqueness constraint (#222)
- WalletConnect signature scheme (#206)
SIGNATURE_VERIFICATION_FAIL
status code to theCommonFail
section (#225)
- Storage group's expiration epoch field (#205)
- English language typos (#216)
2.12.0 - 2022-02-22 - Heuksando (흑산도, 黑山島)
Network magic, main status codes, object locks and notifications.
magic_number
field toRequestMetaHeader
message (#82)WRONG_MAGIC_NUMBER
status code toCommonFail
section (#82)- Well-known object attributes related to notifications
__NEOFS__TICK_EPOCH
and__NEOFS__TICK_TOPIC
(#193) ACCESS_DENIED
status code toObject
section (#189)OBJECT_NOT_FOUND
,CONTAINER_NOT_FOUND
andOBJECT_ALREADY_REMOVED
status codes (#190)TOKEN_NOT_FOUND
andTOKEN_EXPIRED
status codes toSession
section (#191)LOCK
value ofobject.Type
enum (#194)Lock
message with payload content ofLOCK
objects (#194)LOCKED
andLOCK_NON_REGULAR_OBJECT
status codes toObject
section (#194)scheme
field of typeSignatureScheme
toSignature
message which determines signature scheme (#55)SignatureRFC6979
message (#203)
- Type of
signature
field inContainerService
requests toSignatureRFC6979
(#203)
2.11.0 - 2021-12-02 - Sinjido (신지도, 薪智島)
Subnets and status responses.
Status
message structure (#150)status
field ofStatus
type toResponseMetaHeader
message (#150)Subnet
message structure (#180)subnet
field ofSubnet
type toPlacementPolicy
message (#179)
- Subnet attributes in
NodeInfo
(#181)
2.10.0 - 2021-10-14 - Udo (우도, 牛島)
NNS integration, detailed network info and ACL rules for non-native services.
- ACL header type for services (#173)
- Side chain block duration and NeoFS network config fields in
NetworkInfo
message (#172) - Well-known container attributes for NNS integration (#177)
2.9.1 - 2021-08-26
- String presentation of object type enum.
2.9.0 - 2021-08-16 - Anmyeondo (안면도, 安眠島)
Support "common prefix" attribute match operation to simplify filesystem directory tree-like structures implementation in NeoFS protocol gateways.
COMMON_PREFIX
object attribute match type.- Storage node's attribute escape symbol description.
2.8.0 - 2021-06-25 - Muuido (무의도, 舞衣島)
Storage nodes with a group of network endpoints.
address
field ofnetmap.NodeInfo
message becamerepeated
.
2.7.0 - 2021-06-03 - Seongmodo (석모도, 席毛島)
Container service sessions.
ContainerSessionContext
message.ContainerSessionContext
value ofcontext
oneof toSessionToken.Body
message.
session_token
field of typesession.SessionToken
toGetResponse.Body
message.signature
field of typerefs.Signature
toGetResponse.Body
message.
session_token
field of typesession.SessionToken
toGetExtendedACLResponse.Body
message.
2.6.0 - 2021-05-07 - Daecheongdo (대청도, 大靑島)
- Reputation package with reputation service and corresponding type definitions.
2.5.0 - 2021-03-19 - Jebudo (제부도, 濟扶島)
This release contains changes and fixes for NEO3 testnet launch.
- Well-known object attribute
Content-Type
.
- Namespace for C# has been changed to
Neo.FileStorage.API
.
2.4.0 - 2021-02-26 - Ganghwado (강화도, 江華島)
This release provides new RPC method to fetch network info from storage node. By getting current epoch value, application might set up correct expiration values in the objects.
netmap.NetworkInfo
request for getting node's network view.- Release instructions.
- Clarified processing of empty search query in
object.Search
RPC. - Specified connection of tombstone expiration value with well-known
__NEOFS__EXPIRATION_EPOCH
object attribute.
2.3.0 - 2021-02-11 - Seonyudo (선유도, 仙遊島)
This release brings support for nodes to exchange information about disk space used by each Container. This information will be used by Inner Ring nodes to calculate basic rewards and payments.
Another significant change is UN/LOCODE support for node's attributes describing
geographical location. From now on, most of the geographical attributes will be
calculated automatically from a single UN-LOCODE
attribute in a deterministic
manner.
- Added
container.AnnounceUsedSpace
request for announcing disk space consumed by container's objects on the node - Added
Continent
well-known node's attribute - Added
SubDivCode
well-known node's attribute - Added
Location
well-known node's attribute - Added
CounrtyCode
well-known node's attribute - Added
STRING_NOT_EQUAL
match type - Added
NOT_PRESENT
match type - Added JSON names for search request filter fields
Locode
well-known node's attribute renamed toUN-LOCODE
. It will be used as a base for calculating most of the node's geographical attributes.Region
well-known node's attribute renamed toSubDiv
- Removed
City
well-known node's attribute - Removed
Region
well-known node's attribute
2.2.1 - 2021-01-15
Define "well-known" X-headers
- Description of the format of "well-known" X-headers that affect system behavior
- X-header key to netmap epoch value
- X-header key to netmap lookup depth value
2.2.0 - 2020-12-30 - Yeouido (여의도, 汝矣島)
Storage Groups based Data Audit updates
audit.DataAuditResult
message for recording audit result is added
object.ShortHeader
now haspayload_hash
andhomomorphic_hash
fields
2.1.1 - 2020-12-17
Minor documentation fixes
- Clarify JSON encoding for
ObjectID
,ContainerID
andOwnerID
- Clarify object field usage in some requests' eACL filters
2.1.0 - 2020-12-11 - Modo (모도, 茅島)
Object split and deletion improvements, documentation clarifications.
$Object:objectID
added to the list of available ACL and Search filterssplit_id
field added inobject.Object.header
$Object:split.splitID
search filter added- json_name notation added to
acl.EACLTable.Version
field - Adding
tombstone
field with newly created tombstone address field toobject.DeleteResponse.Body
tombstone
package added- Tombstone payload definition added as
tombstone.Tombstone
message SplitInfo
message added toobject
packagesplit_info
field added toobject.GetResponse.Body
split_info
field added toobject.HeadResponse.Body
split_info
field added toobject.GetRangeResponse.Body
raw
flag added inobject.GetRangeRequest.Body
- Clarified special search index descriptions
- Clarified various types encoding formats descriptions
$Object:CHILDFREE
filter description removed from well-known list$Object:LEAF
filter description removed from well-known list
2.0.2 - 2020-10-27
More "well-known" application attributes and documentation updates.
- Added "well-known" attributes list for extended ACL and object search filters
- Added
Name
,Timestamp
"well-known" application attributes for container - Added
Name
,FileName
,Timestamp
"well-known" application attributes for object
BearerToken.owner_id
field description changedSubnet
container attribute now has__NEOFS__
prefix- Search and ACL filters now have
key
andvalue
fields
2.0.1 - 2020-10-19
Documentation updates and JSON field names definition
- Added "well-known" attributes list for
netmap.NodeInfo
- Added "well-known" attributes list for objects
- Added "well-known" attributes list for containers
- JSON field names defined for most of data structures
- Documentation updated for all packages fixing typos and minor inaccuracies
acl.EACLRecord.Target.key_list
field renamed tokeys
for consistency
- Human-written documentation will now be only in NeoFS Specification
2.0.0 - 2020-09-07 - Jindo (진도, 珍島)
Major API refactoring and simplification.
neo.fs.v2
prefix added to all package namescontainer.Attributes
field addedrefs.ContainerID
added as a separate typerefs.OwnerID
added as a separate type- Object Search query language defined in
object.SearchRequest.Body.filter
netmap
package addedrefs.Signature
defined as a separate typesession.SessionToken
now has context information for each servicerefs.Version
defined as a separate typerefs.Version
field added to all messages stored in SmartContractsrefs.Checksum
defined as a separate typenetmap.LocalNodeInfo
request added to get actual information from connected peer
- Extended ACL Table format changed
- Protobuf definitions style changed to follow Google Style Guide
System
andExtended
Object headers are merged into onobject.Header
typeobject.UserHeader
renamed toobject.Header.Attribute
refs.ObjectID
is now a hash of theobject.Header
field, which contains hash of payloadStorageGroup
information moved to Object's payloadnetmap.NodeInfo.options
renamed tonetmap.NodeInfo.attributes
and it uses a separatenetmap.NodeInfo.Attribute
type now.netmap.NodeInfo.Attribute
type now has a list of parents to construct a tree- Session Token renamed to
session.SessionToken
fromsession.Token
- All Requests and Responses now have a common "body-meta-verify" structure
- Meta and Verification headers now follow Matryoshka-style composition
- SessionToken and BearerToken are now part of Meta header
- Object placement policy format is simplified and defined in
netmap
package object.Head()
request now returns either short header or full header with a signature
- gogoproto is not used anymore
decimal
package merged intoaccounting
packagequery
package merged intoobject
packagestoragegroup
package merged intoobject
packagebootstrap
package merged intonetmap
packagestate
package removedservice
package removed. Merged withsession
packagestate
package removed. It will be implementation specific part of neofs-nodeSpreadMap
functionality removed fromnetmap
package- Unixtime support removed from creation timestamps, leaving only Epoch number
Link
type removed from Object headersRedirect
type support removed from Object headers- Withdrawal and Account Lock functionality removed from
accounting
service - Deposit functionality removed from
accounting
service - Settlement functionality removed from
accounting
service
1.2.0 - 2020-07-08
acl.EACLRecord
,acl.EACLTable
messages for the table of extended ACL rules.
1.1.0 - 2020-06-18
- Extended ACL support in container service.
- Bearer token support in the object service requests.
- Extended headers for the requests in
service.RequestMetaHeader
1.0.0 - 2020-05-16
Bump major release
0.7.5 - 2020-05-15
OwnerKey
bytes field toservice.Token.TokenInfo
message.
0.7.4 - 2020-05-08
service.TokenLifetime
message.
service.Token
structure.session.Session.Create
RPC signature.session.CreateRequest
structure.session.CreateResponse
structure.
0.7.3 - 2020-04-28
CreationPoint
disabled stringer method.
0.7.2 - 2020-04-28
Raw
boolean field toservice.RequestMetaHeader
.Token
message field toservice.RequestVerificationHeader
.
Token
message fromsession
toservice
package.Signature
message withSign
one inservice
package.
Token
message structure.
Raw
field fromobject.GetRequest
andobject.HeadRequest
messages.Token
field fromobject.PutRequest.PutHeader
andobject.DeleteRequest
messages.VerificationHeader
message.
0.7.1 - 2020-04-20
- Method to change current node state. (
state.ChangeState
)
0.7.0 - 2020-04-16
- A numerical field CopiesNumber into
object.PutRequest.PutHeader
message.
0.6.1 - 2020-04-15
- State field into Bootstrap request.
- Request.State enum: Unknown, Online, Offline.
0.6.0 - 2020-04-02
- ACL package with enum of ACL targets.
- Use
BasicACL
field in container structure andcontainer.Put
request.
0.5.0 - 2020-04-01
- Initial release