Change log
| date | type | importance | description |
|---|---|---|---|
| 2026-10-07 | Improvement | Minor | In the new interface, Ctrl+← and Ctrl+→ step back and forward between the metrics and views you opened for a stock, the same as the ← and → arrows above the menu. They complete Ctrl+↑ and Ctrl+↓, which step through the stocks of a list. While you type in a search box the keys keep their usual meaning and jump a word. On a Mac, Cmd works as well. |
| 2026-10-07 | Bug | Minor | A company whose listings are all separate share classes now takes its most traded listing as home listing. Türkiye İş Bankası took its rarely traded founder shares, which gave it an absurd market cap. When an import moves the home listing, the company's other listings now show the change right away instead of after up to five days. |
| 2026-10-07 | Data Quality | Minor | ISBTR.IS: Had WASO corrected by source. |
| 2026-10-07 | Improvement | Minor | Search engines are now pointed at the stock pages of the new interface for every company above 2 billion USD market cap, about 7,200 pages. Until now our sitemap listed no stock pages at all. |
| 2026-10-07 | Improvement | Minor | Search engines are now pointed at the stock pages of the new interface for every company above 2 billion USD market cap, about 7,200 pages. Until now our sitemap listed no stock pages at all. |
| 2026-10-06 | Improvement | Minor | Analyst coverage is 0 instead of empty for a stock that no analyst follows, so a screen such as "Analyst coverage < 3" now finds it. A past fiscal year for which no analyst gave an estimate also shows 0. A year showed the coverage at the end of the following year; it now shows its own. A year or quarter without a count shows the last known coverage, from at most three years before and marked as based on past results, instead of being empty. The EPS revisions ratio of a year had the same one-year shift and is corrected too. Update 2026-10-07: a 0 that was inferred because the data source gave no count is marked as unsure. Examples: D-Box Technologies, Cybeats Technologies. |
| 2026-10-04 | Bug fix | Minor | New interface, phone: in the screener dialog each condition now takes two lines (the metric on the first, the strength, operator and value on the second), so it fits the screen instead of being cut off. The options below the conditions wrap instead of running off the screen. |
| 2026-10-04 | Improvement | Minor | New interface, Fundamentals: a row with two metrics (such as "Cash & ST Inv. | Total Debt") whose name does not fit on one line is shown as two rows, one name and one value each. A qualifier such as "growth", "% chg from" or "CAGR" now sits small behind its metric's name on the same row (abbreviated on a phone, for example "gr."). On a phone every row of the Stock and Key fundamentals panels is one line; a name that still does not fit is shortened with "…". On a phone the row "Allen EV/ EBITDA" is called "EV/ EBITDA". |
| 2026-10-04 | Improvement | Minor | New interface: metrics named "Change in …" are shown as "Δ …" (for example "Δ AR", "Δ Inventory"), so the part that tells them apart is not cut off; searching for "change in AR" still finds them. On a phone, section titles in metric and statement tables take one line again. |
| 2026-10-04 | Improvement | Minor | New interface, phone: each row of a metric or statement table is one line again. The unit (USD, %, …) now sits behind the name instead of on a second line. |
| 2026-10-04 | Improvement | Minor | New interface: "Market price at start of" (for example calendar Q2) moved from above the chart to the bar above the table, next to Annual, Time window and Quarterly. It only changes the annual columns of the table, not the chart. On a phone it is no longer shown, to keep the table controls short; the default (calendar Q2) applies there. For the same reason the "Empty rows" switch is not shown on a phone. |
| 2026-10-04 | Bug fix | Minor | New interface, charts: the dates on the time axis no longer run into each other on a narrow screen; only as many as fit are shown, always including the most recent one. In a group chart on a phone, the 0 and Lin | Log buttons move to a second line when the names need the room, instead of being cut off. A metric's chart legend shows its short name (for example "Cash-NOPAT"); the full name stays in the title above the chart. |
| 2026-10-04 | Bug fix | Minor | New interface, phone and tablet: on a stock page, metric and statement tables scroll sideways again, so the most recent years are reachable. The table used to make the page wider than the screen instead, which cut off the right-hand columns. |
| 2026-10-04 | Bug fix | Minor | New interface: in metric and statement tables, a long section title (such as a metric's full name or a cash flow heading) no longer widens the name column. A title that does not fit is cut off with "…" (hover for the full text); on a phone it runs on, on one line, over the row's empty cells. The numbers keep their space, especially on a phone. On a phone, a metric's own section shows its short name. Statement headings are shorter: "Non-cash adjustments", "Working capital changes" and "Shares for EPS"; the cash flow's first block is now called "Depreciation and amortization". "Financing activities" no longer appears twice in the cash flow table. |
| 2026-10-04 | Bug fix | Minor | New interface: a metric, group or view opened from further down the page now starts at the top. It used to keep the scroll position of the previous page, so on a phone the menu button was scrolled out of view. |
| 2026-10-04 | Improvement | Minor | New interface, phone: the menu button above a metric now shows the group the metric belongs to (for example "Balance sheet" or "Solvency") instead of "Metrics menu". When you open the menu, it scrolls to the selected metric. |
| 2026-10-04 | Bug fix | Minor | New interface: opening a list always shows the list again. Focus mode (the detail without the list) used to be remembered, so every list could open as a single stock with the list hidden; it now lasts while you step through one list. Picking a stock on a phone no longer changes this setting on the desktop. |
| 2026-10-04 | Bug fix | Minor | New interface, phone: in a metric's history table the lines that mark the current year (TTM) no longer shift one column to the right on the section title rows. |
| 2026-10-02 | Data Quality | Minor | ALPER.PA: Had price data provided by source. |
| 2026-10-02 | Bug fix | Minor | Adding a delisted stock by its ticker in the new interface no longer fails with "No tradeable stock found": like the classic version, it adds the stock with its last known data. |
| 2026-10-02 | Improvement | Major | New accounts now start in the new interface, also on a computer, whether you sign up with e-mail or with Google, LinkedIn or another provider. The classic version stays reachable through its link in the new interface; existing accounts keep the version they chose. |
| 2026-10-02 | Bug fix | Minor | Signing in with e-mail before choosing a password no longer makes the link in the welcome mail stop working: the mail it sends now contains that same link. When choosing a password, pressing Tab in the first box no longer answers "Invalid credentials" before the confirmation could be typed. |
| 2026-10-01 | Improvement | Minor | New interface: the group charts (e.g. Income yield, Cash flow yield) and the interactive chart now show their axis values in columns beside the chart, so large values such as "228.2B" no longer run out of space, and the values are round numbers (0, 100 B, 200 B …). The axes now start at zero by default, as on the metric chart; the new "0" button switches back to an axis that fits the values. |
| 2026-10-01 | Improvement | Minor | New interface on a phone: the way back to the list is now "‹ List" at the top of a stock, next to the arrows that step through the list, and the phone's own back button returns to the list too. The stock's name, ticker and price now share one line. The Compare button of the basic price chart was out of sight on a phone; the period is now a dropdown there, so everything fits. Above the TradingView chart, the Compare menu no longer runs off the left edge of a phone screen. |
| 2026-09-30 | Bug fix | Minor | Metric formulas in the new interface showed internal codes (e.g. #EPS) for some metrics instead of the metric names. They now read as in the classic interface. The formulas in the API's list of indicators had the same problem and also lost their "+" signs; both are fixed. |
| 2026-09-30 | Bug fix | Minor | Charts in the new interface: the value axis could show full numbers (120,000,000) instead of 120 M, and the currency now sits above each axis instead of next to its top value. Group charts (e.g. Cash flow) now follow the chosen currency, like the table below them. The ◀ ▶ arrows above a metric chart now move 5 years at a time. |
| 2026-09-30 | Bug fix | Minor | Positions: when a transaction has no invested amount, the profit/loss and return of that position (and of the portfolio total) are no longer shown, instead of an overstated return. |
| 2026-09-30 | Improvement | Minor | API usage: the account menu of the new interface shows this month's API usage against your monthly limit (under Account details), and the answer to a reimport request now includes the same count. The counter also counted one call too few at the start of each month; it now matches the limit exactly. |
| 2026-09-30 | Bug fix | Minor | Analyst coverage: estimates of fiscal years that ended long ago were counted as today's coverage. A stock whose most recent analyst estimates date from years ago showed the analysts of back then as covering it now. Those estimates now only count for the year they belong to. Example: D-Box Technologies. |
| 2026-09-30 | Bug fix | Minor | API: the reimport request as documented, /task?task=reimport, was answered with
"Task name missing"; only the undocumented name=reimport worked. Both parameters are now
accepted. |
| 2026-09-29 | Bug fix | Minor | In the new interface on a phone, the symbol column of a stock list scrolled away sideways again instead of staying fixed with the columns in front of it. |
| 2026-09-29 | Bug fix | Minor | In the new interface, the view editor offered only twelve standard columns. Its "+ Add standard column" list now holds the full Stock info set of the classic editor: warnings, flag, sector, industry group, continent, home country, exchange, summary, notes, advice, weight, unrealized P&L, the dates of the financial results, import, update, calculation and earnings announcement, classification, my rating and active notifications. The date columns in the stock list are now right-aligned. |
| 2026-09-29 | New feature | Minor | Backtest: excess cash can now follow the benchmark, next to bonds and 0%. Pick "Excess cash in the benchmark" under Position sizes (equal, volatility weighted or expectation weighted); every open slot then earns what the first comparison index earned over the same period (S&P 500 TR when no index is given), converted to the backtest currency. A period without any matching stock is fully invested in the benchmark. Investments, win rate and the average winner and loser now count only the stocks the screen bought: excess cash in bonds, cash or the benchmark no longer counts as an investment. |
| 2026-09-29 | Bug fix | Minor | In the new interface, a pinned value explanation says "Click outside to close", but it only closed when you clicked inside the same panel. A click anywhere outside the popup now closes it, as does Escape. |
| 2026-09-29 | Bug fix | Minor | A free-text search made of OR alternatives only, such as symbol:(7203.T OR 6758.T),
returned all stocks instead of the ones asked for. With more than about 30 alternatives (for example a
long list of symbols via the API or MCP) the search failed and returned nothing. Both now return
exactly the requested stocks. |
| 2026-09-29 | Bug fix | Major | Flexible matching ("should" criteria) did not apply its minimum in screens without a free-text filter: stocks matching fewer than two thirds of the "should" conditions still appeared, ranked lower. The minimum now applies in every screen. |
| 2026-09-25 | Bug fix | Trivial | The search box named BP.L "BP PLC $0.25". The share class an exchange list appends to a company name — a par value, "COM USD0.01", "NPV" — is no longer shown: you asked for the company. |
| 2026-09-25 | Data Quality | Minor | A listing whose feed spells the company name in full ("Vodafone Group Public Limited Company" beside "Vodafone Group PLC") was kept as a company of its own, which made it its own primary listing. Those listings now join the company they belong to, as their siblings already did. Affects Vodafone's Brazilian receipt, Samsung's London line and a handful of others. |
| 2026-09-25 | Bug fix | Major | The new interface: the chart and history of the Uncle Stock score could hang for ten minutes and then fail, and while it did, the other charts and tables of that stock waited with it. They now load in seconds. |
| 2026-09-25 | Bug fix | Minor | Bookmarks to the old phone and tablet pages (iPad_app.jsp, mobile_app.jsp) open again instead of showing an error page. |
| 2026-09-25 | Improvement | Minor | AI agents (MCP): when the daily search limit is reached, the message now says what a Gold subscription gives (75 searches/day) and links straight to the subscription page. The subscription page itself now states that same 75, where it said 100 or "unlimited". |
| 2026-09-24 | Improvement | Minor | The symbol search box now offers a company's own listing before its cross-listings: typing "Samsung Electronics" answers with 005930.KS, the Korean line, instead of the London, Mexican and German receipts. A preference share no longer comes first either — typing "SAN." finds Banco Santander and Sanofi before Santander UK's preferred stock. Both interfaces. |
| 2026-09-24 | Bug fix | Minor | The metric search box ranked a metric that merely starts with what you typed above the one that spells it: "m-score" answered Montier C score and Mohanram G-score before Beneish M-Score, and "g score" and "c score" had the same problem. In the new interface. |
| 2026-09-24 | Improvement | Minor | A value that was computed and rejected now shows a dash in the metric tables, with the reason on hover, where a year without data stays blank. Previously both were blank. In the new interface. |
| 2026-09-24 | Improvement | Minor | The screener accepts "=" as an operator, which an integer-valued metric wants (Piotroski = 8) and which previously took two conditions. A condition with a metric but no value, or the other way round, is no longer dropped silently: the Screen button asks for the missing half. Conditions can also be dragged into another order. In the new interface. |
| 2026-09-24 | Improvement | Minor | Hovering a screen's name — on its tab above the list, and in the screens overview — shows the filter criteria it screens on, as it does in the classic interface. |
| 2026-09-24 | Improvement | Minor | The backtest report shows what produced it: the screen's criteria and the run's settings (rebalancing, sell strategy, position sizes, slippage, currency, benchmark) at the head of the result. In the new interface; the classic one has always shown this beside the chart. |
| 2026-09-24 | Improvement | Minor | A backtest period can be included or left out again, as in the classic interface: every period has a checkbox and the report is recomputed from the ones that remain. This is how the opening years a screen was too thin to trade can be counted after all. In the new interface. |
| 2026-09-24 | Improvement | Minor | The screens overview is wider, so the whole table of backtest statistics is readable without scrolling sideways, and it has a new column: the average number of stocks a screen actually held per period. Equal to the size for a screen that always found enough, lower for one that ran out of matches. In the new interface. |
| 2026-09-24 | Bug fix | Minor | The symbol column sizes itself to the tickers in the list, so a long one (SCANPGEOM.BO, MICRON19.BK) is no longer cut off, and the orange dot marking a running data import keeps its place beside it instead of being the first thing dropped. In the new interface. |
| 2026-09-24 | Bug fix | Trivial | The formula shown for CapEx/CFO read "Net CapEx / Revenue", copied from CapEx/Revenue. The metric itself has always been computed on cash flow from operations. The formulas shown for CapEx/Revenue and Maintenance Capex (Greenwald) had a stray bracket as well. |
| 2026-09-24 | Bug fix | Major | A predefined screen sometimes opened without its backtest, offering the Backtest button as though the screen had never been tested. Both interfaces share one stored copy of a screen's result, and the copy written by the new interface carried no backtest. |
| 2026-09-23 | Improvement | Minor | The symbol search box no longer offers a Hong Kong ticker that has been replaced by its zero-padded form (700.HK beside 0700.HK). Only a spelling whose replacement is listed as well is hidden, so nothing disappears from search without an alternative being offered in its place. Both interfaces. |
| 2026-09-23 | Bug fix | Major | A newly discovered listing can no longer become the company's primary listing on the strength of not having been classified yet. For a company with no listing in its home country, each new secondary listing briefly outranked the real one, which moved the primary listing — and the source of the company's figures — onto a minor line. Tencent's primary listing walked across four Thai depositary receipts in twenty minutes this way; it now stays on the Hong Kong listing. |
| 2026-09-23 | Bug fix | Major | Company profile data (country, ISIN, industry, description) is now written only by the company's primary listing. A secondary listing could previously overwrite it, which mattered where the data source answers differently per listing. |
| 2026-09-23 | Bug fix | Major | Hong Kong stocks: a company whose ticker lost its leading zero at the data source (700.HK, superseded by 0700.HK) could have its primary listing set to the retired spelling, which left the Primary listing field of the company profile blank on both tickers. The primary listing is now always one of the company's own listings, the retired spelling can no longer return on an import, and a saved watchlist or bookmark that still names it is served the current ticker instead. |
| 2026-09-23 | Improvement | Major | In the new interface, the metric tree and the screener's metric picker now list every metric of a group instead of only its headline ones, so metrics such as LT Debt, CapEx and Dividend paid can be browsed to instead of typed by name. The larger groups open as sections: the balance sheet by current, non-current and total assets and liabilities, equity and derived measures, and the cash flow statement by activity and then by claimant — enterprise, equity and owner. |
| 2026-09-23 | Data Quality | Minor | Bechtle: Had latest LT Debt added by source. |
| 2026-09-22 | Bug fix | Minor | In the new interface, a saved screen that filters or sorts on a quarterly metric reported "Unknown metric" instead of opening. Such screens now open and run again. |
| 2026-09-22 | Improvement | Minor | View definition: a money column can now be shown in the currency the company reports in, next to the stock price currency, the market currency and a fixed currency. In the new interface the currency of a column is a drop-down instead of a text field, so the choices no longer have to be typed as codes. |
| 2026-09-22 | Bug fix | Minor | View definition in the classic client: the options "Stock price currency" and "Market currency" were labeled the other way round, so a column set to one showed the other. Visible only where a listing is quoted in a different unit than its exchange, such as a London listing in pence against GBP. The labels were corrected, so columns in saved views keep the currency they have today. |
| 2026-09-22 | Improvement | Minor | API: the usage lines at the foot of a CSV export and the "over quota" message now say that the limit is per calendar month and on which date it resets. The footer showed the same number as "max usage" and "daily", which read as a daily limit that would be back the next morning; a trial user then waited two days for a counter that resets on the first of the month. The documentation now states the trial limit of 15 calls per month and that exports started from the interface count as well. |
| 2026-09-22 | Security | Major | API: the services authenticate with the API key only. The undocumented user
parameter, which accepted a bare user id instead of a key, is no longer accepted; the HTML
report of the classic client now uses the key as well. The owner parameter of the
Saved query and Backtest result exports, a user id as well, is gone: a saved query is
addressed by its name alone - your own, or else one another user shared. In the classic client
a screen link (/screen/…) now opens only for its owner unless the screen is shared, a screen
that is not shared no longer offers a link (share it to get one), and the data a watchlist
or referral link fetches about its owner is reduced to what those links need. |
| 2026-09-22 | Improvement | Major | API: money values can be requested in the company's reporting currency. The Stock list,
Saved query and Stock with history CSV exports, the Search (JSON) endpoint and the MCP
search_stocks tool accept a currency parameter: reporting
returns the financial statements in the currency the company reports in (a Stockholm listing
that reports in EUR comes back in EUR, prices stay in SEK), price the stock price currency, an ISO code converts everything to
that currency. Each response now states the currency it used: the CSV exports in their column
headers and footer, the JSON search in a currency field per stock. Without the
parameter the output is unchanged. See the API documentation. |
| 2026-09-21 | Improvement | Minor | Screener in the new interface: the index picker now also drops the full list of indexes (click the field or the ▾), as the classic client does; typing still filters it. |
| 2026-09-21 | Bug fix | Major | Key fundamentals in the new interface could show a different value than the classic client and the screener for some growth metrics (UUUU: EBIT growth -43 % instead of 16 %): the recent-quarter variant of the metric was shown instead of the fiscal-year value. Fixed. |
| 2026-09-21 | Improvement | Minor | Stock page in the new interface: hovering a value in the Stock, Key fundamentals, Scores, Solvency and Liquidity panels now shows how it was calculated, as in the classic client and in the metric tables. |
| 2026-09-20 | Improvement | Minor | Stock list in the new interface: column headers now sit against the data they name (bottom-aligned), and on a phone the header band holds two label lines instead of three. On a phone, holding a finger on a column header, a metric cell, an assessment row or any button now shows what the hover shows on a desktop; a tap still does what it did. |
| 2026-09-20 | Improvement | Minor | Account menu in the new interface: on a phone it did not fit the screen, which put Sign out out of reach, and it was hard to close. It is now a panel with a close button that scrolls, with your subscription and Sign out at the top, the settings below, and the account details folded away. |
| 2026-09-20 | Bug fix | Minor | Stock list in the new interface on a phone: the controls to the right of the list tabs (return, counter, Update all data, the View picker and the ⋯ menu) ran off the right edge of the screen, out of reach, and squeezed the tabs down to a scroll arrow that did nothing. On narrow screens they now sit on a line of their own under the tabs. To make that one line, "Update all data" and the ✎ view editor have moved into the ⋯ menu next to the View picker, on every screen size — alongside Export csv and the row-button placement. |
| 2026-09-19 | Bug fix | Trivial | Price chart in the new interface: the Indicators list under the StockDio and TradingView charts could not be closed once opened, and ran off the right edge of the screen when the settings bar had wrapped. It now closes on a tap outside it, on Escape or on its ×, and opens to whichever side has room. |
| 2026-09-19 | Improvement | Minor | Fundamentals view in the new interface: the assessment ("Overvalued", "Growth", …) now stands above the Stock table as a row of tags, close to the advice, instead of below the two tall panels — on a tablet it was the one thing you had to scroll for. The scores keep their own panel, titled "Scores". |
| 2026-09-19 | Improvement | Minor | The account button in the new interface now shows the state of your account next to your name, the way the color of the classic account icon did: your plan when it is paid (green), the days left of the free trial (blue, turning amber in the last five days), or "Expired" / "Payment due" (orange, and the button's border turns orange with it). Hover it for the full sentence with the date. On a tablet or phone only the colored dot remains; the account menu still has the details. |
| 2026-09-18 | Improvement | Minor | The year columns of the metric tables in the new interface read as in the classic table: "FY 2022", with a hover that says what the column holds for that kind of metric ("In fiscal year: 2022, ending 31 Dec 2022" for an income item, "End of fiscal year 2022, ending …" for a balance item, "Start Jul 2022" for the price). The quarterly columns got the classic hover too ("fiscal period: 2024-Q2, calendar period: 2024-Q2, end of Jun 2024"). Messages that make up a whole pane ("Loading…", an empty whiteboard) are centered instead of standing at its far left. |
| 2026-09-18 | Improvement | Minor | The "+" box of the new interface, where you paste a list of tickers onto the whiteboard, has the two options of the classic symbols popup: "Recalculate if price changed" and "Recalculate technical indicators", both on by default. The box itself is larger, so a long list is readable while you paste it. |
| 2026-09-18 | Bug fix | Major | In the screen builder of the new interface, removing a condition could corrupt the values of the conditions below it: the value box of the removed row lived on under the next metric and its text was read in that metric's unit, so a Piotroski score could end up as 80 and a Slater score as 8000% without anyone typing them. Reset could leave a value behind in an empty row the same way. Each row now keeps its own box, and a box whose metric changes keeps its text and reads it in the new unit once that is known, as the classic dialog does. |
| 2026-09-18 | Bug fix | Major | The stock list of the new interface could show blank cells for the price changes (5 days to 180 days), the price standard deviations and "price vs moving average" of a stock whose price had not moved since it was cached, and a recalculation did not fill them. These cells are computed from the price's own history, and the list fetched prices without it; it now asks for the history where it is missing, as the classic list always did. |
| 2026-09-18 | Improvement | Minor | In the new interface, the back and forward arrows above the metric menu now walk the panels you opened for the selected stock (Fundamentals, a metric, Company profile...). Picking another stock in the list is no longer a step in that history, so the arrows do not switch stocks. They moved to the right, above the metric search box, and they dim when there is nothing further back or forward. |
| 2026-09-18 | Improvement | Minor | In the metric tables of the new interface the TTM column shows the date its data runs to, as the classic table does, and it is marked with side lines down the whole table. Clicking a year header marks that column too (click again, or another year, to move the mark); clicking TTM releases its own lines. |
| 2026-09-18 | Improvement | Minor | The metric search box of the new interface now finds every metric the tables show, including the ones the metric menu does not list (NIBCL, Net PP&E, LT Debt & Lease, Debt issued, DSRI, Cash & ST Inv.), and names them without a submetric suffix. "&" and "and" are interchangeable, hyphenated words match with or without the hyphen (PP&E, PPE), and a short name typed in full (AR, DSRI) puts that metric first. A financial statement item comes before the ratios derived from it: "cash" lists Cash and Equivalents ahead of Cash ratio. |
| 2026-09-18 | Improvement | Minor | In the new interface, hovering a stock list column header shows the full column name with its submetric, and the header labels are aligned at the top of the header band. In the metric charts the price axis is labeled at round values (0.15, 0.30, 0.45...) instead of the prices that happened to sit on the metric's gridlines (0.6667, 0.5333...). |
| 2026-09-18 | Improvement | Minor | Clicking a password link that has expired or was already used now sends a fresh one to the account's e-mail address automatically (at most once a day). |
| 2026-09-18 | Improvement | Major | Phones and tablets now open the new interface. The classic pages were built for a desktop screen; on a phone they were hard to use, and a search result could even land on the old tablet page. Signing in on a phone brings you to the new interface as well. The classic version stays reachable through its link in the new interface. |
| 2026-09-17 | Improvement | Minor | The charts in the new interface label their value axes at round intermediate values (0, 1 M, 2 M, 3 M) with a gridline each, and the axes sit right next to the plot instead of across a gutter that grew with the screen. |
| 2026-09-17 | Bug fix | Major | The stock list of the new interface could answer "Failed to load stock list" / "Some rows could not be loaded" for every request until a reload landed on another server: when the first list page of a freshly started server was opened, its views and its rows were built at the same time and the column definitions came out incomplete. Happened about every other day since August; the definitions are now built once, before anything reads them. |
| 2026-09-17 | Improvement | Minor | Long column names in the new interface's list get a third header line and a slightly smaller font, and a name that still does not fit loses its middle instead of its end ("Cash-nopat … b/o ann qtr"), so sister columns no longer look identical. |
| 2026-09-17 | Improvement | Minor | Small things in the new interface: back and forward arrows sit above the metric menu and step through everything you opened on a company, not just its metrics; a row of the whiteboard or a stock list is removed with "−" rather than "×", and a list you cannot edit (Uncle Stock Portfolio, Stocks with notifications, Never invest) no longer offers a remove at all, as in the classic interface; and the notifications in the lower left are orange with a thicker rim, so they no longer disappear against the white metric menu. |
| 2026-09-17 | Bug fix | Minor | In the new interface, a list row that was being recalculated after a price move could come back with the 5d to 180d price changes, the price standard deviations and Price vs MA blank, while the 1y change was filled. The recalculation now always works on a price that carries its history. Examples: III.TO, AEYE, OKEA.OL, CRON. |
| 2026-09-17 | Improvement | Minor | A price quoted in half or quarter cents is shown with three or four decimals instead of rounded to the cent (MYID.V: 0.235 instead of 0.24). Applies to the price, previous close, bid/ask, day range and day change; a price converted into another currency keeps two decimals. |
| 2026-09-17 | Improvement | Minor | Opening a metric in the new interface showed its technical code ("198-4") as the title until the values had been computed; it now shows the metric's name right away. |
| 2026-09-17 | Improvement | Minor | A metric table in the new interface can now also show the related rows that have no value (the eye button above the table), so a missing Revenue is visible as such and the tables keep the same shape from stock to stock. Recalculate sits next to Reimport on the Company profile again, and the "× Back to overview" button above the table is gone: the menu on the left already leads everywhere it went. |
| 2026-09-17 | Bug fix | Minor | The Source data and Benchmark tabs of a metric in the new interface failed with "id parameter required" after opening the metric from a row in the quarterly table. Example: VCI.V / Operating Income. |
| 2026-09-17 | Bug fix | Major | Since January the background recalculation skipped its round for low-volume listings (OTC, the German regional exchanges, Bombay, ...): the query that selects the oldest screener documents on that day never matched an exchange, so about a fifth of the screener documents had not been refreshed since before August, and a listing could keep showing older financial results than its sister listings of the same company. The query is fixed and those documents are refreshed again, oldest first. |
| 2026-09-16 | Bug fix | Minor | A recalculation that ran right after an earlier recalculation or import could compute on a price without its technical indicators, leaving RSI, moving averages, momentum and the median volume empty in the screener until the next import, and the recent Share turnover on the quarter value. Such a price is now fetched with its indicators before recalculating, and the recalculated values reach the stock page as well as the screener. Example: MYID.V / Share turnover. |
| 2026-09-16 | Bug fix | Minor | Sorting a list on the Advice column in the new interface now orders the advices by strength, with Strong buy on top on the first click. It sorted them alphabetically, which put Buy before Hold, Sell and Strong buy. |
| 2026-09-16 | Bug fix | Minor | The recent Share turnover used the median volume of the last completed quarter, up to three months old. It now uses the running median volume, like Days to cover does. Example: IDR. |
| 2026-09-16 | Bug fix | Major | The year-end points of Analyst coverage were lost again right after they were recovered: the first import after a change in the metric logic clears the data of the source before it is read afresh, and that also cleared the recovered points, which the source cannot deliver again. The import now keeps them, together with the EPS revisions and the analyst counts of earlier imports. Companies imported between September 15 and 16 have lost their earlier year-end points; their Analyst coverage history starts on the current quarter. Example: NVIDIA lost their earlier year-end points. |
| 2026-09-15 | New metric | Major | Analyst coverage: the number of analysts following a company, with its change over the past year (Analyst coverage.1y diff) and over the past quarter (Analyst coverage.qtr diff), so a screen can pick out stocks that analysts started to cover or dropped. The count is taken at every import, and the quarter rows keep how it evolved. This untangles Number of analyst opinions, which mixed two counts: on the last quarter of a fiscal year it showed the analysts estimating that whole year, on the other quarters the analysts estimating the quarter, which made the quarter rows saw-tooth. It now counts the analysts estimating the period everywhere; the fiscal-year counts of past years live on as the year-end points of Analyst coverage. The EPS revisions up and down are read the same way, as a snapshot of the analysts following the company, so the EPS revisions ratio divides like by like and is no longer a sum over quarters. The UncleStock score and the Peter Lynch view, which want few analysts following a stock, now read Analyst coverage. Example: Atlas Engineered Products Ltd. |
| 2026-09-10 | Layout | Trivial | More room between a metric chart and the value labels beside it, so a series that ends at its high no longer runs underneath the price label. |
| 2026-09-10 | Bug fix | Minor | The chart of Share Turnover in the new interface now runs up to today. Its line stopped on the first day of the quarter while both of the numbers it is made of — the traded volume and the share count — chart up to today, so it read as three months stale next to a “recent” column that already showed the current figure. Days to Cover, which has no history at all because short interest arrives as a single current figure, now shows that one value as a point on the price chart instead of “no historical chart”, the way the classic client does. |
| 2026-09-10 | Improvement | Minor | A screen built in the new interface can sort on several metrics again, the way the classic client does: "Add sort criterion" puts a "then by" row under the sort metric, and the result is ranked on the sum of the criteria's normalized scores. Those further criteria offer the normalized metrics only — the scores plus Beta, EBIT yield, Free Cash Flow yield on Enterprise Value, Economic spread, Return on Capital Employed and the one-year price change — because only those carry a normalized value to add up, and the first criterion joins that set as soon as a second one exists. One direction applies to the whole ranking, so the further rows follow the first one's. A saved screen keeps every criterion. Sorting on several metrics at once needs a Silver subscription. |
| 2026-09-10 | Bug fix | Minor | The metric finder on a company page in the new interface now answers with the metrics that spell what you typed. Typing "p/e" matched 185 of the 405 metrics and listed Price/ Earnings tenth, behind PEG, PEGY, Price, Price target, Price/ Sales and Price to Book, because the punctuation was thrown away and the query became the two letters "p" and "e"; "price to earnings" found nothing at all. Both now land on Price/ Earnings, and each suggestion shows the full name next to the short label — "Price/ Earnings, P/E ratio" — the way the classic client does. The screener's metric field and its browse dialog match the same way, and the screener's list now offers every matching metric before it offers a second variant of a metric already on it. A metric is also found under the names it is widely known by: “Shiller P/E” and “CAPE” reach the ten-year average of Price/ Earnings, “short interest” reaches Days to Cover, and “PE ratio” without the slash now answers with Price/ Earnings first instead of third. |
| 2026-09-10 | Improvement | Major | A tutorial written for the new interface, at unclestock.com/guide. The old tutorial describes the classic client, and a reader of the new one was being sent to a page naming menus that are somewhere else there or gone altogether. The new guide teaches the screener in nine short lessons, one task each: looking a company up, reading a stock list, taking a metric apart down to the calculation and the imported figures behind it, building and saving a screen, backtesting it, and following a portfolio. Every screen it shows is pictured in both the light and the dark theme, and a last lesson is a where-did-it-go table for anyone moving over from the classic client. The Tutorial link in the new interface now points there. |
| 2026-09-09 | Bug fix | Critical | A company's home listing — the listing its figures, its currency and its "primary listing" are built on — could change from one import to the next, and did so on about 15% of the companies that have more than one listing. An import that only had to refresh a price still decided the question, and such a run holds a single listing: the one it was asked about. The home therefore followed whichever listing happened to be refreshed, and a Nasdaq company could be represented by its German or over-the-counter line for a while. Those runs now refresh the price and leave the company alone; when a run does import, it works with every listing the company has instead of the ones its sources happened to cover. A stale home also left the wrong dates on the stock list — "financial results as of" could be months behind what the company page showed. |
| 2026-09-09 | Bug fix | Minor | In the new interface, clicking a date cell in the stock list — "Financial results as of" and its neighbors — opens the company profile again instead of a metric page that does not exist. Exchange, Continent, Home country, Industry group and Summary cells no longer act as links at all. |
| 2026-09-09 | Change | Minor | Saving a notification now closes its window and confirms the save. In the new interface the metric panel also keeps its content off its left edge. |
| 2026-09-09 | Change | Minor | Opening a group of metrics in the new interface shows its chart again — the same few metrics of the group that the classic interface plots, with the price. The Scores group keeps no chart. |
| 2026-09-09 | Bug fix | Minor | The new interface marks a stock again when its price crosses a buy or sell limit you set: a green or red arrow next to the ticker, with your limit and the current price in its tooltip. |
| 2026-09-08 | Bug fix | Minor | Share turnover now takes its volume and its share count from the same moment. Its historical values divided a median volume from a year earlier by the share count of the reported year, so the figure was older than the period it described; every value now uses the most recent quarter known at that point, which changes the metric's history and any backtest that ranks on it. Share turnover also shows quarterly values now, and no longer offers a Source data tab it had nothing to put in. |
| 2026-09-08 | Change | Minor | Growth rate shows its earlier years again in the score table. It was on the list of metrics too costly to compute for every year, and measuring that list showed it does not belong there. |
| 2026-09-08 | Bug fix | Major | The score table opens again in the new interface. On a company with a long history it never finished at all: the page was recalculating the Uncle Stock score for every year on screen, and that single row accounted for most of the wait — well past the ten minutes a page is given. It now behaves the way the classic interface always has. The heaviest scores show their current value and leave the earlier years blank until you press Show more, and a table built from one of your own views does the same. Years from before a company had any figures at all are no longer calculated. |
| 2026-09-07 | Bug fix | Minor | A screen page in the new interface keeps its own name. Opening an industry, sector or country renamed the page after whichever company sat at the top of the list, which is also how search engines recorded it. The news column's list-wide feed is now shown to signed-in readers only. |
| 2026-09-07 | Change | Minor | An address like unclestock.com/stock/AAPL now opens the new interface directly, and it does so permanently, so search engines can index the page it lands on. Six documentation links that led nowhere were repaired. |
| 2026-09-07 | Bug fix | Minor | Search engines can find the screen pages again. The sectors and industries index now links to the new interface instead of to addresses a search engine cannot follow, twenty-one sector, industry and country screens that were telling search engines to ignore them no longer do, and the sitemap lists 149 screens it had been missing. |
| 2026-09-03 | Bug fix | Minor | Export to csv works again from a stock list in the new interface. Since the action moved into the ⋯ menu it did nothing at all: the menu closes itself the moment you pick something from it, and the export window was part of that menu, so it was taken away in the same instant it was asked for. |
| 2026-09-02 | Bug fix | Major | You stay signed in after closing your browser in the new interface. Four things stood in the way: an account that signs in with an e-mail address was not recognized at all, it showed "Sign in" while it was still checking who you are, signing in through a login link left nothing behind to be recognized by, and a single unanswered lookup of your account could erase that memory for good. Signing out remains the only thing that ends it. |
| 2026-09-02 | Data Quality | Minor | Lukoil: had recent half year results added by source. |
| 2026-09-02 | Bug fix | Minor | The address of the new interface without a page behind it, unclestock.com/next, now opens the screener instead of an error page. Every link to the new interface carries a page along, so this only showed up when the bare address was typed or passed on by hand. |
| 2026-09-02 | New feature | Major | In the new interface, a price chart can be compared with a benchmark. Click Compare and pick the index the stock belongs to, its sector, or search for any other stock or index — a competitor, say. You do not have to know or import a single benchmark symbol: the indexes a company sits in are already known, and the sector is offered for European and US stocks. Both lines are then shown as percent change from the start of the period on screen, so what you read is which one did better, and the legend puts both numbers side by side. When you move on to another company, a market index you picked stays; a sector comparison is asked again for the new company's own sector; and a benchmark you chose for one particular stock is dropped, because it says nothing about the next one. On a chart that cannot draw a second line, choosing a benchmark switches to the one that can. |
| 2026-09-01 | Bug fix | Minor | Prices are refreshed again for stocks whose exchange shares a code with another one at our price provider. Several listings map onto the same code there — Paris and NX listings among them — and when a batch of stocks happened to contain two of them, the provider answered in a shape the importer did not expect, leaving the whole batch without a price update rather than just the one stock. Stocks on a few exchanges, New Zealand among them, were also being asked for under an invalid code and never received a price at all. |
| 2026-09-01 | Bug fix | Minor | Closing your browser no longer signs you out. Your sign-in is meant to be remembered for a long time, but a single request that failed to get an answer — a moment of network trouble was enough — quietly threw that away, and from then on you had to enter your password again on every visit. It is now cleared only when you sign out yourself. |
| 2026-09-01 | Bug fix | Minor | In the new interface, a stock list no longer shows locked values while you are signed in. The list could come from your browser's own cache in the state it had before you were recognized, which is why closing the tab, emptying the list or a trip to the classic version sometimes cleared it and sometimes did not. |
| 2026-09-01 | Bug fix | Minor | In the new interface, a screen condition says what to type. The box now carries the metric's own unit beside it and takes the value in that unit, the way the classic version always has: next to a "%" you type 10 for ten percent, and next to "M USD" you type 2000 for two billion. Before, the unit was nowhere on screen and the box wanted 0.1, so the value was a guess. Hovering it shows where that metric is weak and where it is strong, and an ℹ beside the row explains what the condition actually measures — which is what tells two similar metrics apart. Metrics a backtest cannot use carry a warning sign instead, as before. Picking a metric also sets the comparison the sensible way round again: below for a price/earnings ratio, above for a return on equity. Queries you already saved are unchanged; only the way the box reads and accepts a number has. |
| 2026-09-01 | Bug fix | Minor | In the new interface, a continent whose countries are only partly selected now shows a grey, half-filled check box instead of an empty one — and the same for a sector whose industry groups or industries are partly selected. An empty box said "nothing here is selected", which is what you see of a branch until you open it. The classic version has always drawn this third state. |
| 2026-09-01 | Bug fix | Minor | In the new interface, "Screen stocks" starts from your default query again — the one you marked with "Start new screens from these criteria" — including its markets, its sectors and options such as "Exclude foreign listings", not just its conditions. While a screen you had already run was on the table, the dialog reopened that screen instead and your default was skipped altogether. "Screen stocks" always means a new screen, as in the classic version; editing the screen in front of you is what "Refine query" is for. |
| 2026-08-31 | Bug fix | Minor | In the new interface, a screen result opens with the view that belongs to it. Choosing the Piotroski screen now shows the Joseph Piotroski columns, Mohanram top the Partha Mohanram ones, and so on: the view follows the metric the screen sorts on, the way the classic version has always built it. Every screen opened on whatever view you last used instead. This also fixes what you saw after refining a predefined screen — the condition metrics you asked to show as columns were added on top of the wrong set of columns, so the result looked nothing like the screen you started from. They are added to the screen's own view now. A screen that sorts on the Uncle Stock score still opens on your preferred view, and a view you pick yourself still wins. |
| 2026-08-29 | Layout | Trivial | In the new interface, "Export csv" carries the same icon in the stock list as it does in the header of a stock: the download arrow. One action, one icon — the list used a table mark, which said what the thing is rather than what happens, and the label beside it already says csv. |
| 2026-08-29 | Bug fix | Minor | In the new interface, the arrows that step from one stock to the next are no longer hidden behind the company name. On a wide window they were lifted out of the header and parked in the margin beside the detail block — a margin that disappeared when that block was widened, which dropped them straight onto the name. They sit on the name's line again, at every window width. They also read as one control now, the two arrows and the counter together in a single outlined block, instead of two faint glyphs beside a large title. Ctrl+↑ and Ctrl+↓ do the same thing from the keyboard. |
| 2026-08-29 | Layout | Minor | In the new interface, the Stock, Key fundamentals and Assessment cards use the same row height as the stock list above them: 26.5 pixels instead of 30.3. They had inherited the larger body type, which made every row a quarter taller than the list you step through, and it added some 150 pixels of scrolling across the three cards. The label column keeps its horizontal space — only the height changed. |
| 2026-08-29 | Layout | Minor | The header of the detail panel in the new interface is 16 pixels shorter. It carried 40 pixels of empty space under a single line of content; in a split view that space is a row of the list above it. |
| 2026-08-28 | Bug fix | Minor | In the new interface, the "My position" card keeps its numbers for a position whose transaction carries no currency — shares you hold without having recorded what you paid, for one. The card had nothing to convert the amounts into and lost its value, its amount invested and its average price, keeping only the shares and the transaction rows. It now falls back to the currency the stock itself is quoted in. |
| 2026-08-28 | Layout | Minor | In the new interface, the "More stocks" bar under a list is centered and has room below it. It was left-aligned directly above the "⤢ Full list" pill on the splitter, which sits on the left as well, so the two read as one clot of text and button. |
| 2026-08-28 | Bug fix | Major | A screener search that did not gather the number of stocks it was asked for on its first pass repeated that very same pass — up to ten times — instead of reading on through the results. Three things followed from it, in the classic version as much as in the new one. A search could answer with fewer stocks than it was able to find. Every repeat counted its stocks as skipped a second time, which inflated the number the result reports as skipped and pushed the position it hands out for the next batch far past results nothing had looked at yet — so walking a screen with "More stocks" jumped over stocks and stopped early. And the same search picks the companies an industry median is computed from, where it asks for a hundred: measured over eight hours of production, four of eleven of those selections fell short while more companies were available. The search now moves on to the next stretch of results, and every "difference vs industry" metric follows the medians that come out of it. Medians are kept for three months, so the corrected ones appear as each one is rebuilt. |
| 2026-08-28 | Bug fix | Major | In the new interface, a screen you built or refined can be walked all the way to the end. It answered with the batch you asked for — "Get 8 results" — and stopped there: no "More stocks" button, however many matches the counter reported next to it. It also threw away the stocks it had found beyond that eighth one, and then resumed past them. The button now continues the search where the previous batch ended, using the position the server hands back with every batch, and it disappears when the whole result has been walked. A free-text screen and one of your own saved queries continue the same way. Predefined screens and the sector, industry and country links are unchanged: those answer from one stored result that every visitor shares. |
| 2026-08-28 | Improvement | Minor | The new interface can swap the green and red it judges values with for blue and orange, in the account panel under "Colors". Green versus red is what says a value is good or bad — the cells of a stock list, the rows of a metric, the chips of the assessment — and for red-green color blindness, the most common form, the two are simply the same color: as the cell backgrounds of the light theme they are all but identical. Blue and orange stay apart for every form of color blindness, and keep the reading of cool = good, warm = watch out. The choice is remembered in your browser, like the light and dark theme, and applies to the tables and the charts at once. |
| 2026-08-28 | Layout | Minor | In the small charts of the new interface, the metric and the price behind it are now told apart at a glance: the metric line is drawn a shade heavier and its datapoints carry small dots, the price line a shade thinner and unmarked. The two are different in kind — the metric is a handful of measured values, the price a continuous line to read them against — and until now only the color said so. The dots are left off again when the points sit too close together to stay separate. |
| 2026-08-28 | Layout | Minor | The zero line of the small charts in the new interface is now drawn slightly heavier than the gridlines, and it is drawn as well when the metric stays on one side of zero, where zero is the floor or the ceiling of the chart. All five horizontal lines carried the same weight, so nothing in the chart said which of them the values are read against. |
| 2026-08-28 | Bug fix | Minor | In the new interface, the view belongs to the stock list again. Each open list is shown with the view you last picked for it, and a view you choose becomes the default for the lists you open next — the way the classic version has always worked. Until now the new interface carried one view across every tab, so choosing a view on one list quietly re-columned all the others; switching back and forth could not undo it. Only the portfolio tab, which always opens with the Trading columns, already behaved this way. |
| 2026-08-28 | Layout | Minor | On a tablet, the row of open documents in the new interface had room for two of them, because the controls beside it took more than half the row. Export csv and the placement of the row buttons — choices you make once — now sit together behind a "⋯" button. And when the tabs do run past the edge, a pair of arrows appears to scroll them; until now the cut-off tab read as a rendering fault rather than as an invitation. The view picker, the pencil that edits views and the counter stay where they were, but sit closer together, with the pencil against the picker it belongs to. On a tablet the account button at the top no longer grows to fit a long name either — it shortens, and the full name is in the panel it opens. |
| 2026-08-28 | Improvement | Minor | In the stock list of the new interface, clicking one of the date columns — as of, last update, last import, calculation date, earnings announcement — opens the Company profile of that stock, where that same date stands in full. Hovering the cell says so. The other columns are unchanged: the ticker, the name, the sector and the rest simply select the row, and the detail panel keeps the view you chose, so the profile stays up while you walk down the list. |
| 2026-08-27 | Improvement | Minor | The small charts of the new interface now draw the zero line when a metric goes below zero and the axis is anchored at zero (the "0" button). The axis already contained zero, but nothing marked it, so a glance did not tell you which points were losses — NOPAT on BQE.V, for instance. There is now a horizontal helper line at zero, labeled on the metric's own axis. A series that stays on one side of zero is unchanged: zero is the floor or the ceiling of the chart there, and was already labeled. |
| 2026-08-27 | Improvement | Minor | In the metric viewer of the new interface, a metric that is also one of the context rows at the top — Price, Market cap, Revenue — now appears in its own list too. On Revenue's own page its plain amount only sat in the context band above, and was missing from the list of Revenue's dimensions between the per-share, growth and CAGR rows, which is where it is looked for. It shows in both places now; the rows of other metrics are unchanged. |
| 2026-08-27 | Improvement | Minor | The small chart of an income-statement or cash-flow metric, in the new interface, now also plots the twelve months ending two and four quarters ago — rolling(-1) and trailing(-1) — between the fiscal years and the trailing twelve months. The recent end of such a series used to jump straight from the last full fiscal year to the trailing figure, up to five quarters later, with nothing in between. All three are twelve-month sums, so they read against each other and against the yearly points. A window that would land on a date that already carries a point is left out rather than drawn twice. |
| 2026-08-27 | Improvement | Minor | You stay signed in on the new interface. Being signed in lives in a session that expires on its own, and the new interface only rebuilt that session when the browser had been closed. A session that simply timed out therefore left you signed out on a page that still knew who you were, and the only way back in was a trip through the classic version. The new interface now restores your sign-in from the same long-lived cookie the classic version has always used, and it does so on every request instead of once at start-up. Signing out still signs you out: it now clears that cookie as well, the way the classic version does. |
| 2026-08-27 | Improvement | Minor | "Sign in" in the new interface now brings you back to the page you were on. Signing in happens on the classic version, which is where the login and the social accounts live, and until now that is where you were left afterwards. |
| 2026-08-27 | New feature | Minor | In the new interface, you can now choose where the + and × buttons of a stock list row sit, from the button next to the view picker: on the left before the first column, fixed against the right edge so they stay in view while you scroll sideways, or after the last column where they scroll along with the columns — which is what the classic version does. The classic version's own setting is the same one, so a choice made there is read here and the other way around; the middle option, which classic does not have, shows up there as the last one. |
| 2026-08-27 | Layout | Minor | The selection checkbox of the stock list in the new interface now lines up with the search box and the list tabs above it, instead of floating in the middle of its column and drifting further right the wider the window got. At the other end of the row, the header above the + and × buttons was painted white instead of carrying the grey header band, which left an unexplained white block in the top right corner; it is now part of the band like every other header, and the two buttons sit against the right edge. |
| 2026-08-27 | Improvement | Minor | The notifications of the new interface — "reimport is ready" and its like — have moved from the bottom right corner to the left of the screen, two thirds down, where they are in view instead of tucked away. The "reimporting…" message in the company profile also disappears once the reimport is done, rather than staying behind under a finished job. |
| 2026-08-27 | Improvement | Minor | In the new interface, a stock you sent for a reimport or a recalculation now shows it in the list as well, on its own row: a turning spinner while the metrics are being recomputed, a pulsing dot while the source data is being fetched. The list already did this for the work it started itself; now it also shows the work you started by hand from the detail panel, and the marker stays on the row while you browse other stocks. |
| 2026-08-27 | Improvement | Minor | The "add to a stock list" window in the new interface no longer arrives with your default watch list ticked: with several lists that meant unticking it every time. It now also shows, the way the classic version does, which lists the stock is already in — those are ticked in grey and cannot be picked again. When you add several stocks at once and only some of them are already in a list, the window says how many. |
| 2026-08-27 | Improvement | Minor | In the new interface, a space in the search box no longer splits what you type into separate tickers, which was in the way of searching for a company by name: "Kinross Gold" now searches for the name again. A list of tickers still has to be separated by a comma, a semicolon or a line break, and spaces then count as separators too, so "K, FUC.BE ADM" still offers to add all three. The "+" box for pasting a list is unchanged. |
| 2026-08-27 | Improvement | Minor | In the new interface, the search box for tickers and company names now also answers to the Enter key while it is still looking. Someone who knows the ticker can type it and hit Enter in one go: the stock opens as soon as the matches come back, instead of the keystroke being ignored because the list was not on screen yet. The magnifier button works the same way. Arrow keys and Escape are unchanged. |
| 2026-08-27 | Layout | Minor | The window for your own rating and notes on a stock, in the new interface, is now clearly wider, so a sentence in the notes no longer breaks after a few words. Its width can also be dragged, next to the height of the notes box itself. |
| 2026-08-27 | Data Quality | Minor | When the quarters a data source reports do not add up to the full year it reports for the same metric, Uncle Stock stops trusting those quarters and rebuilds them. Until now a quarter that could not be rebuilt from its own components was simply given the year divided by four, even when the other quarters of that year were known. For Topicus.com, whose 2025 quarters for Cash Flow from Financing add up to 110.55M EUR against a reported year of 381.07M EUR, the four quarters shown then came to 325.07M instead of the reported year. Such a quarter now gets its share of what is left of the year once the known quarters are subtracted, so the quarters add up to the year again. Quarters that can be rebuilt keep their own value, and the year itself is never changed. |
| 2026-08-26 | Layout | Minor | The columns of the stock list in the new interface are now sized to what they show, which makes the table narrower and fits more of it on screen without scrolling sideways. |
| 2026-08-26 | Improvement | Minor | A refinement to the rCAGR change of August 20. For metrics that measure a period — revenue, earnings, cash flow — the extra point at the end of the series is the sum of the last twelve months. When a company has only just reported the first quarter of a new fiscal year, three of the four quarters in that sum are the previous fiscal year again, so the regression would weigh almost the same period twice. In that case the previous fiscal year is now left out, which leaves a gap of one quarter instead of an overlap of three. Two or three quarters into the year the overlap is one or two quarters, smaller than the gap that leaving the year out would create, so the fiscal year stays. Metrics that measure a balance at a single moment, such as debt, equity or share count, are unaffected: a balance covers no period and cannot overlap one. Historical values are untouched, so backtests are unaffected. |
| 2026-08-26 | Improvement | Minor | In the new interface, the "My position" card lets you choose the currency its amounts are shown in, like the position table of the classic interface, and it now also shows the average price you paid per share and your total return as an amount. |
| 2026-08-25 | Cost | Minor | The Search API and the MCP server now return at most 150 results per request, with a default
of 20 instead of 50. Asking for more still succeeds and returns 150, with a note in the response's
warnings array so a shortened result is never mistaken for the full list.
total_matches keeps reporting how many stocks passed all filters, and the number of
metrics you may request per stock is unchanged. These endpoints answer "which are the best
matches", so they deal in small numbers; to export a larger set as a file, the Saved query CSV
endpoint now allows up to 500 results per call, where it previously had no stated maximum. The
daily MCP allowance for Gold subscribers is 75 search_stocks calls, which the
documentation previously described as unlimited. |
| 2026-08-25 | Robustness | Minor | When a server ran out of memory during a backtest, the connection handler to the search engine could die without the searches already sent ever being answered. The backtest then kept waiting for those answers indefinitely, occupying the server until it was recycled. Waiting for a batch of searches is now bounded in time: moments that stay unanswered are marked as failed, the connection to the search engine is rebuilt and they are retried, and if that fails as well the backtest reports an error instead of hanging. |
| 2026-08-25 | Data Quality | Minor | Had LUNR.TO and A6E.F added by source. |
| 2026-08-25 | Bug fix | Minor | Changed chart service for Johannesburg to StockDIO. |
| 2026-08-25 | Bug fix | Minor | The basic price chart drew a stock quoted in pence in those pence: a Johannesburg listing was charted in ZAX where the price above it reads ZAR, a London one in GBX instead of GBP. The chart now uses the same currency as the rest of the page, in the classic as well as the new interface. The currency is also written on the vertical axis — on the price chart and on a metric's chart — so it is clear what the numbers are. |
| 2026-08-25 | Improvement | Minor | In the new interface, the basic price chart now writes the price next to every gridline and starts its axis at zero, the way the small charts on a metric already did. A move of a few percent then looks like a few percent instead of filling the whole chart. The 0 button next to Lin | Log fits the axis to the prices again if you prefer the closer view, and your choice is remembered. The chart itself is taller as well. On a metric's chart the price on the right-hand axis now starts at zero too, so both lines are read against the same kind of scale. |
| 2026-08-21 | Bug fix | Minor | In the new interface, the box that looks up a ticker or a company name sometimes took ten seconds or more to answer the first time after you opened the page. It is now much quicker, and it also searches the full company name, so a listing is easier to find. |
| 2026-08-21 | Improvement | Minor | The new interface can now hand a stock to an AI chat, like the "AI Text" tab of the classic interface: the icon next to the csv download on a stock copies an instruction plus that stock's figures, ready to paste into Claude, ChatGPT or another assistant. You can edit the instruction, it is remembered, and you choose between the key figures alone and the full set the classic tab uses — the number of characters is shown, because a short list is usually answered better than a long one. If your AI supports connectors, the MCP connection remains the better route: it reads Uncle Stock directly, without copying. Included in the Gold Pack, like the csv export. |
| 2026-08-21 | Improvement | Minor | In the new interface you now stay signed in when you come back later, instead of having to sign in again by way of the classic version, and your own views come back with you. While signed out the tab strip no longer shows your personal lists, and the white board can be emptied with the × on its tab. |
| 2026-08-21 | Bug fix | Minor | In the new interface, the list of suggestions that appears while you type a metric was cut off at the edge of the box around it. It now floats above everything else. |
| 2026-08-21 | Bug fix | Minor | Backtests read a separate search index for each quarter, and a new one is prepared when the quarter starts. The one for the current quarter was created the wrong way on 1 August: a stock was written to it a moment before it had been prepared, so it ended up in a shape that cannot answer the kind of question a backtest asks. A backtest only starts reading a quarter about a month in, so none had reached it yet and no result was ever affected. The index has been rebuilt correctly with all of its data, and the order in which the quarterly indices are prepared has changed, so that the quarter at risk is now the first one made ready rather than the last. |
| 2026-08-21 | Improvement | Minor | The main search index behind every screen and stock page was rebuilt. It dated from February 2022 and was still in a format that the next Elasticsearch version refuses to open, so it had to be replaced while the current version can still read it. The site now reaches it through a name that can be pointed at a different index without a release, which is what allowed the switch to happen without interrupting anything. All 77,824 stocks came across and searches return exactly what they returned before; the data itself is unchanged. |
| 2026-08-20 | Improvement | Minor | In the screen dialog of the new interface, the sort criterion now offers a choice between descending and ascending, as in the classic interface, instead of a "worst first" tick box. The tick box asked the question the wrong way round: what it did depended on the metric you had chosen, so you first had to know whether a low or a high value counts as good for that metric. A direction says the same thing without that step. Screens you already saved keep sorting exactly as they did. |
| 2026-08-20 | Improvement | Major | Screen, industry, sector, country, index and stock pages of the new interface can now be found by search engines, and links to them show a proper preview on X, Facebook and LinkedIn. Each page has its own title, summary and address, where until now every address in the new interface answered with the same nameless page. The classic interface remains the one you land on; this only changes which address a search engine is pointed at. Our news feeds and social media posts now link to the new interface as well. |
| 2026-08-20 | Bug fix | Minor | Our sitemap — the list of pages we hand to search engines — contained stock index entries with a stray "&" in the address, which made the file invalid, so search engines rejected all 719 pages in it rather than only those entries. The addresses are written correctly again and the whole list is accepted. |
| 2026-08-20 | Bug fix | Minor | Asking for the peers of a stock whose industry we do not recognise made the search fail with an error instead of showing a result. It hit the industry link on a stock, an industry address such as /industry/Mortgage Investments, and anything you typed after "Industry:" in the search box. Those searches now run: the industry is looked up by the name the data source gives, so the peers appear. Typing an unknown sector, country, continent or index in the search box says so plainly rather than failing silently. A saved screen that still carries such an industry from before returns no stocks instead of an error. |
| 2026-08-20 | Bug fix | Minor | In the new interface, a personal view containing quarterly columns could not be saved: pressing "save changes" failed with an error, while the view itself looked perfectly normal on screen. Nothing was lost, but the view could not be edited there. Such views save correctly again, and their quarterly columns stay quarterly. |
| 2026-08-20 | Improvement | Major | The rCAGR metrics (5y, 10y and 15y) now follow the most recent quarters instead of moving only once a year. Until now the regression ran over full fiscal years alone, so the growth rate you saw could be up to a year behind. The current value is now added as an extra point on the date it really ends: the last twelve months for revenue, earnings and cash flow, the last reported balance for balance sheet items. A company that accelerated or stalled since its last annual report now shows it. Historical values are untouched, so backtests are unaffected. This also feeds through to what is built on the rCAGR: the R², the yearly growth GSD, PEG and the growth scores. |
| 2026-08-19 | Improvement | Major | A round of work on the new interface, most of it from your feedback. Metric names now match the classic ones everywhere, so a metric you know by name is findable again, and you can type a metric instead of browsing for one. The screener regained its remaining options, including showing your condition metrics as extra columns on the result. The market and sector trees can now be emptied as well as filled, so narrowing a screen to a few countries takes two clicks instead of a dozen. The backtest remembers your settings, and a saved screen keeps its own. News can be closed away into the menu, and it now behaves on a tablet. From here on, individual improvements to the new interface are listed separately. Open it with "Try new version" in the footer. |
| 2026-08-19 | Data Quality | Minor | EHL.AX: removed incorrect WASO values. |
| 2026-08-18 | Bug fix | Minor | In a csv export, the exchange column wrote out the full name of the exchange (New York Stock Exchange, Euronext Lisbon) while the stock list shows the short code (NYSE, ELI) for the very same stock. Which of the two you got depended on whether the export re-ran a query or exported the listed stocks. The short code is now used everywhere, so an export can be matched against the list and against earlier exports. |
| 2026-08-17 | Bug fix | Major | Quarterly growth and change metrics stayed empty for the most recent quarter whenever a company had not reported that quarter yet. Instead of comparing the two latest quarters the company actually published, the calculation asked for a quarter that does not exist, and no value came out. Such a metric is now again based on the last quarters that were reported, and is marked as coming from an earlier period. |
| 2026-08-16 | Robustness | Minor | When the search engine was momentarily too busy to accept an update, the stock involved was left out of the screener results until its next recalculation, which can take days. Such an update is now offered again shortly afterwards, so the stock stays findable. |
| 2026-08-15 | Technical | Major | Upgraded Elastic client. |
| 2026-08-15 | Bug fix | Minor | Key Fundamentals showed no value for net income from continuing operations (IAT), even though the figure appeared when opening the metric itself. That amount is not part of the precalculated values this overview is built from, so the row stayed empty. The row now shows Net income and its growth, which are both available, so the values are always filled in. |
| 2026-08-15 | Data Quality | Minor | A stock is stored twice: once with its company details and once without. Both copies carry a price, and the two could drift apart, so a page could be shown a price that was older than one already known for that same stock. The most recent of the two is now always used. |
| 2026-08-15 | Performance | Minor | When a stock was already loaded but its technical indicators still had to be calculated, the loaded stock was thrown away and rebuilt from scratch. Rebuilding it lost the company details and the precalculated values, which then had to be fetched again per stock. The stored stock is now kept and only its price is refreshed, which removes those repeated fetches while the indicators are still calculated as before. |
| 2026-08-14 | Data Quality | Minor | Michelin: had quarter revenue corrected by source. |
| 2026-08-14 | Performance | Minor | Industry medians are now kept between requests instead of being looked up again for every one. They are stored per industry, size class and year, so anything covering several years needed dozens of lookups and paid for them every time. This removes those repeated lookups for everything that compares a company with its industry — the scores and the "versus industry" values — including screening and recalculation. |
| 2026-08-13 | Bug fix | Major | Fixed: for a company whose fiscal year does not end in December, Billings, Billings/Revenue and Cash Sales used the change in deferred revenue, respectively in accounts receivable, of the wrong fiscal year in the yearly columns. Revenue was read straight from the fiscal year, while the change over that year was moved to the fiscal year that had already been published at the moment the column is observed. Both halves of the sum now cover the same fiscal year. Companies with a fiscal year ending in December were never affected, and neither were screens or the Recent column. Example: D-Box Technologies / Billing. |
| 2026-08-12 | Bug fix | Minor | Fixed: Earnings surprise.qtr stayed empty in the stock list and in screens, while the same value did show on the metric's quarter page. Quantities that describe a moment in time are stamped one quarter later than the period they were reported for, and Earnings surprise was treated that way even though it belongs to a reporting period. The list therefore asked for a quarter that no company has reported yet. It now reads the last reported quarter, like the other quarterly metrics. |
| 2026-08-12 | Performance | Minor | Screening and the price refresh of a list no longer load the company data of every stock they touch. They only need prices, so they now read the lighter version from the cache: less to read per stock, and fewer prices fetched again from the source because the version with the company carried an older one. Opening a stock's details still reads the company data and keeps the speed-up from yesterday. |
| 2026-08-11 | Performance | Minor | A stock that has its company data loaded is now kept separately in the shared cache. It used to share one place with the far more numerous stocks that carry only price data, which are written thousands of times an hour while screening and refreshing prices, so the version with the company was often no longer there when it was needed. Opening a stock's details therefore reads the company from the database less often than it did. Stocks kept for backtests are compressed as well, like the ones above. |
| 2026-08-11 | Layout | Trivial | The backtest options popup now lines up with the right edge of the Backtest button instead of its left edge, so it no longer runs past the window and adds a horizontal scrollbar. |
| 2026-08-11 | Bug fix | Major | Fixed: quarterly difference and growth metrics ended at the last quarter the source itself reported for that metric, even when the metric could still be calculated from its components. For a company whose source stopped delivering a line item, they kept comparing two long outdated quarters instead of recent ones. The end point now follows the reporting period of the company, and a value that is genuinely older is marked as such. Example: D-Box Technologies / Deferred Revenue.qtr: 1y diff. |
| 2026-08-10 | Improvement | Minor | Exposed for search: Adj. C Shares.5y rCAGR. |
| 2026-08-10 | Performance | Major | Stocks are compressed before they go into the shared cache, which cut a large company from about 1 MB to 155 KB. The cache evicts whatever it has least recently used, so those blobs were crowding each other out: nothing that was not looked at again within minutes survived, and the largest companies did not fit in one entry at all and had to be split. Opening a stock, and everything else that reads a stock from the cache, now finds it there far more often instead of rebuilding it from the database. |
| 2026-08-06 | Data Quality | Minor | The institution and fund owners are imported again. They had been frozen since the source that supplied them was dropped, so the tables showed positions of several years old. They now come from the fundamentals import and carry two additions per holder: the share of the holder's own portfolio invested in the stock, and how many shares it bought or sold since its previous report. Only a listing on a US exchange supplies them, since that is what the data source covers - but a company listed both in the US and elsewhere gets them from its US listing, wherever it is based. Owners last reported before 2024 are leftovers of the old source and are removed as each stock is reimported; more recent ones are always kept. |
| 2026-08-05 | Bug fix | Major | Looking up the company behind a stock could load every company in the database at once. When no company was found under the stock's own key, the lookup was retried using the name from its quote, but at that point the quote had not been loaded yet. The retry therefore ran with an empty list of names, and a search without a single name matches everything. The server then ran out of memory, taking down whatever else it was handling at that moment. This hit the background job that maintains delisted stocks, and it could equally hit you: opening a delisted stock in the new interface uses the same lookup. |
| 2026-08-05 | Bug fix | Minor | The check that flags a suspicious quarterly gross margin compared the quarter against the wrong year. A quarter could therefore be flagged, or wrongly cleared, on the basis of a year it should not have been measured against. Since that check also decides when an alternative gross profit is calculated, this can change the reported quarterly gross profit itself. |
| 2026-08-05 | Improvement | Critical | The plausibility checks on financial figures were only applied when a figure was calculated in its own right. Whenever the same figure was used as a building block inside another calculation, the checks were skipped, so a value that was rejected as unrealistic in one place could still end up in a total elsewhere. Long term and short term leases are now also checked against the debt and leases they belong to when used as a building block, and gross profit against revenue. Example: NameSilo / LT Debt & Lease. |
| 2026-08-04 | New metric | Minor | New metric under Quality of Earnings: Days Current Deferred Revenue (DDR), the number of days of revenue that customers have already paid for but that is not yet recognized. Cash Conversion Cycle now subtracts it as well, so prepayments by customers shorten the cycle the same way credit from suppliers does. Update: Also exposed CCC for search. |
| 2026-08-04 | Bug fix | Minor | The price target of a stock could be built from only part of its ingredients. For a stock whose company data was not fully loaded, the calculation stopped halfway, so free cash flow, intrinsic value, book value, the current price and the moving averages were no longer taken into account. The share count behind market cap ran into the same problem and fell back further than needed. Both are resolved, and the price target now uses all of its ingredients. |
| 2026-08-02 | Improvement | Critical | Migration of UI to React ready. Use Try new version in the footer to switch. |
| 2026-08-02 | Cost | Minor | Increased max-concurrent-requests. Cleanup of artifact registry. |
| 2026-08-02 | Bug fix | Major | When a new version of the site was released while you had a page open, your browser could ask for a part of the application that no longer existed. Clicking a stock, opening a view definition, or in the worst case building the whole screen then did nothing at all, with no explanation on screen; a manual refresh was the only way out. The page now reloads itself once when that happens, which picks up the new version, and tells you what is going on if a reload does not resolve it. |
| 2026-07-31 | Bug fix | Major | Your saved columns, stock lists and stock notes could get lost when your account was written to storage right after it had been cached. The cause is fixed, and an account that was hit is repaired automatically the next time anything is saved on it, so columns and stock lists can simply be set up again. Accounts in that state could also no longer save changes at all; that too is resolved. |
| 2026-07-30 | Data Quality | Minor | Deferred revenue is now checked against the room the balance sheet leaves for it, and skipped when it does not fit: the current part can not exceed the non-interest-bearing current liabilities, the non-current part can not exceed the long-term liabilities minus long-term debt and lease and deferred tax liabilities, and the total can not exceed total liabilities minus total debt and lease. When the value from the source does not fit but the value calculated from the other parts does, the calculated value is used. Example: Atlas Engineered Products / Non Current Deferred revenue. |
| 2026-07-29 | Improvement | Minor | Common stock issued (repurchased) and Net borrowings: when the source value and the exact cash-flow identity are both missing, estimate from Common stock issued / Debt issued (net of repurchases / repayments) instead of leaving the value blank. Example: Brookmount Explorations, Altitude Group, Cheelcare / Common stock issued (repurchased). Also present Common stock issued (repurchased) and Net borrowings as related. |
| 2026-07-28 | Improvement | Minor | Deferred Revenue and EPS: If value from source is missing and calculated value is fuzzy, use calculated value. Example: ADF Group, Kinaxis, Atlas Engineered Products, Thermal Energy / Deferred Revenue. |
| 2026-07-28 | Data Quality | Trivial | Nacon: corrected financial results via reimport. |
| 2026-07-23 | Improvement | Trivial | Exposed Deferred Revenue for search. |
| 2026-07-23 | New metric | Minor | Billings/ Revenue: billings divided by recognized revenue. A value above 1 signals the deferred-revenue buffer is growing (accelerating demand), useful for subscription and prepaid businesses. |
| 2026-07-22 | Performance | Minor | Faster stock list loading: technical indicators for stocks that dropped out of the cache are now recalculated in parallel instead of one at a time. |
| 2026-07-22 | New metric | Minor | Billings: revenue recognized plus the change in deferred revenue (the amount invoiced to customers during the period). |
| 2026-07-21 | Data Quality | Minor | Lukoil: Stop skipping balance sheet import before 2013. |
| 2026-07-21 | Data Quality | Minor | Made detection of incorrect price moves more strict. Example: MOUR.BR, also had data before EUR introduction removed from source. |
| 2026-07-19 | Improvement | Minor | Use basic chart for Amsterdam, as too many stocks not supported by StockDIO. |
| 2026-07-16 | Documentation | Trivial | Improved documentation of Excess Cash'' in Balance information. |
| 2026-07-16 | Data Quality | Minor | Had ALPVL.PA added by source. |
| 2026-07-16 | Data Quality | Minor | SAG.L: Fixed start date of historical price data. |
| 2026-07-15 | Fix | Minor | Faster and more reliable loading of very large stocks (e.g. AAPL): their cached data could exceed a storage size limit, causing repeated slow reloads and, in rare cases, outdated cached values being served. |
| 2026-07-15 | Improvement | Minor | Added Financial Health score under scores group in the metric tree. |
| 2026-07-15 | Data Quality | Minor | Multi-listing improvements: dual-listed namesakes that are legally separate companies (e.g. Siemens Ltd in India vs Siemens AG) are now kept apart instead of being merged under one profile (separation is based on the security's ISIN); and the primary listing of a multi-listed stock no longer flips to an OTC listing (e.g. Airbus now stays on AIR.PA instead of the US EADSY). |
| 2026-07-15 | Fix | Trivial | Metric explanation tooltips: restored the missing period annotation (e.g. "3q") on quarterly money values in some calculated metrics. |
| 2026-07-14 | Fix | Trivial | LKFT.AS and TINC.BR: Had StocDIO chart fixed by source. |
| 2026-07-11 | Improvement | Critical | A preview of the new Uncle Stock client is available: open it with the "Try new version" button in the footer. It offers the familiar screener, stock lists and stock research pages in a faster, modern interface with a dark and light theme, and you can switch back at any time with "Classic version". Feedback is welcome through the Feedback button in its header. |
| 2026-07-11 | Data Quality | Trivial | Added FDC.AX. |
| 2026-07-09 | Fix | Minor | The most recent fiscal year was missing from the interactive chart and the metric charts for companies whose latest reported results are the completed fiscal year itself (no later quarter published yet), e.g. March year-ends before their first-quarter report. The completed year is now shown as soon as its annual results are available. |
| 2026-07-09 | Fix | Minor | Corrected the handling of German secondary exchanges (Berlin, Dusseldorf, Frankfurt, Hamburg, Hanover, Munich, Stuttgart). Their classification was inverted, which could cause a secondary German listing to be treated as a company's primary listing and caused split-adjusted per-share data to be cleaned on the wrong listings. The main electronic market (XETRA) is now preferred and split cleanup targets the correct listings. |
| 2026-07-09 | Data Quality | Trivial | Overruled home country for Airbus to France. |
| 2026-07-08 | Data Quality | Minor | Stock Issued and Debt Issued: when a value is missing and cannot be derived, we now fill in a conservative lower bound from the Cash Flow from Financing. When financing cash flow is clearly positive, at least one of Stock Issued or Debt Issued has to account for it, so we attribute half of the unexplained amount — 0.5 × (Financing Cash Flow − Other Financing − Dividends Paid − the other of the two). This yields a defensible minimum instead of a gap. Examples: Cheelcare, Altitude, Brookmount Explorations, Batm Advanced Communications, Transense Technologies, Sensen Networks and InnerScope Hearing Technologies. |
| 2026-07-07 | Improvement | Minor | Dechow score: Returns the "capital raised" effect as a factor between 0 and 1 instead of a hard 0/1 flag. Example: CrowdStrike, Snowflake, Datadog, Shopify, Cloudflare and Firan Technology. |
| 2026-07-04 | Fix | Minor | The Altman Z-score and ERP5 views now appear under the Gurus group in the view selector. They were defined without a group, so the view picker did not list them. |
| 2026-07-02 | Fix | Minor | Insider transactions (stock details, Holders tab) are shown again for US stocks. The data feed behind them had gone silent; the transactions now come from SEC Form 4 filings and are refreshed daily. |
| 2026-07-02 | Data Quality | Minor | Cash Flow from Financing: a reported "Other Cash Flows from Financing" figure is now discarded when it does not reconcile — i.e. when including it moves the sum of the financing components (Net Borrowings + Stock Issued/Repurchased + Dividend Paid) further away from the reported total instead of closer to it. Examples: Imperial Metals, Nexgel, Idaho Strategic Resources, cbdMD and D-Box Technologies. Update: also made it work for quarters. |
| 2026-06-30 | Improvement | Minor | Charts: the x-axis year labels now line up with each annual data point and show the correct fiscal year, including companies whose fiscal year does not end in December (e.g. a June year-end no longer appears shifted to the next year). |
| 2026-06-28 | Data Quality | Minor | LISN.SW: Had WASO corrected by source. |
| 2026-06-24 | Data Quality | Minor | "Deferred Revenue, current" is no longer shown as a negative value. This could happen when total deferred revenue was reported as zero while a non-current part existed; the value is now left empty instead. Example: Micron Technology, Wendy's and Ferrari. |
| 2026-06-24 | Data Quality | Minor | Use calculated "Deferred Revenue, current" as fallback. Prefer calculated "Deferred Revenue, non-current", and ignore unrealistic values (negative, or larger than total deferred revenue), falling back to the other source or leaving it empty when neither is realistic. Example: Alphabet, Spotify. |
| 2026-06-24 | Data Quality | Minor | Fixed a rare case where a Hong Kong stock could pick up another company's name and details when the data source listed the code without its leading zero. The zero-padded code (e.g. 0639.HK) is now always preferred. |
| 2026-06-23 | Improvement | Minor | Stocks you marked with the "Never invest" judgment are now hidden from screen and search results. They still appear in your watchlists and portfolios, flagged in the Classification column. When you have such stocks, a "Never invest" entry appears under My stock lists (below "Stocks with notifications") that opens the full list. Documented in the screening tutorial. |
| 2026-06-23 | Fix | Trivial | Fixed a markup glitch on the German screening tutorial page. |
| 2026-06-19 | Data Quality | Minor | Deferred revenue: when the reported total is negative, or zero while the reported current part is positive, the calculated total (current plus non-current) is now used instead. Example: Nvidia. The non-current part is also dropped when it equals the current part (the same figure duplicated into both). |
| 2026-06-18 | Data Quality | Minor | For companies listed only on foreign exchanges, the primary (home) listing is now the most-traded one (highest dollar volume) rather than the first by ticker. Example: Airbus now uses AIR.PA (Paris) instead of AIR.MC (Madrid). |
| 2026-06-18 | Data Quality | Minor | For companies with multiple listings, search results now keep the primary (home) listing instead of a secondary one. The home listing is the most-traded (highest dollar volume) quote of the company, so screeners and search now consistently surface that listing. |
| 2026-06-18 | Data Quality | Minor | Skip unrealistic non-current deferred revenue: when the reported total deferred revenue is not larger than its non-current part, the non-current value is no longer shown. Examples: Constellation Software and Atlas Engineered Products. |
| 2026-06-17 | Fix | Minor | Newly added stocks now show their current values immediately after import. Previously a freshly imported stock was cached without its computed current metrics, so the values only appeared after an extra recalculation. |
| 2026-06-15 | Markets | Minor | Re-enabled Moscou Stock Exchange. |
| 2026-06-17 | Data Quality | Minor | Import deferredRevenue from FMP as "Deferred Revenue - Current". Examples: CrowdStrike and Topicus.com. |
| 2026-06-17 | Data Quality | Minor | Don't import negative Deferred Revenue. Examples: Alkane Resources, Idaho Strategic Resources, Midnight Sun Mining and Fortune Bay. |
| 2026-06-17 | Improvement | Minor | The small charts in the stock Overview and Metrics viewer now have « / » buttons that move the chart start year back and forward in 5-year steps. |
| 2026-06-16 | Fix | Minor | When a screen returns no stocks, the result list now still shows the Refine Query link so the criteria can be opened and loosened to get results. Previously the button bar was not rendered for an empty result. |
| 2026-06-16 | Data Quality | Minor | Indian Bombay Stock Exchange (BSE) stocks are now consistently represented by their alphabetic ticker (e.g. SWANCORP.BO) rather than the numeric BSE code (e.g. 503310.BO). The alphabetic variant is preferred when picking the home listing, when de-duplicating multi-listing search results, and is now used for the TradingView price chart; numeric BSE codes are also no longer queried against Financial Modeling Prep, which only knows the alphabetic ticker. Also had SWANENERGY.BO switched to SWANCORP.BO at source. |
| 2026-06-15 | Data Quality | Minor | Dividends (Dividend, Net Dividend, Preferred Dividend, Dividend Paid) no longer fall back to the previous year's figure when a year is missing: a year with no reported dividend is reported as such instead of silently repeating the prior year's value. Examples: Covalon Technologies / Dividend Paid. Grange Resources / Dividend Paid, Okea / Dividend Paid, Alkane Resources / Dividend Paid, Keweenaw Land Association / Dividend paid. |
| 2026-06-15 | Markets | Minor | Re-enabled NEO Exchange. |
| 2026-06-12 | Improvement | Trivial | Present RQ CAGRs as percentages. |
| 2026-06-11 | Robustness | Major | Fixed a currency conversion failure mode that made precalculated trailing values (EPS, Revenue Trailing, …) of Japanese stocks ~160× too high between June 6 and June 10: a transiently failed forex import silently produced a rates set without JPY, which was then cached for up to 5 days, and conversions against it silently returned the unconverted amount. Conversions now fail loudly instead of returning unconverted values, an incomplete rates set is never cached. |
| 2026-06-11 | Data Quality | Major | Refreshed the risk-free rates (10-year government bond yields, from EOD) that had been frozen since early 2023, for USD, EUR, GBP, GBX, JPY, CNY, INR, BRL, CAD, AUD and RUB. Filled in the missing historical years 2023–2025 (April 1st close) and updated each current value to the latest available. Also corrected China (CNY) 2022–2023 placeholder values. RUB and BRL bond data are no longer updated by the source (last points June 2024 and November 2025 respectively), so their current values are anchored there. Also refreshed the US benchmark rates (6-month, 10-year and 30-year Treasury, and 20-year A corporate bond) through 2026 and corrected a few stale 2022–2023 entries. This corrects the cost of equity, cost of debt, WACC and intrinsic value for stocks in these currencies. |
| 2026-06-11 | Improvement | Minor | Exposed for search:
|
| 2026-06-10 | Exchanges | Minor | Re-enabled exchange: IOB (.IL). |
| 2026-06-10 | Fix | Minor | Backtests now run their per-period searches in bounded waves instead of all at once, keeping memory usage stable on large multi-year backtests (occasional out-of-memory errors), and fixed a result-ordering edge case so periods that needed a retry are no longer placed out of chronological order. |
| 2026-06-10 | Improvement | Trivial | Stop fetching exchange listing for disabled exchanges. Example: Iceland. |
| 2026-06-09 | Fix | Major | Password reset / choose-password links now open the set-password form instead of silently signing the user in via a stored login cookie. |
| 2026-06-09 | Data Quality | Minor | Viel et Compagnie: had Dividend Paid added by source. |
| 2026-06-09 | Improvement | Minor | Added a "Use basic chart" button to the TradingView chart (StockDio already had one), and a "Use TradingView" / "Use StockDio" button on the basic chart to switch back. The choice is now remembered per chart provider via a cookie instead of resetting after one view. The stock detail popup now shows the same charts as the main detail view. |
| 2026-06-09 | Data Quality | Trivial | Buenos Aires (Argentina) is now configured to use the StockDio chart, which has full price history for that exchange. |
| 2026-06-10 | Fix | Minor | Disabled exchanges (e.g. Iceland) no longer trigger an unnecessary exchange-listing API call, avoiding spurious errors in the server log. |
| 2026-06-09 | Improvement | Trivial | Don't show Iceland in the screening dialog. |
| 2026-06-08 | Fix | Minor | Fixed intermittent OutOfMemoryError on the Elasticsearch REST client threads. Reduced connection pool from 50 to 20 connections and added idle connection eviction (30s). Set JVM heap to 70% of instance RAM (was defaulting to 25% on Java 21, giving only ~256 MB on a 1 GB instance). |
| 2026-06-08 | Improvement | Minor | Make extra alternative calculation for Net PP&E. Also clamp negative values to zero. Also skip negative vales from source. Fixed Net PP&E alternative not triggering when the imported value was already missing. Negative results from CapEx-based and NCA-decomposition alternatives are now capped to 0 instead of discarded. Example: TINC. |
| 2026-06-08 | Bug fix | Minor | Fixed MCP connector showing "Invalid consent form" when authorizing. The OAuth consent form could fail when the sign-in and the authorization confirmation were handled by different servers. |
| 2026-06-08 | Fix | Minor | Fixed HTTP 500 class loading error on startup (ObjectifyBootstrapper could not be loaded from web.xml when app classes were packaged into a JAR). Disabled stage.enableJarClasses; deployment size increases ~60 MB as a result. |
| 2026-06-06 | Data Quality | Minor | Fixed Hong Kong stock codes missing their leading zero (e.g. 369.HK instead of 0369.HK) being registered as duplicate listings. The correct zero-padded symbol is now always used when reading exchange data. |
| 2026-06-06 | Reliability | Minor | Improved server stability under load by tuning per-server request concurrency, reducing occasional memory-related errors. |
| 2026-06-04 | Layout | Trivial | Updated layout of search dialog and all caption panels in dark mode. |
| 2026-06-05 | Bug fix | Critical | Fixed prices and per-share values for exchanges quoted in sub-units (e.g. London GBX/pence, Johannesburg, Tel Aviv) being shown and indexed 100× too high. A currency conversion no longer used the value's own currency, so the sub-unit-to-main-unit conversion was skipped. Affected stocks correct themselves on their next recalculation. |
| 2026-06-05 | Robustness | Minor | Improved the caching of exchange listings: cached data can now be refreshed reliably across all servers without a redeploy, while keeping the fast per-server cache that avoids repeated lookups. |
| 2026-06-05 | Bug fix | Major | Made screener result loading resilient to temporary cache and search-index hiccups: when a stock's cached document is briefly unavailable it is now reliably re-fetched from the search index (with retries and back-off under load), instead of falling back to an incomplete on-the-fly calculation. Fixed Price/Intrinsic Value (and other computed metrics) occasionally being stored with an incorrect value. Values computed while a stock's company data was not fully loaded could be cached and indexed; such values are no longer persisted. |
| 2026-06-04 | Bug fix | Minor | The /indicators listing was capped at 30 entries (showing only the Scores group) and now returns the full list of available indicators again. The result cap remains only for the MCP find_metric search tool. |
| 2026-06-05 | Technical | Critical | Upgraded to Java21. |
| 2026-06-04 | Improvement | Minor | Other Cash Flows from Financing and Other Cash Flows from Investing: use zero if missing and don't extrapolate. Examples: Covalon Technologies / Other Cash Flows from Financing / TTM, Total Telcom / Other Cash Flows from Financing / 2025. |
| 2026-06-04 | Improvement | Major | For sum metrics that treat missing values as zero (Common stock issued (repurchased), Net borrowings, Buyback ratio, etc.), the trailing-12-months window stays anchored at the last reported quarter instead of extending further back to find non-missing quarters. Missing quarters within the window are counted as zero. Example: PUDO / Common stock issued (repurchased) / TTM. |
| 2026-06-03 | Improvement | Minor | Buyback ratio and Debt paydown ratio: for trailing-12-months and other quarter-based year views, the fallback no longer shifts to the previous year. Example: Covalon Technologies / Buyback ratio. |
| 2026-06-03 | Bug fix | Major | When deriving a missing quarter from an annual value, do not treat a missing annual as an artificial zero. This prevented valid quarterly values from being used. Examples: California Nanotechnologies, Simply Solventless Concentrates, Fortune Bay, Soma Gold / Common stock issued (repurchased). |
| 2026-06-02 | Markets | Minor | Stopped providing Iceland Exchange. |
| 2026-05-30 | Data Quality | Trivial | Removed London exchange listing form cache to get corrected stock price currency for GLP.L. |
| 2026-05-30 | Data Quality | Minor | Made outlier test for price change less strict. Example: 4477.T. |
| 2026-05-30 | Data Quality | Minor | Don't map 4481.T and 4477.T to the same company. |
| 2026-05-29 | Improvement | Minor | MCP search_stocks: tool description now instructs the LLM to always surface the total number of stocks screened (the existing total_matches field) so users see the depth of the database behind each result set. Also added guidance for follow-up requests: "more results" re-runs the same search with a higher max_results without asking the user to repeat criteria; "refine" adjusts filters instead. |
| 2026-05-28 | Technical | Minor | Upgraded GWT from 2.10 to 2.12. |
| 2026-05-28 | Data Quality | Minor | Historical price import no longer drops all older prices when a single source row shows an extreme price change. The offending line is now skipped, and the import only aborts when several such rows occur consecutively (defensive against systematically corrupt data). Example: LIFCO-B.ST previously lost every price before 2019-08-05 due to a single placeholder row at that date. Also had data corrected by source. |
| 2026-05-27 | Improvement | Minor | Security lookup now ranks results by relevance, so a company's primary listing surfaces first instead of being dropped. Previously, searching a name like "coca" could return only a secondary listing (e.g. COCA34.SA) while the main listing (KO – Coca-Cola Co) was filtered out. Regional/secondary listings whose name carries a qualifier in brackets (e.g. "Nestle (Malaysia) Berhad") are now ranked below the clean primary listing (NESN.SW). Hyphenated names are also matched on each part, so typing "cola" now finds "Coca-Cola Co" as well. An exact ticker match (e.g. "AAPL") now always ranks first, above other symbols that share the same relevance score (AAPB, AAPD, …). Ordinary shares also rank above ETFs and other derivative instruments tracking the same name. |
| 2026-05-26 | Data Quality | Minor | Quarterly Interest Expense derived from a yearly value is now consistently distributed across missing quarters weighted by debt, instead of a simple year ÷ 4. The debt-weighted distribution was previously only applied on one of the derivation paths, so in some cases (e.g. when only a yearly value was available) it fell back to an equal split. Example: Reklaim. |
| 2026-05-22 | Layout | Minor | Changed color scheme of dark mode. |
| 2026-05-22 | Fix | Minor | Users who subscribed during their 14-day free trial were incorrectly limited to 15 API calls/month instead of 300, causing false "Over API quota" errors. |
| 2026-05-22 | Fix | Trivial | Hamburger menu buttons now display in black in light mode (were invisible white). |
| 2026-05-21 | Data Quality | Minor | Stock issued (repurchased) alternative calculation: Dividend paid and Other CF financing are now only subtracted when available; Net borrowings remains mandatory. Examples: Innovotech, California Nanotechnologies. |
| 2026-05-20 | Fix | Major | Fixed bug: raw source data objects could be mutated to 0 by setZeroIfNeeded when a metric (e.g. C. Stock repurchased) was fetched as a Sum operand. A subsequent request with different requestOptions would bypass the cache, read the corrupted 0 from source, and use it to incorrectly derive quarterly trailing values as 0 instead of NaN. |
| 2026-05-20 | Data Quality | Minor | Set Stock issued (repur) to NaN if missing from source and there is no shares growth. Example: Constellation Software. |
| 2026-05-19 | Performance | Major | Fixed: Opening Price chart tab was unnecessarily slow. |
| 2026-05-19 | Improvement | Trivial | Improved tooltip of alternative calculation of quarter debt. |
| 2026-05-19 | Improvement | Minor | Switching to the Overview tab no longer freezes the UI — the heavy work (overview load, trade data refresh, technical chart build) now yields so the browser keeps repainting. |
| 2026-05-19 | Improvement | Minor | Move the detail panel icons under the details panel hamburger menu. Also improved the layout of the related popups. |
| 2026-05-19 | Improvement | Minor | Include Other Cash Flows from Financing in alternative calculation of Stock Issued (repur). Example: Constellation Sofware. |
| 2026-05-19 | Improvement | Minor | Extrapolate quarter Interest Expense from previous year Interest to Debt ratio and quarter Debt of annual Interest Expense is missing. Example: Alkane Resources. |
| 2026-05-18 | Bug fix | Minor | Fixed: Good/bad indicator colors did not render. |
| 2026-05-18 | Improvement | Trivial | Moved "Open industry top" under a hamburger menu for the details panel. |
| 2026-05-18 | Improvement | Trivial | Moved Recalculate and Update Properties.. under the hamburger menu. Also improved button sizes. |
| 2026-05-16 | Documentation | Minor | Spanish tutorial pages (help, analyze, screening, manage queries) fully translated — previously the body content was largely still in English. |
| 2026-05-16 | Improvement | Minor | "Refine Query" moved from the top menu to the result list, where it lives next to the Save/Update buttons. The top menu's "Screen Stocks" now always opens a fresh search. When refining one of my saved queries, the result tab is renamed to <query name> * to indicate the unsaved refinement. Also reorganised buttons and introduced hamburger menu for the less used options. |
| 2026-05-15 | Layout | Trivial | Improved positioning of stock list buttons. |
| 2026-05-15 | Layout | Trivial | Improved layout of popups, and made them consistent. |
| 2026-05-15 | Improvement | Major | Refining a saved query now offers "Update <name>" and "Save as new" instead of a single Save Query button. No more re-typing the name or confirming overwrite when updating an existing query. See the tutorial. |
| 2026-05-15 | Data Quality | Minor | DECB.BR: Had WASO corrected by source. |
| 2026-05-14 | Bug fix | Trivial | Corrected metric label in tooltip of Interest Expense. |
| 2026-05-13 | Improvement | Trivial | Improved layout of stock lookup. |
| 2026-05-13 | Improvement | Minor | Interest-to-debt ratio is now validated for realism: values above 40% + risk-free rate (50% fallback) are rejected as unrealistic. This prevents an absurd ratio computed from bad source interest expense data from being used in the IE alternative calculation, which would otherwise produce an alternative that itself exceeds the realism threshold and falls back to growth-rate extrapolation. Example: PINS 2024. |
| 2026-05-13 | Improvement | Minor | Quarterly interest expense alternative no longer gates on the same-year interest-to-debt ratio being usable. If the same-year ratio is rejected as unrealistic but the annual IE has been successfully computed via its own 4-year lookback, the annual IE is now correctly distributed across the missing quarters. Example: PINS 2024 quarters. |
| 2026-05-13 | Improvement | Minor | When computing the quarterly interest expense alternative, the recursion-prevention flag no longer blocks the annual IE's own alternative from running. The flag is now temporarily lifted while fetching the annual IE (a different period, not a true recursion) and restored before distributing across sibling quarters so cycle protection remains in place. Without this, quarters could end up missing even when the annual IE was computed correctly. Example: PINS 2024 quarters. |
| 2026-05-13 | Improvement | Minor | When distributing an annual interest expense alternative across missing quarters, sibling-quarter source values are now validated for realism (per-quarter IE must fit within (0.4+rfr)/4 of the quarter's average debt). Previously, an inflated source value (e.g., PINS Q1 2024 = 31.3M on 157M debt, implying ~80% annualized) was accepted as "good" and caused the remainder for the missing quarters to go negative — making every quarter end up NaN. Unrealistic siblings are now treated as missing, so the annual alternative is distributed across the full quarter set by debt weight. Example: PINS 2024 quarters. |
| 2026-05-13 | Improvement | Minor | Interest expense alternative calculation now looks back up to 4 years (instead of 2) to find a usable interest-to-debt ratio. This applies the past ratio to the current debt instead of falling back to a flat extrapolation of the previous year's interest expense, which ignored debt-level changes. Quarters benefit indirectly via the annual IE distribution. Example: PINS. |
| 2026-05-13 | Improvement | Minor | ICR no longer extrapolates from past if a calculated value exists. Example: PINS. |
| 2026-05-12 | Improvement | Major | Quarterly interest expense alternative calculation improved: distributes the annual IE remainder across missing quarters proportionally by average debt. Annual IE for year-derived quarters is fetched with growth-rate extrapolation enabled; sibling IEs are fetched without extrapolation to avoid counting estimated values as available. For the annual alternative, fuzziness is set to Calculated instead of "From other period", preventing the value from being incorrectly replaced by growth-rate extrapolation. Example: PINS. |
| 2026-05-12 | Improvement | Minor | Added quarter average (qtr avg) sub-metric for all balance sheet metrics. |
| 2026-05-07 | Fix | Minor | Quarter growth metrics (QuarterGrowth, QuarterGrowthAcceleration, 1y diff) now show the correct latest quarter for calculated financial metrics such as NOPAT. Previously, they lagged one quarter behind because the last-reported-quarter lookup was skipped for non-persistent metrics. |
| 2026-05-06 | Improvement | Minor | Capital Efficiency Momentum (5y and 10y): now uses the 5y/10y statistical median instead of the average as the denominator, making the ratio more robust to outlier years. |
| 2026-05-06 | New metric | Minor | Added 5-year median and 10-year median sub-metrics to all ROIC-type profitability indicators (ROA, ROE, ROCE, ROIC, CROIC, and variants). |
| 2026-05-06 | Improvement | Minor | Added growth sub-metrics to RQ. |
| 2026-05-05 | Data Quality | Minor | AOF.DE: had WASO history corrected by source |
| 2026-05-05 | Improvement | Minor | Exposed for Search:
|
| 2026-05-05 | Fix | Minor | MCP API: extended OAuth access token lifetime from 1 hour to 7 days to reduce unnecessary re-authorization prompts. |
| 2026-05-05 | Data Quality | Minor | Stock name normalisation: strip Societas Europaea suffix (SE, SE NAM., SE 0.N.) from company names, consistent with existing AG handling. Example: AOF.DE. |
| 2026-05-04 | New metric | Minor | Capital Return Quality (RQ). Risk-adjusted incremental economic spread scaled by Operating ROIC 5-year momentum. Located under Profitability (b/on Investment). |
| 2026-05-04 | Improvement | Trivial | Added mouse hover tooltip to the importing icon. |
| 2026-05-04 | Improvement | Minor | Dechow F-score: improved capital issuance detection. A issuance is now only flagged if it exceeds 200k USD and is relatively large (>1% of tangible assets or >5% of market cap). |
| 2026-04-30 | Improvement | Minor | MCP search_stocks: improved guidance for handling of is_foreign field. |
| 2026-04-30 | Bug fix | Minor | Fixed: Search (JSON) api did not include foreign stocks by default. Also adjusted documentation. |
| 2026-04-30 | Data Quality | Minor | Added country: Colombia. |
| 2026-04-30 | Improvement | Minor | Added two new cash flow metrics: Other Cash Flows from Investing and Other Cash Flows from Financing. Both are imported from EOD and included in the Cash Flow group. Cash Flow from Financing (CFF) now uses Other Cash Flows from Financing as an additional component. Update: added dependency: CFI uses Other Investing Cash Flows. |
| 2026-04-29 | Data Quality | Minor | Calculate Short % if value from source is not in ]0, 1[. Example: DRX.TO. |
| 2026-04-28 | Data Quality | Minor | Made EPS consistency check more strict. Example: VEEV. |
| 2026-04-28 | Data Quality | Trivial | P: Did manual reimport to get number of shares. |
| 2026-04-26 | Reliability | Minor | Added error logging and exception propagation in user deserialization to detect and prevent silent cache corruption of portfolio data. |
| 2025‑9-26 | Data Quality | Minor | Made EPS consistency check more strict. Example: ADYEN.AS. Also had EPS corrected at source for ADYEN.AS. |
| 2026-04-23 | Data Quality | Trivial | Reimported DocGo to correct NCI. |
| 2026-04-23 | Improvement | Trivial | Show Market cap als uses in EV metric overview. |
| 2026-04-23 | Improvement | Minor | Use zero NCI if negative for IV and EV calculations. Example: Iron Road. Also corrected server side label for NCI. |
| 2026-04-23 | Data Quality | Minor | Cronos Group: had (LT) Debt & Lease corrected by source. |
| 2026-04-22 | Improvement | Minor | D-Box Technologies: removed incorrect LT Lease values. |
| 2026‑04-22 | Data Quality | Minor | LT Lease and ST Lease are now marked unrealistic if they exceed their respective Debt & Lease (no-calculation) value. Example: Cronos Group. |
| 2026-04-21 | Data Quality | Minor | Don't import LT Leases (from CapitalLeaseObligations) if LT Debt + LT Leases greater than Non-current Liabilities. Example: California Nanotechnologies. |
| 2026-04-17 | Bug fix | Critical | Fixed: Addition of Capital Efficiency Momentum caused incorrect indexation. |
| 2026-04-16 | Improvement | Minor | Recalculate api: Improved error message when too many symbols were provided, and increase max number of symbols to 200. |
| 2026-04-16 | Improvement | Minor | Import: Fixed bug if sharesstats is null. Example: EBAY34.SA. |
| 2026-04-16 | Bug fix | Critical | Fixed a bug introduced by todays change, making Price/ IV, and others 0. |
| 2026-04-16 | Robustness | Minor | Added validation preventing calculation of invalid metric - submetric combination. Fallback to first submetric. |
| 2026-04-16 | Data Quality | Minor | Made sanity check of LT Debt & Lease against Non-current Liabilities less strict. Example: BQE Water. |
| 2026-04-15 | Data Quality | Minor | Torm PLC: Had financial results corrected by source. |
| 2026-04-15 | New submetric | Minor | Added Capital Efficiency Momentum (5y and 10y) submetrics to all ROInc-bearing metrics (ROIC, Operating ROIC, ROE, ROCE, etc.): ROInc divided by the matching average return. >1 = improving capital allocation, <1 = deteriorating. |
| 2026-04-14 | New submetric | Minor | Added growth submetrics to VCR. |
| 2026-04-14 | New metric | Minor | Risk-Adjusted Incremental Economic Spread: Incremental Economic Spread divided by the 5-year coefficient of variation of Operating ROIC. A Sharpe-like measure of capital allocation quality per unit of return volatility. |
| 2026-04-12 | Fix | Minor | Fixed "SIGNAPORE" typo in API and MCP: universes now return "SINGAPORE". Both spellings accepted as input for backward compatibility. |
| 2026-04-12 | Documentation | Minor | FAQ: added entry explaining why some metrics are not available as stock list columns. Improved language and fixed typos across all FAQ entries. Added canonical tags to documentation pages. |
| 2026-04-09 | Improvement | Minor | Added growth submetrics (CAGR, rCAGR, etc.) to EV/ Invested Capital, and exposed 5y rCAGR for search). |
| 2026-04-09 | Improvement | Trivial | "b/on wavg" submetric now hidden by default (only shown in "show more" mode). |
| 2026-04-09 | New submetric | Minor | cycle avg — cycle-adjusted average: max(10y avg, half of 5y avg). Available for profitability ratios (b/on investment). |
| 2026-04-08 | New metric | Minor | Operational Invested Capital (Equity + Net Debt − LT Investments − Deferred Tax Assets) and Operating ROIC (NOPAT ÷ Operational IC). Incremental Economic Spread (ROInc - WACC) now uses Operating ROIC instead of ROIC. |
| 2026-04-07 | SEO | Minor | Enabled search engine indexing for MCP, API and FAQ documentation pages. Added them to sitemap. |
| 2026-04-07 | Improvement | Minor | Newly exposed sub-metrics: ROIC.5y rCAGR, ROIC.5y CV, ROIC.5y yrly growth CV, Price/FCF.5y avg, Invested Capital.5y CAGR, FCFF/EBITDA.ratio, FCFF/EBITDA.5y avg, FCFF/EBITDA.5y rCAGR, Sloan ratio.3y CAGR, Net Debt'.3y CAGR, Asset Turnover.3y CAGR, EP Growth.3y CAGR, EV/IC.diff 5y avg, Economic Spread.15y R2, EVA Margin.5y rCAGR. |
| 2026-04-06 | Bug fix | Minor | Multiplication-based metrics (e.g. Earnings Power Growth) no longer return NaN when an operand is fuzzy for Trailing. |
| 2026-04-04 | New metric | Minor | Total Operating Liabilities (Total Liabilities − Total Debt & Lease). Shows non-debt liabilities from operations. |
| 2026-04-02 | Bug fix | Minor | Don't calculate quarters when deriving uncalculated year value from quarters. Example: Guldbrev Holding / CFF. |
| 2026-04-02 | Data Quality | Minor | Cash Flow from Financing (CFF) now falls back to a calculated value (Net Borrowings + Net Stock Issued/Repurchased + Dividends Paid) when the source value is missing. Example: Guldbrev Holding. |
| 2026-04-02 | Data Quality | Minor | Cash Flow from Investing (CFI) now falls back to Net CapEx (marked as unsure) when the source value is missing. Example: Guldbrev Holding. |
| 2026-03-31 | New metric | Minor | Incremental Economic Spread (ROInc - WACC). Measures whether new capital invested earns above the cost of capital, available in 5-year and 10-year variants. |
| 2026-03-28 | Fix | Minor | Faster recovery of symbol references cache after a failed reload (retry window reduced from 30 to 10 minutes). |
| 2026-03-28 | Data Quality | Minor | Fixed CSL Ltd import of financial results by removing old data with incorrect AUD currency (CSL Ltd reports in USD). |
| 2026-03-26 | Fix | Minor | CSV export now includes non-metric fields (Sector, Industry, Exchange, etc.) when specified in the metrics parameter. |
| 2026-03-26 | Improvement | Trivial | Corrected label of T-GP ratio. |
| 2026-03-25 | Data Quality | Trivial | PVT.V: had Short % of float corrected by source. |
| 2026-03-25 | New Metric | Minor | Added Earnings Power Growth: expected growth in operating earnings = Reinvestment Rate × ROIC. |
| 2026-03-24 | Bug fix | Minor | Fixed: Short Percentage of Float was not showing for recent period due to incorrect storage dimension. |
| 2026-03-19 | Bug fix | Minor | Fixed: Mohanram G-score.Numerical score was not calculated for TTM. |
| 2026-03-19 | Data Quality | Minor | Whitelisted AAU.AX and ANTMF for currency switch in financial statement import. Also had financial results corrected at source. |
| 2026-03-18 | New Metric | Minor | Added Value Creation Ratio (VCR): compares the market's valuation multiple (EV/IC) to the value creation multiple (ROIC/WACC). |
| 2026-03-17 | New Metric | Minor | Added ROIC / WACC metric. WACC now shifts to next year, aligning it with ROIC in year presentation. |
| 2026-03-17 | Fix | Minor | Fixed incorrect relations in the metric dependency tree. Refactored dependency definitions into dedicated classes and corrected a few misplaced entries. |
| 2026-03-09 | Security | Major | MCP OAuth consent form now signs the user ID with HMAC to prevent tampering via hidden form fields. |
| 2026-03-09 | Improvement | Minor | MCP find_metric: broad queries (e.g. “debt”) now return only primary submetrics and are capped at 30 results to prevent response flooding. A note is appended when results are truncated. |
| 2026-03-09 | Improvement | Minor | MCP documentation: added version number, public-client credential clarification, and usage examples. API documentation: added warnings array to example response and documented must/should/not clause behaviour including the 3+ should rule. |
| 2026-03-09 | Improvement | Minor | Subscription page: logged-in users can now navigate directly to the subscription page without needing the GWT application's URL parameter. A session cookie is set during any login flow (social OAuth, email/password, MCP OAuth) and cleared on logout, so the subscription page recognizes the user automatically. |
| 2026-03-09 | Improvement | Minor | MCP search_stocks further improved: market_cap and enterprise_value result fields renamed to market_cap_usd and enterprise_value_usd to make the currency unambiguous and prevent the AI from misinterpreting values as thousands of local currency. Scale reference values added to the tool description ($200M = 200000000, $5B = 5000000000, Apple ~$3.78T = 3780000000000). AI instructed to prefer shorthand filter values ("200M", "10B") to avoid mental unit conversion. AI now uses a single search_stocks call with in lists for multi-region/multi-sector screens instead of parallel calls per region. Percentage metric filter examples updated to use the "5%" string format throughout. robots.txt updated to allow /documentation/ for all crawlers so AI assistants can read the MCP documentation page. MCP added to key features list on homepage; Dutch placeholder text replaced with English. Gold MCP quota description updated to “unlimited” consistently across all pages. |
| 2026-03-08 | Improvement | Minor | MCP search_stocks guidance and output improved: explicit 'should' vs 'must' filter strategy to avoid zero results, Beneish M-Score warned as a sparse metric (use as extra_metric only, not a must filter), zero-results recovery tips, more realistic default thresholds for Quality score and Piotroski. Percentage metrics (yield, margin, ratio) are displayed as "5%" strings in results. Filter values now accept the same percentage strings (e.g. value: "4%") — the backend converts automatically — as well as money shortcuts ("200M", "10B", "1K"). Money metrics (market cap, enterprise value etc.) now output plain integers to avoid scientific notation and int overflow — Apple's $3.78T market cap was showing as 2147483647 due to Math.round(float) int overflow. Results now include sector_enum and industry_group_enum fields with ready-to-use filter enum values alongside human-readable labels. Money metric unit clarified: full USD, non-US stocks converted to USD, tiny shell companies can have market caps of a few hundred dollars. |
| 2026-03-08 | Fix | Minor | MCP daily quota: free-trial users were incorrectly getting the Gold limit of 100 searches/day instead of 5. Fixed to 5/day for non-paying users. Also fixed a bug where the daily counter reset on the same day-of-month in any month instead of calendar day. |
| 2026-03-08 | Improvement | Minor | MCP find_metric: metric labels now include both the full name and abbreviation when they differ (e.g. "Owner Earnings Yield (OE Yield)"), making keyword search more discoverable. Matching now uses word-based logic searching metric, submetric, and description — 3 out of 4 words must match (rounded up), tolerating one noise word in longer queries. Single-character words are ignored as stop words; short abbreviations like "EV" and "IV" are kept. Queries like "revenue cagr" or "ROIC return on invested capital" correctly resolve. Each metric entry now has an isPrimary flag to identify the main current-value submetric. Query and submetric guidelines were added to the tool description. The AI is also instructed not to expose technical metric IDs to the user. |
| 2026-03-08 | Layout | Trivial | Account menu: moved the Copy button for the API key to the second column, consistent with the Set button layout. |
| 2026-03-07 | Improvement | Minor | Search API: filter value fields now accept K, M, and B suffixes — e.g. "2B" (2,000,000,000), "500M", "10K" — in addition to plain numbers and percentage strings. |
| 2026-03-07 | Fix | Minor | Indicators API (find_metric): min and max scale values for score metrics (e.g. Quality score, Value score) now correctly return "0%" and "100%" — the actual normalised value range — instead of the raw pre-normalisation internal scores. |
| 2026-03-07 | Improvement | Minor | MCP documentation: added peer comparison as a fourth usage example, and improved the Greg Abel example description to clarify that Claude computes custom composite scores client-side from raw metric values. |
| 2026-03-07 | Improvement | Minor | API / MCP: percentage-scale metrics (e.g. ROE, Quality score) are now returned as formatted strings such as "77%" in search results. Scale thresholds (min, max, good, bad) in the Indicators API are formatted the same way. Filter value fields accept both the raw number (0.2) and the percentage string ("20%"). |
| 2026‑03-06 | Layout | Trivial | Improved layout of ordered lists in documentation. |
| 2026‑03-06 | Fix | Minor | Fixed NullPointerException in ConcurrentHashMap when an unauthenticated request reached the rate limiter (null user). Unauthenticated callers are now rejected early in isTooManyRequests before any map lookup. |
| 2026‑03-06 | Fix | Minor | Fixed analyst recommendation 1m/2m/3m change columns showing the same value as the mean recommendation. In the quarter-based quantity lookup, stored NUMBER_AMOUNT quantities were incorrectly matched when a CHANGE dimension was requested. Fixed by requiring exact dimension matching for NUMBER_AMOUNT, PERCENTAGE, BETA, RATIO_NUMBERS_PERC, and CHANGE_* quantities. |
| 2026‑03-06 | Fix | Minor | Fixed analyst mean recommendation showing a stale or inverted value. EOD's pre-computed rating field uses an inverted scale (5 = Strong Buy) opposite to ours (1 = Strong Buy). It is now replaced by the value computed from the analyst breakdown counts, consistent with the recommendation table on the stock detail page. Old inverted values are cleaned up on the next import. |
| 2026‑03-04 | Reliability | Minor | Restored daily Datastore backup to Cloud Storage (gs://unclestock/datastore-backups), covering user data kinds. Backups are automatically deleted after 30 days. |
| 2026‑03-04 | Reliability | Minor | Added logging of user JSON fields (watchlists, columns, stock infos) on every Datastore write, to detect silent data loss early. Fixed a bug introduced by this change where the new saveUser() wrapper called itself recursively instead of calling ofy().save(), causing a StackOverflowError on all user write operations. |
| 2026‑03-04 | Fix | Minor | Fixed a ConcurrentModificationException in the request-rate limiter caused by concurrent access to a shared HashMap. Replaced with ConcurrentHashMap so computeIfAbsent is thread-safe. |
| 2026‑03-04 | Improvement | Minor | Exposed "Tangible Assets.qtr: 1y growth" for search. |
| 2026-03-06 | Improvement | Minor | MCP: removed six internal boolean flags from the find_metric response (isFinancialResult, isMomental, isShiftPeriodToNext, isGrowth, isPriceDependent, isMoney, isBasedOnPersistent) that were not actionable by AI agents. Reduces response size by ~60 KB on broad queries. |
| 2026-03-06 | Fix | Minor | Fixed MCP daily quota not enforcing after the first call. The user object loaded for authentication was cached without subsequent cache updates after each increment, causing the daily counter to always reset to 1 instead of accumulating. The cache is now refreshed after every billable MCP call. |
| 2026-03-06 | Improvement | Minor | MCP: search_stocks now returns percentage-scale metrics as formatted strings (e.g. "77%" instead of 0.77) so AI agents display values correctly without needing additional metadata. |
| 2026-03-06 | Fix | Minor | Fixed analyst mean recommendation (latest value) showing stale data in the Stock Overview widget. The metric was going through the financial result path, which applies fiscal-year-based quarter lookup and financial reporting period restrictions not applicable to analyst data. It now uses a dedicated metric class that iterates backward through calendar quarters from the current date. |
| 2026-03-06 | Fix | Minor | Fixed NullPointerException when a null user triggered the rate limiter (ConcurrentHashMap does not accept null keys). The server-side check now returns true (too many requests) for null users as a defensive measure; on the client side the price-refresh call is skipped entirely when no user is logged in. |
| 2026-03-06 | Fix | Minor | Fixed 1m/2m/3m change dimensions showing the same value as the NUMBER_AMOUNT dimension. The quantity selector now requires an exact dimension match for all dimensionless number types (NUMBER_AMOUNT, PERCENTAGE, BETA, RATIO_NUMBERS_PERC, and CHANGE_*_ABS). |
| 2026-03-06 | Fix | Minor | Fixed analyst mean recommendation being stored with EOD's inverted rating scale (5=Strong Buy) instead of the standard scale (1=Strong Buy). The value is now computed from the analyst count breakdown, matching the scale shown in the Analyst Recommendations table. |
| 2026-03-03 | Fix | Minor | Fixed a crash when fetching price data for stocks whose EOD exchange listing returns a null currency (e.g. SPGI.BA). The currency is now skipped gracefully instead of throwing an exception, consistent with the null-safe handling already present in the caller. |
| 2026‑03-03 | Improvement | Minor | Exposed "Deferred Revenue, Current" for search. |
| 2026-03-03 | Fix | Critical | Fixed a data loss bug where a user's watchlists and views could be silently wiped from the database. When an MCP tool call was made via OAuth Bearer token, the user object was retrieved from cache in a compacted state (serialized fields nulled out to save memory). Saving that object back to the Datastore during MCP usage tracking overwrote the user's watchlists and column configuration with null. Fix: re-serialize member fields from in-memory state before saving in the MCP usage increment path. |
| 2026‑03-02 | Fix | Minor | MCP: fixed NullPointerException when incrementing daily usage caused by an incorrect validation check. Also eliminated redundant Datastore read by reusing the already-loaded user object. Corrected quota exceeded message to reference Gold subscription at unclestock.com. |
| 2026‑03-01 | API | Minor | MCP: added industry filtering guidance to search_stocks tool description. AI models now always look up industry enum values via get_universes before filtering, and fall back to free text search for industries not in the catalogue (e.g. 'quantum computing'). |
| 2026‑02-28 | Documentation | Trivial | Removed references to ChatGPT from documentation. Claude is now the recommended AI assistant for use with UncleStock. |
| 2026‑02-28 | Fix | Minor | Reduced Elasticsearch connection pool size (150 → 50) to prevent occasional OutOfMemoryError on App Engine while still improving backtest concurrency over defaults. |
| 2026‑02-27 | API | Minor | MCP: added metric IDs for all recommended screening strategies in the search_stocks tool description, so AI models can use metrics directly without needing to look them up first. |
| 2026‑02-27 | Fix | Minor | Indicator API: fixed forward slashes being stripped from metric names (e.g. P/BV, P/ IV). Updated MCP search_stocks tool description with corrected metric and submetric labels. |
| 2026‑02-26 | API | Minor | MCP: added recommended screening strategies (value, quality, risk, momentum) to the search_stocks tool description, guiding AI models toward UncleStock's proprietary metrics (e.g. Price/Intrinsic Value, Quality score, Trap score) instead of generic ones like P/E. Also simplified geography filter documentation to prevent AI confusion when filtering by country. |
| 2026‑02-26 | Improvement | Minor | My Queries: added "created" and "backtest" date columns to the queries table (web only). Both columns are sortable. |
| 2026‑02-25 | API | Minor | MCP OAuth: added account creation directly in the OAuth authorization flow. Users connecting via Claude or other MCP clients can now create an UncleStock account without leaving the authorization page. |
| 2026‑02-25 | Data Quality | Minor | Historical price import: fixed a typo in the split-adjustment correction factor for the 10 000–12 000× ratio range (was 1 100 instead of 11 000). Also tightened the extreme-price-change abort threshold from 99.998 % to 99.9 %, so single-day jumps exceeding 1 000× with no remaining split are now correctly detected and stopped. Affected e.g. OLY.TO. |
| 2026‑02-24 | Documentation | Trivial | Fixed documentation pages (api, changelog, …) not showing content on mobile. The sub-navigation and main content now stack vertically on small screens. |
| 2026‑02-24 | Data Quality | Minor | EOD importer: EXO.AS exempted from the quarterly CFO sanity check (35× annual). The check is designed to catch unit errors; for EXO.AS the anomalous ratio is caused by an unusually low FY 2024 figure in EOD, not a data unit error. |
| 2026‑02-24 | Data Quality | Major | EOD importer: financial statement lines with a missing currency symbol are no longer skipped when the group-level (statement) currency matches the stock's primary currency. The group currency is now used as a fallback in that case. |
| 2026‑02-23 | Documentation | Minor | Documented how to fetch metrics for a specific stock using the Search API and MCP search_stocks tool: put the symbol in the text field and the desired metric ids in extra_metrics. |
| 2026‑02-23 | API | Minor | Fixed OAuth discovery flow for Claude.ai and other MCP clients. Unauthenticated requests to POST /mcp now correctly return HTTP 401 with a WWW-Authenticate header so clients can start the OAuth flow. Added the required /.well-known/oauth-protected-resource metadata endpoint (RFC 9728). |
| 2026‑02-23 | API | Major | OAuth 2.0 Authorization Code flow added to the MCP server. AI clients (Claude, Cursor, etc.) can now connect via OAuth instead of an API key. Supports dynamic client registration (RFC 7591), PKCE (S256 and plain), and social login (Google, Facebook, LinkedIn). Bearer tokens are accepted on POST /mcp alongside the existing apikey parameter. |
| 2026‑02-22 | API | Minor | MCP get_universes and find_metric tools no longer count against the daily quota — only search_stocks calls are counted. initialize and tools/list protocol calls are also free. |
| 2026‑02-22 | API | Major | MCP access is now available to all users for free: 5 stock searches per day without a subscription. Gold subscribers get 100 searches/day. A dedicated Agent subscription with higher limits is coming soon. |
| 2026‑02-22 | API | Minor | MCP client configuration: API key can now be passed as ?apikey= query parameter (in addition to X-Api-Key header). Claude Desktop requires the query parameter form. |
| 2026‑02-21 | Fix | Minor | Fixed memcache overflow for large stocks: stocks exceeding the 1 MB limit are now transparently split into chunks on write and reassembled on read. Normal stocks are unaffected (no extra round trips). |
| 2026‑02-21 | API | Major | New MCP server (POST /mcp): connect UncleStock to AI assistants (Claude, Cursor, etc.) using the Model Context Protocol. Exposes three tools: find_metric, search_stocks, and get_universes. Authenticate with API key in X-Api-Key header. Gold subscription required. |
| 2026‑02-21 | API | Major | New Search JSON API (POST /api/search): screen stocks using a structured JSON body and receive results as JSON. Supports geography, industry, metric filters, sort, and extra metrics. Designed for programmatic use and AI agents. Gold subscription required. Company description (summary) is opt-in via "include_summary": true. |
| 2026‑02-21 | API | Minor | Indicators API: added q keyword filter parameter (searches metric name and description) to allow looking up specific metric ids without loading the full list. Added min, max, good, bad, and smallIsGood scale fields to JSON output, replacing the previous top/bottom fields. |
| 2026‑02-20 | API | Major | API key authentication: All users now have a personal API key shown in the Account menu and included in the signup confirmation email. All API endpoints now accept apikey= as the authentication parameter. The user= parameter remains functional for backwards compatibility but is no longer documented. |
| 2026‑02-19 | API | Minor | Indicators API: added description, formula, and sub-metric description fields to JSON output. Only include searchable metrics. |
| 2026‑02-19 | Data Quality | Minor | Sailfish Royalty: Import long-term debt and total debt as zero when reported as 0, instead of treating it as missing data. |
| 2026‑02-19 | Data Quality | Trivial | Map "British Virgin Islands" to United Kingdom for company country resolution. |
| 2026‑02-18 | Data Quality | Minor | Lavoro: Had balance sheet corrected by source (currency). |
| 2026‑02-18 | Bug Fix | Trivial | Fix Net Fixed Assets calculation error for stocks with no historical fixed assets data. |
| 2026‑02-18 | Data Quality | Minor | 24SevenOffice Group: Import long-term debt as zero when reported as 0 by EOD, instead of treating it as missing data. |
| 2026‑02-18 | Data Quality | Minor | Alliance Resource Partners: Had cash flow statement corrected by source. |
| 2026‑02-17 | Data Quality | Minor | If Non-controlling interests are too small to explain differences is liabilities between GAAP and IFRS sources, use the best instead of the GAAP source. Also don't clean last year FMP values before import. Example: J-Long Group. |
| 2026‑02-13 | Improvement | Minor | Growth Capex: fix spurious positive values for asset-light companies with zero net capex but ongoing depreciation (e.g. Coinbase). |
| 2026‑02-12 | Improvement | Minor | Index symbols (e.g. S&P 500) now resolve metadata (name, currency, ISIN) from the correct INDX exchange listing instead of the US stock listing. |
| 2026‑02-12 | Resilience and Performance | Minor | Fixed rare CancellationException in backtest queries and improved backtest speed by increasing Elasticsearch connection pool capacity. |
| 2026‑02-12 | Improvement | Minor | Short-term investments: prefer the extrapolated persistent value over calculated when available. Example: Atlas Engineered Products. |
| 2026‑02-11 | Data Quality | Minor | Don't import negative "Cash & Equivalents" and "Cash and ST investments". Example: CES Energy Solutions. Also refactored the processing of unexpected signs in the import. |
| 2026‑02-10 | Data Quality | Minor | Alkane Resources: import quarterly balance sheet data after switch from half-yearly to quarterly reporting. |
| 2026‑02-10 | Bug fix | Major | Fixed: diff metrics for TTM and recent years were missing. Impact on ROInc. Example: Mycronic / NOPAT, Invested Capital. |
| 2026‑02-06 | Improvement | Minor | Shareholders' Equity now prefers calculated value over imported data. Example: Exor, also had Shareholders' Equity by source. |
| 2026‑02-06 | Improvement | Minor | Exposed for search:
|
| 2026‑02-06 | Data Quality | Minor | Added currency KES (Kenya). |
| 2026‑02-05 | Data Quality | Medium | IDI: Had historical balance sheet corrected by source. |
| 2026‑02-05 | Data Quality | Trivial | SCA-B.ST: skipped unrealistic Adj. C Shares. |
| 2026‑02-04 | Bug fix | Major | Fixed industry medians lookup in Q1 incorrectly requesting future Q2 data. |
| 2026‑02-04 | Data Quality | Minor | Telix Pharmaceuticals: Had financial results (currency) fixed at source. |
| 2026‑02-04 | Data Quality | Minor | Xero Ltd: Had financial results (currency) fixed at source. |
| 2026‑02-03 | Improvement | Trivial | Reduced user cache size by excluding redundant serialized data. |
| 2026‑02-03 | Improvement | Minor | Filter out stocks from inactive exchanges (e.g. .NZ) from notifications list. |
| 2026‑02-03 | Bug fix | Minor | Don't calculate Mohanram G-score for future. |
| 2026‑02-03 | Bug fix | Minor | Fixed: Delisted stocks in notification list now show their values correctly so notifications can be removed. Also improved cleanup of notifications data. |
| 2026‑02-01 | Improvement | Minor | TTM next yr est (src): fallback to previous year if current fiscal year unavailable. |
| 2026‑02-01 | Improvement | Major | Quality score: use 1 and 3y avg CROIC and ROCE. |
| 2026‑02-01 | Improvement | Trivial | Improved description of "wavg/ya" sub-metric. |
| 2026‑02-01 | Improvement | Minor | Don't generate nofifications for delisted securities. |
| 2026‑01-30 | Improvement | Minor | Exposed for search:
|
| 2026‑01-29 | Improvement | Minor | Don't import financial results from Bombay if listed on NSE India. Example: INFY.NS and INFY.BO. |
| 2026‑01-29 | Improvement | Trivial | Renamed short label of "National Stock Exchange of India" to "NSE India". |
| 2026‑01-29 | Improvement | Minor | Don't add revenue estimates via non-home listings. |
| 2026‑01-29 | Data Quality | Minor | Infosys: Corrected financial results |
| 2026‑01-29 | Data Quality | Minor | Provide price charts for NEO exchange (Canada). |
| 2026‑01-29 | Data Quality | Trivial | Matched NVDA.TO with NVDA. |
| 2026‑01-28 | Data Quality | Minor | FAS.V: had data provided by source. |
| 2026‑01-28 | Bug fix | Minor | Fixed: import of Budapest was not started. |
| 2026‑01-28 | Improvement | Minor | Added slippage margin option for stop loss strategies in backtesting. This allows simulating the cost of slippage when a stop loss is triggered. |
| 2026‑01-28 | Performance | Major | Prevent unnecessary historical recalculation and re-indexation if there is no new data or change in calculation logic. |
| 2026‑01-27 | Bug fix | Minor | Fixed: MBCRO did not use previous year earnings. Also shifted the year column in which the value is presented. |
| 2026‑01-27 | Bug fix | Trivial | Corrected metric group label in indicators api. |
| 2026‑01-27 | Markets | Minor | Added Malawi and currency MWK. |
| 2026‑01-27 | Data Quality | Minor | ALK.TO: use latest shares from source. |
| 2026‑01-26 | Performance | Minor | Improved browser caching: JavaScript is now cached until a new version is deployed. |
| 2026‑01-26 | Markets | Minor | Added Botswana. |
| 2026‑01-25 | Markets | Minor | Added Mauritius and currency MUR. |
| 2026‑01-24 | Markets | Minor | Added Ghana and currency GHS. |
| 2026‑01-22 | Markets | Minor | Added currency: LKR. |
| 2026‑01-22 | Markets | Minor | Added Croatia and Zagreb. |
| 2026‑01-22 | Markets | Minor | Added Sri Lanka and Colombo. |
| 2026‑01-22 | Improvements | Minor | Growth rate: Improved growth rate calculation looking more to Net incom and the last five years. Example: Medifast and Bristol-Myers Squibb.. |
| 2026‑01-21 | Markets | Minor | Added Peru and Lima. |
| 2026‑01-21 | Improvements | Minor | Improved intrinsic value (value driver formula) growth rate: g1 = min(0.8×WACC, CROIC×Reinvestment Rate). If g1 < -3% exclude, -3% to 0% → 0%, 0% to 5% → g1, >5% → max(5%, avg(g1, 4%)). |
| 2026‑01-20 | Markets | Minor | Added Kenya and Nairobi. |
| 2026‑01-20 | Fix | Minor | Fixed stock name parsing when API returns non-breaking spaces. Example: PVT.V. |
| 2026‑01-20 | Data Quality | Trivial | Removed industry: Auto Manufacturers - Major |
| 2026‑01-19 | Improvements | Minor | Don't recalculate exchanges for which no financial results are available (like Casablanca, Egypt and Nigeria) |
| 2026‑01-19 | Markets | Minor | Added Casablanca. |
| 2026‑01-18 | Fix | Trivial | Added Nigerian flag. |
| 2026‑01-18 | Markets | Minor | Added Egypt. |
| 2026‑01-18 | Improvement | Trivial | Added 10% padding on the right side of the gwt price chart. |
| 2026‑01-17 | Markets | Minor | Reactivated Taipei Exchange. Added Nigeria. |
| 2026‑01-17 | Improvement | Trivial | For periods of 2 years or longer, the gwt price chart now shows weekly data points (5-day MA) instead of daily prices. The current price is always shown as the last data point. Also include tha current price in the chart. |
| 2026‑01-16 | Improvement | Trivial | Make it possible to open the gwt chart from the StockDio chart, which is to be used in case the StockDio chart does not show. |
| 2026‑01-15 | Improvement | Minor | Import: Don't use an not realistic number of shares to compare with. Example: TINC.BR |
| 2026‑01-15 | Improvement | Major | Don't use StockDio as price chart service for non common stocks: fallback to gwt Stock Chart |
| 2026‑01-15 | Bug fix | Major | Buyback ratio did was incorrect for quarter calculation in last year quarters. Examples: Parex Resources, Crescita Therapeutics |
| 2026‑01-14 | Improvement | Minor | Use StockDio price charts for Oslo and Tokyo. |
| 2026‑01-14 | Bugfix | Minor | Fixed Login button not working when password fields are auto-filled by password managers like LastPass. |
| 2026‑01-13 | Improvement | Minor | CDRs (Canadian Depositary Receipts) are no longer classified as common stock and excluded from search results. CDRs have a floating share ratio due to currency hedging. Example: SNY.TO, CHEV.TO and CRM.TO |
| 2026‑01-13 | Improvement | Minor | Improved company name matching to recognize CDR variants as the same company. Example: SNY.TO. |
| 2026‑01-12 | Improvement | Minor | Added 50-day and 200-day moving averages, short period options (6m, 3m, 1m, 5d), and linear/log toggle to gwt price chart. |
| 2026‑01-11 | Improvement | Minor | Show daily price history in gwt price chart. |
| 2026‑01-11 | Fix | Trivial | Fixed gwt price chart not showing on first load and widened vertical axis labels. |
| 2026‑01-11 | Improvement | Minor | Add a slider to the basic gwt chart. |
| 2026‑01-10 | Improvement | Minor | Added the possibility to choose a chart style for StockDio. |
| 2026‑01-10 | Improvement | Trivial | Improved default settings for StockDio charts. |
| 2026‑01-10 | Improvement | Minor | Apply basic gwt price chart for markets for which I can't use an external price chart service. Examples: Kuala Lumpur, KOSDAQ, Tokyo, Philippines, Ho Chi Minh, Oslo. |
| 2026‑01-09 | Improvement | Major | Discontinued price chart service for Kuala Lumpur, KOSDAQ, Tokyo, Philippines, Ho Chi Minh, Oslo. Use StockDio for Singapore, South Korea, Thailand, Lissabon, Istanbul. Use TradingView for Tel Aviv. Discontinued support for Caracas. |
| 2026‑01-09 | Improvement | Minor | Made it possible to manage default chart period and use multiple indicators in StockDio. |
| 2026‑01-08 | Improvement | Major | Use, as a test, new price chart service (StockDio) for London, Paris, Brussels, Amsterdam, Hong Kong, NSE, Mexico. Also changed price chart service to TradingView for Copenhagen, Helsinki, Madrid, Iceland. Also disabled Taipei, IOB. |
| 2026‑01-07 | Improvement | Minor | "Shareholders’ Equity", "Shareholders' Equity and Treasury Stock" and NNWC can now exceed Total Assets. Example: Eurasia Mining. |
| 2026‑01-07 | Improvement | Trivial | Renamed names in csv/html output of "Adjusted Shareholders' Equity" to "Shareholders' Equity and Treasury Stock". |
| 2026‑01-07 | Improvement | Minor | Adjusted email validation rules to reduce false positives for legitimate email addresses. |
| 2026‑01-06 | Usability | Trivial | Don't allow to hide (almost) all metrics, which is typically not intended. |
| 2026‑01-04 | Documentation | Trivial | Improved description of subscription plans. |
| 2026‑01-03 | Improvement | Trivial | Added a 1-hour maximum cap to the incremental refresh interval for users with fewer than 200 stocks loaded in the UI. |
| 2026‑01-02 | Reliability | Trivial | Handle transient Memcache failures gracefully in exchange listing cache. |
| 2026‑01-02 | Documentation | Trivial | Corrected sub-metric labels in Stock and Value documentation. |
| 2026‑01-02 | Bug fix | Major | Fixed: Backtest stopped working if the query contained filter conditions that are excluded from backtest. |
Open Archive 2025.
