-
Notifications
You must be signed in to change notification settings - Fork 26
/
CHANGELOG
460 lines (379 loc) · 20.4 KB
/
CHANGELOG
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
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
jNDN v0.25 (2021-01-22)
-----------------------
Changes
* Changed the default wire format to TLV v0.3.
jNDN v0.24 (2020-04-16)
-----------------------
Changes
* https://redmine.named-data.net/issues/5055 In Interest, changed the
MustBeFresh default value to false.
* Added Tlv0_3WireFormat.
Bug fixes
* In expressInterest, use the nonce in the Interest if provided.
jNDN v0.23 (2019-10-04)
-----------------------
Changes
* https://redmine.named-data.net/issues/4813 In Face, added putNack().
* https://github.com/named-data/jndn/pull/24 Aimd pipelining in Segment fetcher (Thanks, Ritik!)
* sync: Added FullPSync2017 and FullPSync2017WithUsers, implementing the Full PSync protocol.
* examples: Added TestFullPsync and TestFullPSyncWithUsers.
Bug fixes
* https://redmine.named-data.net/issues/4947 ApplicationParameters TLV type code.
* https://redmine.named-data.net/issues/4968 In examples, updated ControlParameters protobuf.
jNDN v0.22 (2019-07-09)
-----------------------
Changes
* https://redmine.named-data.net/issues/4807 Print a warning if the application
didn't call Interest.setDefaultCanBePrefix() or set the Interest's CanBePrefix.
* https://redmine.named-data.net/issues/4869 Renamed ForwardingFlags to RegistrationOptions.
* https://redmine.named-data.net/issues/4869 In RegistrationOptions, added setOrigin()
to use in the flags argument of registerPrefix.
Deprecated
* Deprecated ForwardingFlags. Use RegistrationOptions.
Bug fixes
* https://redmine.named-data.net/issues/4905 On Ubuntu for the default KeyChain()
constructor, properly access the file-base TPM in the home directory.
* https://redmine.named-data.net/issues/4926 In decoding Data, make MetaInfo
and Content optional.
jNDN v0.21 (2019-03-05)
-----------------------
Changes
* Removed deprecated KeyType.ECDSA. (Use EC.)
Deprecated
* In Interest, deprecated getParameters, setParameters and hasParameters. Use
getApplicationParameters, setApplicationParameters and hasApplicationParameters.
jNDN v0.20 (2018-10-24)
-----------------------
Changes
* In TpmBackEndFile, implemented private key import/export.
Bug fixes
* https://redmine.named-data.net/issues/4732 In decodeControlParameters, skip
unrecognized TLVs.
jNDN v0.19 (2018-09-17)
-----------------------
Changes
* https://redmine.named-data.net/issues/4655 Added name-based access control v2,
EncryptorV2, DecryptorV2 and AccessControlV2, with integration tests.
* https://redmine.named-data.net/issues/4701 Added ComponentType.PARAMETERS_SHA256_DIGEST,
and support params-sha256=<hex-value> in the name URI.
Bug fixes
* https://github.com/named-data/jndn/pull/22 In decodeLpPacket, fix the check for
ignoring an unrecognized field type.
* https://redmine.named-data.net/issues/4736 In MemoryContentCache, use a default
InterestLifetime and removed support for infinite lifetime.
jNDN v0.18 (2018-07-24)
-----------------------
Changes
* https://redmine.named-data.net/issues/4591 Accept Interests encoded with
packet format v0.3
* https://redmine.named-data.net/issues/4397 In Name, API for typed name components.
* https://github.com/named-data/jndn/pull/21 Synchronize WireFormat.getDefaultWireFormat().
* In pom.xml, change the sqlite-jdbc dependency to version 3.23.1 for better Android support.
Bug fixes
* In ChronoSync2013 timeout, get the digest component based on the broadcast
prefix size instead of a hard-coded value. (Thanks John D.!)
jNDN v0.17 (2018-04-17)
-----------------------
Bug fixes
* https://redmine.named-data.net/issues/4466 In KeyChain.importSafeBag, handle
exceptions from Tpm.importPrivateKey.
* https://redmine.named-data.net/issues/4428 MustBeFresh should be false if the
decoded Interest has no selectors.
Changes
* https://redmine.named-data.net/issues/4064 Rename KeyType.ECDSA and EcdsaKeyParams
to KeyType.EC and EcKeyParams. Deprecated KeyType.ECDSA and EcdsaKeyParams.
* https://redmine.named-data.net/issues/4449 In Data, added getCongestionMark().
* Added security CommandInterestSigner.
* Added security ValidationPolicyCommandInterest.
* In MemoryContentCache, added setMinimumCacheLifetime which can extend the
cache lifetime of content to match an Interest where MustBeFresh is false.
* Updated the INSTALL instructions on macOS to use Homebrew (not Macports).
Deprecated
* Deprecated KeyType.ECDSA. Use KeyType.EC.
* Deprecated EcdsaKeyParams. Use EcKeyParams.
jNDN v0.16 (2017-12-08)
-----------------------
Bug fixes
* https://redmine.named-data.net/issues/4023 Ported the latest NDN regex code
from ndn-cxx which fixes errors for complex expressions.
* https://redmine.named-data.net/issues/4161 Fix RSA encryption on Android.
Changes
* https://redmine.named-data.net/issues/4045 Major update to add security v2.
Added CertificateV2, SafeBag and classes related to Pib and Tpm.
In KeyChain, added security v2 constructors and methods.
The default KeyChain constructor checks for and uses security v2 storage.
Updated ConfigPolicyManager to support CertficiateV2.
Updated SelfVerifyPolicyManager to support security v2 PibImpl.
Added the security v2 Validator and policies such as ValidationPolicyConfig.
Updated examples to use the security v2 KeyChain and Validator.
Added security v2 unit and integration tests.
* https://redmine.named-data.net/issues/3812 In encrypt GroupManager, save private
keys in memory to avoid regenerate group key pairs.
* https://redmine.named-data.net/issues/4251 Added Interest get/setForwardingHint.
* Added ExponentialReExpress to use as OnTimeout.
* Added pom-android-with-async-io.xml to include AsyncTcpTransport which is now
supported in Android API level 26. (Thanks to Teng Liang!)
Deprecated
* In Interest, deprecated link object and selected delegation methods.
Use get/setForwardingHint.
jNDN v0.15 (2017-03-16)
-----------------------
Breaking Changes
* In EncryptedContent, if the algorithm type is not specified, use
EncryptAlgorithmType.NONE instead of null.
Changes
* https://redmine.named-data.net/issues/3543 Support for Link objects in the
encrypt package Producer and Consumer.
* https://redmine.named-data.net/issues/3922 In ChronoSync2013, support optional
application info in the SyncState messages.
* ChronoSync2013: Added method getProducerPrefixes().
jNDN v0.14 (2016-11-02)
-----------------------
Changes
* Added support for the Name component type ImplicitSha256Digest, and methods:
Name.Component.fromImplicitSha256Digest, isGeneric and isImplicitSha256Digest.
Name.appendImplicitSha256Digest.
* https://redmine.named-data.net/issues/3447 In Data, added getFullName, and
in Interest added matchesData to use it.
* https://redmine.named-data.net/issues/3798 In KeyChain.verifyData and verifyInterest,
use onValidationFailed callbacks which include a reason string.
* In SegmentFetcher.fetch, allow a validatorKeyChain for asynchronous Data validation.
* In Face, removed the deprecated registerPrefix where onInterest is type OnInterest. Use the
registerPrefix where onInterest is OnInterestCallback so you can call face.putData().
* In ProtobufTlv, added utility method toName.
* INSTALL: Added macOS 10.12.
* Examples: In TestEncodeDecodeFibEntry, etc, use ProtobufTlv.toName.
* Unit tests: In TestNameMethods, added testImplicitSha256Digest.
* Unit tests: In TestInterestMethods, added testMatchesData.
* Unit tests: In TestDataMethods, added testFullName.
Deprecated
* In KeyChain, deprecated verifyData that takes an OnVerified callback.
Use the verifyData which takes an OnDataValidationFailed callback with a
reason string.
* In KeyChain, deprecated verifyInterest that takes an OnVerifyInterestFailed callback.
Use the verifyInterest which takes an OnInterestValidationFailed callback with a
reason string.
Bug fixes
* https://github.com/named-data/jndn/pull/17 AsyncTcpTransport: move reconnect
lock to fix reconnection failure.
jNDN v0.13 (2016-06-10)
-----------------------
Changes
* http://redmine.named-data.net/issues/3337 In MetaInfo, added get/setOtherTypeCode
to allow unrecognized content type codes in the packet.
* In AsyncTcpTransport, added an option to attempt to reconnect a dropped connection.
Thanks to Andrew Brown and Wei Yu!
* In FilePrivateKeyStorage.generateKeyPair, update mapping.txt for the generated key.
Bug fixes
* http://redmine.named-data.net/issues/3617 Check tpm setting in client.conf.
jNDN v0.12 (2016-05-06)
-----------------------
Breaking changes
* In encrypt/Consumer, moved OnError and ErrorCode to encrypt/EncryptError,
affecting the onError callback to Consumer.consume.
Changes
* Added support for NDNLPv2:
In Face.expressInterest, added an OnNetworkNack callback.
In Interest and Data, the method getIncomingFaceId provides the incoming face ID (if configured).
* http://redmine.named-data.net/issues/3355 In Producer.createContentKey and produce,
added an optional onError callback.
* Added HmacWithSha256Signature. In KeyChain, added experimental static methods
sign/verifyDataWithHmacWithSha256.
* In IdentityManager, added getAllIdentities and getAllCertificateNamesOfKey.
* In KeyChain, removed getAnyCertificate and getAnyIdentityCertificate.
* Examples: Added TestSignVerifyDataHmac.
* Integration tests: In TestFaceInterestMethods, added testNetworkNack.
* Integration tests: Added TestFaceRegisterMethods.
Deprecated
* In KeyChain, deprecated getIdentityCertificate. Use getCertificate.
Bug fixes
* http://redmine.named-data.net/issues/3589 Update examples face-status-proto.proto.
* http://redmine.named-data.net/issues/1517 Use the onInterest callback only on registerPrefix success.
* Fix bug in encrypt/Schedule to solve problems when the black repetitive interval list is empty.
* In Producer, the produced data name should not use a rounded timestamp.
jNDN v0.11 (2016-03-05)
-----------------------
Changes
* http://redmine.named-data.net/issues/3451 Added static Name.Component.fromSegment,
fromSegmentOffset, fromVersion, fromTimestamp and fromSequenceNumber.
* http://redmine.named-data.net/issues/3449 Added Name.isPrefixOf, getSuccessor
and compare(int, size_t, Name, int, size_t).
* http://redmine.named-data.net/issues/3450 Added Name.Component.isSegment,
isSegmentOffset, isVersion, isTimestamp and isSequenceNumber.
* http://redmine.named-data.net/issues/3452 Added Interest.refreshNonce.
Deprecated
* http://redmine.named-data.net/issues/3445 Deprecated Data.getIncomingFaceId,
Interest.getIncomingFaceId and getNextHopFaceId, to be replaced by NDNLPv2 (NFD 0.4.0).
Bug fixes
* http://redmine.named-data.net/issues/3496 WritePendingException in TestGetAsyncThreadPool (Thanks to Andrew Brown.)
jNDN v0.10 (2016-02-16)
-----------------------
Changes
* http://redmine.named-data.net/issues/3260 Added GenericSignature.
* http://redmine.named-data.net/issues/3455 Added ControlResponse.
* In MemoryContentCache.registerPrefix, added optional onRegisterSuccess. (Thanks to Zhehao Wang.)
* http://redmine.named-data.net/issues/3152 In API callbacks, catch and log exceptions.
* Unit tests: Added TestControlResponse.
jNDN v0.9 (2016-01-07)
----------------------
Changes
* Added the net.named_data.jndn.encrypt package for the Group-Based Encryption Protocol, ported from
https://github.com/named-data/ndn-group-encrypt
* Added classes Link and DelegationSet to support link objects.
* In Interest, added methods to support link objects and SelectedDelegation:
hasLink, getLink, unsetLink, get/setLinkWireEncoding, get/setSelectedDelegationIndex.
* In Name, added method toString() which calls toUri().
* INSTALL: Removed unsupported OS X 10.8.4.
* INSTALL: Added OS X 10.11 and Ubuntu 15.04 (64 bit).
* Unit tests: Added TestLink.
Bug fixes
* http://redmine.named-data.net/issues/3228 Make Name.Component.compare use unsigned compare.
* http://redmine.named-data.net/issues/3342 In expressInterest, call onTimeout when there is no interest lifetime.
jNDN v0.8 (2015-09-24)
----------------------
Changes
* In Face.registerPrefix, removed deprecated support to register with NDNx.
* In Interest, removed deprecated NDNx get/setPublisherPublicKeyDigest,
get/setScope and get/setAnswerOriginKind.
* In Sha256WithRsaSignature, removed deprecated NDNx get/setPublisherPublicKeyDigest,
get/setWitness and get/setDigestAlgorithm.
* In ForwardingFlags, removed deprecated NDNx flags active, advertise, last,
local, tap and captureOK.
* In KeyLocator, removed deprecated NDNx types KEY and CERTIFICATE.
* In MetaInfo, removed deprecated NDNx get/setTimestamp.
* In MetaInfo get/setType, removed deprecated NDNx types DATA, ENCR and GONE.
* Removed deprecated NDNx ForwardingEntry.
* Removed deprecated NDNx BinaryXmlWireFormat and support for binary XML packets.
* In WireFormat, removed ENABLE_NDNX since all NDNx support is now removed.
jNDN v0.7.1 (2015-09-14)
------------------------
Changes
* Added ThreadPoolFace, AsyncTcpTransport and AsyncUnixTransport which use
Java's nio service which handles all the async operations so that your
application doesn't need to call processEvents.
* In security ConfigPolicyManager, added load(input, inputName) to read
configuration rules from a string.
* http://redmine.named-data.net/issues/3005 In Face.registerPrefix, added the
optional onRegisterSuccess callback.
* In examples, added TestGetAsyncThreadPool which uses ThreadPoolFace and doesn't
call processEvents. (Not working in Android yet which doesn't have nio async I/O.)
* In integration_tests, added TestTegistrationCallbacks (thanks to Andrew Brown!)
Bug fixes
* http://redmine.named-data.net/issues/2846 Self-signed cert name needs a version component.
* http://redmine.named-data.net/issues/2847 Lower-case "ksk-" in generated key name.
* http://redmine.named-data.net/issues/3072 In MemoryIdentityStorage.setDefaultKeyNameForIdentity,
derive the identityName from the keyName, not from identityNameCheck, which you
should omit because it is deprecated.
Deprecated
* In Interest, deprecated get/setScope since it is for NDNx and NFD does not use it.
jNDN v0.7 (2015-05-28)
----------------------
Changes
* Added pom-android.xml and pom-without-protobuf.xml, and moved the related
profiles out of pom.xml into these files. See INSTALL.md.
* In security, added KeyChain.createIdentityAndCertificate which returns the
certificate name, instead of the deprecated createIdentity which returns the
key name.
Deprecated
* Deprecated KeyChain.createIdentity. Use createIdentityAndCertificate which
returns the certificate name instead of the key name.
jNDN v0.6 (2015-05-13)
----------------------
Changes
* http://redmine.named-data.net/issues/2624 By default, throw an exception when
using the deprecated NDNx and binary XML wire format. To enable support while
you upgrade your code to use NFD, in your main application set
WireFormat.ENABLE_NDNX = true
* In MemoryContentCache, added support for storePendingInterest. add(data) will
check if the added Data packet satisfies any pending interest. You can use
getStorePendingInterest() for onDataNotFound in registerPrefix().
* In security, added AndroidSqlite3IdentityStorage to use on Android instead of
BasicIdentityStorage so that it uses the Android SQLite services.
* examples: In repo_ng added BasicInsertion and WatchedInsertion to show
interaction with the repo-ng repository.
* examples: Removed TestEncodeDecodeForwardingEntry and
TestPublishAsyncNdnx because NDNx support is deprecated.
* Unit tests: In TestInterestMethods, added testExcludeMatches.
Deprecated
* Deprecated support for NDNx and binary XML. See WireFormat.ENABLE_NDNX above.
jNDN v0.5 (2015-04-15)
----------------------
Changes
* http://redmine.named-data.net/issues/1921 In Face, added getMaxNdnPacketSize().
expressInterest and putData throw an exception if the encoded packet size exceeds it.
* http://redmine.named-data.net/issues/2566 In Face, added setInterestFilter. In
registerPrefix, make the onInterest callback optional.
* http://redmine.named-data.net/issues/2579 Added callback type OnInterestCallback
to use in registerPrefix and setInterestFilter instead of OnInterest. The new
callback is passed the Face so that you can supply the Data with face.putData().
* Face: Changed the OnInterest callback to pass interestFilterId instead of registeredPrefixId.
(You should use OnInterestCallback instead of the deprecated OnInterest.)
* MemoryContentCache: In registerPrefix, changed the onDataNotFound to OnInterestCallback.
If your application uses onDataNotFound, you must update your callback function.
* In Interest setter methods, return this so that you can chain calls to update values.
* examples: Changed examples to use OnInterestCallback instead of OnInterest.
Deprecated
* In Face, deprecated registerPrefix where onInterest is type OnInterest. Use the
registerPrefix where onInterest is OnInterestCallback so you can call face.putData().
Bug fixes
* http://redmine.named-data.net/issues/2758 ControlParameters with empty name not properly encoded.
jNDN v0.4 (2015-03-09)
----------------------
Changes
* http://redmine.named-data.net/issues/2532#change-8836 In Face.registerPrefix, if connected to a remote
NFD then use localhop to do remote registration. (For remote registration, the remote NFD must be configured
for localhop_security.) Added the optional method Face.isLocal() for the application to check if the
connection is local. Thanks again to Andrew Brown!
* http://redmine.named-data.net/issues/2531 Handle an incoming NFD LocalControlHeader
packet and return it in the packet getIncomingFaceId().
* http://redmine.named-data.net/issues/2545 In Blob and Name, added hashCode().
* Added class util/SegmentFetcher, ported from ndn-cxx. Use it in examples TestListRib, etc.
* In MemoryIdentityStorage, implemented support to get/set the default identity/key, etc. Thanks to Andrew Brown.
* Examples: Added TestListFaces to query NFD the same as "nfd-status -f".
* Examples: Added TestListChannels to query NFD the same as "nfd-status -c".
* Unit tests: In TestNameComponents, etc. added testHashCode().
* Integration tests: Added TestLocalControlHeader.
Bug fixes
* http://redmine.named-data.net/issues/2619: Data.setName, etc. should copy the object.
* Blob: Fix bug for getImmutableArray() when the ByteBuffer is read only.
jNDN v0.3 (2015-02-18)
----------------------
Changes
* http://redmine.named-data.net/issues/2374 Changed from Ant to the Maven build system. Thanks to Andrew Brown!
* http://redmine.named-data.net/issues/2388 Moved example programs from "tests" to "examples".
* In KeyChain.createIdentity, added an optional KeyParams argument.
* Examples: Added TestListRib to query NFD the same as "nfd-status -r".
* Unit tests: Added test-der-encode-decode tests for CertificateExtension.
* Unit tests: Moved unit tests that depend on the file system to integration-tests.
jNDN v0.2 (2014-12-23)
----------------------
Changes
* Added build.xml for Ant. Updated INSTALL.md to use it.
* Added MemoryContentCache.
* Added ProtobufTlv.
* Added ChronoSync2013 and TestChronoChat.
* Added UdpTransport.
* Added Sha256WithEcdsaSignature. Support encoding/decoding it in interests and data packets.
* Added DigestSha256Signature. Support encoding/decoding it in interests and data packets.
* In KeyChain, added generateEcdsaKeyPair and generateEcdsaKeyPairAsDefault.
* In KeyChain, added signWithSha256.
* In Name, added wireEncode and wireDecode.
* Moved tests from src/net/named_data/jndn/tests to tests/src/net/named_data/jndn/tests.
* Added JUnit tests to tests/src/net/named_data/jndn/tests/unit_tests.
* Added samples/android/NDNPing. (Thanks to Euihyun Jung <jung@anyang.ac.kr> !)
* In MetaInfo, added get/setFinalBlockId (replaces the deprecated get/setFinalBlockID).
* In Name.Component toNumberWithMarker and fromNumberWithMarker, pass the marker as int, not byte.
* Security library: Implemented certificate encode/decode.
* In FilePrivateKeyStorage, implemented generateKeyPair, generateKey, and
encrypt/decrypt (for symmetric). Now KeyChain.createIdentity works. Thanks to Andrew Brown!
* In ControlParameters, added support for Uri and Strategy. Allow the Name to be optional. Thanks to Andrew Brown!
* In the default WireFormat, implemented decodeControlParameters. Thanks again to Andrew Brown!
* Unit tests: Added TestFilePrivateKeyStorage. Thanks to Andrew Brown!
* Unit tests: Added TestDerEncodeDecode to test certificate encoding.
* Unit tests: In TestDataMethods, added VerifyEcdsa and VerifyDigestSha256.
* Unit tests: In test-interest-methods, added VerifyDigestSha256.
Deprecated
* In MetaInfo, deprecated get/setFinalBlockID. Use get/setFinalBlockId.
jNDN v0.1 (2014-08-28)
----------------------
This is the initial release with support for the NDN Common Client Libraries API.