- We are versioning according to semver.org
- We are currently in the "Initial development phase"
- (breaking) Fixed a bug in the constraints metadata db. Details: https://github.com/attestate/kiwistand/commit/37ba938a811b39ec6e88887eaa278d393b72ff6b Caution: If you're running a node, read this carefully and potentially get in touch!
- Hardcode mainnet mints to preserve mainnet timestamps of minting
- Optimism mint crawler records timestamps of mints
- Mints can now be tracked separately
- Many frontend updates
- Upgrade all libp2p version identifiers
- Move all eligible-defining NFTs to
oeth:0x66747bdc903d17c586fa09ee5d6b54cc85bbea45
- Deprecate
RPC_HTTP_HOST
- Fix bugs with indexing logs. attestate/crawler
order
function was ordering logs based on blockIndex and transactionIndex, but logIndex was necessary too.- We've essentially created two new indexing strategies ("list-delegations-2", and "op-call-block-logs").
- store.posts now tolerates finding "in-eligible" messages
- Added docs that explain how Kiwi News Protocol's set reconciliation works
- Use a DFS to traverse the tree for posts (thank you to @freeatnet!)
- Deactivate revocations temporarily until we're properly implementing them in the set reconciliation algorithm. Details.
- Upgrade all protocol major versions.
- Require new environment variable
OPTIMISM_RPC_HTTP_HOST
- Website: Minor stylistic changes
- Protocol:
- All semantic version identifiers have been upgraded as a major version to avoid name collisions with nodes running older versions of this software.
- API
- POST /api/v1/list endpoint now adds two new properties to a message
identity
andsigner
. - POST /api/v1/messages now accepts messages signed from a delegate address.
- POST /api/v1/list endpoint now adds two new properties to a message
- Docs
- Document difference in ports between API and frontend
- Environment Variables
- Rename
TIMESTAMP_TOLERANCE_SECS
toMAX_TIMESTAMP_DELTA_SECS
- Separate
HTTP_PORT
(for website) andAPI_PORT
(for node API) - Remove all
TODAYS_EDITOR_...
variables
- Rename
- Add Sphinx docs
- Many changes to the frontend (won't list details)
- Separated website frontend from node API frontend. They now run on differnet ports.
- The allowlist registry now guarantees returning a set of unique Ethereum addresses.
- The level's remote comparisons are now validated at the receiving node with a JSON schema.
- For the frontend (mainly), ecrecover can now cache recovering signatures.
- Logging of errors in the reconciliation algorithm has been improved.
- The "leaves" function can now be called with a "startDatetime" parameter to speed up database queries.
- Database migration
- This release contains an incompatible database migration from earlier releases! If you actually need to migrate from 0.2.0 to 0.3.0, contact @timdaub!
- LMDB now uses "ordered-binary" key encoding to enable range based key queries.
- Our message hashing and identity generation was broken and so messages weren't canonically hashed. This had to be addressed in a database migration and by fixing the canonicalization. Again, if you really must migrate your data, make sure to contact us beforehand!
- We enabled "useNodePruning" in ethereumjs/trie (this gets rid of deleted nodes).
- Protocols
- Upgrade "leaves" protocol to v3.0.0
- Improve PMT traversal algorithm that had a bug when branching factor was too big (vendored in WalkController from ethereumjs/trie).
- Improved atomic committments of data entry within set reconciliation. Made both metadb and trie transactional.
- We discovered a critical issue in the v0.1.0 code base that lead to digests of messages in the ordering algorithm to be non-canonical [1] (thanks @freeatnet).
- We're fixing this using npm:canonicalize that implements RFC8785 for canonical JSON.
- Since we already had nodes in the network with existing data we shipped our
first migration too. It checks for the digest algorithm, and applies a
migration accordingly. We strongly recommend doing a backup of the
DATA_DIR
before applying the v0.2.0 update. - To avoid synchronizations between v0.1.0 nodes and v0.2.0 nodes, we upgraded all protocol and pubsub identifiers and versions too to avoid corrupting data bases.
1: https://github.com/attestate/kiwistand/commit/debb66ab676053a82b9aab789f68049a5c9a4528
- Initial release of Kiwi News run until 2023-05-06