Skip to content

Releases: boundless-xyz/boundless

v0.13.2

12 Aug 19:19
5bc1b0e
Compare
Choose a tag to compare

This release comes with primarily bug fixes and logging adjustments. There are no breaking changes and no urgency to upgrade, unless affected by filter not found issues with your RPC provider.

What's Changed

Broker related changes

  • BM-1465: Change anyhow error logs to be one-line (#1003)
  • BM-1452: Change error logs for retryable errors to warn (#994)
  • BM-1283: Re-create filter on RPC provider drop (#996)
  • BM-1450: Fix localnet env and misleading log (#992)
  • BM-1435: Memoize the order id generation (#980)
  • BM-1394: In case of u64 overflow in cycles calculation, use max value (#940)
  • BM-1446: Increase bonsai alarm threshold, fix stake reward log (#988)

Internal infrastructure changes

  • BM-1468: Add Kailua offchain alarms (#1007)
  • BM-1467: Make distributor continue on transient errors (#1006)
  • BM-1451: Add signal requestor to alerts (#993)
  • BM-1448: Fix alarms call, Fix CI for infra, Remove contract deployment README (#990)
  • BM-1460: Add Kailua OGs to distributor, Update account roles (#1001)
  • BM-1449: Move accumulated stake from provers back to distributor, Adjust distributor thresholds for base mainnet (#991)
  • BM-1437: Set base mainnet top up amount correctly (#982)
  • BM-1458: test-utils: Fix contracts deployment (#998)
  • BM-1447: Add zeth requestor to bonsai prover priority (#989)
  • BM-1418: Add Bento Cluster (#964)
  • BM-1429: Add rollback script (#962)

Full Changelog: v0.13.1...v0.13.2

v0.13.1

01 Aug 16:59
bab5ea7
Compare
Choose a tag to compare

This release upgrades the broker to account for a recent contract upgrade that reduces the amount of stake that is burned during secondary fulfillments.

Secondary Fulfillment Stake Rewards Increase: 25% -> 80%

We have increased the amount of stake that is awarded to the winning secondary prover, in the situation where a request is lock and not fulfilled by the locker. Previously 75% of the stake would be burned, and only 25% would be awarded to the winning secondary prover. Now only 20% will be burned, and 80% will be awarded to the secondary prover. This release updates the accounting in the broker to use these new percentages. As before, provers can configure mcycle_price_stake_token to determine the minimum price to accept an order that will be paid in staking tokens.

Recommended Priority List

These are requestors that are submitting proofs that either have high cycle counts (e.g. Signal), or carry higher rewards (e.g. known customers). Provers that would like to prioritize these proofs with large cycle counts should consider adding these addresses to their priority_requestor_addresses:

  1. 0x734dF7809c4ef94Da037449C287166D114503198 (Signal Consensus Proofs on Base Mainnet)
  2. 0xf6a5a5a81ac29c4baeb05184565344186f67c048 (Signal Execution Proofs on Base Mainnet & Base Sepolia)
  3. 0x3Ee7d9175eC8BB9e16e8FD3AbDEF5a354b247528 (Kailua Proofs on Base Mainnet)
  4. 0x2693946791da99da78ac441aba6d5ce2bccd96d3 (Anonymous Customer 1)
  5. 0x66f68692c03eB9C0656D676f2F4bD13eba40D1B7 (Anonymous Customer 2)
  6. 0xc4Ce4f04b9907a9401a0Ed7ef073dffEbAB52aAB (Anonymous Customer 3)
  7. 0xc73c222d7d39778bf9212f23a8f4356ff7c1e77f (Anonymous Customer 4)

Note: If you want to test Signal proofs on Base Sepolia, you can prioritize 0x47c76e56ad9316a5c1ab17cba87a1cc134552183

Zero Mcycle Price

This release also allows provers to set min_mcycle_price to zero, which will lead to the prover locking orders at any price.

What's Changed

v0.13.0

22 Jul 15:18
af1f142
Compare
Choose a tag to compare

This release upgrades the proving cluster to enable provers to prove The Signal more easily, which consists of ZK proofs of finalized Ethereum blocks. This release also comes with various bug fixes and features for provers.

Proving The Signal

As part of this release, the Bento proving cluster has been upgraded with features and scaling improvements to assist with proving requests from The Signal.

These proof requests are in the region of ~50B cycles, making them orders of magnitude larger than most proofs on Boundless. These proofs have an increased stake requirement for locking, but also carry increased rewards; they currently configured with a maximum price reward of 0.1 ETH, and the large cycle count would enable successful provers to quickly climb the Prover Leaderboard.

Given the size of these proofs, we only recommend provers with sophisticated infrastructure to prove these orders. We strongly recommend thorough testing before attempting to prove these orders on Base Mainnet. These orders are extremely large, and will push the limits of your infrastructure. Locking these and failing to fulfill them on Base Mainnet will cause you to get slashed and lose real funds.

Configuration

By default, the settings in broker.template.toml will prevent provers from picking up these requests. If you would like to attempt to prove signal the requirements are:

1/ Ensure that you have at least 3 MHz of proving throughput. You can use the boundless proving benchmark command to test this, by executing: boundless proving benchmark --request-ids=0x147c76e56ad9316a5c1ab17cba87a1cc1345521830005c6be. See https://docs.beboundless.xyz/provers/broker#benchmarking-bento

2/ Set peak_prove_khz >= 3000. Values lower than this will not be able to preflight and compute the proof before the request expires, so your proving node will skip the request. If you have a single GPU, you will not be able to fulfill these proofs.

3/ Set max_stake >= 20 USDC. These orders carry larger stake requirements. The stake requirements may be adjusted over time, but for now we recommend setting >= 20 USDC as your maximum.

4/ [Recommended] Set priority_requestor_addresses to include 0x734dF7809c4ef94Da037449C287166D114503198 on Base Mainnet and 0x47c76e56ad9316a5c1ab17cba87a1cc134552183 on Base Sepolia. This allows you to prioritize proving Signal requests when there is contention for resources, as well as skipping the execution cycle limit, and the max input size for downloading.

5/ If not 4, set max_mcycle_limit >= 50000 and max_file_size > 700_000_000. This allows proofs of up to 50B cycles and ~700mb input files to be considered.

Signal Requests

Signal requests are submitted every 45 mins - 1 hour. You can track these requests here:

References

Internally the Boundless team has been able to prove Signal requests on an AWS cluster of:

  • 1 Exec Agent: r7iz.2xlarge
  • 1 SNARK Agent: c7a.4xlarge
  • 8 GPU Agents: g6e.xlarge
  • 1 Aux Agent: AWS Fargate with 1 vCPU (1024), 2 GB memory (2048)
  • 1 Bento API Agent: AWS Fargate with 1 vCPU (1024), 2 GB memory (2048)
  • 1 Broker Agent: t3.xlarge

With this setup, the preflight took 2 hours, and the proof 3 1/2 hours.

New Feature: priority_requestor_addresses and deny_requestor_addresses

  • priority_requestor_addresses: Adding an address to this list allows requests coming from this address to bypass the execution cycle limit, and the max input size for downloading.

  • deny_requestor_addresses: Adding an address to this list will prevent your prover from considering requests from this address, including executing the preflight.

Signal Requests: Future Outlook

For now, The Signal orders are configured with long timeout periods to give provers better chances of fulfilling the orders before expiry. However, as time goes by we will drop the time in which a prover has to complete these proofs, so that the proofs can better fit latency sensitive use cases.

What's Changed

  • BM-1281: bump prover quick start to use 0.12 by @sashaaldrick in #875
  • Fix environment variable inconsistency in RISC0 build configuration by @reallesee in #812
  • BM-1289: Add deployed signal contract addresses to priority_requestor_addresses for Bonsai by @nategraf in #880
  • BM-1297: update Bonsai API to staging by @capossele in #881
  • BM-1299: Update Bonsai API for prod by @capossele in #884
  • BM-1300: Add Signal contract for Mainnet consensus proofs to deny list of Bento Broker by @nategraf in #885
  • BM-1285: Increase default redis TTL in bento by @austinabell in #877
  • BM-1275: Updates to smart contract management scripts by @nategraf in #869
  • BM-1301: Adjust min price and peak kHz parameters for Bonsai Broker by @nategraf in #886
  • BM-1304: Fix log line on capped execution cycles by @nategraf in #887
  • BM-1307: Support fetching of ERC-1271 authorized requests in boundless cli by @nategraf in #890
  • BM-1310: Log session id for preflights, add function for getting proof prover by @willpote in #894
  • BM-1332: Update contract addresses for Signal on Base Mainnet by @nategraf in #899
  • BM-1333: Base Mainnet 3x traffic [do not merge] by @willpote in #900
  • BM-1334: Bump order stream maxconns to 1000 by @willpote in #901
  • BM-1336: Prioritize pricing and committing priority addresses by @austinabell in #902
  • BM-675: Update license headers to BSL and add copy of Apache license to repo root by @nategraf in #432
  • BM-1338: Improve logging for the pricing queue, skip fulfilled already FulfillAfterLockExpire orders by @willpote in #903
  • BM-1329: add more info to broker.toml descriptions by @sashaaldrick in #898
  • BM-1340: update banner, tooltip to mainnet beta, and link to broker.toml template by @sashaaldrick in #905
  • BM-1341: 3x Base Mainnet by @willpote in #906
  • BM-1339: Cancel preflights when locked/fulfilled by @austinabell in #904
  • BM-1344: Base Mainnet 3x traffic: 2 by @willpote in #911
  • BM-1346: minimize log spamming for all pending order IDs by @austinabell in #912
  • BM-1345: re-order picker checks to do expiry/cheap first by @austinabell in #913
  • BM-1349: lower order stream server max request size by @austinabell in #916
  • BM-1352: Bump risc0 to v2.3.0 by @capossele in #919
  • BM-1348: convert the execution limit to mi-cycles thought bonsai by @austinabell in #915
  • BM-1286: remove nvidia runtime requirement from CPU agent types by @austinabell in #878
  • BM-1356: Wipe bonsai DB, increase threshold for topping up stake by @willpote in #921
  • BM-1357: Bump stake default by @willpote in #923
  • BM-1276: Bump development version to 0.13 by @nategraf in #870
  • BM-1350: implement cache for preflights with same image/input by @austinabell in #917
  • BM-1364: 2x Base Traffic by @willpote in #930
  • BM-1363: Fix Ethereum Sepolia monitor success rate calculation by @austinabell in #929
  • BM-1376: bump bento image to 2.3.1 by @austinabell in #933
  • BM-1377: 2X Base Mainnet Traffic by @willpote in #934

New Contributors

Full Changelog: v0.12.0...v0.13.0

v0.12.0

05 Jul 00:32
a7b3fc4
Compare
Choose a tag to compare

What's Changed

  • BM-1259: Bump development version to 0.12 by @nategraf in #854
  • BM-1260: increase default server max WS connections to 250 by @austinabell in #855
  • BM-1264: fix distributor set verifier address on staging by @austinabell in #858
  • BM-1268: Skip max size limit by @capossele in #861
  • BM-1262: Quick Start Improvements for both dev + prover by @sashaaldrick in #856
  • BM-1269: remove skip order on priority above mcycle limit by @austinabell in #862
  • BM-1270: Fix command to install bento_cli; pin to release branch rather than main by @nategraf in #863
  • BM-1271: gracefully handle external fulfillment case in proving by @austinabell in #864
  • BM-1273: update youtube link to fixed audio + subtitles video by @sashaaldrick in #868
  • BM-1272: implement deny list addresses config by @austinabell in #866

Full Changelog: v0.11.0...v0.12.0

v0.11.0

30 Jun 19:38
9296ecb
Compare
Choose a tag to compare

This release comes with various fixes and improvements for provers and requestors. It also comes with other changes to distribute load and minimize duplicate work between provers.

Prover UX changes

In this version, it is only necessary to set RPC_URL and PRIVATE_KEY environment variables to be able to run a node. If other variables are set, they will still be used, but it is recommended to unset these so that it always points to the most up to date deployment addresses and order stream.

This version makes it simpler to run brokers on multiple networks using the same bento cluster. See https://docs.beboundless.xyz/provers/broker#running-multiple-brokers for more information on how to do this.

Order prioritization changes

In this version, the default choice for which orders that fit the constraints of your broker.toml file are prioritized has changed to picking at random. The intention for this is to minimize conflicts and redundant work from provers locking and proving orders in the same order. There are now modes to be able to configure which prioritization strategy you'd like to use for preflight and committing orders respectively.

order_pricing_priority

This config value changes the mode for which order of the set of observed orders is picked to be priced next. The options for this are:

  • "random": Process orders in random order to distribute competition among provers (default)
  • "observation_time": Process orders in the order they were observed (FIFO)
  • "shortest_expiry": Process orders by shortest expiry first (earliest deadline)

order_commitment_priority

This config value determines the priority of valid orders will be committed to (either locked or secondary proofs on expired orders). These options are:

  • "random": Process orders in random order to distribute competition among provers (default)
  • "shortest_expiry": Process orders by shortest expiry first (lock expiry for lock-and-fulfill orders, request expiry for others)

The logic for each of these is defined in https://github.com/boundless-xyz/boundless/blob/release-0.11/crates/broker/src/prioritization.rs if you would like more customization of prioritization than these modes provide.

What's Changed

Full Changelog: 5c9be07...v0.11.0

v0.10.2

25 Jun 23:03
6304cb5
Compare
Choose a tag to compare

What's Changed

  • Fix default lock stake in OfferLayer; set to 5 USDC #843

Full Changelog: v0.10.1...v0.10.2

v0.10.1

18 Jun 17:41
Compare
Choose a tag to compare

This release contains bug fixes and stability improvements for provers. The contract addresses remain unchanged.

What's Changed

Most notable change is 74fc776, which fixes an issue with the parsing of the mcycle_price_stake_token config value, that may have caused orders that would result in payment in the stake token to not have been accepted.

Full Changelog: v0.10.0...v0.10.1

v0.10.0

13 Jun 09:28
9acbb6d
Compare
Choose a tag to compare

This release marks the start of next phase of Boundless's development: Mainnet Beta, and as such contains major breaking changes. Please read the following notes carefully before upgrading:

Base Mainnet Beta

With this release, Boundless is available on Base Mainnet, marking the first time real funds will be used in Boundless.

Provers should ensure they configure their Proving Nodes to reduce the risk of accepting unprofitable requests or being slashed due to overcommitting proving resources. This typically involves configuring mcycle_price, mcycle_price_stake_token, peak_prove_khz, max_concurrent_proofs and other configuration values according to your pricing preferences and cluster size. Refer to broker-template.toml for an explanation of all configuration values.

Boundless is also now available on Base Sepolia.

Refer to the Deployments for the new addresses.

USDC as Staking Token

During this phase USDC will be used as the staking token across all networks. HP tokens are now deprecated. Provers will need to deposit USDC to the Boundless Market contract to use as stake when locking orders. This can be done using the Boundless CLI, see Deposit Stake.

Note that USDC has a different address on each network. Refer to the Deployments page for the addresses. USDC can be obtained on testnets from the Circle Faucet.

New Contract Addresses

There are new deployments of the Boundless Market and the Set Verifier contracts. Refer to the Deployments page in our documentation for the new contract addresses.

You may want to withdraw any sepETH from the previous Ethereum Sepolia deployment using the Boundless CLI (ensure you have installed the latest version here):

# Get balance of previous deployment
boundless --private-key <PRIVATE_KEY> --rpc-url <ETH_SEP_RPC_URL> --boundless-market-address 0x006b92674E2A8d397884e293969f8eCD9f615f4C --set-verifier-address 0x925d8331ddc0a1F0d96E68CF073DFE1d92b69187 account balance

# Withdraw from previous deployment
boundless --private-key <PRIVATE_KEY> --rpc-url <ETH_SEP_RPC_URL> --boundless-market-address 0x006b92674E2A8d397884e293969f8eCD9f615f4C --set-verifier-address 0x925d8331ddc0a1F0d96E68CF073DFE1d92b69187 account withdraw <AMOUNT>

# Deposit to new market
boundless --private-key <PRIVATE_KEY> --rpc-url <ETH_SEP_RPC_URL> account deposit <AMOUNT>

Boundless CLI Rename

The Boundless CLI is now installed with alias boundless (previously boundless-cli). You can install the latest version by running cargo install --locked boundless-cli.

Running Proving Nodes Multi-chain

For provers wanting to participate across multiple networks, our current recommendation is to run a separate Proving Node (broker + cluster) per chain. Currently we do not support sharing a proving cluster across multiple chains.

To run a prover on any of these networks, you can use the following environment variables to connect to each network respectively:

source .env.eth-sepolia
source .env.base-sepolia
source .env.base

Note: be sure to use an RPC_URL that matches the given network and a wallet that has staked USDC

Git submodules

When upgrading from a previous version, ensure that submodules have been updated with:

git submodule update --recursive

Database Migration

This release contains major breaking changes to the database schema, as such we recommend clearing your DB volume by following Safe Upgrade Steps from our documentation.

What's Changed

Read more

v0.9.0

28 May 18:09
87c60bc
Compare
Choose a tag to compare

What's Changed

  • BM-953: Bump development version to 0.9.0 by @nategraf in #666
  • BM-652: Benchmark by @capossele in #635
  • BM-955: Fix buildspec for bento broker by @willpote in #667
  • BM-940: Updating Boundless docs to reflect Steel 2.0 release by @sashaaldrick in #656
  • BM-956: add rust check to docs CI changes and resolve issues by @austinabell in #669
  • BM-957: 0.8 bump + obvious link to deposit HP to market by @sashaaldrick in #670
  • BM-963: Remove nvcc mentions from bento pulumi. Wipe bonsai broker db by @willpote in #674
  • BM-964: Deploy infra to base by @willpote in #675
  • BM-798: remove NVCC flag from docs/compose by @austinabell in #540
  • BM-965: Missing chain id, pipeline output fix by @willpote in #676
  • BM-966: Create cert for base, support json logging by @willpote in #677
  • BM-968: Add nonce layer by @capossele in #679
  • BM-967: Reduce top level alarms threshold. Enable cert for base by @willpote in #678
  • BM-958: add just installer to prover setup script by @sashaaldrick in #671
  • BM-970: Fix Broker fillers by @capossele in #681
  • BM-976: Debug DNS, add both listeners by @willpote in #682
  • BM-977: Use EFS for slasher by @willpote in #683
  • BM-980: Fix order stream ws stake requirement. Adjust alerts and logs by @willpote in #685
  • BM-981: Fix order stream infra param and add github action by @willpote in #686
  • docs: replace outdated sol-macro example link by @reject-i in #627
  • add PO2 of 22 to performance-optimization.mdx by @lucianstroie in #618
  • BM-982: Revert change to staging stack for order stream by @willpote in #688
  • BM-769: Improve request building with an alloy-inspired RequestBuilder system by @nategraf in #515
  • BM-983: Set appropriate lock stake on Base by @willpote in #689
  • BM-979: Refactor nonce management by @capossele in #684
  • BM-987: fix EIP1559 gas constraint and add bounds check to dyn gas by @austinabell in #691
  • BM-988: Increase thresholds for expired/slashed by @willpote in #693
  • BM-959: Refactor broker to avoid persisting temporary order data by @austinabell in #668
  • BM-990: Event poll error to unexpected, balance alerts for order gens / slasher, scale down sep OG pricing by @willpote in #694
  • BM-991: Adjust top levels for staging, prover errors to known, lower order generator timeouts, tx timeouts in og by @willpote in #695
  • BM-993: Scale down base pricing by @willpote in #697
  • BM-992: cap the min batch size to max concurrent proofs by @austinabell in #696
  • BM-998: Add additional retries to Bonsai, adjust monitor alarms by @willpote in #700
  • Lower base OG prices by @willpote in #708
  • BM-1003: added the with_input_url method to RequestParams in the request builder API by @sashaaldrick in #706

New Contributors

Full Changelog: v0.8.0...v0.9.0

v0.8.0

20 May 18:42
2493e5e
Compare
Choose a tag to compare

What's Changed

  • PER-13: BM-795: Remove bento by @rlukata in #539
  • BM-853: lower noisy log levels and update compose RUST_LOG handling by @austinabell in #592
  • BM-637: Add error codes and alerts to the prover by @willpote in #590
  • BM-724: Improve UX for running bento standalone by @austinabell in #477
  • BM-861: Log error codes when printing errors using Debug trait. Add missing market monitor alarms by @willpote in #598
  • BM-862: Setup script for the remote docker builder. Use instance storage rather than ebs. Dev onboarding README updates by @willpote in #599
  • BM-851: Add .ignore file for ripgrep and silver-searcher (ag) by @nategraf in #589
  • BM-844: Refactor usage of the word "ELF" and rename the "upload_image" function by @nategraf in #584
  • BM-865: Alarm for low balances by @willpote in #600
  • BM-805: Report git commit in boundless-cli --version by @capossele in #597
  • BM-866: Websocket errors as known errors. Request is expired at submission time as known error. Noisy logs tweaks. Assorted alarm tweaks. by @willpote in #601
  • BM-864: avoid uploading image if already exists by @austinabell in #593
  • BM-868: handle BlockTimestampNotFound by @capossele in #603
  • BM-870: Remove order picker trace logging from deployed prover by @nategraf in #604
  • BM-874: Remove lock failed alarms, lower hyper_util log level by @willpote in #610
  • BM-880: Handle double event delivery in RequestSubmitted and RequestLocked by @willpote in #612
  • BM-882: Catch locked already error from sdk, fix error codes in submitter by @willpote in #613
  • BM-863: Remove broker env file by @austinabell in #541
  • BM-885: Simplify usage of TextCtx from boundless-market-test-utils by @nategraf in #614
  • BM-886: Move anyhow errors to debug displaying by @willpote in #615
  • BM-897: remove skip_preflight_ids config by @austinabell in #620
  • BM-891: multiply anvil gas estimates in testing contexts by @austinabell in #619
  • BM-899: Chain monitor RPC errors as known. Order monitor txn confirmation errors as known. by @willpote in #622
  • BM-903: Adjust error threshold for supervisor restarts, map contract reverts for lock request by @willpote in #625
  • BM-890: Split boundless-market storage.rs into modules by @nategraf in #617
  • BM-901: short circuit if prover has order image already by @austinabell in #623
  • BM-911: Add RUSTFLAGS=-Dwarnings in justfile to mirror CI by @nategraf in #631
  • BM-822: Update usage of alloy to 0.15 by @nategraf in #621
  • BM-912: Update risc0-ethereum submodule to 2.1 by @nategraf in #632
  • BM-848: Add top level metrics by @capossele in #587
  • BM-889: Improve UX for benchmarking bento with orders by @austinabell in #551
  • BM-895: New order generator by @capossele in #628
  • BM-917: Add GH token to order gen, indexer, slasher by @willpote in #637
  • BM-915: Adjust slasher + prover alarms. Install cargo for indexer pipeline by @willpote in #634
  • BM-918: Fix lambda payload by @capossele in #638
  • BM-913: Switch to pre-built bento images by @austinabell in #633
  • BM-921: Improve indexer by @capossele in #640
  • BM-919: Split RPC keys, add alarm to monitor lambda, move insufficient requestor balance to known error by @willpote in #639
  • BM-922: Add the Sepolia order stream URL to the deployments page by @nategraf in #641
  • BM-924: Cap block range size on the indexer by @capossele in #642
  • BM-925: Debug log nonces by @willpote in #643
  • BM-927: Switch rpc for prover by @willpote in #645
  • BM-926: Add fatal log on process exit, and alarms. Fix order generator topup by @willpote in #644
  • BM-756: adding "Sensitive Inputs" documentation by @sashaaldrick in #572
  • BM-929: Prover RPC to current live prod endpoint by @willpote in #647
  • BM-931: Redeploy ECS tasks when secrets updated by @willpote in #649
  • BM-933: Fix missing locked event on the Indexer by @capossele in #650
  • BM-930: Indexer namespace cleanup, various fixes by @willpote in #648
  • BM-934: Log error on fatal in order stream by @willpote in #651
  • BM-935: Add logs to slasher. Log auto deposit in order gens. Fix indexer deployment by @willpote in #652
  • BM-937: Refactor starting block logic of Indexer by @capossele in #653
  • BM-939: Adjust thresholds for indexer/monitor and refactor, increase tx timeout in order gens by @willpote in #655
  • BM-916: Deploy bento broker on aws by @willpote in #636
  • BM-942: Indexer alerts on event time rather than bidding start. Additional logging. by @willpote in #657
  • BM-948: Propagate logs for monitor failures. Fix monitor queries. Fix prover deploy by @willpote in #659
  • BM-949: Fix log group by @willpote in #662
  • BM-950: Tx timeouts in submitter as known errors by @willpote in #663
  • BM-952: Migrate RPCs to single Alchemy account by @willpote in #665
  • BM-951: Set up pagerduty integration. Configure SEV1/2 alarms for all services by @willpote in #664
  • BM-947: Bump workspace version to 0.8.0 by @nategraf in #658

Full Changelog: v0.7.1...v0.8.0