changes: Add 'Changes' section to track changes since previous versions of the spec
This commit also includes updated HTML CSS.
Change-Id: I0f45e3fba25587f97cbb63332d457baacb515f40
diff --git a/changelog.rst b/changelog.rst
new file mode 100644
index 0000000..f402bbe
--- /dev/null
+++ b/changelog.rst
@@ -0,0 +1,61 @@
+Changes
+=======
+
+Since version 0.1
+-----------------
+
+- **Signature**
+
+ + New ``SignatureSha256WithEcdsa`` signature type for Elliptic Curve Digital Signature Algorithm (ECDSA)
+
+Since CCNx 0.7.2
+----------------
+
+- **General**
+
+ + XML-based ccnb packet encoding is replaced by TLV encoding
+
+- **Name**
+
+ + The name encoding is changed from binary XML to TLV format
+ + The discussions on naming conventions and the use of special markers inside NameComponents are removed from packet specification, and will be covered by a separate technical document
+ + Deprecated zero-length name component
+
+- **Interest Packet**
+
+ + ``Nonce`` is changed from optional to required
+ + ``PublisherPublicKeyDigest`` is replaced by ``PublisherPublicKeyLocator``
+ + ``AnswerOriginKind`` is simplified from 4bits to a 1-bit ``MustBeFresh``
+ + ``FaceID`` has been removed
+ + ``InterestLifetime`` changes the unit to the number of milliseconds
+ + Removed Bloom Filter from Exclude
+ + Changed default semantics of staleness
+
+ Specifically, NDN-TLV Interest without any selectors will bring any data that matches the name, and only when ``MustBeFresh`` selector is enabled it will try to honor freshness, specified in Data packets.
+ With Binary XML encoded Interests, the default behavior was to bring "fresh" data and return "stale" data only when ``AnswerOriginKind`` was set to 3.
+
+ Application developers must be aware of this change, reexamine the Interest expression code, and enable ``MustBeFresh`` selector when necessary.
+
+- **Data Packet**
+
+ + The structure of Data packet is changed:
+
+ * ``Name``, ``MetaInfo``, ``Content``, ``Signature{SignatureInfo, SignatureValue}``
+
+ + ``SignedInfo`` is renamed to ``MetaInfo`` and its content is changed
+ + ``PublisherPublicKeyDigest`` and ``ExtOpt`` are removed.
+ + ``Timestamp`` is removed
+ + ``KeyLocator`` is moved to be inside the ``Signature`` (``SignatureInfo``) block
+ + Three content types, ENCR, GONE, and NACK are removed
+ + ``FreshnessSeconds`` is renamed to ``FreshnessPeriod`` and is expressed in units of milliseconds
+
+- **Signature**
+
+ + ``Signature`` is moved to the end of Data packet.
+ + ``KeyLocator`` is moved to be a part of the ``SignatureInfo`` block, if it is applicable for the specific signature type.
+
+ The rationale for the move is to make Signature (sequence of ``SignatureInfo`` and ``SignatureValue`` TLVs) self-contained and self-sufficient.
+
+ + Signature type (or signing method information) is expressed as an assigned integer value (with no assumed default), rather than OID.
+ + Added support for hash-only "signature"
+ + The current specification does not define Merkle Hash Tree Aggregated Signatures, but it is expected that such (or similar) signatures will be defined in future version of this specification