Skip to content
Go to file
Cannot retrieve contributors at this time
602 lines (532 sloc) 32.7 KB
Interim changes since NDN-JS v0.19.0 (2019-12-17)
* In Interest, changed the
MustBeFresh default value to false.
* In pipelines, added printSummary
message (now includes completion time).
Bug fixes
* In expressInterest, use the nonce in the Interest if provided.
NDN-JS v0.19.0 (2019-08-01)
* 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.
* In Face, added putNack().
* Add PipelineCubic & refactor PipelineFixed.
* Refactor to put common code in the Pipeline class.
* Deprecated ForwardingFlags. Use RegistrationOptions.
Bug fixes
* In decoding Data, make MetaInfo
and Content optional.
* ApplicationParameters TLV type code.
* In examples, updated ControlParameters protobuf.
NDN-JS v0.18.0 (2019-03-06)
* In the browser, put the classes in
the ndn namespace, and by default also add the classes to the global
namespace (for backward compatibility). If a class in the global namespace
conflicts with a different API (for example, the Blob class) then your
application can call ndn.noConflict() and explicitly use the ndn namespace
(for example, ndn.Blob). In your browser, try running
examples/browser/noconflict.html .
* security (Node.js): Don't use
deprecated 'constant' module.
* security (Node.js): Replace
rsa-keygen with rsa-keypair.
* Added name-based access control v2,
EncryptorV2, DecryptorV2 and AccessControlV2, with integration tests.
* Change SegmentFetcher to use new
PipelineFixed & DataFetcher classes. (Thanks to Chavoosh and Junxiao.)
Bug fixes
* Fix checking against NaN.
* In Interest, deprecated getParameters, setParameters and hasParameters. Use
getApplicationParameters, setApplicationParameters and hasApplicationParameters.
NDN-JS v0.17.0 (2018-09-17)
* Accept Interests encoded with
packet format v0.3.
* In Name, API for typed name components.
* examples: Added firefly-chat which uses FireflyFace.
* Added ComponentType.PARAMETERS_SHA256_DIGEST,
and support params-sha256=<hex-value> in the name URI.
* Removed obsolete wsproxy. If you
want to use the code, see previous release versions.
Bug fixes
* In ChronoSync2013 timeout, get the digest component based on the broadcast
prefix size instead of a hard-coded value.
* In decodeLpPacket, fix the check for
ignoring an unrecognized field type.
* In MemoryContentCache, use a default
InterestLifetime and removed support for infinite lifetime.
* In examples/browser/test-encode-decode-data and -interest, need to use Log.LOG
instead of LOG.
NDN-JS v0.16.0 (2018-04-17)
Bug fixes
* MustBeFresh should be false if the
decoded Interest has no selectors.
* In encrypt GroupManager, save private
keys in memory to avoid regenerate group key pairs.
* 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.
* In the Interest constructor, deprecated params for selectors such as
minSuffixComponents. Use setMinSuffixComponents(), etc.
* Deprecated KeyType.ECDSA. Use KeyType.EC.
* Deprecated EcdsaKeyParams. Use EcKeyParams.
NDN-JS v0.15.0 (2018-02-20)
Added the security v2 Validator and policies such as ValidationPolicyConfig.
Updated examples to use the security v2 Validator.
Added security v2 Validator integration tests.
NDN-JS v0.14.0 (2018-02-05)
Bug fixes
* Ported the latest NDN regex code
from ndn-cxx which fixes errors for complex expressions.
* In KeyChain.importSafeBag, handle
exceptions from Tpm.importPrivateKey.
* 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,
Updated examples to use the security v2 KeyChain.
Added security v2 unit and integration tests.
(The security v2 Validator will be available soon.)
* Added Interest get/setForwardingHint.
* In Interest, deprecated link object and selected delegation methods.
Use get/setForwardingHint.
NDN-JS v0.13.0 (2017-03-16)
* In KeyChain.verifyData and verifyInterest,
use onValidationFailed callbacks which include a reason string.
* 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().
* Examples: Added fetch-media.html .
NDN-JS v0.12.0 (2016-11-02)
* In MetaInfo, added get/setOtherTypeCode
to allow unrecognized content type codes in the packet.
* In FilePrivateKeyStorage.generateKeyPair, update mapping.txt for the generated key.
* Added NdnCommon.checkIndexedDb to check for Indexed DB support.
* 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 SegmentFetcher.fetch, allow a validatorKeyChain for asynchronous Data validation.
* In ProtobufTlv, added utility method toName and support for Protobuf double.
* In Name.get, don't copy the
returned component (for efficiency).
* In tools/micro-forwarder, generalize to use WebSocketTransport or RuntimePortTransport.
* In tools/micro-forwarder, use Native Messaging to connect to the ndn_multicast app.
* In Face.makeCommandInterest, added an optional onComplete callback.
* Examples: In test-encode-decode-fib-entry, etc, use ProtobufTlv.toName.
* Examples: Added browser/test-list-faces.html.
* Unit tests: In test-name-methods, added test ImplicitSha256Digest.
* Unit tests: In test-interest-methods, added test MatchesData.
* Unit tests: In test-data-methods, added test FullName.
Bug fixes
* Respect tpm= setting in client.conf.
NDN-JS v0.11 (2016-05-05)
Breaking changes
* In encrypt/Consumer, moved ErrorCode to encrypt/EncryptError, affecting the
onError callback to Consumer.consume.
* In MemoryContentCache.registerPrefix, added optional onRegisterSuccess. (Thanks to Zhehao Wang.)
* In API callbacks, catch and log exceptions.
* Default KeyChain constructor for Node.js in Linux.
* Added HmacWithSha256Signature. In KeyChain, added experimental static methods
* 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).
* Added GenericSignature.
* Added Name.isPrefixOf and getSuccessor.
In compare, support compare(int, int, Name, int, int).
* Added Name.Component.isSegment,
isSegmentOffset, isVersion, isTimestamp and isSequenceNumber.
* Added static Name.Component.fromSegment,
fromSegmentOffset, fromVersion, fromTimestamp and fromSequenceNumber.
* Added Interest.refreshNonce.
* In Producer.createContentKey and produce,
added an optional onError callback.
* Added MemoryContentCache.setInterestFilter.
* In IdentityManager, added prepareUnsignedIdentityCertificate, getAllIdentities
and getAllCertificateNamesOfKey.
* In KeyChain, removed getAnyCertificate and getAnyIdentityCertificate.
* In transport, added MicroForwarderTransport from the NDN Hackathon.
* Merged tools/micro-forwarder from the NDN Hackathon. Removed outdated tools/forwarder.
* Updated pure JavaScript crypto to KJUR 5.05.
* Examples: Added test-sign-verify-data-hmac.
* Unit tests: Added test-link.
* Integration tests: In test-face-methods, added test NetworkNack and TestFaceRegisterMethods.
* In KeyChain, deprecated getIdentityCertificate. Use getCertificate.
* In Name.Component, deprecated direct access
to value. Use getValue() which returns Blob.
Bug fixes
* Sign the Firefox add-on.
* Update examples face-status.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.
NDN-JS v0.10 (2016-01-07)
* In Face.registerPrefix, added the
optional onRegisterSuccess callback.
* Added the encrypt package for the Group-Based Encryption Protocol, ported from
* In MemoryPrivateKeyStorage.generateKeyPairPromise, support RSA keygen in the browser.
* Added BasicIdentityStorage which uses the Node.js sqlite3 module.
* Support specifying the full URI in WebSocketTransport.
* In contrib/securityLib, Added prng4 and rng.
* In Name, added method toString() which calls toUri().
* In integration-tests, added test-registration-callbacks.
NDN-JS v0.9 (2015-09-24)
* In security, added KeyChain.createIdentityAndCertificate which returns the
certificate name, instead of the deprecated createIdentity which returns the
key name.
* In security ConfigPolicyManager, added load(input, inputName) to read
configuration rules from a string.
* Integration tests: Added test-policy-manager. Thanks to Jiayi Meng!
* Firefox add-on: Increased the number of outstanding interests to help streaming video.
* In security IdentityStorage and PrivateKeyStorage added promise-based methods
like getKeyPromise, which the subclasses like MemoryIdentityStorage now implement.
* In security, added IndexedDbIdentityStorage and IndexedDbPrivateKeyStorage for
persistent in-browser storage of user keys using IndexedDB.
* In KeyChain, added optional onComplete and onError callbacks to all methods
which use (possibly async) IdentityStorage and PrivateKeyStorage.
Changes to remove deprecated NDNx support
* In Face.registerPrefix, removed deprecated support to register with NDNx.
* In Face.expressInterest and registerPrefix, removed deprecated support for NDNx Closure.
* In the Face constructor, removed deprecated support for the NDNx verify flag.
* In Interest, removed deprecated NDNx get/setPublisherPublicKeyDigest,
get/setScope and get/setAnswerOriginKind.
* In Data, removed deprecated NDNx methods sign and verify.
* 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 setFields and get/setTimestamp.
* In MetaInfo get/setType, removed deprecated NDNx types DATA, ENCR and GONE.
* In MetaInfo, removed NDNx locator. You should use get/setKeyLocator in the
Signature object get/setKeyLocator().
* Removed deprecated NDNx classes ForwardingEntry, FaceInstance, KeyManager,
NameEnumeration, ExponentialReExpressClosure, Closure, KeyName, KeyNameType,
PublisherID, PublisherType, NDNTime, SignedInfo (use MetaInfo),
Signature (use Sha256WithRsaSignature), ContentObject (use Data) and NDN (use Face).
* Removed deprecated NDNx BinaryXmlWireFormat and support for binary XML packets.
* In WireFormat, removed ENABLE_NDNX since all NDNx support is now removed.
* Deprecated KeyChain.createIdentity. Use createIdentityAndCertificate which
returns the certificate name instead of the key name.
Bug fixes
* Self-signed cert name needs a version component.
* Lower-case "ksk-" in generated key name.
* test-encode-decode-data.html fails.
NDN-JS v0.8.1 (2015-05-14)
* By default, throw an exception when
using the deprecated NDNx and binary XML wire format, or when using NDNx-style
key management with globalKeyManager and the Key class. To enable support while
you upgrade your code to use NFD, in your main application set
WireFormat.ENABLE_NDNX = true
* Moved example programs from "tests" to "examples".
* Browser support for crypto.subtle native speedups, automatically used for verify and
KeyChain.sign (if using the onComplete callback). Tested in Chrome and Firefox.
Thanks to Ryan Bennett!
* In Face, added getMaxNdnPacketSize().
expressInterest throws an exception if the encoded interest size exceeds it.
* In Face, added setInterestFilter. In
registerPrefix, make the onInterest callback optional.
* Face: In registerPrefix, changed the onInterest callback to pass interestFilterId
instead of registeredPrefixId.
* In registerPrefix and setInterestFilter,
support the onInterest callback form
onInterest(prefix, interest, face, interestFilterId, filter).
The new callback form is passed the Face instead of Transport so that you can
supply the Data with face.putData(). It also takes the InterestFilter supplied
to setInterestFilter.
* MemoryContentCache: In registerPrefix, changed the onDataNotFound callback to call
onDataNotFound(prefix, interest, face, interestFilterId, filter).
If your application uses onDataNotFound, you must update your callback function.
* Implemented FilePrivateKeyStorage for Node.js. Thanks to Andrew Brown!
* In ControlParameters, added support for Uri and Strategy. Allow the Name to be optional. Thanks to Andrew Brown!
* 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 the default WireFormat, implemented decodeControlParameters. Thanks again to Andrew Brown!
* In Interest setter methods, return this so that you can chain calls to update values.
* Added class util/SegmentFetcher, ported from ndn-cxx. Use it in examples/node/test-list-rib, etc.
* examples: Added test-list-channels, test-list-faces, test-list-rib and
test-register-route to query NFD.
* 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().
* examples: In ndnping/ndn-ping.js, changed to use onData instead of a deprecated Closure.
* examples: In node/repo-ng added basic-insertion.js and watched-insertion.js and
in browser/repo-ng added basic-insertion.html and watched-insertion.html to
show interaction with the repo-ng repository.
* examples: In browser, removed the old-style test-publish-async.html and added
test-publish-async-nfd.html and test-echo-consumer.html, similar to Node.js.
* examples: Removed browser/test-encode-decode-interest-with-forwarding-entry and
node/test-publish-async-ndnx because NDNx support is deprecated.
* Moved tests which need NFD from tests/unit_tests to tests/integration_tests.
* Unit tests: Added test-der-encode-decode tests for CertificateExtension.
* Unit tests: In test-interest-methods, added ExcludeMatches.
* Integration tests: Added test-file-private-key-storage. Thanks to Andrew Brown!
* Deprecated support for NDNx and binary XML. See WireFormat.ENABLE_NDNX above.
* In Data, deprecated sign/verify. Use KeyChain sign/verifyData. See WireFormat.ENABLE_NDNX above.
* In MetaInfo, deprecated setFields. Use KeyChain sign/verifyData. See WireFormat.ENABLE_NDNX above.
* Deprecated Key, globalKeyManager and security/KeyManager. Use KeyChain sign/verifyData.
See WireFormat.ENABLE_NDNX above.
* In Face, deprecated NDNx-style verification in Closure.upcall. Use KeyChain.verifyData.
See WireFormat.ENABLE_NDNX above.
* In Face, deprecated registerPrefix where the onInterest callback has the form
onInterest(prefix, interest, transport, interestFilterId). Use the
registerPrefix where onInterest has the form
onInterest(prefix, interest, face, interestFilterId, filter) so you can call
Bug fixes
* Change the Face pending interest table,
etc. from static to member variables of each face.
* In ProtobufTlv.encode (in Node.js), instead of toBinary() to convert a binary
value, use toBuffer() to produce a Node.js Buffer.
* ControlParameters with empty name not properly encoded.
NDN-JS v0.7.0 (2014-12-22)
* Added DigestSha256Signature. Support encoding/decoding it in interests and data packets.
* In KeyChain, added signWithSha256.
* Unit tests: In test-data-methods, added VerifyDigestSha256.
* Unit tests: In test-interest-methods, added VerifyDigestSha256.
NDN-JS v0.6.0 (2014-10-15)
* In MetaInfo, added get/setFinalBlockId (replaces the deprecated get/setFinalBlockID).
* In KeyChain, added verifyInterest.
* In MemoryContentCache, added unregisterAll.
* In Name, added wireEncode and wireDecode.
* Added class sync/ChronoSync2013. Thanks to Zhehao Wang!
* In tests/node, added test-chrono-chat. Thanks to Zhehao Wang!
* In tests/node, added test-encode-decode-interest including sign/verify.
* Unit tests: Added test-name-conventions.
* Use version v0.6.0 instead of v0.6 to be consistent with
* Added package.json for publishing on Thanks to Ryan Bennett!
* Fixed copyright headers to all say "Lesser" GPL. Thanks to Felix Rabe!
* In MetaInfo, deprecated get/setFinalBlockID. Use get/setFinalBlockId.
Bug fixes
* TLV encode/decode of large nonNegativeInteger.
NDN-JS v0.5 (2014-08-27)
* Renamed Signature class to Sha256WithRsaSignature. The deprecated Signature
class is still available.
* As described below, the return type is changed for the following methods. If
these changes cause unexpected behavior in your application, you can revert
to NDN-JS version v0.4 while updating your application.
- Changed Name.Component.getValue() to return a Blob, not Buffer. If you need the
former behavior, call the deprecated method getValueAsBuffer().
- Changed Name.fromEscapedString(escapedString) to return a Blob, not Buffer. If you need the
former behavior, call the deprecated method fromEscapedStringAsBuffer().
- Changed Interest.getNonce() to return a Blob, not Buffer. If you need the
former behavior, call the deprecated method getNonceAsBuffer().
- Changed Data.getContent() to return a Blob, not Buffer. If you need the
former behavior, call the deprecated method getContentAsBuffer().
- Changed Sha256WithRsaSignature.getSignature() to return a Blob, not Buffer. If you need the
former behavior, call the deprecated method getSignatureAsBuffer().
- Changed KeyLocator.getKeyData() to return a Blob, not Buffer. If you need the
former behavior, call the deprecated method getKeyDataAsBuffer().
- Changed MetaInfo.getFinalBlockID() to return a Name.Component, not Buffer. If you need the
former behavior, call the deprecated method getFinalBlockIDAsBuffer().
* Remove trailing whitespace
* In Name.Component, added toSegment and toVersion.
* 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.
* In Face.expressInterest, return the pendingInterestId. Added Face.removePendingInterest.
* In Face.registerPrefix, return the registeredPrefixId. Added Face.removeRegisteredPrefix.
* Added classes for the security API: KeyChain, MemoryIdentityStorage, MemoryPrivateKeyStorage, SelfVerifyPolicyManager.
* In tests, make test-encode-decode-data use KeyChain to sign.
* In tests/node, renamed publish.js to test-publish-async-ndnx.js and use KeyChain to sign.
* In Face, added setCommandSigningInfo and makeCommandInterest.
* In Face, support NFD for registerPrefix if setCommandSigningInfo has been called.
* Changes from Ryan Bennett to use the feross Buffer wrapper to support npm.
* In tests/node, added test-publish-async-nfd.js .
Bug fixes
* Second call to expressInterest gives "connection not established"
* Should encode non-negative integers 253 through 255 as one byte.
* Deprecated the Signature class. Use new Sha256WithRsaSignature.
* Direct use of object fields is deprecated. Use the get/set methods.
For example, is deprecated. Use interest.getName() and setName(name).
The names and data type of object fields may change in the future.
* Name.Component: Deprecated getValueAsBuffer(). Use getValue().
* Name: Deprecated fromEscapedStringAsBuffer(). Use fromEscapedString().
* Interest: Deprecated getNonceAsBuffer(). Use getNonce().
* Data: Deprecated getContentAsBuffer(). Use getContent().
* Sha256WithRsaSignature: Deprecated getSignatureAsBuffer(). Use getSignature().
* KeyLocator: Deprecated getKeyDataAsBuffer(). Use getKeyData().
* MetaInfo: Deprecated getFinalBlockIDAsBuffer(). Use getFinalBlockID().
* Name: Deprecated cut(nComponents). Use getPrefix(-nComponents).
NDN-JS v0.4 (2014-06-18)
* In Node, by default connect on port 6363 to a random testbed hub.
* In the Firefox add-on, by default connect on port 6363 to a random testbed hub.
* In Name, added method appendVersion.
* In Name.Component, added method compare.
* Added a default Name.Component constructor to create a zero-length value.
* Face constructor: Support settings.connectionInfo.
* Face constructor: Renamed settings.getHostAndPort to getConnectionInfo.
* Renamed internal class Tlv1_0a2WireFormat to Tlv0_1WireFormat.
* COPYING: Changed the license to LGPLv3.
* Changed the default RSA key to 2048 bits.
* Added ProtobufTlv support for node.js and the browser.
* Added MemoryContentCache. See .
* Added UnixTransport for Unix socket support in Node.js .
Bug fixes
* Make Interest.getMustBeFresh() return default true.
* Fix FinalBlockID TLV encoding.
* expressInterest overwrites interestLifetime.
* For TLV packets over UDP, ignore packets starting with 0x80.
* Fix bug for signing old format Binary XML data packets (after adding TLV code).
* Fix bug for generating a random nonce on Ubuntu.
* Fix bug for generating a hash on older versions of Node-js.
* Fix bug in DataUtils.toString: Need to call Buffer.toString('binary').
* Fix bug for encoding/decoding the TLV Interest PublisherPublicKeyLocator.
* Deprecated getting the connection info with and face.port. Use face.connectionInfo.
NDN-JS v0.3 (2014-02-27)
This release uses NDN-TLV for the default wire format.
* You should use get/setKeyLocator in the Signature object instead of locator in the Data signedInfo.
* Added get/setKeyLocator in the Signature object.
* In Face.expressInterest, support onData and onTimeout callbacks.
* In Name.getPrefix, support a negative argument, e.g. getPrefix(-1).
* In Face.registerPrefix, add support for onInterest and onRegisterFailed callbacks and ForwardingFlags.
* Internal: Binary XML decoding speed up to only support DTags.
* In Name.get, allow a negative index.
* In Name, added method getSubName.
* Added utility classes Blob and SignedBlob.
* In WireFormat, added getDefaultWireFormat and setDefaultWireFormat.
* In Data, added wireEncode (which returns a SignedBlob) and wireDecode.
* In Interest, added wireEncode (which returns a Blob) and wireDecode.
* Added class MetaInfo and deprecated SignedInfo.
* Moved classes Exclude, Signature, MetaInfo and KeyLocator into their own source files.
* In Interest, added get/setKeyLocator.
* In Interest, added get/setMustBeFresh.
* In KeyLocatorType, added KEY_LOCATOR_DIGEST.
* In MetaInfo (formerly SignedInfo) setFields, set a KeyLocatorType.KEY_LOCATOR_DIGEST instead of a KEY.
* In EncodingUtils.decodeHexData, etc., added an optional wireFormat argument.
* SignedInfo (MetaInfo): Deprecated the locator. You should use get/setKeyLocator in the Signature object.
* 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 KeyLocatorType.KEY_LOCATOR_DIGEST and the key data has the digest.
* SignedInfo: Deprecated class SignedInfo. Use MetaInfo.
* Face/NDN: Deprecated expressInterest(name, closure [, template]). You should use
expressInterest which uses callbacks, not Closure.
* Face/NDN: Deprecated registerPrefix(name, closure [, intFlags]). You should use
registerPrefix which uses callbacks, not Closure.
* Data: Deprecated encode and decode. You should use wireEncode (which returns a SignedBlob) and wireDecode.
* Interest: Deprecated encode and decode. You should use wireEncode (which returns a Blob) and wireDecode.
Bug fixes
* Call all callbacks where the interest matches the incoming data packet.
* wsproxy: In the README, document option -n for the remote ndnd port.
NDN-JS v0.2 (2013-11-08)
* Rename the combined files ndn-js.js and ndn-js.min.js to ndn.js and ndn.min.js.
* Add support for Node.js to merge with NDN-On-Node.
* Renamed the main NDN class to Face.
* Updated the main Face object to use a TcpTransport by default for Node.js.
* Change all code to use new Buffer instead of new Uint8Array.
* Moved global LOG variable to file Log.js. If you want to change the log level, change Log.LOG .
* If a host is specified, the Face constructor defaults to port 6363 instead of port 9695.
* Added Name.Component class and changed Name to use it. Name.getComponent still returns the component value but is deprecated.
* Added Name.get which returns a Name.Component (not the component byte array).
* Added Name.size. Deprecated Name.getComponentCount.
* Change Exclude to hold Name.Component instead of Buffer. The Exclude constructor accepts an array of Name.Component or Buffer.
* Renamed ContentObject class to Data. In the UpcallInfo object, renamed contentObject to data.
* EncodingUtils: Added encodeToHexData, decodeHexData and dataToHtml.
* Moved files in tests/ to tests/browser/ .
* Added test files from NDN-On-Node to tests/node/ .
* wsproxy: Added -n command line option to set the ndnd port.
* In EncodingUtils.js, made all functions static members of EncodingUtils.
* Default to not verify data packets until crypto API is updated.
* Added NameEnumeration support and a test in tests/browser/test-name-enumeration.html.
* Updated security library to use 'RSA-Sign JavaScript Library' and 'crypto.js'.
* Removed unsupported Witness.js (Merkle trees). Rename Signature.Witness to witness (lower case) and it is just a Buffer.
* Removed unimplemented TextXML encoder, especially since we will move away from XML wire formats.
* Internally changed "ccn" to "ndn" in function names and comments.
* Added Interest.toUri().
* Changed file names to lower case. Applications include build/ndn.js, so are unaffected.
* Firefox add-on: Support NDNFS: If the returned data name has %C1.FS.file, remove it and request the actual file.
* build/ndn-js.js and build/ndn-js.min.js. You should use build/ndn.js and build/ndn.min.js.
* ndnProtocol.xpi. Use ndn-protocol.xpi which is the new name of the Firefox add-on file.
* NDN: This class is deprecated. Use Face.
* ContentObject: This class is deprecated. Use Data.
* Name: Deprecated getComponent. Use get(i).getValue().
* Name: Deprecated getComponentCount. Use size().
* Name: Deprecated to_uri. Use toUri.
* Name: Deprecated getName. Use toUri.
* Name: Deprecated add and addSegment. Use append and appendSegment.
* Name: Deprecated equalsName. Use equals.
* Name: Deprecated matches_name. Use matchesName.
* EncodingUtils.js: Deprecated using the global functions. Use static members of EncodingUtils class.
* EncodingUtils.js: Deprecated encodeToBinaryInterest. Use interest.encode().
* EncodingUtils.js: Deprecated encodeToBinaryContentObject. Use data.encode().
* EncodingUtils.js: Deprecated encodeToHexContentObject. Use EncodingUtils.encodeToHexData.
* EncodingUtils.js: Deprecated decodeHexContentObject. Use EncodingUtils.decodeHexData.
* EncodingUtils.js: Deprecated contentObjectToHtml. Use EncodingUtils.dataToHtml.
Bug fixes
* BinaryXMLDecoder.decodeTypeAndVal does not stop at end of stream.
NDN-JS v0.1 (2013-08-06)
This is the initial release, compatible with the API in use for about the past year.
The API will change soon for v0.2 .
You can’t perform that action at this time.