Releases: jup-ag/jupiter-swap-api
v6.0.35
chore: Raydium direct mapping commit binary update, no sdk change
chore: Solana 2.0.19
feat: Allow zstd in europa and switch europa client to zstd
feat: Dynamic slippage max as slippage bps for quote
Remove Orca From Old Top Tokens
fix: Jupiter Perps update SDK for dynamic oracle and larger custody
feat: Relax dexes parsing, incorrect dex label does not cause an error
feat: Add simulation logs on error
feat: Temporary Token Category File & Endpoint
feat: Unify Top Token Category List With Dynamic Slippage Token List
feat: Solayer AMM
chore: Yellowstone grpc endpoint document config requirements
fix: Use rust 1.82 for build release
feat: solana 2.0 update
Commit: 26a17bb1eef0aae2e0ce6acd9ee5e5730622e5db
v6.0.34
- fix: geyser connection error caused by too many accounts being subscribed by distributing the chunk from 3 to 6 connections
- performance: improve build_adjacency_map initialization for allowed tokens
- chore: Streamline finalize prioritization
- feat: More version in jupiter-swap-api CLI release
- chore: sync obric and lifinity program update
- feat: Add simulation slot to swap responses
- feat: Transfer hack only when transfer fee
- chore: thread pool metrics
- feat: Allow dynamic slippage as bool but keep old behaviour
- chore: Refactor dynamic slippage building out of build swap tx fn
- fix: don't cap the adjacency map
Commit 40c12f0ab0121913a6828f61db872cfd5caad034
v6.0.33
- fix: massively optimize bellman-ford and rbp routing for most cases (~80% improvement)
- chore: update top tokens
- feat: pick route given score for CUs and parameters (will follow up with docs to use it)
Commit 60a34dbd1daa492db0cff2fb5bddd2ab53223211
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