Skip to content
Go to file
Cannot retrieve contributors at this time
454 lines (375 sloc) 20.3 KB
jNDN v0.24 (2020-04-16)
* 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)
* In Face, added putNack().
* Aimd pipelining in Segment fetcher (Thanks, Ritik!)
* sync: Added FullPSync2017 and FullPSync2017WithUsers, implementing the Full PSync protocol.
* examples: Added TestFullPsync and TestFullPSyncWithUsers.
Bug fixes
* ApplicationParameters TLV type code.
* In examples, updated ControlParameters protobuf.
jNDN v0.22 (2019-07-09)
* Print a warning if the application
didn't call Interest.setDefaultCanBePrefix() or set the Interest's CanBePrefix.
* Renamed ForwardingFlags to RegistrationOptions.
* In RegistrationOptions, added setOrigin()
to use in the flags argument of registerPrefix.
* Deprecated ForwardingFlags. Use RegistrationOptions.
Bug fixes
* On Ubuntu for the default KeyChain()
constructor, properly access the file-base TPM in the home directory.
* In decoding Data, make MetaInfo
and Content optional.
jNDN v0.21 (2019-03-05)
* Removed deprecated KeyType.ECDSA. (Use EC.)
* In Interest, deprecated getParameters, setParameters and hasParameters. Use
getApplicationParameters, setApplicationParameters and hasApplicationParameters.
jNDN v0.20 (2018-10-24)
* In TpmBackEndFile, implemented private key import/export.
Bug fixes
* In decodeControlParameters, skip
unrecognized TLVs.
jNDN v0.19 (2018-09-17)
* Added name-based access control v2,
EncryptorV2, DecryptorV2 and AccessControlV2, with integration tests.
* Added ComponentType.PARAMETERS_SHA256_DIGEST,
and support params-sha256=<hex-value> in the name URI.
Bug fixes
* In decodeLpPacket, fix the check for
ignoring an unrecognized field type.
* In MemoryContentCache, use a default
InterestLifetime and removed support for infinite lifetime.
jNDN v0.18 (2018-07-24)
* Accept Interests encoded with
packet format v0.3
* In Name, API for typed name components.
* 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
* In KeyChain.importSafeBag, handle
exceptions from Tpm.importPrivateKey.
* MustBeFresh should be false if the
decoded Interest has no selectors.
* Rename KeyType.ECDSA and EcdsaKeyParams
to KeyType.EC and EcKeyParams. Deprecated KeyType.ECDSA and EcdsaKeyParams.
* 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 KeyType.ECDSA. Use KeyType.EC.
* Deprecated EcdsaKeyParams. Use EcKeyParams.
jNDN v0.16 (2017-12-08)
Bug fixes
* Ported the latest NDN regex code
from ndn-cxx which fixes errors for complex expressions.
* Fix RSA encryption on Android.
* 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.
* In encrypt GroupManager, save private
keys in memory to avoid regenerate group key pairs.
* 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!)
* 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.
* Support for Link objects in the
encrypt package Producer and Consumer.
* In ChronoSync2013, support optional
application info in the SyncState messages.
* ChronoSync2013: Added method getProducerPrefixes().
jNDN v0.14 (2016-11-02)
* Added support for the Name component type ImplicitSha256Digest, and methods:
Name.Component.fromImplicitSha256Digest, isGeneric and isImplicitSha256Digest.
* In Data, added getFullName, and
in Interest added matchesData to use it.
* 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.
* 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
* AsyncTcpTransport: move reconnect
lock to fix reconnection failure.
jNDN v0.13 (2016-06-10)
* 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
* 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.
* 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 Producer.createContentKey and produce,
added an optional onError callback.
* Added HmacWithSha256Signature. In KeyChain, added experimental static methods
* 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.
* In KeyChain, deprecated getIdentityCertificate. Use getCertificate.
Bug fixes
* Update examples face-status-proto.proto.
* 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)
* Added static Name.Component.fromSegment,
fromSegmentOffset, fromVersion, fromTimestamp and fromSequenceNumber.
* Added Name.isPrefixOf, getSuccessor
and compare(int, size_t, Name, int, size_t).
* Added Name.Component.isSegment,
isSegmentOffset, isVersion, isTimestamp and isSequenceNumber.
* Added Interest.refreshNonce.
* Deprecated Data.getIncomingFaceId,
Interest.getIncomingFaceId and getNextHopFaceId, to be replaced by NDNLPv2 (NFD 0.4.0).
Bug fixes
* WritePendingException in TestGetAsyncThreadPool (Thanks to Andrew Brown.)
jNDN v0.10 (2016-02-16)
* Added GenericSignature.
* Added ControlResponse.
* In MemoryContentCache.registerPrefix, added optional onRegisterSuccess. (Thanks to Zhehao Wang.)
* In API callbacks, catch and log exceptions.
* Unit tests: Added TestControlResponse.
jNDN v0.9 (2016-01-07)
* Added the net.named_data.jndn.encrypt package for the Group-Based Encryption Protocol, ported from
* 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
* Make use unsigned compare.
* In expressInterest, call onTimeout when there is no interest lifetime.
jNDN v0.8 (2015-09-24)
* 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)
* 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.
* 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
* Self-signed cert name needs a version component.
* Lower-case "ksk-" in generated key name.
* In MemoryIdentityStorage.setDefaultKeyNameForIdentity,
derive the identityName from the keyName, not from identityNameCheck, which you
should omit because it is deprecated.
* In Interest, deprecated get/setScope since it is for NDNx and NFD does not use it.
jNDN v0.7 (2015-05-28)
* Added pom-android.xml and pom-without-protobuf.xml, and moved the related
profiles out of pom.xml into these files. See
* In security, added KeyChain.createIdentityAndCertificate which returns the
certificate name, instead of the deprecated createIdentity which returns the
key name.
* Deprecated KeyChain.createIdentity. Use createIdentityAndCertificate which
returns the certificate name instead of the key name.
jNDN v0.6 (2015-05-13)
* 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 support for NDNx and binary XML. See WireFormat.ENABLE_NDNX above.
jNDN v0.5 (2015-04-15)
* In Face, added getMaxNdnPacketSize().
expressInterest and putData throw an exception if the encoded packet size exceeds it.
* In Face, added setInterestFilter. In
registerPrefix, make the onInterest callback optional.
* 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.
* In Face, deprecated registerPrefix where onInterest is type OnInterest. Use the
registerPrefix where onInterest is OnInterestCallback so you can call face.putData().
Bug fixes
* ControlParameters with empty name not properly encoded.
jNDN v0.4 (2015-03-09)
* 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!
* Handle an incoming NFD LocalControlHeader
packet and return it in the packet getIncomingFaceId().
* 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
* Data.setName, etc. should copy the object.
* Blob: Fix bug for getImmutableArray() when the ByteBuffer is read only.
jNDN v0.3 (2015-02-18)
* Changed from Ant to the Maven build system. Thanks to Andrew Brown!
* 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)
* Added build.xml for Ant. Updated 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 <> !)
* 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.
* 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.
You can’t perform that action at this time.