Skip to content

Releases: inblockio/mediawiki-extensions-Aqua

v1.0.0-alpha.2

28 Jan 06:03
a727443
Compare
Choose a tag to compare
v1.0.0-alpha.2 Pre-release
Pre-release

This release implements a breaking upgrade to the Aqua Protocol from v1.0 to v1.1,
which adds new API endpoints, content slots, transclusion and slots
verification, JSON export/import, file export/import. The witness data stored
in the DB are now identified by their witness event verification hash. This is
to ensure that the witness data are unique, and are represented the same way
across Aqua hosts.

The following API endpoints are now deprecated:

  • /verify_page
  • /get_page_all_revs
  • /get_page_last_rev (still used by the Chrome extension, but will be phased out soon)
  • /request_merkle_proof

The following new API endpoints replace the deprecated endpoints:

  • /get_revision
  • /get_hash_chain_info
  • /get_revision_hashes

There is an import API

  • /import allows to import a single revision, this is subject to change to /import_revision

We are switching to JSON export/import instead of patching MediaWiki's
export/import for the following reasons:

  • to abstract out the data interchange format away from MediaWiki-specific design.
  • to support embedding files in base64-encoded strings.
  • to embed custom transclusion and slots structure.

Notable commits:

  • 🎸 Implement verification_context table column (793d783)
  • 🎸 Remove exclusion of file pages from domain manifest (dddb71c)
  • translate: Add german translations for new messages (f6877b9)
  • feat: Immutable links (028c654)

Commits for the API endpoints:

  • 🎸 Implement get_hash_chain_info API endpoint (a9698e5)
  • 🎸 Implement get_revision API endpoint (0aeebe7)
  • 🎸 Implement get_revision_hashes API endpoint (f9b2f37)

Notable Breaking changes commits:

  • 🎸 BREAKING: Implement genesis hash (85b9f55)
  • 🤖 BREAKING: Bump server API version (846d07d)
  • 💡 breaking: Change API spec of get_hash_chain_info (db5e7af)
  • 💡 breaking: Change get_past_last_rev API spec (fdbbda8)
  • 💡 breaking: Change transclusion/update_hash API spec (0ce9eb4)
  • 💡 breaking: Rename Domain Manifest to Domain Snapshot (6ffcca4)
  • 💡 BREAKING: Rename to domain_manifest_genesis_hash (f261301)

Notable pull requests:

  • Revision slots, translusion tracking, generic import/export. #224
  • Prepare for multi-language support pt I. #267
  • Make slot rendering more beautiful and functional. #285
  • fix: Temporarely increase memory limits for import/export. #286
  • "New page" button. #287

Full changelog below

chore

  • 🤖 Add TODO comment for optimizing write_store_witness (712c3e1)
  • 🤖 BREAKING: Bump server API version (846d07d)
  • 🤖 Fix MetaMask name capitalization (1885736)
  • 🤖 Fix style issue (678a130)
  • 🤖 Introduce version in extension.json (50bab6b), closes #122
  • 🤖 Remove unused 'has_transclusion' (dcd7a30)
  • 🤖 Remove unused API endpoint get_page_by_rev_id (687ace7)
  • 🤖 Remove unused comment (b049bbf)
  • 🤖 Update required MW-Version to 1.37.0 (c127663)

doc

  • Add reminder doc to add new fields to lookup classes (090e7e9)
  • explicit doc for classes that should be updated on field change (2574cf2)
  • ✏️ Add short description of code for genesis generation (c1c8b04)
  • ✏️ Clarify comment on import collision fixing procedure (627231c)
  • ✏️ Dogs dogs dogs ... wau wau wau!!! (9cba7e5)
  • ✏️ Log error when posting signed tx fails (6e3e4c6)
  • ✏️ third party: Attribute ethers.js (5823769)
  • ✏️ Update author list (2c7a36b)
  • ✏️ Update comment on witness event id update rule (73ce60c)
  • Add some documentation (0d9c181)
  • Code-documentation (3a26484)
  • Document temporary methods (cc003cb)

feat

  • 🎸 Add error handling witness func in get_revision (07ee931)
  • 🎸 Add previous_verification_hash to revision_ver. table (ffda102)
  • 🎸 BREAKING: Implement genesis hash (85b9f55)
  • 🎸 Change wikitable class to 'table table-bordered' (6fc2c40)
  • 🎸 Domain snapshot: link ver. hash. to get_revision API (7a3b1b3)
  • 🎸 Ensure witness merkle tree entry is fully mobile (e21ebb0)
  • 🎸 Implement get_hash_chain_info API endpoint (a9698e5)
  • 🎸 Implement get_revision API endpoint (0aeebe7)
  • 🎸 Implement get_revision_hashes API endpoint (f9b2f37)
  • 🎸 Implement verification_context table column (793d783)
  • 🎸 incomplete - expose content signature option (b62dffa)
  • 🎸 Remove exclusion of file pages from domain manifest (dddb71c)
  • 🎸 Show alert that MetaMask is disabled in pdf URLs (cfc147a)
  • 🎸 Store witness: Implement store mainnet > testnet rule (b829a28)
  • 🎸 witness page: Thumbnail file pages to save space (9f5d9d0)
  • Add german translations (8768caa)
  • A...
Read more

PKC v1.0.0 Alpha Release

07 Dec 04:18
0382953
Compare
Choose a tag to compare
Pre-release

Data Accounting is a MediaWiki (1.37+) extension offering a notary and data accounting services within Micro PKC.

Content and metadata is immutably secured by hash-chains. The content can be witnessed and entangled with a cryptographic signature to account for it.

Features

  • Immutable revision history by entangling revisions in a hash chain stored locally in your micro-PKC. This is automatically done in the background.
  • Entangling cryptographic signatures from your Ethereum Wallet with your revision via the 'Sign' action
  • Entangling cryptographic time-stamps in the style of 'open-timestamps' using the Domain-Generator / Publisher to the Ethereum Main-Chain in Seconds;
  • Export/Import to move verified pages out of your PKC into another PKC
  • Exposure of verification data via API to allow usage of remote verification tools (data-accounting-external-verifier and VerifyPage Chrome Extension)

Limitations

  • Media miles are not included in export / import operations. You need to re-upload them after moving a page over to a different PKC's via the export / import functionality.
  • Sub pages and media-files are not included in the current version of the Data Accounting Protocol therefore they are not subject of being verified. It is possible to change a picture in the page without the verification tool complaining. Media-files will be included with version v1.1 of the Data Accounting Protocol
  • If pages have too many revisions, the verification will eventually take a very long time and potentially become impractically. We recommend moving content of a page into a new page to continue editing it from there. You can ensure that you're including the revision_verification_hash to make of the last revision of the old page and create a link to that specific revision. Then you can protect the old page to avoid any additional edits.
  • We are depending on the availability of etherscan.io for verification of Ethereum transactions. This will be solved in the future by being able to connect to your own custom RPC node for verification. You can already connect your MetaMask wallet through their own functionality to your custom RPC node for publishing.