All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[Unreleased]

[0.8.0] - 2026-06-29

Added

  • YahooFinanceEx.Quote.market_cap — the stock's market capitalization (marketCap from the Yahoo quote response), parsed onto the quote struct.

[0.7.0] - 2026-06-28

Added

  • YahooFinanceEx.get_price_history/2 — monthly closing-price history via the chart endpoint (the price series alongside the dividend stream). Returns %{date:, close:} entries sorted ascending, skipping null months; :range defaults to "6y". Pairs with get_dividend_history/2 to build a historical yield band.

[0.6.0] - 2026-06-28

Added

  • YahooFinanceEx.get_news/2 — recent news headlines for a ticker via the /v1/finance/search endpoint's news stream. Returns %{title:, url:, publisher:, published_at:} entries (UTC DateTime), most-recent first; {:ok, []} when there's no news. Accepts :count (default 8).

Changed

  • YahooFinanceEx.get_asset_profile/1 now also returns website and description (Yahoo's longBusinessSummary), each nil when absent — alongside the existing sector/industry. Funds/ETFs still return {:error, :not_found}.

[0.5.0] - 2026-06-27

Added

  • YahooFinanceEx.get_financial_data/1 — key leverage / balance-sheet figures (total debt, debt-to-equity, current ratio, quick ratio, total cash, EBITDA) via the quoteSummary endpoint's financialData module. Returns floats (or nil per missing field), {:error, :not_found} when a ticker exposes no financialData.

[0.4.0] - 2026-06-12

Added

  • YahooFinanceEx.search/2 — free-text ticker/company autocomplete via Yahoo's /v1/finance/search endpoint. Returns {:ok, results} with %{symbol:, name:, exchange:, type:} entries in Yahoo's relevance order; type is Yahoo's quoteType so callers can filter instrument kinds. Blank queries short-circuit to {:ok, []}.

[0.3.0] - 2026-06-11

(Entry backfilled — 0.3.0 shipped without a changelog entry.)

Added

[0.2.0] - 2026-06-08

Added

  • YahooFinanceEx.get_quotes/1 — batched quote fetch for many symbols in one HTTP call. Transparently chunks lists into batches of 50 (Yahoo's per-request ceiling). Returns {:ok, %{symbol => result}} where each result is {:ok, Quote.t()} or {:error, :not_found}.
  • YahooFinanceEx.get_fx_rate/2 — current FX rate between two ISO 4217 currency codes via Yahoo's <FROM><TO>=X quote symbol. Short-circuits identity pairs (get_fx_rate("USD", "USD") returns {:ok, 1.0}) without hitting the API.

Changed

  • Package description tightened to reflect the v0.2 surface.

[0.1.0] - 2026-06-01

Added

  • Initial release: Elixir port of the Ruby yahoo_finance_client gem.
  • YahooFinanceEx.get_quote/1 — fetch a single stock quote via Yahoo's /v7/finance/quote endpoint.
  • YahooFinanceEx.Session GenServer — handles Yahoo's cookie + CSRF crumb auth dance with two fallback strategies (query1, query2). 60-second session TTL with on-demand refresh.
  • YahooFinanceEx.Quote struct — typed result with derived fields (dividend_yield, payout_ratio) computed locally.
  • Test stubbing via Req.Test so consumers can mock Yahoo responses without hitting the network.