- a request signature is required to process the request (which is validated by time, but not stored. ie, only re-signing of actual data will be store)
- Fixed: hashing incompatible when data is too large (as default group concat max length is 1024)
- Set SESSION group_concat_max_len to 100000 before calc hashes
- use only vectorClock and log_time for hashing
Update node URL
- Can now change URLs for nodes without disk migration
- `updateNodes` JSON object property for updating the URL of nodes
Trusted IDs
- Added TrustedIDs for apps
- TrustedIDs are added/removed by admin ID
- TrustedIDs have permission to edit the tag field
Other changes
- supernode configs are converted into strings when stored in DB. (parsed back when retrieving from DB)
- updated SubAdmin column type from VARCHAR(3500) to TEXT
- moved base table struct to base_table.json
- moved cloud data struct to data_structure.json
- improvements to database module
- use database.DB from module.export cache instead of global mapping
- Improved security for node-privkey storage
- Private is stored as encrypted in file (loaded once on startup)
- node private key is stored in encrypted format in memory
- moved myPrivKey, myFloID to keys module
- Refresh the blockchain data atleast once every 1 hour.
- If regular countdown (based on requests) occurs, then automatically reset the blockchain-refresh timer.
- Fixed: processIncomingData throwing error when using POST request
- Fixed: tag/note data not working properly (getData returns an array, thus need to use result[0])
- Adding data, tag, note will return the entire data (ie, all columns) to user
- Fixed: a minor syntax bug in DB.getData
- Fixed: mostRecent option not giving the last record correctly
- if afterTime parameter is passed in request, any data changed (tag, note) after given time is returned. (afterTime also combines with other condition parameters).
- Request data now return all columns from the table
Added new feature 'Note':
- Receivers can add a tiny note to data received.
- For data received by adminID of authorised app, subAdmins will also be able to add/edit note
Improved Invalid error and Internal error feedback:
- Only Invalid errors are relayed to user ( Invalid error code: 400).
- Internal errors caused just indicate 'unable to process request' to user (Internal error code: 500)
Other changes:
- Processing Tag will now check application from data stored. application parameter is not required (Signature will require vectorClock instead of application).
- Fixed bug: clear-authorized-data using incorrect floID values