# v0.10.0

> Changes since v0.9.6

Source: https://kcq.nebutra.com/docs/changelog/v0-10-0


Features [#features]

* **comparison view (percent-normalized)**: render comparison rows as percent-normalized lines, fit the y-axis to visible line extremes, and show the main symbol in the legend
* **cursor history status**: add cursor history status to the data layer
* **FinShare cursor-based bar loading**: add cursor-based paged bar loading for the FinShare source
* **capability-based source routing**: implement capability-based source routing, plus a V1 source capability declaration contract and transportable error codes
* **visible retry progress**: surface visible retry progress while loading K-line data
* **register tradingview and baostock sources**: register the tradingview and baostock sources via the V1 provider
* **aggregation source session memory**: remember the aggregation source tab selection within a session
* **polish aggregation source dialog**: refine the aggregation source dialog interactions

Fixes [#fixes]

* **fit comparison y-axis**: fit the comparison view y-axis to visible line extremes so lines stay in view
* **resolve legend rows by identity**: resolve comparison legend rows by symbol identity so the main symbol renders correctly
* **unify fetch failures**: unify data source fetch failures into the KLineChartError contract

Architecture & Refactoring [#architecture--refactoring]

* **reorganize data layer by domain**: reorganize the data layer by domain folders and document its purpose, responsibilities and structure
* **remove legacy DataBuffer adapter**: remove the legacy setFetcher date adapter from DataBuffer
* **migrate gotdx to V1 provider**: migrate the gotdx source to the V1 provider abstraction
* **update dependencies and dev docs**: update dependencies and development documentation conventions
