Releases: jup-ag/jupiter-swap-api
v6.0.33
v6.0.32
fix: do not drop markets when failing to handle incoming
feat: add whirlpool sparseswap support
feat: thread pool for cpu bound quotes.
- 3 new args/env:
- webserver_thread_count
thread: default is 2
- update_thread_count
thread: default is 4
- total_thread_count
thread: default is the number of cpus
- routing engine thread: total_thread_count
- update_thread_count
- webserver_thread_count
feat: add /health
endpoint, so far surface latest blockhash with metadata
Commit 60ac587c738739f8d8e0865b895b37e25ad9b3f3
v6.0.31
fix: price tracker no write locking at the top level and seperate concerns
fix: just use top token list for referrer to improve startup time
fix: get_highest_slot_response for finalized blockhash
fix: update whirlpool sdk
feat: SolFI integration
perf: remove duplicate edge checks in bellman-ford for better performance
fix: use for_each_unrestricted within calc_dist_to_target
fix: to not check expriy on obric update, since it's being check on quote
feat: added loki_url
, loki_username
, loki_password
and loki_custom_labels
env/cli args to send logs to loki when given params
Commit a4f0d60be464fee2ee354b37386dafa4e7d00c43
v6.0.30
Changelog
fix: price tracker no write locking at the top level and seperate concerns
fix: Refactor market filtering to occur before RPC node calls
fix: Obric update SSTradingPair
feat: remove most rwlock with scc + dashmap
fix: add dedupe in europa for new markets
fix: Should restrict to only direct route only when single shared edge
fix: price tracker to fetch missing mints
chore: Some more info logs in load, some chunking with sleep
fix: dont fetch all accounts at one go to ease startup
fix: reduce rpc chunking size to help with startup
fix: sync Obric changes
fix: Add PYUSD to top tokens
fix: Obric to include doves and whirlpool
feat: Fox integration
fix: Stabble stable update current timestamp
Commit 08a2acba76d8e6a2f3c7f0a0243a0ed8ed0f3672
v6.0.29
chore: Add category name and heuristic max slippage bps to dynamic slippage report
feat: Blockhash provider with support for slots to expiry
fix: Process market batches instead of doing sequential work
fix: Update Obric sdk
fix: enable 3 split on 100k dollar route above
feat: drop ghost markets when it's more than 10 minutes
fix: minor refractor to rbp
fix: improve dlmm quote logic
fix: Cleanup error handling them as 400 bad request
fix: price tracker to fail to update when decimal is not fetched (related to priceImpactPct)
Commit 2df743e6ef6fca46f2ffba01f49a65e011e2a743
v6.0.28
- fix: obric to use safe math
- fix: stabble to not panic
- fix: remove jupiter_europa_url which is not used
- fix: invariant to use safe math
- feat: update Stakedex sdk with deposit cap program
- feat: implement
filter-markets-with-mints
to be applied for newly streamed markets as well - fix: dedicate 4 cores for updates (like geyser updates and markets updates)
- fix: consume more accounts to tame backpressure in geyser
- fix: incorrect market streaming caused by incorrect missing removal of amm_key from amm_key_to_amm_map
- feat: support repeated query parameters. Example:
dexes=Raydium&dexes=Meteora
- feat: update Stakedex sdk use clock from amm context to reduce unnecessary updates
Commit 7b9e3dda7205a6a82f1d876d5b692357d3f1651b
v6.0.27
- hotfix: sanctum amms not being loaded (introduced in v6.0.26) by setting account data to default
Commit 9bf100e3f03179dedf54f7400f348e8dcbdb1cf5
v6.0.26 Europa release
Breaking
- breaking:
--dexes
have been replaced by--dex-program-ids
, and--exclude-dexes
have been replaced by--exclude-dex-program-ids
. You can get the program id from this link: https://quote-api.jup.ag/v6/program-id-to-label- adding above will is also applied to new market streaming
- breaking: We will stop updating
cache.jup.ag/markets?v=3
you can usecache.jup.ag/markets?v=4
whichdata
field is dropped. Note: pump.fun and moonshot wont be supported through the remote url - feat: new
market-mode
arg which which default toeuropa
which enable all new market streaming, but if you want the remote cache markets, you can enable with--market-mode remote
or--market-mode=file --market-cache=./markets.json
Changelogs
- fix: Attenuate memory leak by dedicating first loop with low account filter in geyser loop
- fix: Correct update existing amms logic
- fix: max age on cors layer to avoid repeated preflight
- feat: Minor swap work reduction by not calculating authority PDA everytime
- chore: Remove program failing cu estimation case
- feat: Swap transaction avoid sequential awaits
- fix: 1intro quoting
- fix: check Phoenix data len to prevent
split_at
panic - fix: No slippage error on sim by using 100% slippage and default max if failure
- feat: Slippage from simulated amount with heuristic
- fix: Pump check real token reserves when buying
- feat: Basic cpmm detect frozen reserve and prevent quoting
- fix: Prevent partial fill with exact out CLMMs
- feat: show
prioritizationType
andcomputeUnitLimit
on swap response - fix: no sending to user account if
destinationTokenAccount
is set - fix: Revert
error_code
toerrorCode
json case - feat: quote-multiple-output-mints support exact out
- feat: Add simulation error to swap response
- feat: remote dynamic slippage config with bunch of auto slippage optimization
- fix: Sanctum inf filter out input disabled LSTs
- chore: solana 1.18 and anchor 0.29
- feat: Stabble stable and weighted swap programs
- feat: obric integration
- feat: support streaming and removal of markets through Europa
Commit 849d9ee814ffc829a7e46d9e2858a165647acab0
v6.0.25
Changelog
fix: make METRICS_PORT
optional
Commit 809bf7148e8ccd2c9e7a5b96fab8f7fa8bc3c63c
v6.0.24
Changelog
feat: Optimize dist_to_target stop expanding on source, cut quote time by 90%
feat: get market expose routing group
feat: Add benchmark for router update accounts and remove clone of account_map, reduce memory usage further
feat: update Jupiter perps oracle
feat: /metrics
endpoint on port 9100
feat: use ahash for HashMap when hashing pubkey, for perf improvement
feat: allow --enable-add-market
to be exposed on self hosted binary (read more: https://station.jup.ag/docs/apis/self-hosted#adding-new-markets-without-restart)
fix: panic when geyser ping failed, default to reconnect to geyser
fix: to not panic when blockhash failed to fetched, now it will log error, also increased timeout when fetching blockhash
Commit 73a9f8283df762f6f6f0a2f1b75ddb26f9df33c7