Skip to main content

Changelog

Stable DSS builds are tracked on the dss-stable branch with tags like dss-v1.3.0.

Release procedure

  1. Create preparatory pull request (PR) into main branch of econia repo (like #653).
    1. Rebuild REST API docs.
    2. Bump changelog.
      1. Add new pull requests since last release:
        1. From econia repo.
        2. From processor submodule.
      2. Note if a hot upgrade is possible relative to the last release.
      3. Verify all new links by manually following them on a live local docs build.
      4. Run mdformat on changelog.
  2. Tag main with an annotated release candidate tag like dss-v2.1.0-rc.1.
  3. Merge main into dss-stable.
  4. Push annotated tag to head of dss-stable.

v2.5.0 (hot upgradable)

Internal

  • Optimize enumerated volume calculation to improve idling performance (#799).
  • Add index to speed up querying orders by user and market_id (#800).
  • Add index to speed up querying orders by order_id (#801).
  • Add maximum time limit for PostgREST queries (#803).

v2.4.0 (hot upgradable)

Added

  • Transaction version field inside levels MQTT events (#792).
  • Timestamp of last processed transaction in /data_status endpoint (#796).

Fixed

  • Updated the time crate to fix DSS docker compilation (#793).

v2.3.0 (hot upgradable)

Fixed

  • Fix inaccurate data in /rpc/volume_history endpoint (#778).
  • Improve performance of daily rolling volume history indexing (#780).
  • Fix coins pipeline not working for coins which have an address starting with 0x0 (#788).

Internal

v2.2.0 (hot upgradable)

Changed

  • Improve performance of /markets endpoint (#760, #772).

Fixed

  • /tickers endpoint base_volume_nominal field (#761).
  • /tickers endpoint price field (#766).
  • fixed nominal issues when tickers isn't 1 (#767).
  • fixed potential duplicates in daily_rolling_volume_history(#765).

Internal

  • Added dynamic batch sizing to avoid crashes during high usage (#762).
  • Updated Rust dependencies (#764).
  • Optimize daily volume calculations wrapped query (#768).
  • Fork base, to include upstream processor changes (#775, Processor #27).

v2.1.0 (hot upgradable)

Added

  • Price level events over MQTT (disabled by default, enable by adding MQTT_PRICE_LEVELS=yes, see src/docker/example.env) (#753).
  • /tickers endpoint optimizations (#729).
  • Suspend and resume functionality for the DSS when deployed on GCP (#736).
  • More details in aggregator logging (#738).
  • Default support for the all liquidity group on all markets (#728).

Changed

Fixed

  • /tickers endpoint base_volume_nominal and quote_volume_nominal fields (#746, #749).
  • Balance reporting for market account handles starting with 0x0 (#732, Processor #25).
  • Liquidity calculation logic (#730).

Deprecated

  • Market registration pipeline, an unused development stub that counted markets registered per day (#727).

v2.0.1 (hot upgradable)

Fixed

  • MQTT order ID rounding (#719).

Added

  • MQTT rebuild in hot upgrade script (#720).
  • fees function (#717).
  • MQTT over WebSockets support (#723).

v2.0.0

Added

  • /fees endpoint and get_market_cumulative_fees function (#693).
  • /prices endpoint (#697).
  • /spreads endpoint (#700).
  • base_volume_nominal and quote_volume_nominal fields in /tickers endpoint (#705).
  • MQTT support (#702).
  • /fees_24h endpoint (#708).
  • Assorted Grafana configurations (#709, #711).

Fixed

  • Empty transaction panics introduced by upstream gRPC changes (processor #23, #710).
  • Quote escaping in Terraform scripts (#704, #706).

Changed

  • Restructure Docker compose configuration files (#699, #701, #702).
  • Refactor liquidity calculations with groups, less granularity, for performance (#703, #707).

Deprecated

  • WebSockets support (#702).
  • Unused indices from PostgreSQL database (#712).

v1.6.1

Fixed

v1.6.0

Added

  • Assorted CoinGecko endpoints (#675).
  • Assorted TVL endpoints (#670, #674).
  • Price conversion endpoint (#672).
  • Assorted volume endpoints (#669, #682).
  • Grafana annotation support (#667).

Changed

  • Optimize /user_balances queries (#685, #688).
  • Allow /coins endpoint to be queried from assorted PostgreSQL roles (#687, #688).
  • Reduce aggregator memory consumption via batched operations (#688, #689).
  • Make rolling volume a default pipeline (#683, #684).

v1.5.0

Added

  • Optional rolling volume pipeline (#658, #663).
  • Global order history snapshot pipeline (#658, #664).
  • Health check endpoints (#651).
  • Fees in /user_history endpoint (#650).
  • Hot restart support (#657, #659).
  • CI/CD Terraform project with walkthrough (#657).
  • Automatic schema reloading for PostgREST (#661).
  • Demo Grafana configuration (#657).

Changed

  • Docker compose and processor config style, associated docs (#659, #665, #660).

v1.4.0

Added

  • Add coins pipeline with APTOS_NETWORK environment variable, add coin fields to /markets endpoint (#624, #625).
  • Add /user_balances endpoint (#641).
  • Force local Docker compose services to wait for diesel completion (#644, #648).
  • Function for getting /markets endpoint info when querying /user_balances endpoint (#645).
  • Retry mechanism for serialized PostgreSQL transaction failure (#643, Processor #21).
  • Sanitize event type address in processor (Processor #19, Processor #20).

Fixed

  • Reverse migrations (#638).

Changed

  • Refactor aggregator Dockerfile for APTOS_NETWORK environment variable, multi-stage build (#625).

v1.3.0

Added

  • Add materialized view support for 24hr market price/volume fields.
  • Add assorted market price/volume fields to /markets endpoint.
  • Incorporate average execution price as a field in /orders endpoint.

v1.2.0

Breaking changes

  • Remove /{limit,market,swap}_orders endpoints.
  • Rename side to direction in /price_levels.

Important changes

  • Add all fields from /{limit,market,swap}_orders to /orders. N/A fields are null.
  • Add average_execution_price as a field that is always returned. It is not needed to explicitly request it on each request.

Misc

  • Improve overall performance.