Fix a bug in the fossilizer UTXO selection
- Postgresstore schema change: data changed back to JSON to allow search
If you are updating from 0.3.x, you need to run a database migration or drop
your existing data.
The migration is pretty simple: list all rows in the store.links
and store.evidences
tables, deserialize the protobuf data
and serialize it to JSON instead.
You'll also need to change the column format from bytea
to jsonb
.
Added support for batch link creation. It is now possible to create multiple links atomically.
- Repository was renamed to go-core
- Chainscript has been moved to its own repository
- Adding support for cloud queues in batch fossilizer
- Added monitoring using the Elastic Stack (metrics and tracing)
- Removed
strat
CLI and deprecated the agent programming model - Added support for
outDegree
- Added support for
uniqueMapEntry
- Various types refactoring
- Postgresstore schema change: data is now a protobuf byte array
- Governance early implementation
- Updated to Tendermint 0.18.0
- Repository was renamed to go-indigocore
- Validation engine was refactored
- A new PKI section allows users to define users who will take part in a process
- Signature validation has been implemented
- Transition validation has been implemented
- Validation rules are now stored in (and loaded from) the store
- Chainscript-related data structures have been improved
- The Tendermint evidence can now be fully validated independently from the store
- Monitoring has been added on the whole indigocore stack
- Added new store implementation (Elasticsearch)
strat
CLI is more interactive and easier to usestrat
CLI features key generation (RSA, ECDSA, ED25519)- All stores are now compatible with fossilizers
- Updated to Tendermint 0.13.0
- Changed internal store interfaces to more clearly separate Links from their Meta
- Links are always immutable and can be very easily stored on a blockchain
- Segments' Meta (which contains mainly evidences) is mutable (since evidence can be added after the fact) and can be stored in a separate store
- The exposed http interface has changed accordingly
- Re-architectured notifications to use websockets and channels everywhere
- Refactored internal types to operate as much as possible on Links
- Refactored types for more consistency
- A Segment can now reference existing Segments (even from other processes / maps)
- Added new store implementations (Rethink, CouchDB, PostgreSQL)
- Added fossilizers implementations (BTCFossilizer, BatchFossilizer)
- Updated to Tendermint 0.11.1.
- Updated to Tendermint 0.11.0.
- Added basic segment schema based validation at the node level.
- Added "multi-process" support:
- Made field
segment.link.meta.process
mandatory - Scoped all read requests by process
- Made field
- Updated FindSegments so that it filters by prevLinkHash and mapIDs
- Changed
strat update
so that it updates both the CLI and generators. - Changed license back to Apache 2.
- Switched to the dep package manager.
- Made goroutines more predictable.
- Fixed CI and tests.
- Cleaned up command flags.
- Cleaned logs.
- Updated to Tendermint 0.9.0.
- Improved Tendermint node stability.
- Added batch support to stores.
- Added key-values support to stores.
- Cleaned error message stack trace.
- Created homebrew formula.
- Made single binary for Indigo node and Tendermint core.
- Improved
tmstore
websocket. - Changed license to MPL-2.0.
- Fixed
tmstore
didSave
channel.
- Added support for proof-of-process over a Tendermint blockchain network. Each node can use any of the available store adapters to save its data.
- Added the
filetmpop
command, which is a Tendermint application that uses a filestore to save segments. - Added the
tmstore
command, which starts a store that communicates with a Tendermint network to save segments. - Added web sockets to stores.
- Added a
getenv
function to generators so they can get the value of environment variables.
- The
strat
command will now use standard flags, using thecobra
library. - Added a
--generators-path
flag tostrat
to specify the location of the generators on the local file system. This makes it easier to develop generators.
- Added a -stdin flag to all
strat
commands that execute scripts. It is set to false by default. If true, the standard input will be attached to the process executing the shell command. Hopefully this will fixstrat test
not working on Windows.
- Reduced size of Docker images.
- Improved Docker images security.
- Locked Docker base images to specific versions.
- Added a
STRATUMN_CONFIG
environment variable to override the default Stratumn configuration path. - Fixed
strat generate
trying to callinit
script if there is no project file.
- Reset version to
0.0.1-dev
. - Added the
strat deploy
command. It expects an environment name as the first argument, and will try to execute thedeploy:{env}
script of the project. - Minor fixes and improvements.
- The command
strat update
should now work properly even if temporary files are on a different file system.
- The update mechanism for
strat update
should now work properly on all supported platforms.
strat update
will now check the cryptographic signature of downloaded binaries.
- All releases binaries are now signed.
- Added
strat
commanddown
that executes a project script that should stop running services. - Added
strat
commandpull
that executes a project script that should pull updates. - Added
strat
commandpush
that executes a project script that should push updates.
- Use
logrus
as the logger.
- Fixed
strat
down:test
not working. - Made
strat
support private Github repositories on repository commands via a flag or environment variable.
- Added support for
strat
down:test
script. This addition makesstrat test
execute adown:test
script if present after the tests. It will handle the exit code properly. - Added ability for
strat
scripts to accept extra arguments. This change makes it possible to pass arguments (both flags and parameters) to a script when executing it. - Improved code documentation.
- Scripts executed by
strat
can now be OS and architecture specific. It will look fist for a script named{name}:{os}:{arch}
, then{name}:{os}
, then{name}:{arch}
, and finally{name}
. - Added the
strat build
command that executes thebuild
script of a project.
- Scripts executed by
strat
are now passed to a shell instead of being executed directly. On*nix, the shell issh
. On Windows it iscmd
(needs to be tested). This is to allow executing multiple commands in a script, for instance using&&
. - Scripts executed by
strat
are now passed a working directory and can optionally return a success status if the script doesn't exist. - Project files
stratumn.json
can now specify aninit
script that will be executed afterstrat generate
generates the project files. - Changed the way the CLI updates itself in order to make it work on Windows (hopefully). The old binary will be renamed instead of attempting to override it. If an old binary is found during launch, it will attempt to remove it (it will fail if it doesn't have the right permissions, but it will not stop execution of the command).
- CLI and generators must now be updated separately using
strat update
andstrat update -generators
respectively. This is because the two operations might require different user permissions depending on the environment. - Added a
-force
flag tostrat
to force an update. This is mostly designed to test the update mechanism easily. - Added a function called
secret
to generator templates to create random strings. - Fixed an issue when updating generators.
- Fixed an issue when downloading generators on Windows.
- Fixed some Windows compatibility issues.
- Fixed a problem when updating generators that would result in the generators not being saved to the correct directory.
- Command
strat update
will now update the CLI. It will update to the latest published release by default, or the latest prerelease if-prerelease
is set. - Command
strat update
will now update all known generators instead of just the default repository. - Generator repositories now refer to Github references (usually a branch) instead of release tags. This approach is more flexible and makes maintaining generators easier.
- Commands
strat up
andstrat test
will now properly output errors. - Commands
strat up
andstrat test
will now properly handle user input. - Commands
strat up
andstrat test
will now shutdown cleanly and wait for the script to terminate. - Added command
strat run script
that executes a project script.