-
Notifications
You must be signed in to change notification settings - Fork 17
/
RELEASENOTES
155 lines (96 loc) · 6.04 KB
/
RELEASENOTES
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
release 0.8 ("Orșova")
======================
* new classes RSAAgentPublicKeySignatureValidator, RSAAgentPrivateKeySignatureCreator,
AESAgentSecretKeySignatureValidator, AESAgentSecretKeySignatureCreator for retrieving keys
using XDIAgent
* introducing PushInInterceptor, PushOutInterceptor, DeferResultInterceptor
* using relativity symbol ~ by default for ordered instances, e.g. [$msg]@~0
* BootstrapInterceptor can now create "connect link contract" and "send link contract"
* introducing standard ConnectLinkContract and SendLinkContract
* BootstrapInterceptor can be used to store WebSocket and Connect Auth service endpoints
* Operation parameters and variable values are now on the $do context instead of the message context.
* AuthenticationSignatureInterceptor now takes a list of SignatureValidator objects.
It is enough for one of them to be able to validate a signature.
* The relativity symbol has changed from _ to ~
* The DebugHttpTransportInterceptor now shows better Transport information.
* A MessagingResponse may contain one or more $push link contract instances, if the result of
an operation is "deferred".
* link contracts now have three policies, the "main" $do$if policy, the "defer" $do$defer$if policy,
and the "defer push" $do$defer$push$if policy.
* introducing XDI "bootstrap" graph with pre-defined link contract templates.
* link contracts may be singletons $do or collection instances [$do]*!:uuid:1234
* GetOperation.XDI_ADD_PARAMETER_DEREF -> XDIMessagingConstants.XDI_ADD_OPERATION_PARAMETER_DEREF
* added XDIAddress.fromComponent(XDIArc) method
* XDIXRef has a .getXDIArc() method instead of .getXDIAddress()
* CloudName.fromXDIAddress() and CloudNumber.fromXDIAddress() now return
null instead of throwing exception if the cloud name / cloud number are invalid
* refactoring ProxyContributor into ForwardingContributor
* support discovering cloud names in XDIDiscoveryResult
* changed default discovery service to https://registry.xdi2.org/
* use of URL class mostly replaced with URI
* xdi2.transport.impl.http.registry.HttpMessagingTargetRegistry->
xdi2.transport.registry.impl.uri.UriMessagingTargetRegistry
* xdi2.transport.impl.websocket.WebSocketsListener ->
xdi2.transport.impl.websocket.impl.listener.WebSocketsListener
* more overloaded methods for XDIDiscoveryClient
* xdi2.transport.impl.http.factory.impl.AnyGraphMessagingTargetFactory ->
xdi2.messaging.target.factory.impl.uri.AnyUriMessagingTargetFactory
* xdi2.transport.impl.http.factory.impl.RegistryGraphMessagingTargetFactory ->
xdi2.messaging.target.factory.impl.uri.RegistryUriMessagingTargetFactory
* use Java 1.7 by default, because 1.6. has a DH 1024 bit limitation for SSL connections
* major updates to XDI agent framework, now supports concepts "XDIAgentRouter"
and "XDIClientRoute".
* removed class ErrorMessageResult. introduced class MessagingError.
use MessagingResponse.getMessagingError() instead of class ErrorMessageResult.
* introducing class ExecutionResult as a major component of internal message execution
* splitting module "messaging" into "messaging" and "messaging-target"
* replacing class MessageResult with MessagingResponse
instead of MessageResult.getGraph(), use MessagingResponse.getGraph() or MessagingResponse.getResultGraph()
* renaming modules "transport-http-embedded" to "server-embedded",
and "transport-http-standalone" to "server-standalone"
and "transport-http-war" to "server-war"
* splitting module "transport-http" into "transport-http" and "transport-websocket"
* introducing module "server" to depend on "transport-http" and "transport-websocket"
* introducing module "transport-local".
XDILocalClient is now the preferred way to execute messages against graphs locally
* xdi2.core.features.nodetypes.XdiMember -> xdi2.core.features.nodetypes.XdiInstance
* xdi2.core.features.nodetypes.XdiMemberOrdered -> xdi2.core.features.nodetypes.XdiInstanceOrdered
* xdi2.core.features.nodetypes.XdiMemberUnordered -> xdi2.core.features.nodetypes.XdiInstanceUnordered
* In xdi2.core.features.nodetypes.XdiCollection and subclasses, changed various ..Member.. methods to ..Instance..
release 0.7 ("Belgrade")
========================
* Removal of the & value node:
The XdiValue class is removed. The Literal class has been renamed to LiteralNode.
The ContextNode and LiteralNode classes now share the common Node interface. Many
other classes related to serialization, graph storage, and messaging have been
adapted to these changes.
* Support for encryption and signatures:
xdi2.core.features.encryption
xdi2.core.features.signatures
* XDIAuthenticationConstants.XDI_ADD_ANONYMOUS -> XDIMessagingConstants.XDI_ADD_ANONYMOUS
* Timestamps.setContextNodeTimestamp() -> Timestamps.setTimestamp()
* XDIConstants.XDI_ADD_VARIABLE -> XDIConstants.XDI_ADD_COMMON_VARIABLE
* Updated variable support in parser and class hierarchy; variables are now nested classes.
* Remove XDIAddressUtil.findXDIAddress(), introduced XDIAddressUtil.extractXDIAddress()
* Literal -> LiteralNode, and implements Node
* setDeepRelation, setDeepLiteral, etc removed, instead do setDeepContextNode(..).setRelation(..)
* To move away from old "XRI" terminology, classes were renamed, e.g.:
XDI3Segment -> XDIAddress
XDI3SubSegment -> XDIArc
XDI3Statement -> XDIStatement
* To move away from old "XRI" terminology, methods were renamed, e.g.:
Message.setLinkContractXri() -> Message.setLinkContractXDIAddress()
* To move away from old "XRI" terminology, constants were renamed, e.g.:
XRI_S_* -> XDI_ADD_*
XRI_SS_* -> XDI_ARC_*
* Use of the URL class instead of String in discovery:
String xdiEndpointUri = xdiDiscoveryResult.getXdiEndpointUri();
->
URL xdiEndpointUrl = xdiDiscoveryResult.getXdiEndpointUrl();
* Exceptions in xdi2.client were refactored:
Xdi2DiscoveryException, Xdi2ClientException, Xdi2AgentException
* XdiLocalRoot -> XdiCommonRoot
* contributorXris -> contributorAddresses
* The XdiMetaClass class is removed.
This represented the XDI context nodes [#] and [$], which are not valid anymore.
If you have these context nodes in a graph, you should remove them before upgrading the code.