Repository navigation
Searches now bring back this year's papers. In earlier versions the search meant to find the newest work returned mostly off-topic records, so a report could show only a handful of recent papers on a topic that had hundreds. v2.5 also warns when a query is too narrow to find much, asks what you mean by "latest", and adds OpenReview for AI topics. If a report from v2.4 or earlier showed few recent papers, don't read that as a quiet field: re-run it.
🕒 Recent papers now come back
Each Standard or Deep search runs three searches on OpenAlex: the most-cited work, the newest work, and the best matches overall. The "newest" one sorted OpenAlex's keyword matches by date. Those matches include papers that only mention the words somewhere in their full text, so sorted by date it returned whatever mentioned them most recently: for "diffusion language model", about 1 of 52 papers dated 2026 was on topic. The most-cited search had the same problem: for "emotion regulation adolescents" its top results included a Lancet commission on global mental health and a paper on gut microbiota.
Now:
- The recent search takes the most relevant papers of the last 12 months, then of the two years before (so 2023–2024 is no longer a gap between recent and older work). It matches your terms in titles and abstracts first and falls back to full text only when that finds too few.
- The most-cited search and the classic-papers search match titles and abstracts only.
- Quick searches get a smaller recent layer too. They used to run only the "best matches" search, which leans towards older, well-cited papers.
- No more records dated years ahead. Without an end year, OpenAlex could return records dated 2027 or even 2050 (81 in one run); searches now stop at the current year.
On eight test topics (psychology, medicine, economics, AI), a Standard search with no year limit:
| v2.4 | v2.5 | |
|---|---|---|
| On-topic papers from 2025–2026 | 0–29 per topic | 26–59 per topic |
| On-topic papers overall | 24–77 per topic | 59–145 per topic |
The v2.4 column adds up the three searches before duplicates are removed, so it is if anything generous to v2.4.
The coverage figure is likely to be lower. Recent papers that only the recent search finds now enter the estimate. That would be the estimate becoming more honest, not the search getting worse.
❓ "Latest" gets a question; no time limit gets a recent layer
- A range you give is used as given: "2020–2024", "近两年", "since 2023", "只要 2026 年的".
- "Latest" or "最新" without a number: the agent asks once how recent (last year, two, three, five, or a range) in the same message as any other question it has. Say "以后都这样" / "from now on" and it remembers (the new
recent_yearssetting). - Nothing said: no year limit, no question, and one line telling you the search still includes the last year's papers and how to narrow it.
- Audit: the date limits are confirmed with the rest of the protocol.
🔎 A warning when your query is too narrow
OpenAlex requires every bare word in a query. Synonyms written one after another therefore shut out every paper that uses only one of them. An 11-word query from a real session matched one paper by title and abstract across 2021–2026; written as concept blocks, ("short video" OR "short-form video" OR TikTok OR Douyin) AND (attention OR concentration OR procrastination OR burnout), the same topic matched 5,014, and 4 of 6 relevant papers that had been missed came back.
- The agent is now told to write queries this way (synonyms in OR groups, two or three blocks, the population block left out of at least one search).
- When a query has six or more bare terms and no OR, the search prints a warning.
- When fewer than 30 works match in titles and abstracts, the search says the query is probably too narrow, before any time goes into relevance scoring.
The warnings don't change the search. Whether the query gets rewritten is up to the agent.
📊 The year chart says what it counts
The Methods tab's publication-year chart counts the papers this search retrieved. Under it the report now adds how many works in OpenAlex match your terms in titles and abstracts for the period, e.g. "about 906 papers from 2025–2026". That total is an upper bound (not every match is on topic), but it tells a thin bar apart from a thin field.
🤖 AI topics: arXiv's last year, and OpenReview
- arXiv: for AI and computer-science topics the search now takes the most relevant preprints of the last year; before, it only looked at the last four days. Every word in the query is required (arXiv matched any one of them, so "diffusion language model" returned papers on Yiddish and Romansh language models), and a request that hangs gives up after 20 seconds instead of stalling the run.
- OpenReview (new): the review platform used by ICLR, NeurIPS, ICML, COLM, TMLR and other AI venues. OpenAlex and Semantic Scholar list this year's accepted papers as arXiv preprints; OpenReview knows which were accepted, so the report shows the venue, e.g. "ICLR 2026 Oral" or "NeurIPS 2025 Datasets & Benchmarks Poster", instead of "arXiv". Only accepted papers are kept: rejected, withdrawn, under-review and workshop submissions are dropped. A paper found in both places appears once. In one test, 27 of the 30 accepted papers it returned had not been found by the other searches.
- OpenReview is used for AI topics only; psychology, medicine and social-science searches don't touch it.
📘 README
The data sources are now listed in two tables: the five general sources, and the sources that switch on by topic (NSSD, yiigle, OpenReview), each with who runs it.
🛠 Other fixes
- In agent mode (the one-command mode that returns data without a report), recency scoring used a fixed 2026 as the current year, which would have gone stale in January; it now reads the date.
- If the list of candidate papers is longer than the tier can score, the searches now take turns in the list, so cutting it no longer removes the recent papers first.
✅ What was tested
- 901 offline tests pass on Python 3.10 and 3.13.
- The numbers above: eight topics searched live on OpenAlex, with a fixed keyword rule deciding what is on topic (not the LLM relevance score).
- Papers missed by earlier real sessions: for two searches whose missed papers we knew, v2.5 brought back 4 of 6 and 2 of 3 with the queries written as concept blocks (2 of 6 and 0 of 3 with the original long queries).
- OpenReview and arXiv: live searches on AI topics; the report checked in English and Chinese.
- Two rounds of code review by a second AI model (OpenAI's Codex), the second aimed at the first round's fixes; all twelve findings were fixed.
Known limitations
- The query warnings are advice: an agent can still run a long query as written.
- OpenReview is reached through its public search only (its per-venue listing is behind a human check). If that search is blocked too, AI searches continue without it.
- OpenAlex sometimes holds a preprint and its published version as two records with different DOIs; both can appear.
- The Methods tab's sentence "x% of the screened set is from 2020 onward" still uses 2020.
- The Semantic Scholar fallback (when OpenAlex is unavailable) has its own newest-first search, which was not retested for this release.
Upgrading
One new optional setting, recent_years in ~/.paper-search-pro/config.yaml (what "latest" means when you give no number; empty means the agent asks). No new dependencies; Python 3.10 or newer, as before. If you installed with git clone, run git pull in the folder you cloned into (the README lists the usual folder for each agent, e.g. ~/.claude/skills/paper-search-pro for Claude Code, ~/.codex/skills/paper-search-pro for Codex). Otherwise reinstall as the README describes.
Full changelog: v2.4.0...v2.5.0