This repository has been archived by the owner on May 18, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 2
/
CHANGELOG.archive
498 lines (435 loc) · 26.8 KB
/
CHANGELOG.archive
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
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
NDN-CPP v0.17 (2019-10-04)
--------------------------
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.
* https://redmine.named-data.net/issues/4813 In Face, added putNack().
Deprecated
* Deprecated ForwardingFlags. Use RegistrationOptions.
Bug fixes
* https://redmine.named-data.net/issues/4926 In decoding Data, make MetaInfo
and Content optional.
* https://redmine.named-data.net/issues/4947 ApplicationParameters TLV type code.
* https://redmine.named-data.net/issues/4968 In examples, updated ControlParameters protobuf.
NDN-CPP v0.16 (2019-03-06)
--------------------------
Changes
* https://redmine.named-data.net/issues/4655 Added name-based access control v2,
EncryptorV2, DecryptorV2 and AccessControlV2, with integration tests.
* In TpmBackEndFile, implemented private key import/export.
* In KeyChain, implemented exportSafeBag with a password-encrypted private key.
* sync: Added FullPSync2017 and FullPSync2017WithUsers, implementing the Full PSync protocol.
* examples: Added test-full-psync and test-full-psync-with-users.
Bug fixes
* https://redmine.named-data.net/issues/4732 In decodeControlParameters, skip
unrecognized TLVs.
Deprecated
* In Interest, deprecated getParameters, setParameters and hasParameters. Use
getApplicationParameters, setApplicationParameters and hasApplicationParameters.
NDN-CPP v0.15 (2018-09-17)
--------------------------
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://redmine.named-data.net/issues/4701 Added ComponentType.PARAMETERS_SHA256_DIGEST,
and support params-sha256=<hex-value> in the name URI.
Bug fixes
* https://redmine.named-data.net/issues/4595 For ./configure on macOS, update
to not overwrite optimization CFLAGS.
* https://redmine.named-data.net/issues/4686 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.
NDN-CPP v0.14 (2018-04-17)
--------------------------
Bug fixes
* https://redmine.named-data.net/issues/4405 In make, use the system's protoc to
compile the Protobuf files.
* https://redmine.named-data.net/issues/4422 Fix problem with include boost/asio.hpp
with Boost 1.66 .
* https://redmine.named-data.net/issues/4426 In ndn_memcpy, etc. don't execute
if len == 0 to avoid undefined behavior when pointers are null.
* https://redmine.named-data.net/issues/4427 In verifyDataWithHmacWithSha256 and
verifyInterestWithHmacWithSha256, use CRYPTO_memcmp to avoid timing attacks.
* 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.
* https://redmine.named-data.net/issues/4558 AsyncSocketTransport callbacks can
crash if deallocated.
Changes
* https://redmine.named-data.net/issues/4449 In Data, added getCongestionMark().
* 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/4064 Rename KEY_TYPE_ECDSA and EcdsaKeyParams
to KEY_TYPE_EC and EcKeyParams. Deprecated KEY_TYPE_ECDSA and EcdsaKeyParams.
* Added security CommandInterestSigner.
* Added security ValidationPolicyCommandInterest.
* Updated the INSTALL instructions on macOS to use Homebrew (not Macports).
* In MemoryContentCache, added setMinimumCacheLifetime which can extend the
cache time of content to match an Interest where MustBeFresh is false.
Deprecated
* Deprecated KEY_TYPE_ECDSA. Use KEY_TYPE_EC.
* Deprecated EcdsaKeyParams. Use EcKeyParams.
NDN-CPP v0.13 (2017-12-08)
--------------------------
Bug fixes
* https://redmine.named-data.net/issues/4023 Ported the latest NDN regex code
from ndn-cxx which fixes crashes with boost::regex and complex expressions.
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/4001 In MemoryContentCache, use
shared_from_this() for callbacks to avoid deallocation errors.
* https://github.com/named-data/ndn-cpp/pull/3 Added Esp8266TcpTransportLite
uses the WiFiClient class of the esp8266 core for Arduino to communicate
over TCP. (Thanks to José Quevedo!)
* https://redmine.named-data.net/issues/4251 Added Interest get/setForwardingHint.
* In MemoryContentCache, added support for the OnContentRemoved callback.
* Lite: Added DynamicMallocUInt8ArrayLite.
* MemoryContentCache: Added getPendingInterestsWithPrefix().
* Examples: Added test-publish-async-nfd-lite and test-echo-consumer-lite .
Deprecated
* In Interest, deprecated link object and selected delegation methods.
Use get/setForwardingHint.
NDN-CPP v0.12 (2017-03-16)
--------------------------
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().
* Added tools/usersync for using NDN to synchronize communication among a group of users.
* In util, added ExponentialReExpress.
* Moved logging.hpp to the public util directory (for use be dependent NDN libraries.)
Bug Fixes
* https://redmine.named-data.net/issues/3838 Support for protoc 3.0.
NDN-CPP v0.11 (2016-11-02)
--------------------------
Changes
* Added the encrypt package for the Group-Based Encryption Protocol, ported from
https://github.com/named-data/ndn-group-encrypt
* http://redmine.named-data.net/issues/3337 In MetaInfo, added get/setOtherTypeCode
to allow unrecognized content type codes in the packet.
* 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.
* NDN-CPP Lite in lite/security, added RsaPrivateKeyLite, EcPrivateKeyLite, etc.
to encode/decode and generate RSA and EC public/private keys.
* 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 FilePrivateKeyStorage::generateKeyPair, update mapping.txt for the generated key.
* In ProtobufTlv, added utility method toName.
* In ThreadsafeFace, make shutdown dispatch to the ioService thread.
* INSTALL: Added macOS 10.12.
* Examples: In test-encode-decode-fib-entry, etc, use ProtobufTlv.toName.
* Unit tests: In test-name-methods, added ImplicitSha256Digest.
* Unit tests: In test-interest-methods, added MatchesData.
* Unit tests: In test-data-methods, added FullName.
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
* http://redmine.named-data.net/issues/1850 Respect tpm= setting in client.conf.
* https://redmine.named-data.net/issues/3792 NdnRegexMatcher can exceed regex complexity.
* In AsyncSocketTransport, check for a closed socket before calling readHandler again. (Thanks, Peter!)
NDN-CPP v0.10 (2016-05-06)
--------------------------
Changes
* 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.
* 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).
* In Interest and Data, added method getIncomingFaceId() to support the
* In MemoryPrivateKeyStorage::generateKeyPair, support KEY_TYPE_ECDSA.
* In MemoryContentCache.registerPrefix, added optional onRegisterSuccess.
* Added HmacWithSha256Signature. In KeyChain, added experimental static methods
sign/verifyDataWithHmacWithSha256.
* 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/3451 Added static Name.Component.fromSegment,
fromSegmentOffset, fromVersion, fromTimestamp and fromSequenceNumber.
* http://redmine.named-data.net/issues/3452 Added Interest::refreshNonce.
* http://redmine.named-data.net/issues/3455 Added ControlResponse.
* http://redmine.named-data.net/issues/3260 Added GenericSignature.
* http://redmine.named-data.net/issues/3590 Added MemoryContentCache.setInterestFilter.
* In IdentityManager, added getAllIdentities, getAllKeyNamesOfIdentity and getAllCertificateNamesOfKey.
* Renamed the following .c files to avoid linker conflicts with the same named .cpp file:
name.c -> name_c.c, interest.c -> interest_c.c,
tcp-transport.c -> tcp-transport_c.c, tlv-0_1_1-wire-format.c -> tlv-0_1_1-wire-format_c.c
* http://redmine.named-data.net/issues/3152 In API callbacks, catch and log exceptions.
* In KeyChain, removed getAnyCertificate and getAnyIdentityCertificate.
* Unit tests: Added test-link.
* Unit tests: Added test-control-response.
* Unit tests: In test-data-methods, added test GenericSignature.
* Unit tests: In test-face-methods, added test NetworkNack and TestFaceRegisterMethods.
* Examples: Added test-sign-verify-data-hmac.
Deprecated
* In KeyChain, deprecated getIdentityCertificate. Use getCertificate.
Bug fixes
* http://redmine.named-data.net/issues/3589 Update examples face-status.proto.
* http://redmine.named-data.net/issues/1517 Use the onInterest callback only on registerPrefix success.
NDN-CPP v0.9 (2016-01-07)
-------------------------
Changes
* http://redmine.named-data.net/issues/3005 In Face.registerPrefix, added the
optional onRegisterSuccess callback.
* INSTALL: Removed unsupported OS X 10.8.4.
* INSTALL: Added OS X 10.11 and Ubuntu 15.04 (64 bit).
* In unit-tests, added test-registration-callbacks.
Bug fixes
* http://redmine.named-data.net/issues/3342 In expressInterest, call onTimeout when there is no interest lifetime.
* In ThreadsafeFace, need explicit signatures for registerPrefix without OnRegisterSuccess. (Thanks Zhehao!)
NDN-CPP v0.8 (2015-09-24)
-------------------------
Changes
* In security, added KeyChain::createIdentityAndCertificate which returns the
certificate name, instead of the deprecated createIdentity which returns the
key name.
* Added ThreadsafeFace, AsyncTcpTransport and AsyncUnixTransport which use
Boost's asio io_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.
* In examples, added test-get-async-threadsafe which uses ThreadsafeFace and
doesn't call processEvents. To run, you must install Boost with asio.
* 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.
Deprecated
* Deprecated KeyChain::createIdentity. Use createIdentityAndCertificate which
returns the certificate name instead of the key name.
Bug fixes
* http://redmine.named-data.net/issues/2844 Build error in memory-content-cache.cpp
on Ubuntu with log4cxx. (Thanks Junxiao)
* 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/3080 Support for Protobuf 2.6
* http://redmine.named-data.net/issues/3201 Regex use of deleted function.
NDN-CPP v0.7 (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
* http://redmine.named-data.net/issues/2388 Moved example programs from "tests" to "examples".
* http://redmine.named-data.net/issues/1921 In Face, added getMaxNdnPacketSize().
expressInterest and putData throw an exception if the encoded packet size exceeds it.
* Renamed KEY_TYPE_EC to KEY_TYPE_ECDSA.
* 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 KeyChain::createIdentity, added an optional KeyParams argument.
* In Interest setter methods, return this so that you can chain calls to update values.
* In configure, only link to the Boost regex library if HAVE_STD_REGEX==0.
* Added class util/SegmentFetcher, ported from ndn-cxx. Use it in examples test-list-rib.
* Added the public NDN-CPP Lite API in include/ndn-cpp/lite. See README-NDN-CPP-Lite.md.
* 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.
* 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 ControlParameters, added support for Uri and Strategy.
* In TlvWireFormat, implemented decodeControlParameters.
* examples: Added test-list-channels, test-list-faces, test-list-rib and
test-register-route to query NFD.
* examples: In repo-ng added basic-insertion and watched-insertion to show
interaction with the repo-ng repository.
* examples: Added arduino/analog-reading-consumer.cpp and the related
Arduino sketch examples/arduino/analog-reading.
* examples: Make test-encode-decode-benchmarks use NDN-CPP Lite to test C.
* examples: Removed test-encode-decode-forwarding-entry and
test-publish-async-ndnx because NDNx support is deprecated.
* Unit tests: Added test-der-encode-decode tests for CertificateExtension.
* Unit tests: In test-interest-methods, added ExcludeMatches.
Deprecated
* Deprecated support for NDNx and binary XML. See WireFormat::ENABLE_NDNX above.
* 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.
NDN-CPP v0.6 (2014-12-23)
-------------------------
Changes
* In MetaInfo, added get/setFinalBlockId (replaces the deprecated get/setFinalBlockID).
* In Name, added wireEncode and wireDecode.
* In MemoryContentCache, added unregisterAll.
* 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.
* Unit tests: In test-name-methods, fixed bug for "make check" on Ubuntu.
* Unit tests: Added test-name-conventions.
* Unit tests: Added test-verification-rules to test NdnRegexMatcher.
* Unit tests: In test-data-methods, added VerifyEcdsa and VerifyDigestSha256.
* Unit tests: In test-interest-methods, added VerifyDigestSha256.
* Unit tests: In test-identity-methods, added EcdsaIdentity.
Deprecated
* In MetaInfo, deprecated get/setFinalBlockID. Use get/setFinalBlockId.
Bug fixes
* http://redmine.named-data.net/issues/2083 Fix Name::append(string) calls the URI Name(string) constructor.
* http://redmine.named-data.net/issues/2017 Support older versions of Protobuf.
* http://redmine.named-data.net/issues/2134 ChronoSync2013 shared_ptr for callbacks.
* In KeyChain::createIdentity, fix certificate's KeyLocator name to be certificateName.getPrefix(-1).
NDN-CPP v0.5 (2014-08-27)
-------------------------
Changes
* Changed ndn::toHex and Blob::toHex to output lower-case.
* In IdentityManager, added a default constructor to use the system storage.
* In the KeyChain constructor, if identityManager is omitted, use the system default IdentityManager.
* In the KeyChain constructor, if policyManager is omitted, use NoVerifyPolicyManager.
* In KeyChain, added verifyInterest.
* In BasicIdentityStorage, changed the SQL file to ~/.ndn/ndnsec-public-info.db .
* In the default Name::Component constructor, create a zero-length value, not null, to avoid null pointer problems.
* Renamed test-publish-async to test-publish-async-ndnx.
* Added test-publish-async-nfd.
* Renamed internal class Tlv1_0a2WireFormat to Tlv0_1WireFormat.
* COPYING: Changed the license to LGPLv3.
* Added encoding/ProtobufTlv for converting a Protobuf message object to TLV encoding.
* Added sync/ChronoSync2013 and the chat demo tests/test-chrono-chat. See:
http://named-data.net/doc/ndn-ccl-api/chrono-sync2013.html
* In test-encode-decode-data and test-encode-decode-benchmark, change the RSA test key to 2048 bits.
* Added UnixTransport. If using the default Face(), try to connect using a Unix socket.
* Added ./configure options --with-std-shared-ptr and --with-boost-shared-ptr. See ./configure --help .
* Added ./configure options --with-std-function and --with-boost-function. See ./configure --help .
* In Name.appendSegment and appendVersion, encode the number as nonNegativeInteger which is always 1, 2, 4 or 8 bytes.
This means that appendSegment(0) now encodes as %00%00 instead of just %00.
* In Name, added appendSegmentOffset, appendTimestamp and appendSequenceNumber.
* In Name.Component, added toSegmentOffset, toTimestamp and toSequenceNumber.
* http://redmine.named-data.net/issues/1847 If using std, put _1, _2, etc. in the func_lib namespace.
* http://redmine.named-data.net/issues/1738 Remove trailing whitespace
Deprecated
* In MemoryPrivateKeyStorage, deprecated setKeyPairForKeyName without an explicit keyType. Use
setKeyPairForKeyName passing the explicit key type such as KEY_TYPE_RSA.
Bug fixes
* http://redmine.named-data.net/issues/1307 Call all callbacks where the interest matches the incoming data packet's name.
* http://redmine.named-data.net/issues/1334 Interest.getMustBeFresh() is default true.
* http://redmine.named-data.net/issues/1338 Fix FinalBlockID TLV encoding.
* http://redmine.named-data.net/issues/1846 Fix compiling if log4cxx is present.
* http://redmine.named-data.net/issues/1900 Fix compiling with ./configure option --enable-shared=no.
* http://redmine.named-data.net/issues/1924 Should encode non-negative integers 253 through 255 as one byte.
* For TLV packets over UDP, ignore packets starting with 0x80.
* Fix bug for registerPrefix with NDNx.
* Fix bug for encoding/decoding the TLV Interest PublisherPublicKeyLocator.
NDN-CPP v0.4 (2014-02-27)
-------------------------
This release uses NDN-TLV for the default wire format.
Changes
* Changed the default wire format to TlvWireFormat.
* In ./configure, added option --enable-binary-xml=yes to revert to Binary XML.
* http://redmine.named-data.net/issues/1249. Support TLV FinalBlockId.
Deprecated
* Name: Deprecated appendFinalSegment. Use MetaInfo.setFinalBlockID.
* Name::Component: Deprecated toFinalSegment. Use MetaInfo.getFinalBlockID.
* Sha256WithRsaSignature: get/setDigestAlgorithm as deprecated. (This is
implicit in the class Sha256WithRsaSignature.)
* MetaInfo: Deprecated get/setTimestampMilliseconds: Use the
application-specific content to store a timestamp.
Bug fixes
* Name: Fix bug in append to explicitly make a Component to call append(Component).
* http://redmine.named-data.net/issues/1247 Use new TLV type codes to not
conflict with binary XML. Note: Using this new code must be done at the same
time as using the updated ndnd-tlv which uses the new type codes.
NDN-CPP v0.3 (2014-01-31)
-------------------------
Changes
* Added option for "./configure --enable-tlv=yes" to build with NDN-TLV as the default wire format.
* http://redmine.named-data.net/issues/1105 In Name, added comparison operators.
* http://redmine.named-data.net/issues/1085 In Name::Component, added comparison operators.
* http://redmine.named-data.net/issues/1086 In Name::getPrefix, support a negative argument, e.g. getPrefix(-1).
* http://redmine.named-data.net/issues/1121 In Name::get, allow a negative index.
* http://redmine.named-data.net/issues/1089 Renamed key.hpp to key-locator.hpp .
* MetaInfo: Added setFinalBlockID for Name::Component, remove unused setFinalBlockID which take uint8_t*, etc.
* Moved class ExcludeEntry to inner class Exclude::Entry.
* In BinaryXmlDecoder, cache the result of peekDTag for a speedup when decoding optional elements.
* Moved validation-request.hpp to public API security/policy, and moved OnVerified and OnVerifyFailed in there.
* In Interest, added get/setMustBeFresh.
* In Interest, added keyLocator. If the interest needs a publisher public key digest, the keyLocator type is
ndn_KeyLocatorType_KEY_LOCATOR_DIGEST.
* In Interest, if any field is changed, clear the nonce.
* In MetaInfo, added get/setFreshnessPeriod.
* Changed ndn_ContentType_LINK and ndn_ContentType_KEY to the correct value for NDN-TLV.
* In Name, added experimental appendFinalSegment, and in Name::Component added toFinalSegment.
* Moved definitions for classes Exclude, Signature and MetaInfo to their own source code files.
* In autogen.sh, don't run ./configure since the user may want to run ./configure with options.
Deprecated
* Interest: Deprecated getAnswerOriginKind. Use getMustBeFresh.
* Interest: Deprecated setAnswerOriginKind. Use setMustBeFresh.
* Interest: Deprecated getPublicKeyLocator. If the interest has a public key locator, its keyLocator has
type ndn_KeyLocatorType_KEY_LOCATOR_DIGEST and the key data has the digest.
* Interest: Deprecated constructors which take nonce and PublisherPublicKeyDigest. If needed, use the constructor
which takes a KeyLocator instead of the deprecated PublisherPublicKeyDigest.
* Interest: Deprecated setNonce. You should let the wire encoder generate a random nonce internally.
* Sha256WithRsaSignature: Deprecated getPublicKeyLocator. If the signature has a public key locator, its keyLocator has
type ndn_KeyLocatorType_KEY_LOCATOR_DIGEST and the key data has the digest.
* KeyLocator: Deprecated setKeyNameType. If you need a publisher public key digest, set the keyLocatorType to
ndn_KeyLocatorType_KEY_LOCATOR_DIGEST and set the key data to the digest.
* KeyLocator: Deprecated getKeyNameType. KEY_LOCATOR_DIGEST is supported as a keyLocatorType.
* MetaInfo: Deprecated getFreshnessSeconds. Use Milliseconds getFreshnessPeriod().
* MetaInfo: Deprecated setFreshnessSeconds. Use setFreshnessPeriod(Milliseconds).
* Sha256WithRsaSignature: Deprecated get/setWitness. Witness is deprecated.
Documentation
* Move instructions for running ./autogen.sh from configure.ac to the Development section of INSTALL.
* http://redmine.named-data.net/issues/1072: In Doxyfile, fix EXCLUDE for ndnboost to new location include/ndnboost .
Bug fixes
* http://redmine.named-data.net/issues/1056 Fix DTAG NDNProtocolDataUnit to encode as "NDN\202\000".
* http://redmine.named-data.net/issues/1064 Add ax_lib_sqlite3.m4, etc. to m4 directory so that autogen.sh works out of the box.
* http://redmine.named-data.net/issues/1077 Move the BasicIdentityStorage sqlite file to ~/.ndnx/ndnsec-identity.db .
NOTE: If you have an old file at ~/.ndn-identity/identity.db, please move it to ~/.ndnx/ndnsec-identity.db .
* http://redmine.named-data.net/issues/1088 Certificate name in KeyLocator should not include the version number.
* Fix bug in getForwardingEntryFlags: Need to check all flags, not the first flag using "else if".
NDN-CPP v0.2 (2013-11-08)
-------------------------
This release fully supports the Common Client Libraries API.
http://named-data.net/codebase/platform/documentation/ndn-ccl-api/
Changes to future versions will be detailed in this CHANGELOG.
NDN-CPP v0.1 (2013-08-09)
-------------------------
This is the initial release, with support for expressInterest for one interest at a time. A new release
coming soon will have a Pending Interest Table and support processing multiple simultaneous interest and
data packets.