Skip to content

Releases: vegaprotocol/vega

v0.28.0: *2020-11-25*

26 Nov 15:44
8f0a479
Compare
Choose a tag to compare
Vega release logs contain a 🔥 emoji to denote breaking API changes. 🔥🔥 is a new combination denoting something that may significantly change your experience - from this release forward, transactions from keys that have no collateral on the network will *always* be rejected. As there are no transactions that don't either require collateral themselves, or an action to have been taken that already required collateral, we are now rejecting these as soon as possible.

We've also added support for synchronously submitting transactions. This can make error states easier to catch. Along with this you can now subscribe to error events in the event bus.

Also: Note that you'll see a lot of changes related to **Pegged Orders** and **Liquidity Commitments**. These are still in testing, so these two types cannot currently be used in _Testnet_.

New:
- [#2634](https://github.com/vegaprotocol/vega/pull/2634) Avoid caching transactions before they are rate/balance limited
- [#2626](https://github.com/vegaprotocol/vega/pull/2626) Add a transaction submit type to GraphQL
- [#2624](https://github.com/vegaprotocol/vega/pull/2624) Add mutexes to assets maps
- [#2593](https://github.com/vegaprotocol/vega/pull/2503) 🔥🔥 Reject transactions
- [#2453](https://github.com/vegaprotocol/vega/pull/2453) 🔥 Remove `baseName` field from markets
- [#2536](https://github.com/vegaprotocol/vega/pull/2536) Add Liquidity Measurement engine
- [#2539](https://github.com/vegaprotocol/vega/pull/2539) Add Liquidity Provisioning Commitment handling to markets
- [#2540](https://github.com/vegaprotocol/vega/pull/2540) Add support for amending pegged orders
- [#2549](https://github.com/vegaprotocol/vega/pull/2549) Add calculation for liquidity order sizes
- [#2553](https://github.com/vegaprotocol/vega/pull/2553) Allow pegged orders to have a price of 0
- [#2555](https://github.com/vegaprotocol/vega/pull/2555) Update Event stream votes to contain proposal ID
- [#2556](https://github.com/vegaprotocol/vega/pull/2556) Update Event stream to contain error events
- [#2560](https://github.com/vegaprotocol/vega/pull/2560) Add Pegged Order details to GraphQL
- [#2607](https://github.com/vegaprotocol/vega/pull/2807) Add support for parking orders during auction

Improvements:
- [#2634](https://github.com/vegaprotocol/vega/pull/2634) Avoid caching transactions before they are rate/balance limited
- [#2626](https://github.com/vegaprotocol/vega/pull/2626) Add a transaction submit type to GraphQL
- [#2624](https://github.com/vegaprotocol/vega/pull/2624) Add mutexes to assets maps
- [#2623](https://github.com/vegaprotocol/vega/pull/2623) Fix concurrent map access in assets
- [#2608](https://github.com/vegaprotocol/vega/pull/2608) Add sync/async equivalents for `submitTX`
- [#2618](https://github.com/vegaprotocol/vega/pull/2618) Disable storing API-related data on validator nodes
- [#2615](https://github.com/vegaprotocol/vega/pull/2618) Expand static checks
- [#2613](https://github.com/vegaprotocol/vega/pull/2613) Remove unused internal `cancelOrderById` function
- [#2530](https://github.com/vegaprotocol/vega/pull/2530) Governance asset for the network is now set in the genesis block
- [#2533](https://github.com/vegaprotocol/vega/pull/2533) More efficiently close channels in subscriptions
- [#2554](https://github.com/vegaprotocol/vega/pull/2554) Fix mid-price to 0 when best bid and average are unavailable and pegged order price is 0
- [#2565](https://github.com/vegaprotocol/vega/pull/2565) Cancelled pegged orders now have the correct status
- [#2568](https://github.com/vegaprotocol/vega/pull/2568) Prevent pegged orders from being repriced
- [#2570](https://github.com/vegaprotocol/vega/pull/2570) Expose probability of trading
- [#2576](https://github.com/vegaprotocol/vega/pull/2576) Use static best bid/ask price for pegged order repricing
- [#2581](https://github.com/vegaprotocol/vega/pull/2581) Fix order of messages when cancelling a pegged order
- [#2586](https://github.com/vegaprotocol/vega/pull/2586) Fix blank `txHash` in deposit API types
- [#2591](https://github.com/vegaprotocol/vega/pull/2591) Pegged orders are now cancelled when all orders are cancelled
- [#2609](https://github.com/vegaprotocol/vega/pull/2609) Improve expiry of pegged orders
- [#2610](https://github.com/vegaprotocol/vega/pull/2609) Improve removal of liquidity commitment orders when manual orders satisfy liquidity provisioning commitments

Release v0.27.0

03 Nov 15:22
883fcda
Compare
Choose a tag to compare
*2020-10-30*

This release contains a fix (read: large reduction in memory use) around auction modes with particularly large order books that caused slow block times when handling orders placed during an opening auction. It also contains a lot of internal work related to the liquidity provision mechanics.

New:
- [#2498](https://github.com/vegaprotocol/vega/pull/2498) Automatically create a bond account for liquidity providers
- [#2596](https://github.com/vegaprotocol/vega/pull/2496) Create liquidity measurement API
- [#2490](https://github.com/vegaprotocol/vega/pull/2490) GraphQL: Add Withdrawal and Deposit events to event bus
- [#2476](https://github.com/vegaprotocol/vega/pull/2476) 🔥`MarketData` now uses RFC339 formatted times, not seconds
- [#2473](https://github.com/vegaprotocol/vega/pull/2473) Add network parameters related to target stake calculation
- [#2506](https://github.com/vegaprotocol/vega/pull/2506) Network parameters can now contain JSON configuration

Improvements:
- [#2521](https://github.com/vegaprotocol/vega/pull/2521) Optimise memory usage when building cumulative price levels
- [#2520](https://github.com/vegaprotocol/vega/pull/2520) Fix indicative price calculation
- [#2517](https://github.com/vegaprotocol/vega/pull/2517) Improve command line for rate limiting in faucet & wallet
- [#2510](https://github.com/vegaprotocol/vega/pull/2510) Remove reference to external risk model
- [#2509](https://github.com/vegaprotocol/vega/pull/2509) Fix panic when loading an invalid genesis configuration
- [#2502](https://github.com/vegaprotocol/vega/pull/2502) Fix pointer when using amend in place
- [#2487](https://github.com/vegaprotocol/vega/pull/2487) Remove context from struct that didn't need it
- [#2485](https://github.com/vegaprotocol/vega/pull/2485) Refactor event bus event transmission
- [#2481](https://github.com/vegaprotocol/vega/pull/2481) Add `LiquidityProvisionSubmission` transaction
- [#2480](https://github.com/vegaprotocol/vega/pull/2480) Remove unused code
- [#2479](https://github.com/vegaprotocol/vega/pull/2479) Improve validation of external resources
- [#1936](https://github.com/vegaprotocol/vega/pull/1936) Upgrade to Tendermint 0.33.8

Release v0.26.1

23 Oct 15:29
5255261
Compare
Choose a tag to compare

2020-10-23

Fixes a number of issues discovered during the testing of 0.26.0.

  • #2463 Further reliability fixes for the event bus
  • #2469 Fix incorrect error returned when a trader places an order in an asset that they have no account for (was InvalidPartyID, now InsufficientAssetBalance)
  • #2458 REST: Fix a crasher when a market is proposed without specifying auction times

Release v0.26.0

21 Oct 08:29
2c787be
Compare
Choose a tag to compare

2020-10-20

The events API added in 0.25.0 had some reliability issues when a large volume
of events were being emitted. This release addresses that in two ways:

  • The gRPC event stream now takes a parameter that sets a batch size. A client
    will receive the events when the batch limit is hit.
  • GraphQL is now limited to one event type per subscription, and we also removed
    the ALL event type as an option. This was due to the GraphQL gateway layer
    taking too long to process the full event stream, leading to sporadic
    disconnections.

These two fixes combined make both the gRPC and GraphQL streams much more
reliable under reasonably heavy load. Let us know if you see any other issues.
The release also adds some performance improvements to the way the core
processes Tendermint events, some documentation improvements, and some
additional debug tools.

New:

  • #2319 Add fee estimate API endpoints to remaining APIs
  • #2321 🔥 Change estimateFee to estimateOrder in GraphQL
  • #2327 🔥 GraphQL: Event bus API - remove ALL type & limit subscription to one event type
  • #2343 🔥 Add batching support to stream subscribers

Improvements:

  • #2229 Add Price Monitoring module
  • #2246 Add new market depth subscription methods
  • #2298 Improve error messages for Good For Auction/Good For Normal rejections
  • #2301 Add validation for GFA/GFN orders
  • #2307 Implement app state hash
  • #2312 Add validation for market proposal risk parameters
  • #2313 Add transaction replay protection
  • #2314 GraphQL: Improve response when market does not exist
  • #2315 GraphQL: Improve response when party does not exist
  • #2316 Documentation: Improve documentation for fee estimate endpoint
  • #2318 Documentation: Improve documentation for governance data endpoints
  • #2324 Cache transactions already seen by checkTX
  • #2328 Add test covering context cancellation mid data-sending
  • #2331 Internal refactor of network parameter storage
  • #2334 Rewrite vegastream to use the event bus
  • #2333 Fix context for events, add block hash and event id
  • #2335 Add ABCI event recorder
  • #2341 Ensure event slices cannot be empty
  • #2345 Handle filled orders in the market depth service before new orders are added
  • #2346 CI: Add missing environment variables
  • #2348 Use cached transactions in checkTX
  • #2349 Optimise accounts map accesses
  • #2351 Fix sequence ID related to market OnChainTimeUpdate
  • #2355 Update coding style doc with info on log levels
  • #2358 Add documentation and comments for events.proto
  • #2359 Fix out of bounds index crash
  • #2364 Add mutex to protect map access
  • #2366 Auctions: Reject IOC/FOK orders
  • #2368 Tidy up genesis market instantiation
  • #2369 Optimise event bus to reduce CPU usage
  • #2370 Event stream: Send batches instead of single events
  • #2376 GraphQL: Remove verbose logging
  • #2377 Update tendermint stats less frequently for Vega stats API endpoint
  • #2381 Event stream: Reduce CPU load, depending on batch size
  • #2382 GraphQL: Make event stream batch size mandatory
  • #2401 Event stream: Fix CPU spinning after stream close
  • #2404 Auctions: Add fix for crash during auction exit
  • #2419 Make the price level wash trade check configurable
  • #2432 Use EmitDefaults on jsonpb.Marshaler
  • #2431 GraphQL: Add price monitoring
  • #2433 Validate amend orders with GFN and GFA
  • #2436 Return a permission denied error for a non-allowlisted public key
  • #2437 Undo accidental code removal
  • #2438 GraphQL: Fix a resolver error when markets are in auction mode
  • #2441 GraphQL: Remove unnecessary validations
  • #2442 GraphQL: Update library; improve error responses
  • #2447 REST: Fix HTTP verb for network parameters query
  • #2443 Auctions: Add check for opening auction duration during market creation

Release v0.25.1

15 Oct 07:35
54bb616
Compare
Choose a tag to compare
*2020–10-14*

This release backports two fixes from the forthcoming 0.26.0 release.

Improvements:
- #2354 Update OrderEvent to copy by value
- #2379 Add missing /governance/prepare/vote REST endpoint

v0.26.0-pre1

09 Oct 11:41
Compare
Choose a tag to compare
Update changelog

Release v0.25.0

24 Sep 18:26
e2138c4
Compare
Choose a tag to compare

2020-09-24

This release adds the event bus API, allowing for much greater introspection in to the operation of a node. We've also re-enabled the order amends API, as well as a long list of fixes.

New:

  • #2281 Enable opening auctions
  • #2205 Add GraphQL event stream API
  • #2219 Add deposits API
  • #2222 Initial asset list is now loaded from genesis configuration, not external configuration
  • #2238 Re-enable order amend API
  • #2249 Re-enable TX rate limit by party ID
  • #2240 Add time to position responses

Improvements:

  • #2211 🔥 GraphQL: Field case change proposalId -> proposalID
  • #2218 🔥 GraphQL: Withdrawals now return a Party, not a party ID
  • #2202 Fix time validation for proposals when all times are the same
  • #2206 Reduce log noise from statistics endpoint
  • #2207 Automatically reload node configuration
  • #2209 GraphQL: fix proposal rejection enum
  • #2210 Refactor order service to not require blockchain client
  • #2213 Improve error clarity for invalid proposals
  • #2216 Ensure all GRPC endpoints use real time, not Vega time
  • #2231 Refactor processor to no longer require collateral
  • #2232 Clean up logs that dumped raw bytes
  • #2233 Remove generate method from execution engine
  • #2234 Remove authEnabled setting
  • #2236 Simply order amendment logging
  • #2237 Clarify fees attribution in transfers
  • #2239 Ensure margin is released immediately, not on next mark to market
  • #2241 Load log level in processor app
  • #2245 Fix a concurrent map access in positions API
  • #2247 Improve logging on a TX with an invalid signature
  • #2252 Fix incorrect order count in Market Depth API
  • #2254 Fix concurrent map access in Market Depth API
  • #2269 GraphQL: Fix party filtering for event bus API
  • #2266 Refactor transaction codec
  • #2275 Prevent opening auctions from closing early
  • #2262 Clear potential position properly when an order is cancelled for self trading
  • #2286 Add sequence ID to event bus events
  • #2288 Fix auction events not appearing in GraphQL event bus
  • #2294 Fixing incorrect order iteration in auctions
  • #2285 Check auction times
  • #2283 Better handling of 0 expiresAt

Release v0.24.0

08 Sep 12:39
4d4cb8b
Compare
Choose a tag to compare

2020-09-04

One new API endpoint allows cancelling multiple orders simultaneously, either all orders by market, a single order in a specific market, or just all open orders.

Other than that it's mainly bugfixes, many of which fix subtly incorrect API output.

New:

  • #2107 Support for cancelling multiple orders at once
  • #2186 Add per-party rate-limit of 50 requests over 3 blocks

Improvements:

  • #2177 GraphQL: Add Governance proposal metadata
  • #2098 Fix crashed in event bus
  • #2041 Fix a rounding error in the output of Positions API
  • #1934 Improve API documentation
  • #2110 Send Infrastructure fees to the correct account
  • #2117 Prevent creation of withdrawal requests for more than the available balance
  • #2136 gRPC: Fetch all accounts for a market did not return all accounts
  • #2151 Prevent wasteful event bus subscriptions
  • #2167 Ensure events in the event bus maintain their order
  • #2178 Fix API returning incorrectly formatted orders when a party has no collateral

v0.24.0-pre1

04 Sep 15:23
Compare
Choose a tag to compare
Release v0.24.0

Release v0.23.1

27 Aug 12:45
e3a261a
Compare
Choose a tag to compare
*2020-08-27*

This release backports a fix from the forthcoming 0.24.0 release that fixes a GraphQL issue with the new `Asset` type. When fetching the Assets from the top level, all the details came through. When fetching them as a nested property, only the ID was filled in. This is now fixed.

Improvements:

- #2140 GraphQL fix for fetching assets as nested properties