## 10.3.0-dev.4 (2026-07-21)
* fix(bstock):: enforce Venus Liquidator gate checks in atomicLiquidate and safe-fallback scripts ([28ba594](https://github.com/VenusProtocol/venus-protocol/commit/28ba594))
* Merge branch 'feat/VPD-1598' into feat/VPD-1589 ([2a26a80](https://github.com/VenusProtocol/venus-protocol/commit/2a26a80))
* Merge pull request #683 from VenusProtocol/feat/VPD-1430 ([083f75c](https://github.com/VenusProtocol/venus-protocol/commit/083f75c)), closes [#683](https://github.com/VenusProtocol/venus-protocol/issues/683)
* Merge pull request #694 from VenusProtocol/feat/VPD-1589 ([c1925f0](https://github.com/VenusProtocol/venus-protocol/commit/c1925f0)), closes [#694](https://github.com/VenusProtocol/venus-protocol/issues/694)
* Merge pull request #696 from VenusProtocol/feat/VPD-1598 ([00ca710](https://github.com/VenusProtocol/venus-protocol/commit/00ca710)), closes [#696](https://github.com/VenusProtocol/venus-protocol/issues/696)
* Merge pull request #701 from VenusProtocol/test/bstock-scenario-matrix ([831c8b2](https://github.com/VenusProtocol/venus-protocol/commit/831c8b2)), closes [#701](https://github.com/VenusProtocol/venus-protocol/issues/701)
* Merge pull request #702 from VenusProtocol/feat/VPD-1636 ([e75d2b7](https://github.com/VenusProtocol/venus-protocol/commit/e75d2b7)), closes [#702](https://github.com/VenusProtocol/venus-protocol/issues/702)
* Merge pull request #703 from VenusProtocol/feat/VPD-1598 ([351501b](https://github.com/VenusProtocol/venus-protocol/commit/351501b)), closes [#703](https://github.com/VenusProtocol/venus-protocol/issues/703)
* feat: updating deployment files ([c688006](https://github.com/VenusProtocol/venus-protocol/commit/c688006))
* feat: updating deployment files ([2812b9d](https://github.com/VenusProtocol/venus-protocol/commit/2812b9d))
* feat(bstock): add atomic backstop liquidator ([62c90b2](https://github.com/VenusProtocol/venus-protocol/commit/62c90b2))
* feat(bstock): add Liquid Mesh as a hop-1 liquidation source ([f5e3d09](https://github.com/VenusProtocol/venus-protocol/commit/f5e3d09))
* feat(bstock): add lm-smoke probe, align smoke output, clarify naming and docs ([b1815d0](https://github.com/VenusProtocol/venus-protocol/commit/b1815d0))
* feat(bstock): add offchain liquidation scripts and driver test ([fc0cbbd](https://github.com/VenusProtocol/venus-protocol/commit/fc0cbbd))
* feat(bstock): add per-call swap deadline ([2968bf3](https://github.com/VenusProtocol/venus-protocol/commit/2968bf3))
* feat(bstock): add Safe fallback liquidation batch generator ([46d9558](https://github.com/VenusProtocol/venus-protocol/commit/46d9558))
* feat(bstock): add SEIZE_BUFFER parameter to atomicLiquidate for improved quote accuracy ([3cef17c](https://github.com/VenusProtocol/venus-protocol/commit/3cef17c))
* feat(bstock): build the VAI hop-2 PSM calldata in the script ([3ab7e4f](https://github.com/VenusProtocol/venus-protocol/commit/3ab7e4f))
* feat(bstock): index debt market in Liquidated event ([17717bc](https://github.com/VenusProtocol/venus-protocol/commit/17717bc))
* feat(bstock): reject zero minOut in liquidator ([c9afc42](https://github.com/VenusProtocol/venus-protocol/commit/c9afc42))
* feat(bstock): support a separate router spender for split-settlement swaps ([0f94350](https://github.com/VenusProtocol/venus-protocol/commit/0f94350))
* feat(bstock): support native BNB (vBNB) debt ([d843b27](https://github.com/VenusProtocol/venus-protocol/commit/d843b27))
* feat(bstock): support native BNB debt in safe fallback batch ([812c600](https://github.com/VenusProtocol/venus-protocol/commit/812c600))
* feat(bstock): support non-USDT debt via two-hop swap ([1ae2c47](https://github.com/VenusProtocol/venus-protocol/commit/1ae2c47))
* feat(bstock): support VAI debt in the backstop liquidator ([6a21bca](https://github.com/VenusProtocol/venus-protocol/commit/6a21bca))
* docs: clarify comments regarding native BNB debt handling in atomicLiquidate function ([08f8c32](https://github.com/VenusProtocol/venus-protocol/commit/08f8c32))
* docs(audits): add HashDit BStockLiquidator audit report ([4ba70aa](https://github.com/VenusProtocol/venus-protocol/commit/4ba70aa))
* docs(bstock): add operator runbook for liquidation scripts ([b7df959](https://github.com/VenusProtocol/venus-protocol/commit/b7df959))
* docs(bstock): add script decision flowchart to runbook ([510c9e8](https://github.com/VenusProtocol/venus-protocol/commit/510c9e8))
* docs(bstock): clarify inventory floor and native-debt limits ([37bbaea](https://github.com/VenusProtocol/venus-protocol/commit/37bbaea))
* docs(bstock): clarify renounce and swap-underflow invariants ([aba7007](https://github.com/VenusProtocol/venus-protocol/commit/aba7007))
* docs(bstock): correct VAI incentive-divergence comments in liquidation scripts ([801f180](https://github.com/VenusProtocol/venus-protocol/commit/801f180))
* docs(bstock): document env knobs and correct the runbook and sizing comments ([6d5c7e9](https://github.com/VenusProtocol/venus-protocol/commit/6d5c7e9))
* docs(bstock): document hop-1 reconcile and setRouterSpender ordering ([18fce77](https://github.com/VenusProtocol/venus-protocol/commit/18fce77))
* docs(bstock): expand liquidation flowchart and correct Native/LM/PSM fallback framing ([0b4a754](https://github.com/VenusProtocol/venus-protocol/commit/0b4a754))
* docs(bstock): fix runbook env table and swap mermaid for SVG ([15ac30d](https://github.com/VenusProtocol/venus-protocol/commit/15ac30d))
* docs(bstock): generalize debt-asset wording, drop stale comments ([14729b7](https://github.com/VenusProtocol/venus-protocol/commit/14729b7))
* docs(bstock): stop the atomic arrow overlapping the DRY_RUN=1 header label ([c18c571](https://github.com/VenusProtocol/venus-protocol/commit/c18c571))
* chore: consolidate router validation into a single function ([327a362](https://github.com/VenusProtocol/venus-protocol/commit/327a362))
* chore: fix lint ([1784444](https://github.com/VenusProtocol/venus-protocol/commit/1784444))
* chore(bstock): deploy BStockLiquidator to bscmainnet ([43409ff](https://github.com/VenusProtocol/venus-protocol/commit/43409ff))
* chore(bstock): redeploy BStockLiquidator to bscmainnet ([2536b36](https://github.com/VenusProtocol/venus-protocol/commit/2536b36))
* test(bstock): add fork helper to list a real bStock collateral market ([6319593](https://github.com/VenusProtocol/venus-protocol/commit/6319593))
* test(bstock): fork-prove effective-incentive divergence for a non-core ERC20 borrower ([17bc7fd](https://github.com/VenusProtocol/venus-protocol/commit/17bc7fd))
* test(bstock): fork-prove the full mode × hop-1 source × debt scenario matrix ([d7b3adb](https://github.com/VenusProtocol/venus-protocol/commit/d7b3adb))
* test(bstock): fork-test the VAI PSM hop against the real PegStability module ([1baf78f](https://github.com/VenusProtocol/venus-protocol/commit/1baf78f))
* test(bstock): harden liquidator suite with reentrancy, deadline, and fork fuzz coverage ([0a3f355](https://github.com/VenusProtocol/venus-protocol/commit/0a3f355))
* test(bstock): harden scenario matrix ([9d94d4d](https://github.com/VenusProtocol/venus-protocol/commit/9d94d4d))
* test(bstock): remove standalone fork workflow ([8441a7c](https://github.com/VenusProtocol/venus-protocol/commit/8441a7c))
* test(bstock): render dynamic sweep results as an aligned table ([9f452db](https://github.com/VenusProtocol/venus-protocol/commit/9f452db))
* test(bstock): restore chain snapshot after suite to prevent signer state leak ([159c85e](https://github.com/VenusProtocol/venus-protocol/commit/159c85e))
* test(bstock): richer fork sweep — market names, decoded skips, cash-seed, summary ([a8c58d0](https://github.com/VenusProtocol/venus-protocol/commit/a8c58d0))
* test(bstock): run fork suite against deployed bscmainnet BStockLiquidator ([2115a9b](https://github.com/VenusProtocol/venus-protocol/commit/2115a9b))
* test(bstock): script-driven VAI liquidation fork scenario ([111af24](https://github.com/VenusProtocol/venus-protocol/commit/111af24))
* fix: [I01] ([4617af5](https://github.com/VenusProtocol/venus-protocol/commit/4617af5))
* fix: [L02] ([03bd5da](https://github.com/VenusProtocol/venus-protocol/commit/03bd5da))
* fix: [L03] ([ce0b179](https://github.com/VenusProtocol/venus-protocol/commit/ce0b179))
* fix: [L04] ([355b16b](https://github.com/VenusProtocol/venus-protocol/commit/355b16b))
* fix: [L05] ([a2d2043](https://github.com/VenusProtocol/venus-protocol/commit/a2d2043))
* fix: [L06] ([4d176db](https://github.com/VenusProtocol/venus-protocol/commit/4d176db))
* fix: [L07] ([1507c56](https://github.com/VenusProtocol/venus-protocol/commit/1507c56))
* fix(bstock): bubble up router revert reason in _swap ([d8d0e99](https://github.com/VenusProtocol/venus-protocol/commit/d8d0e99))
* fix(bstock): consistent LM slippage bps and tolerant SOURCE parsing ([b36c17e](https://github.com/VenusProtocol/venus-protocol/commit/b36c17e))
* fix(bstock): deduct Venus Liquidator cut in seize precompute ([7d9d1e0](https://github.com/VenusProtocol/venus-protocol/commit/7d9d1e0))
* fix(bstock): enforce a minimum TTL on built Liquid Mesh orders ([9b9c7a5](https://github.com/VenusProtocol/venus-protocol/commit/9b9c7a5))
* fix(bstock): harden liquidation off-chain seize, minOut, and pre-flight guards ([4214098](https://github.com/VenusProtocol/venus-protocol/commit/4214098))
* fix(bstock): harden setRouterSpender against misconfiguration ([d57fc0b](https://github.com/VenusProtocol/venus-protocol/commit/d57fc0b))
* fix(bstock): name the actual seize function in VAI error messages ([316bbb4](https://github.com/VenusProtocol/venus-protocol/commit/316bbb4))
* fix(bstock): pin vBNB oracle under the native sentinel, not WBNB ([2ca908e](https://github.com/VenusProtocol/venus-protocol/commit/2ca908e))
* fix(bstock): quote the debt asset, assert it matches Native output ([08eff13](https://github.com/VenusProtocol/venus-protocol/commit/08eff13))
* fix(bstock): reconcile indicative LM quotes against firm quotes after build ([e53cd8a](https://github.com/VenusProtocol/venus-protocol/commit/e53cd8a))
* fix(bstock): reset liquidation-gate approval to zero ([cb3ee37](https://github.com/VenusProtocol/venus-protocol/commit/cb3ee37))
* fix(bstock): restore router spender lookup in _swap ([929ec41](https://github.com/VenusProtocol/venus-protocol/commit/929ec41))
* fix(bstock): route safe-fallback batch through the Liquidator gate ([81fa8df](https://github.com/VenusProtocol/venus-protocol/commit/81fa8df))
* fix(bstock): size the hop-2 leg off the LM floor, not the quote ([591f6c7](https://github.com/VenusProtocol/venus-protocol/commit/591f6c7))
* fix(bstock): stop safe-fallback misreading a VAI debt as native BNB ([90fed52](https://github.com/VenusProtocol/venus-protocol/commit/90fed52))
* fix(bstock): time out hung hop-1 source API calls ([ae6b50f](https://github.com/VenusProtocol/venus-protocol/commit/ae6b50f))
* refactor(bstock): always route liquidation through the gate ([a1ffe53](https://github.com/VenusProtocol/venus-protocol/commit/a1ffe53))
* refactor(bstock): clarify treasury-cut var and hop-2 amountIn constraint ([087ab6c](https://github.com/VenusProtocol/venus-protocol/commit/087ab6c))
* refactor(bstock): drop redundant flash guard, harden sweep ([7df4df2](https://github.com/VenusProtocol/venus-protocol/commit/7df4df2))
* refactor(bstock): drop shortfall pre-check, rename validation helper ([6846758](https://github.com/VenusProtocol/venus-protocol/commit/6846758))
* refactor(bstock): rename native-quote smoke test to native-smoke ([896dde9](https://github.com/VenusProtocol/venus-protocol/commit/896dde9))
* refactor(bstock): rename usdt* vars to debt* for clarity ([8db3946](https://github.com/VenusProtocol/venus-protocol/commit/8db3946))
* refactor(bstock): resolve bStock token from orderbook, drop hardcoded map ([d17b5ba](https://github.com/VenusProtocol/venus-protocol/commit/d17b5ba))
* refactor(bstock): type LM API responses and validate the signing seed ([5c9cab2](https://github.com/VenusProtocol/venus-protocol/commit/5c9cab2))