<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"><channel><title>RISE Humanities Data Benchmark: news</title><link>https://rise-services.rise.unibas.ch/benchmarks/p/news/</link><description>Announcements and releases of the RISE Humanities Data Benchmark.</description><language>en</language><item><title>Release v0.8.1</title><link>https://rise-services.rise.unibas.ch/benchmarks/p/news/#v081</link><guid isPermaLink="true">https://rise-services.rise.unibas.ch/benchmarks/p/news/#v081</guid><pubDate>Tue, 03 Nov 2026 00:00:00 +0000</pubDate><description>&lt;h4 id="added"&gt;Added&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Dataset release &lt;code&gt;2026-10-29.5&lt;/code&gt; deposited (&lt;a href="https://doi.org/10.5281/zenodo.23821533"&gt;10.5281/zenodo.23821533&lt;/a&gt;, concept DOI 10.5281/zenodo.23821532) and recorded in &lt;code&gt;scripts/data/dataset_releases.json&lt;/code&gt;; README and &lt;code&gt;CITATION.cff&lt;/code&gt; link it, and &lt;code&gt;CITATION.cff&lt;/code&gt; lists the v0.8.0 DOI.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;.zenodo.json&lt;/code&gt;, generated from &lt;code&gt;CITATION.cff&lt;/code&gt; by &lt;code&gt;scripts/zenodo_metadata.py&lt;/code&gt;: the software deposit links the dataset and the JOHD articles and describes itself.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="changed"&gt;Changed&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;library_cards&lt;/code&gt; 3.0.0: format entered as pages moved to &lt;code&gt;format&lt;/code&gt; on five cards; &lt;code&gt;00639255&lt;/code&gt; pages, &lt;code&gt;00443771&lt;/code&gt; shelfmark and the cross-reference &lt;code&gt;00414956&lt;/code&gt; corrected; stored runs re-scored.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;company_lists&lt;/code&gt; 3.0.0: swapped locations on &lt;code&gt;156089_1321088_41&lt;/code&gt; corrected; stored runs re-scored.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;business_letters&lt;/code&gt; 3.0.0: names matched ignoring case and whitespace, empty names no longer match; &lt;code&gt;persons.json&lt;/code&gt; adds four spellings and drops four bad ones; the &lt;code&gt;letter46&lt;/code&gt; sender is marked as inferred; stored runs re-scored.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;CITATION.cff&lt;/code&gt; titled "RISE Humanities Data Benchmark"; the README's DOI badges name the project and the dataset; the How it works graphic redrawn (&lt;code&gt;docs/how-it-works.svg&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;Stored &lt;code&gt;rescored&lt;/code&gt; labels from before the version merge say 2.0.0 instead of 3.0.0 (194 runs); &lt;code&gt;published_as&lt;/code&gt; removed from &lt;code&gt;meta.json&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;CITATION.cff&lt;/code&gt; records the University of Basel affiliation of 13 authors; the dataset deposit's description explains the benchmark without the README, and the dataset's &lt;code&gt;CITATION.cff&lt;/code&gt; and deposit name the two JOHD articles that describe it; one list of 15 keywords for &lt;code&gt;datapackage.json&lt;/code&gt;, &lt;code&gt;CITATION.cff&lt;/code&gt; and the deposit; the dataset is titled "RISE Humanities Data Benchmark Dataset: Complete Stored Results".&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="removed"&gt;Removed&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;Benchmark.remove_none_values()&lt;/code&gt; and &lt;code&gt;resize_images()&lt;/code&gt;, hooks the runner never called.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="fixed"&gt;Fixed&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;create_benchmark.py&lt;/code&gt;: class names with digits match the runner's; backslashes or &lt;code&gt;"""&lt;/code&gt; in a title or description no longer break &lt;code&gt;benchmark.py&lt;/code&gt;; stops at end of input instead of looping; works from any directory; no longer asks for a role description it discarded or a ranking metric its scorer does not return; no crash on redirected Windows output.&lt;/li&gt;
&lt;li&gt;Card template: Judge Uses LLM defaults to false; cards name Arabic (&lt;code&gt;ar&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Benchmark.convert_truth_to_json()&lt;/code&gt; overrides take effect.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>The results as a citable dataset</title><link>https://rise-services.rise.unibas.ch/benchmarks/p/news/#2026-10-30--the-results-as-a-citable-dataset</link><guid isPermaLink="true">https://rise-services.rise.unibas.ch/benchmarks/p/news/#2026-10-30--the-results-as-a-citable-dataset</guid><pubDate>Fri, 30 Oct 2026 00:00:00 +0000</pubDate><description>&lt;p&gt;Every result behind this website is now published as a dataset on Zenodo:
&lt;a href="https://doi.org/10.5281/zenodo.23821532"&gt;10.5281/zenodo.23821532&lt;/a&gt;. It holds every stored run and
request since 2025, 3,805 runs and 166,380 requests in the first release, as Parquet tables with a
metric dictionary, together with the original request and scoring records of every model answer.
It is licensed CC BY 4.0, and the files live in their own
&lt;a href="https://github.com/RISE-UNIBAS/humanities_data_benchmark_dataset"&gt;repository&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;What it is for.&lt;/strong&gt; The website answers which model to use; the dataset lets you ask your own
questions: cost per correct answer, how a model changed between versions, where models fail on
the same input. Apart from the framework's own test benchmarks, nothing is filtered out: failed
requests, unscored runs and retired configurations are rows with a status, so you choose what to
include.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Versions.&lt;/strong&gt; A new dataset release follows each software release. Every release is a complete
snapshot, and its changelog says what changed, including which benchmarks were re-scored. Each
run records the benchmark version that produced its score, so you can tell which scores are
comparable. To cite the results, use the DOI above and name the dataset version you analysed;
the &lt;a href="https://rise-services.rise.unibas.ch/benchmarks/p/about/#cite"&gt;About&lt;/a&gt; page has the details.&lt;/p&gt;</description></item><item><title>Release v0.8.0</title><link>https://rise-services.rise.unibas.ch/benchmarks/p/news/#v080</link><guid isPermaLink="true">https://rise-services.rise.unibas.ch/benchmarks/p/news/#v080</guid><pubDate>Fri, 30 Oct 2026 00:00:00 +0000</pubDate><description>&lt;h4 id="added"&gt;Added&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;scripts/export_dataset/&lt;/code&gt;: builds &lt;code&gt;dataset/&lt;/code&gt;, with &lt;code&gt;runs&lt;/code&gt;, &lt;code&gt;requests&lt;/code&gt;, &lt;code&gt;scores_long&lt;/code&gt; and &lt;code&gt;rescored_fields&lt;/code&gt; tables in Parquet and CSV, a metric dictionary, payload sidecars, coverage, diagnostics and a source manifest of hashed inputs.&lt;/li&gt;
&lt;li&gt;Each run carries the benchmark version it was made and scored with (&lt;code&gt;benchmark_version&lt;/code&gt;, &lt;code&gt;benchmark_version_scored&lt;/code&gt;, &lt;code&gt;benchmark_version_basis&lt;/code&gt;); dataset schema 1.3.0.&lt;/li&gt;
&lt;li&gt;Per-request cost from recorded tokens at the price in force on the run's date, reasoning included, beside the stored cost; &lt;code&gt;reasoning_tokens&lt;/code&gt; and reasoning cost columns on &lt;code&gt;requests&lt;/code&gt; and &lt;code&gt;runs&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;dataset/&lt;/code&gt; documentation: &lt;code&gt;datapackage.json&lt;/code&gt;, README, changelog and &lt;code&gt;CITATION.cff&lt;/code&gt;; data licensed CC BY 4.0.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;dataset/examples/business_letters_cost.py&lt;/code&gt;: cost per correct extraction by provider and date.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;scripts/package_dataset.py&lt;/code&gt;: packages a release, payload sidecars included, with &lt;code&gt;SHA256SUMS&lt;/code&gt;; &lt;code&gt;--release-repo&lt;/code&gt; syncs it into a clone of the release repository and writes its &lt;code&gt;.zenodo.json&lt;/code&gt;, &lt;code&gt;LICENSE&lt;/code&gt; and &lt;code&gt;.gitattributes&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;scripts/export_dataset/releases.py&lt;/code&gt;: records each deposited release and its DOI in &lt;code&gt;scripts/data/dataset_releases.json&lt;/code&gt;; later builds list them in the dataset's &lt;code&gt;CITATION.cff&lt;/code&gt; and changelog, with the benchmark versions added per release. The &lt;code&gt;test_*&lt;/code&gt; benchmarks are left out of the dataset.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;scripts/supervise_run.py&lt;/code&gt; (restarts a stalled run, the date pinned for the runner) and &lt;code&gt;scripts/watch_run.py&lt;/code&gt; (reports spend and waste during a run), with tests.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;scripts/export_dataset/crosscheck.py&lt;/code&gt;: reconciles the dataset with the website's run export from benchmark-frontend before packaging.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;scripts/results_index.py&lt;/code&gt;: one shared reader for &lt;code&gt;results/&lt;/code&gt; and &lt;code&gt;benchmarks_tests.csv&lt;/code&gt;, also used by &lt;code&gt;scripts/compare/&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;README: slides from DaSCHCon 2026 and the SGG workshop under Publications; the Results section describes the new website.&lt;/li&gt;
&lt;li&gt;Version history of every benchmark in &lt;code&gt;meta.json&lt;/code&gt; &lt;code&gt;versions&lt;/code&gt; (version, date, commit, kind of change, summary), reconstructed from the git history, with 0.y.z before the cards; the cards' Versions list is generated from it, every version dated, and an integrity test checks the history; it includes the default output cap lowered to 16,384 tokens on 2026-09-18.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;scripts/compare/generate_version_runs.py&lt;/code&gt;: run counts per benchmark version and each run's version for the website (&lt;code&gt;collected_results/benchmark_versions.json&lt;/code&gt;, &lt;code&gt;run_versions.json&lt;/code&gt;), a step of &lt;code&gt;generate_all&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Each run records the benchmark version in &lt;code&gt;scoring.json&lt;/code&gt; &lt;code&gt;benchmark_version&lt;/code&gt; (version, commit, uncommitted changes to the benchmark's files), and each answer in its request file; a resumed run keeps the version of its earliest answer, marked &lt;code&gt;mixed&lt;/code&gt; when its answers were made with different benchmark states. The version assignment uses it before the run's time (&lt;code&gt;benchmark_version_basis = recorded&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;Results for 2026-10-29: T1956, T1960, T1962 (3 tests, 22 requests) for &lt;code&gt;ministral-3b-2512&lt;/code&gt;, verification runs.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="changed"&gt;Changed&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;magazine_pages&lt;/code&gt; example image: a page with seven advertisements.&lt;/li&gt;
&lt;li&gt;Card versions published on the same day are merged: &lt;code&gt;company_lists&lt;/code&gt;, &lt;code&gt;duty_rosters&lt;/code&gt;, &lt;code&gt;fraktur_adverts&lt;/code&gt;, &lt;code&gt;general_meeting_minutes&lt;/code&gt; and &lt;code&gt;library_cards&lt;/code&gt; 3.0.0 become 2.0.0, and &lt;code&gt;business_letters&lt;/code&gt; 1.0.1 is part of 2.0.0; &lt;code&gt;published_as&lt;/code&gt; records the former numbers.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;business_letters&lt;/code&gt; is ranked on all 57 letters: &lt;code&gt;meta.json&lt;/code&gt; &lt;code&gt;ranking&lt;/code&gt; names the ranked letter set (&lt;code&gt;label&lt;/code&gt;, &lt;code&gt;rules&lt;/code&gt;) and ranks the 32 signed and the 25 unsigned letters apart (&lt;code&gt;variants&lt;/code&gt;). Before, a model's best run on any of the three sets counted, and the 25 unsigned letters, which score higher, made up the top of the ranking.&lt;/li&gt;
&lt;li&gt;Website code moved to the benchmark-frontend repository; &lt;code&gt;scripts/ndr_export/&lt;/code&gt; is now &lt;code&gt;scripts/compare/&lt;/code&gt;, which builds only the comparison data, and &lt;code&gt;pricing_resolver.py&lt;/code&gt; moved to &lt;code&gt;scripts/&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="removed"&gt;Removed&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;NDR Core exports (multi-select data, visualizations, vars), &lt;code&gt;scripts/sync_benchmark_pages.py&lt;/code&gt;, the site fields of &lt;code&gt;contributors.json&lt;/code&gt; (&lt;code&gt;photo&lt;/code&gt;, &lt;code&gt;website&lt;/code&gt;, &lt;code&gt;core&lt;/code&gt;) and the unused &lt;code&gt;mkdocs.yml&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="fixed"&gt;Fixed&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;An answer billed with &lt;code&gt;finish_reason&lt;/code&gt; "error" (OpenRouter, Mistral) is saved and scored as a miss instead of dropped by the fatal-error check.&lt;/li&gt;
&lt;li&gt;The 173 answers it dropped from 62 runs (2026-09-16 to 2026-10-26) are added as misses, with tokens and cost unknown; so are 28 inputs of 10 runs (2026-09-16 to 09-18) whose error records were deleted or whose answers a scorer exception dropped.&lt;/li&gt;
&lt;li&gt;A scorer that raises no longer drops the answer: it is saved and scored as a miss. &lt;code&gt;magazine_pages&lt;/code&gt; 1.0.1 counts a box that is not four numbers as a false positive, &lt;code&gt;medieval_manuscripts&lt;/code&gt; 2.0.1 a folio entry that is not an object as missed; no stored score changes.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;generate_compare_detail.py&lt;/code&gt;: removes a detail file once its run no longer needs one.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>A new website for the benchmark</title><link>https://rise-services.rise.unibas.ch/benchmarks/p/news/#2026-10-29--a-new-website-for-the-benchmark</link><guid isPermaLink="true">https://rise-services.rise.unibas.ch/benchmarks/p/news/#2026-10-29--a-new-website-for-the-benchmark</guid><pubDate>Thu, 29 Oct 2026 00:00:00 +0000</pubDate><description>&lt;p&gt;The benchmark website has been rebuilt. The address stays the same and old links keep working,
but every page is new: a static site in the University of Basel's corporate design, generated
directly from the &lt;a href="https://github.com/RISE-UNIBAS/humanities_data_benchmark"&gt;repository&lt;/a&gt; and
updated every night when the benchmarks or results change. Pages load faster, and what you see
is always what the repository holds.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Comparing models.&lt;/strong&gt; The leaderboard now has five views. The matrix shows each model's best run
on all twelve benchmarks, and its column headings stay in view as you scroll. &lt;em&gt;Which model for
me?&lt;/em&gt; recommends a model for your material. The run list holds every run, &lt;em&gt;Cost and speed&lt;/em&gt; sets
scores against price and time, and the new &lt;em&gt;Compare models&lt;/em&gt; view puts up to four models side by
side. A filterable model browser helps you pick them, and for any benchmark the view shows where
the models disagree input by input, with a link from each score to that input's answer and
ground truth.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;How sure a ranking is.&lt;/strong&gt; Every score now carries its sampling margin (±, 95%), worked out from
the run's individual inputs. Models whose difference is within that margin share a rank, marked
≈, so the leaderboard no longer separates models that cannot be told apart. Costs are given per
1,000 documents, so benchmarks of different size compare fairly. Scores from a run on a different
prompt or more than a year old are marked.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;A page for every model.&lt;/strong&gt; All 158 models tested since 2025 have their own page, including the
37 legacy models that are no longer run. A page shows the model's results per benchmark and task,
every run and its price history. Legacy models can also be switched on in the leaderboard; they
are shown with their best legacy run and are not ranked.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Benchmarks, news and data.&lt;/strong&gt; Each benchmark page shows its card, an example input with its
ground truth, the results and the newest runs. In the leaderboard, explanations now appear on
mouseover next to the figures they explain. The leaderboard, every benchmark's ranking and every run can be downloaded as CSV
or JSON, and the news has an &lt;a href="https://rise-services.rise.unibas.ch/benchmarks/p/news/feed.xml"&gt;RSS feed&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Two talks in Bern: DaSCHCon 2026 and the SGG workshop on AI and historical materials</title><link>https://rise-services.rise.unibas.ch/benchmarks/p/news/#2026-10-26--two-talks-in-bern-daschcon-2026-and-the-sgg-workshop-on-ai-and-historical-materials</link><guid isPermaLink="true">https://rise-services.rise.unibas.ch/benchmarks/p/news/#2026-10-26--two-talks-in-bern-daschcon-2026-and-the-sgg-workshop-on-ai-and-historical-materials</guid><pubDate>Mon, 26 Oct 2026 00:00:00 +0000</pubDate><description>&lt;p&gt;In the week of 19 October Maximilian Hindermann gave two talks on the benchmark at the
University of Bern, to two different audiences: research data infrastructure at DaSCHCon, and
historians, archivists and librarians at the Swiss Historical Society (SGG). All figures quoted in
both talks come from benchmark v0.7.0, with runs up to 17 October 2026.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;DaSCHCon 2026, 21 October.&lt;/strong&gt; At "AI in Practice: Experiences, Workflows, and Platforms", the
talk &lt;em&gt;Benchmark First: Making Model Choice a Routine Step in Research Data Workflows&lt;/em&gt; showed how
the benchmark structures RISE's consultations: settle which models the data may go to and what
result is needed, reuse or build a matching benchmark, then compare models on it. The worked case
was the &lt;a href="https://rise-services.rise.unibas.ch/benchmarks/p/benchmarks/duty_rosters/"&gt;nursing staff duty rosters&lt;/a&gt;
of the INTERSCALE project. Across 93 models the price per sheet varied nearly five-hundredfold,
and Claude Opus 5, first on Document Arena, placed 87th, because most of its answers came wrapped
in a key the task did not ask for. The extended abstract is in the conference's
&lt;a href="https://ark.dasch.swiss/ark:/72163/1/0810/hYAabHRXQae7MSnYOt3_YQ9"&gt;abstract booklet&lt;/a&gt;, compiled by
G. Bachmann, R. Gautschy and J. L. Losada Palenzuela (DaSCH, 2026); the slides are on Zenodo:
&lt;a href="https://doi.org/10.5281/zenodo.23761273"&gt;https://doi.org/10.5281/zenodo.23761273&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;SGG workshop, 23 October.&lt;/strong&gt; At the workshop «Künstliche Intelligenz, historische Materialien
und Methoden» of the SGG section «Grundlagenerschliessung und Digitalisierung», the talk &lt;em&gt;Der RISE
Humanities Data Benchmark: KI-Modelle an echten Projektdaten messen&lt;/em&gt; started from a single
personnel card and the two errors a model made on it, and reported two results from the twelve
datasets: no model leads on all of them (ten different models hold a best score,
counting ties), and similar results can come at very different prices. On
&lt;a href="https://rise-services.rise.unibas.ch/benchmarks/p/benchmarks/fraktur_adverts/"&gt;Fraktur Adverts&lt;/a&gt;,
gpt-4.1-mini scores 96.8 at $0.016 per run and gpt-6-astra 96.7 at $0.98, a factor of 63. The
slides are on Zenodo: &lt;a href="https://doi.org/10.5281/zenodo.23596168"&gt;https://doi.org/10.5281/zenodo.23596168&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Both talks ended with the same offer: researchers who want to know which model suits their own
material are welcome to get in touch with RISE.&lt;/p&gt;</description></item><item><title>Release v0.7.1</title><link>https://rise-services.rise.unibas.ch/benchmarks/p/news/#v071</link><guid isPermaLink="true">https://rise-services.rise.unibas.ch/benchmarks/p/news/#v071</guid><pubDate>Mon, 26 Oct 2026 00:00:00 +0000</pubDate><description>&lt;h4 id="added"&gt;Added&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;21 new models with 14 benchmark test configurations each (T1900-T2221), &lt;code&gt;company_lists&lt;/code&gt; on &lt;code&gt;prompt_v2.txt&lt;/code&gt; only: &lt;code&gt;claude-haiku-5-5&lt;/code&gt; (Anthropic), &lt;code&gt;gpt-6.1-sol&lt;/code&gt; (OpenAI), &lt;code&gt;mistral-large-4&lt;/code&gt;, &lt;code&gt;mistral-small-2603&lt;/code&gt;, &lt;code&gt;ministral-3b-2512&lt;/code&gt; (Mistral), &lt;code&gt;command-a-plus-05-2026&lt;/code&gt; (Cohere), and via OpenRouter &lt;code&gt;minimax/minimax-m3.1-flash&lt;/code&gt;, &lt;code&gt;nvidia/nemotron-3.5-super-vl&lt;/code&gt;, &lt;code&gt;meta/muse-spark-open&lt;/code&gt;, &lt;code&gt;meta/muse-wonder&lt;/code&gt;, &lt;code&gt;stepfun/step-5-preview&lt;/code&gt;, &lt;code&gt;qwen/qwen3.8-max-prime&lt;/code&gt;, &lt;code&gt;xiaomi/mimo-v2.6-pro&lt;/code&gt;, &lt;code&gt;xiaomi/mimo-v2.6-flash&lt;/code&gt;, &lt;code&gt;inclusionai/ling-3.0-flash-vl&lt;/code&gt;, &lt;code&gt;perceptron/perceptron-mk1.5&lt;/code&gt;, &lt;code&gt;elorian/glimpse&lt;/code&gt;, &lt;code&gt;fireworks/ember-1&lt;/code&gt;, &lt;code&gt;bytedance-seed/seed-2-1-turbo&lt;/code&gt;, &lt;code&gt;nex-agi/nex-n2.5-mini&lt;/code&gt;, &lt;code&gt;nex-agi/nex-n2.5-pro&lt;/code&gt;; &lt;code&gt;pricing.json&lt;/code&gt; metadata bumped to version 1.58.&lt;/li&gt;
&lt;li&gt;Results for 2026-10-24: 175 tests in T1900-T2185 (7,972 requests) for 15 of the new models, &lt;code&gt;mistral-large-4&lt;/code&gt; with one; &lt;code&gt;inclusionai/ling-3.0-flash-vl&lt;/code&gt; not run.&lt;/li&gt;
&lt;li&gt;Results for 2026-10-25: 88 tests in T2068-T2218 (3,956 requests) for &lt;code&gt;qwen/qwen3.8-max-prime&lt;/code&gt;, &lt;code&gt;xiaomi/mimo-v2.6-pro&lt;/code&gt;, &lt;code&gt;xiaomi/mimo-v2.6-flash&lt;/code&gt;, &lt;code&gt;fireworks/ember-1&lt;/code&gt;, &lt;code&gt;bytedance-seed/seed-2-1-turbo&lt;/code&gt;, &lt;code&gt;nex-agi/nex-n2.5-mini&lt;/code&gt;, &lt;code&gt;nex-agi/nex-n2.5-pro&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Results for 2026-10-26: T2219-T2221 (3 tests, 70 requests) for &lt;code&gt;nex-agi/nex-n2.5-pro&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="fixed"&gt;Fixed&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Mistral requests at temperature 0 send &lt;code&gt;top_p=1&lt;/code&gt;, which &lt;code&gt;mistral-large-4&lt;/code&gt; requires; its chunked thinking/text answers are parsed from the text chunks. &lt;code&gt;command-a-plus-05-2026&lt;/code&gt; output cap clamped to its 64,000 ceiling.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Release v0.7.0</title><link>https://rise-services.rise.unibas.ch/benchmarks/p/news/#v070</link><guid isPermaLink="true">https://rise-services.rise.unibas.ch/benchmarks/p/news/#v070</guid><pubDate>Mon, 19 Oct 2026 00:00:00 +0000</pubDate><description>&lt;h4 id="added"&gt;Added&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;New model &lt;code&gt;gemini-4-argon&lt;/code&gt; (GenAI), with 15 benchmark test configurations (T1885-T1899); &lt;code&gt;pricing.json&lt;/code&gt; metadata bumped to version 1.56.&lt;/li&gt;
&lt;li&gt;Results for 2026-10-14: T1885-T1899 (15 tests, 649 requests) for &lt;code&gt;gemini-4-argon&lt;/code&gt;; &lt;code&gt;magazine_pages&lt;/code&gt; on &lt;code&gt;prompt_explicit-json.txt&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Results for 2026-10-17: T0203-T0208, T0285, T0317, T0363, T0364, T0460, T0589, T0785, T1229, T1282 (15 tests, 649 requests) for &lt;code&gt;gemini-2.5-flash-lite&lt;/code&gt;, a regression check of the 2.0.0 benchmarks.&lt;/li&gt;
&lt;li&gt;BenchmarkCard READMEs (#89) for all 12 benchmarks, each with &lt;code&gt;benchmark_card.json&lt;/code&gt; and a generated How to Cite; &lt;code&gt;scripts/benchmark_cards.py&lt;/code&gt; and an integrity test; &lt;code&gt;scripts/sync_benchmark_pages.py&lt;/code&gt; points a card's site page at the &lt;code&gt;benchmark_card&lt;/code&gt; widget and the result page at &lt;code&gt;benchmark_results&lt;/code&gt;, the test-run search at &lt;code&gt;test_runs&lt;/code&gt; and the leaderboard at &lt;code&gt;dashboard&lt;/code&gt; at deploy; &lt;code&gt;benchmark_export.json&lt;/code&gt; runs carry &lt;code&gt;cost_usd&lt;/code&gt;, &lt;code&gt;prompt_file&lt;/code&gt; and &lt;code&gt;legacy&lt;/code&gt;; one card template replaces both README templates; benchmark versions are MAJOR.MINOR.PATCH. &lt;code&gt;README.md&lt;/code&gt; introduces the cards and benchmark versions and takes its descriptions from them; its benchmark guide moved into &lt;code&gt;CONTRIBUTING.md&lt;/code&gt;, which adds scorer tests. Reviewed all cards and both fixture READMEs against prompts, schemas, data and scorers; corrected score interpretation, failure handling, personnel interpretation rules and provenance claims, added run guidance and reproducible diagnostics, and recorded per-benchmark findings and open issues in &lt;code&gt;benchmarks/DOCUMENTATION_REVIEW.md&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Site data layer: &lt;code&gt;scripts/ndr_export/generate_site_data.py&lt;/code&gt; (last step of &lt;code&gt;generate_all&lt;/code&gt;) collects everything the website's widgets read into &lt;code&gt;collected_results/site/&lt;/code&gt; (cards with web-sized example images, export, per-benchmark scoring, test configurations, CHANGELOG, CITATION, CONTRIBUTING, contributors, and news/about from the new &lt;code&gt;benchmark-frontend&lt;/code&gt; repository); the deploy serves it at &lt;code&gt;/benchmarks/media/site/&lt;/code&gt; and the widgets no longer read GitHub. News, Contribute and About pages built from it. &lt;code&gt;CONTRIBUTING.md&lt;/code&gt; gains a step-by-step guide to creating and submitting a benchmark; &lt;code&gt;contributors.json&lt;/code&gt; gains &lt;code&gt;photo&lt;/code&gt;, &lt;code&gt;website&lt;/code&gt;, &lt;code&gt;core&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Benchmark cards state two licences: the source material's and CC BY 4.0 for all data the benchmark creates; Audience may name humanities readers (an extension of the EvalEval vocabulary).&lt;/li&gt;
&lt;li&gt;Scorer tests for &lt;code&gt;duty_rosters&lt;/code&gt;, &lt;code&gt;general_meeting_minutes&lt;/code&gt; and &lt;code&gt;magazine_pages&lt;/code&gt;; an integrity test requires them for every benchmark.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;create_benchmark.py&lt;/code&gt; scaffolds a working fuzzy scorer that scores unparseable answers as misses, a scorer test file and &lt;code&gt;meta.json&lt;/code&gt; &lt;code&gt;added&lt;/code&gt;, and no &lt;code&gt;.gitkeep&lt;/code&gt; in input folders; the card validator accepts &lt;code&gt;Not specified&lt;/code&gt; for Audience.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="removed"&gt;Removed&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;collected_results/compare_detail/&lt;/code&gt; is no longer committed; the deploy regenerates it on the VM and copies it into the comparison widget's media directory, which now reads it from there instead of raw.githubusercontent. &lt;code&gt;export_dataset&lt;/code&gt; still hashes it into &lt;code&gt;source_manifest.jsonl&lt;/code&gt; as if committed.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="fixed"&gt;Fixed&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;business_letters&lt;/code&gt; 2.0.0: unparseable responses scored as misses, stored runs re-scored; ground truth is JSON only; its CSV exports, per-run regeneration and dead scorer code removed, and &lt;code&gt;NaN&lt;/code&gt; in &lt;code&gt;persons.json&lt;/code&gt; replaced by &lt;code&gt;null&lt;/code&gt;, scores unchanged.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;company_lists&lt;/code&gt; 3.0.0: &lt;code&gt;page_id&lt;/code&gt; and &lt;code&gt;entry_id&lt;/code&gt; no longer scored; unparseable responses scored as misses; all stored runs re-scored with &lt;code&gt;scripts/rewrite_scores.py&lt;/code&gt;; &lt;code&gt;prompt_v2.txt&lt;/code&gt; for new tests.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;duty_rosters&lt;/code&gt; 3.0.0: ground truth of rows SaA410, S402 (staff ids) and 109 (29 April) corrected; &lt;code&gt;profession&lt;/code&gt; no longer scored (not in the row images); unparseable responses scored as misses; stored runs re-scored.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;personnel_cards&lt;/code&gt; 2.0.0: unparseable responses scored as misses; stored runs re-scored. 3.0.0: a card without rows answered without rows scores 1, not 0; stored runs re-scored.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;blacklist_cards&lt;/code&gt; 2.0.0: Montaner card's date and address corrected; empty &lt;code&gt;information&lt;/code&gt; is &lt;code&gt;null&lt;/code&gt; in the ground truth and &lt;code&gt;[]&lt;/code&gt; counts as empty; unparseable responses scored as misses; dead code removed; stored runs re-scored.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;magazine_pages&lt;/code&gt;: five runs from before unparseable pages counted as misses re-scored under that rule.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;medieval_manuscripts&lt;/code&gt; 2.0.0: folio [69r] numbered 69; unparseable responses scored as misses; stored runs re-scored.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;fraktur_adverts&lt;/code&gt; 3.0.0: unparseable responses scored as misses; &lt;code&gt;image_5&lt;/code&gt; adverts 4 (raw database format) and 5 (numbered 3) corrected; ground truth in one format; scorer simplified, behavior unchanged; stored runs re-scored.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;general_meeting_minutes&lt;/code&gt; 3.0.0: unparseable responses scored as misses; degree signs in the ground truth corrected (&lt;code&gt;U+00B0&lt;/code&gt; → &lt;code&gt;°&lt;/code&gt;); unused &lt;code&gt;context/&lt;/code&gt; removed; the four prompt-variant tests retired as legacy; stored runs re-scored.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;bibliographic_data&lt;/code&gt; 2.0.0: ground truth checked against the scans and conformed to the response schema (transcription errors, six missing entries, nested entries, &lt;code&gt;relation&lt;/code&gt; as id); entries aligned in page order instead of by position; wrapped responses unwrapped; unparseable responses scored as misses; &lt;code&gt;prompt_v2.txt&lt;/code&gt; for new tests (printed page number, &lt;code&gt;id&lt;/code&gt; as the printed number); scorer tests; stored runs re-scored.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;book_advert_xml&lt;/code&gt; 2.0.0: scored by edits (F1 of the model's edits against the reference's, &lt;code&gt;f1_macro&lt;/code&gt;) instead of fuzzy similarity, which unchanged input won at 99; ground truth curated to input text plus tag repairs, all 50 well-formed, unscored keys dropped; unparseable responses scored as misses; &lt;code&gt;prompt_v2.txt&lt;/code&gt; for new tests; stored runs re-scored.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;library_cards&lt;/code&gt; 3.0.0: year of &lt;code&gt;00575005&lt;/code&gt; corrected; unparseable responses scored as misses; ground-truth files hold only the card record; the two files without an image and the annotation tools removed; stored runs re-scored.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Benchmark cards, a new result overview and a faster test-run search</title><link>https://rise-services.rise.unibas.ch/benchmarks/p/news/#2026-10-16--benchmark-cards-a-new-result-overview-and-a-faster-test-run-search</link><guid isPermaLink="true">https://rise-services.rise.unibas.ch/benchmarks/p/news/#2026-10-16--benchmark-cards-a-new-result-overview-and-a-faster-test-run-search</guid><pubDate>Fri, 16 Oct 2026 00:00:00 +0000</pubDate><description>&lt;p&gt;Benchmark descriptions now live where the benchmarks live. Each benchmark's README in the
repository is becoming a &lt;a href="https://arxiv.org/abs/2410.12974"&gt;BenchmarkCard&lt;/a&gt;, the documentation
standard proposed by Sokol et al. (NeurIPS 2025) and used by Evaluation Cards. A card covers the
same ground for every benchmark: purpose and intended users, data and annotation, methodology and
metrics, and ethical and legal considerations. It also carries a machine-readable
&lt;code&gt;benchmark_card.json&lt;/code&gt;. The website shows the card directly, so the page and the repository can no
longer drift apart. &lt;em&gt;Personnel Cards&lt;/em&gt; is the first; the other benchmarks follow.&lt;/p&gt;
&lt;p&gt;Every benchmark also has a new &lt;strong&gt;result overview&lt;/strong&gt;: a leaderboard of the best run per model with
its cost, the cheapest model within two points of the top, score against cost with the cost
frontier, and scores over time. &lt;strong&gt;Test runs&lt;/strong&gt; are now searched and filtered directly in the
browser, by benchmark, provider, model or test id. Each run card shows its score, rank and cost,
and opens to the full scoring, the configuration, the prompt and the response-by-response
comparison with the ground truth. The leaderboard has been restyled to match, and every provider
now has one fixed colour across all pages.&lt;/p&gt;
&lt;p&gt;Benchmark versions now follow semantic versioning: a new major version means scores before and
after are not comparable.&lt;/p&gt;</description></item><item><title>Release v0.6.1</title><link>https://rise-services.rise.unibas.ch/benchmarks/p/news/#v061</link><guid isPermaLink="true">https://rise-services.rise.unibas.ch/benchmarks/p/news/#v061</guid><pubDate>Tue, 29 Sep 2026 00:00:00 +0000</pubDate><description>&lt;h4 id="added"&gt;Added&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;6 new models: &lt;code&gt;claude-opus-5-5&lt;/code&gt;, &lt;code&gt;claude-sonnet-5-5&lt;/code&gt; (Anthropic), &lt;code&gt;gpt-6-sol&lt;/code&gt;, &lt;code&gt;gpt-6-luna&lt;/code&gt; (OpenAI), &lt;code&gt;grok-4.7&lt;/code&gt; (x-ai) and &lt;code&gt;Qwen3.8-Flash-Next-FP8&lt;/code&gt; (sciCORE), with 90 benchmark test configurations (T1795-T1884); &lt;code&gt;pricing.json&lt;/code&gt; metadata bumped to version 1.55.&lt;/li&gt;
&lt;li&gt;Results for 2026-09-27: T1810-T1869 (60 tests, 2,596 requests) for &lt;code&gt;claude-opus-5-5&lt;/code&gt;, &lt;code&gt;gpt-6-sol&lt;/code&gt;, &lt;code&gt;gpt-6-luna&lt;/code&gt; and &lt;code&gt;grok-4.7&lt;/code&gt;; &lt;code&gt;library_cards&lt;/code&gt; for the gpt-6 models (T1830, T1845) on &lt;code&gt;prompt_year-string.txt&lt;/code&gt;. Results for 2026-09-29: T1870-T1884, T1675-T1689 and T1810-T1824 (45 tests, 1,947 requests) for &lt;code&gt;claude-sonnet-5-5&lt;/code&gt;, &lt;code&gt;claude-fable-5-1&lt;/code&gt; and &lt;code&gt;claude-opus-5-5&lt;/code&gt; on &lt;code&gt;generic-llm-api-client&lt;/code&gt; 0.5.2.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="changed"&gt;Changed&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;sciCORE moved to &lt;code&gt;&lt;a href="https://ai-api.scicore.unibas.ch/v1"&gt;https://ai-api.scicore.unibas.ch/v1&lt;/a&gt;&lt;/code&gt;, set per test via &lt;code&gt;base_url&lt;/code&gt;; &lt;code&gt;qwen35-397b-a17b-fp8&lt;/code&gt; marked legacy, no longer served.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="fixed"&gt;Fixed&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;benchmark_base.py&lt;/code&gt;: &lt;code&gt;gpt-6&lt;/code&gt; sends no temperature, which it rejects, on the Responses path too; a run stops on Anthropic's credit-balance 400.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;library_cards&lt;/code&gt;: new &lt;code&gt;prompt_year-string.txt&lt;/code&gt; prompt variant asking for &lt;code&gt;year&lt;/code&gt; as a string; &lt;code&gt;prompt.txt&lt;/code&gt; asks for an integer the schema forbids, which loops constrained decoding on whitespace.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;generic-llm-api-client&lt;/code&gt; 0.5.1 and 0.5.2: reasoning, failed and discarded attempts are recorded and priced, and priced on the requested model, a billed total keeps the provider's own input and output split, and a schema echoed back is a failed parse; resumed runs keep them and never reprice a stored or billed cost. &lt;code&gt;backfill_costs.py&lt;/code&gt; applies the same split to stored results. Claude models that reject forced tool use get the schema as an optional tool instead of plain text.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Release v0.6.0</title><link>https://rise-services.rise.unibas.ch/benchmarks/p/news/#v060</link><guid isPermaLink="true">https://rise-services.rise.unibas.ch/benchmarks/p/news/#v060</guid><pubDate>Wed, 23 Sep 2026 00:00:00 +0000</pubDate><description>&lt;h4 id="added"&gt;Added&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;scripts/backfill_costs.py&lt;/code&gt;: records reasoning tokens and fills missing input/output cost on stored results, priced at the rate in force on each run's date. Dry run by default.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;generate_vars.py&lt;/code&gt;: &lt;code&gt;total_reasoning_tokens&lt;/code&gt; and &lt;code&gt;total_reasoning_cost_usd&lt;/code&gt; in &lt;code&gt;vars.json&lt;/code&gt;; the energy estimate charges reasoning at the output rate.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;README.md&lt;/code&gt;: Transkribus User Conference 2026 poster under Publications.&lt;/li&gt;
&lt;li&gt;2 new models replacing retired ones: &lt;code&gt;deepseek-flash&lt;/code&gt; (DeepSeek's V4.1-Flash, with vision) and &lt;code&gt;qwen/qwen3.8-max-0902&lt;/code&gt; (OpenRouter), with 30 benchmark test configurations (T1765-T1794, 15 each).&lt;/li&gt;
&lt;li&gt;Pricing data for 2026-09-16: 85 priced models across 12 providers and for 2026-09-18; 2026-06-11 and 2026-06-23 buckets for &lt;code&gt;cohere/command-r&lt;/code&gt; and &lt;code&gt;command-r-plus&lt;/code&gt;, recovered from archived snapshots; &lt;code&gt;pricing.json&lt;/code&gt; metadata bumped to version 1.52.&lt;/li&gt;
&lt;li&gt;Results for the single-run and never-run backlog: 1,046 runs and 42,623 requests on 2026-09-16 (531 runs), 2026-09-17 (346) and 2026-09-18 (169).&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="fixed"&gt;Fixed&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;results/&lt;/code&gt;: 17,600 requests now record &lt;code&gt;reasoning_tokens&lt;/code&gt; and &lt;code&gt;reasoning_cost_usd&lt;/code&gt;; genai and x-ai bill reasoning outside &lt;code&gt;output_tokens&lt;/code&gt;, so it was never costed.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;results/&lt;/code&gt;: 17,398 requests that recorded tokens but no cost are now priced.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;results/&lt;/code&gt;: 7,922 Hugging Face requests repriced.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;pricing.json&lt;/code&gt;: &lt;code&gt;cohere/command-r-08-2024&lt;/code&gt; at 2026-03-02 corrected to $0.15/$0.60; it held &lt;code&gt;command-r7b&lt;/code&gt;'s price.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;library_cards&lt;/code&gt;: &lt;code&gt;Publication.year&lt;/code&gt; is optional and accepts a numeric year, coerced to string.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;company_lists&lt;/code&gt;: &lt;code&gt;Entry.location&lt;/code&gt; is optional.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;business_letters&lt;/code&gt;: null and blank entries are dropped from the &lt;code&gt;Metadata&lt;/code&gt; lists; the keys stay required.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;magazine_pages&lt;/code&gt;: new &lt;code&gt;prompt_explicit-json.txt&lt;/code&gt; prompt variant stating the JSON format and the &lt;code&gt;box&lt;/code&gt; key. An unparseable answer scores as a miss instead of being skipped, via the new &lt;code&gt;score_unparseable_as_miss&lt;/code&gt; opt-in.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;publicai&lt;/code&gt; Apertus output ceiling lowered to 4,096.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;benchmark_base.py&lt;/code&gt;: output ceilings for &lt;code&gt;claude-haiku-4-5&lt;/code&gt;, &lt;code&gt;claude-opus-4-5&lt;/code&gt; and &lt;code&gt;claude-sonnet-4-5&lt;/code&gt; (64,000).&lt;/li&gt;
&lt;li&gt;&lt;code&gt;benchmark_base.py&lt;/code&gt;: sends &lt;code&gt;max_completion_tokens&lt;/code&gt; on OpenAI chat endpoints, which gpt-5 and newer require in place of &lt;code&gt;max_tokens&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;update_pricing.py&lt;/code&gt;: reads every text block of the parser's reply, so a leading thinking block no longer raises &lt;code&gt;KeyError: 'text'&lt;/code&gt; and blanks a provider's models.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;update_pricing.py&lt;/code&gt;: Alibaba scraped from &lt;code&gt;model-studio/model-pricing&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;generate_compare_detail.py&lt;/code&gt;: a run whose detail comes back identical keeps its recorded &lt;code&gt;rescored&lt;/code&gt; date, so a re-run no longer rewrites every detail file with no change in content.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="changed"&gt;Changed&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Published totals over 3,417 runs: cost $940.84 → $1,796.42 and the energy estimate up four fifths, from the reasoning backfill, the cost fill and the runs since 2026-09-14.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;collected_results/&lt;/code&gt; is no longer committed, apart from &lt;code&gt;compare_detail/&lt;/code&gt;; the deploy rebuilds it on the VM before it reads anything.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;DEFAULT_MAX_OUTPUT_TOKENS&lt;/code&gt; lowered from 32,768 to 16,384.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;deepseek-flash&lt;/code&gt; keeps 32,768 via the new &lt;code&gt;MODEL_LONG_OUTPUT&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Output ceiling of 16,384 for the seven &lt;code&gt;qwen/qwen3.5-*&lt;/code&gt; and both &lt;code&gt;meta/muse-spark&lt;/code&gt; models, which binds when a benchmark raises its own cap.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;legacy_test=true&lt;/code&gt; for six models their providers no longer serve: &lt;code&gt;deepseek-chat&lt;/code&gt;, &lt;code&gt;deepseek-reasoner&lt;/code&gt;, &lt;code&gt;deepseek-v4-flash&lt;/code&gt;, &lt;code&gt;deepseek-v4-flash-vision-exp&lt;/code&gt; (DeepSeek now serves &lt;code&gt;deepseek-flash&lt;/code&gt; and &lt;code&gt;deepseek-v4-pro&lt;/code&gt; only), &lt;code&gt;qwen/qwen3.8-max&lt;/code&gt; (OpenRouter now lists &lt;code&gt;qwen/qwen3.8-max-0902&lt;/code&gt;) and &lt;code&gt;claude-opus-4-1-20250805&lt;/code&gt; (Anthropic).&lt;/li&gt;
&lt;li&gt;&lt;code&gt;README.md&lt;/code&gt;: task-oriented sections, with the results dashboard up front, metrics rewritten around what each benchmark records, and reference material in collapsed blocks.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;CITATION.cff&lt;/code&gt;: expanded keywords for Zenodo discovery.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="removed"&gt;Removed&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;3 &lt;code&gt;scoring.json&lt;/code&gt; publishing 0.0 with no request files behind them (&lt;code&gt;2026-09-16/T1480&lt;/code&gt;, &lt;code&gt;2026-09-17/T1322&lt;/code&gt;, &lt;code&gt;2026-09-17/T1335&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;4 &lt;code&gt;magazine_pages&lt;/code&gt; tests configured on text-only cohere models (T0798-T0801: &lt;code&gt;command-r-08-2024&lt;/code&gt;, &lt;code&gt;command-r-plus-08-2024&lt;/code&gt;, &lt;code&gt;command-r7b-12-2024&lt;/code&gt;, &lt;code&gt;command-a-03-2025&lt;/code&gt;); none could ever produce a result.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Release v0.5.5</title><link>https://rise-services.rise.unibas.ch/benchmarks/p/news/#v055</link><guid isPermaLink="true">https://rise-services.rise.unibas.ch/benchmarks/p/news/#v055</guid><pubDate>Mon, 14 Sep 2026 00:00:00 +0000</pubDate><description>&lt;h4 id="added"&gt;Added&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;12 new models: gemini-3.7-flash and gemini-3.8-flash (GenAI), grok-4.6 (xAI), meta/muse-spark-1.2, meta/muse-spark-1.3, z-ai/glm-5v-turbo, z-ai/glm-5.3-flash, qwen/qwen3.8-flash and qwen/qwen3.8-27b (OpenRouter), gpt-6-astra (OpenAI; added to the &lt;code&gt;benchmark_base.py&lt;/code&gt; hotfix list that forces &lt;code&gt;temperature=1&lt;/code&gt;), claude-fable-5-1 (Anthropic; added to the &lt;code&gt;benchmark_base.py&lt;/code&gt; no-&lt;code&gt;temperature&lt;/code&gt; hotfix list) and deepseek-v4-flash-vision-exp (DeepSeek; first DeepSeek model with image input), with 180 benchmark test configurations (T1585-T1764, 15 each).&lt;/li&gt;
&lt;li&gt;Pricing data for 2026-08-18 (gemini-3.7-flash, grok-4.6, meta/muse-spark-1.2, z-ai/glm-5v-turbo), 2026-09-02 (gemini-3.8-flash), 2026-09-03 (gpt-6-astra) and 2026-09-08 (claude-fable-5-1, meta/muse-spark-1.3, z-ai/glm-5.3-flash, qwen/qwen3.8-flash, qwen/qwen3.8-27b, deepseek-v4-flash-vision-exp); &lt;code&gt;pricing.json&lt;/code&gt; metadata bumped to version 1.47.&lt;/li&gt;
&lt;li&gt;Tests on 2026-08-18: T1585-T1644 (60 tests) for the 4 new models across all benchmarks — gemini-3.7-flash (T1585-T1599) (GenAI), grok-4.6 (T1600-T1614) (x-ai), meta/muse-spark-1.2 (T1615-T1629) and z-ai/glm-5v-turbo (T1630-T1644) (OpenRouter)&lt;/li&gt;
&lt;li&gt;Tests on 2026-09-03: T1645-T1659 (15 tests) for gemini-3.8-flash (GenAI) across all benchmarks&lt;/li&gt;
&lt;li&gt;Tests on 2026-09-04: T1660-T1674 (15 tests) for gpt-6-astra (OpenAI) across all benchmarks&lt;/li&gt;
&lt;li&gt;Tests on 2026-09-08: T1690-T1739 and T1750-T1764 (65 tests) — meta/muse-spark-1.3 (T1690-T1704), z-ai/glm-5.3-flash (T1705-T1719), qwen/qwen3.8-flash (T1720-T1734) (OpenRouter), deepseek-v4-flash-vision-exp (T1750-T1764) (DeepSeek) across all benchmarks, and qwen/qwen3.8-27b on 5 of 15 (T1735-T1739) (OpenRouter)&lt;/li&gt;
&lt;li&gt;Tests on 2026-09-09: T1740-T1749 (10 tests) completing qwen/qwen3.8-27b (OpenRouter).&lt;/li&gt;
&lt;li&gt;&lt;code&gt;tests/integrity/test_client_capability_integrity.py&lt;/code&gt;: fails when the installed &lt;code&gt;ai_client&lt;/code&gt; would silently drop images from a DeepSeek vision model.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;FatalProviderError&lt;/code&gt;: a 402, 401 or 403 now aborts the run instead of being retried per object for every remaining test.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;field_scores&lt;/code&gt; in &lt;code&gt;score_request_answer&lt;/code&gt; for the eight benchmarks that lacked it (&lt;code&gt;bibliographic_data&lt;/code&gt;, &lt;code&gt;blacklist_cards&lt;/code&gt;, &lt;code&gt;book_advert_xml&lt;/code&gt;, &lt;code&gt;business_letters&lt;/code&gt;, &lt;code&gt;fraktur_adverts&lt;/code&gt;, &lt;code&gt;general_meeting_minutes&lt;/code&gt;, &lt;code&gt;magazine_pages&lt;/code&gt;, &lt;code&gt;medieval_manuscripts&lt;/code&gt;), so all twelve now record what the scorer compared as &lt;code&gt;{response, ground_truth, score}&lt;/code&gt;, with &lt;code&gt;score&lt;/code&gt; set to &lt;code&gt;null&lt;/code&gt; where a scorer counts true/false positives instead of assigning a similarity. Scores are unchanged: all 77,866 stored inputs re-score identically. Documented on &lt;code&gt;Benchmark.score_request_answer&lt;/code&gt; and enforced by the new &lt;code&gt;tests/integrity/test_field_scores_integrity.py&lt;/code&gt;, which also rejects a score that will not serialise, since &lt;code&gt;save_answer&lt;/code&gt; writes it verbatim into the stored answer.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;scripts/offline_scoring.py&lt;/code&gt; and &lt;code&gt;scripts/rescore.py&lt;/code&gt;: re-run a benchmark's own scorer over stored results with no model call, to prove a scorer change leaves its numbers untouched. Each run's &lt;code&gt;rules&lt;/code&gt; are applied, because &lt;code&gt;personnel_cards&lt;/code&gt; selects which fields it scores from them.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;scripts/ndr_export/generate_compare_detail.py&lt;/code&gt;, a new &lt;code&gt;generate_all.py&lt;/code&gt; step (now 8), writing &lt;code&gt;collected_results/compare_detail/&amp;lt;date&amp;gt;/&amp;lt;test_id&amp;gt;.json&lt;/code&gt; (1,792 files, ~13 MB in git). Only inputs whose stored answer has no &lt;code&gt;field_scores&lt;/code&gt; are re-scored, so detail recorded at run time is always preferred and &lt;code&gt;results/&lt;/code&gt; is never rewritten; each file records its provenance and whether re-scoring still reproduces the stored score. &lt;code&gt;compare_index.json&lt;/code&gt; marks such runs with &lt;code&gt;detail: true&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;timing&lt;/code&gt; on every test run in &lt;code&gt;test_runs_export.json&lt;/code&gt;: total model time, mean and slowest per input, and inputs timed.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="fixed"&gt;Fixed&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;general_meeting_minutes&lt;/code&gt;: &lt;code&gt;score_benchmark&lt;/code&gt; no longer raises &lt;code&gt;ZeroDivisionError&lt;/code&gt; when every request fails, matching the empty-score guard in the other benchmarks.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;business_letters&lt;/code&gt;: a response that does not match the expected schema now scores as a complete failure instead of crashing the run.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;business_letters&lt;/code&gt;: scoring no longer injects &lt;code&gt;document_number&lt;/code&gt; into the saved response payload.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;scripts/generate_test_report.py&lt;/code&gt;: a field with no per-field similarity no longer raises when the field-by-field table is rendered; &lt;code&gt;score&lt;/code&gt; was formatted with &lt;code&gt;:.2f&lt;/code&gt;, which fails on the &lt;code&gt;null&lt;/code&gt; a counting scorer reports.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;general_meeting_minutes&lt;/code&gt;: two &lt;code&gt;print()&lt;/code&gt; calls in the scoring path now log instead of writing to stdout on every run.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;benchmark_export.json&lt;/code&gt;: &lt;code&gt;used_providers&lt;/code&gt; and &lt;code&gt;used_models&lt;/code&gt; are now sorted instead of reordering on every run.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="changed"&gt;Changed&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Requests now send a 32k &lt;code&gt;max_tokens&lt;/code&gt; cap (&lt;code&gt;duty_rosters&lt;/code&gt; 96k, &lt;code&gt;general_meeting_minutes&lt;/code&gt; 40k, per-test override via the &lt;code&gt;rules&lt;/code&gt; column); previously the provider default applied.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;requirements.txt&lt;/code&gt;: relaxed all pins to the versions actually installed in the development environment; dropped the unused &lt;code&gt;matplotlib&lt;/code&gt; and the redundant &lt;code&gt;dotenv&lt;/code&gt; shim, and added &lt;code&gt;pytest&lt;/code&gt;, which CI previously installed separately.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Test run cards now show every scored input, compared against the ground truth</title><link>https://rise-services.rise.unibas.ch/benchmarks/p/news/#2026-09-11--test-run-cards-now-show-every-scored-input-compared-against-the-ground-truth</link><guid isPermaLink="true">https://rise-services.rise.unibas.ch/benchmarks/p/news/#2026-09-11--test-run-cards-now-show-every-scored-input-compared-against-the-ground-truth</guid><pubDate>Fri, 11 Sep 2026 00:00:00 +0000</pubDate><description>&lt;p&gt;Until now a test run card showed a single stored model response. A run scores many inputs, so
that one response was an arbitrary sample: a &lt;em&gt;Magazine Pages&lt;/em&gt; run scores 46 pages, and the card
showed one of them.&lt;/p&gt;
&lt;p&gt;Each card now carries the whole run. Open &lt;em&gt;Response vs ground truth&lt;/em&gt; and you get every scored
input, with the source image or text beside what the model returned and what the benchmark
expects. The important part is what the comparison is made of. It is not a difference calculated
in your browser; it is what the benchmark's own scorer recorded while it was scoring, field by
field, with the similarity it assigned each one. That distinction is crucial because the
benchmarks do not agree on what a match is:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;Magazine Pages&lt;/em&gt; pairs predicted and expected bounding boxes by how far they overlap, so a box
    that is close but not identical still counts.&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Medieval Manuscripts&lt;/em&gt; aligns folios by position, because the ground truth is keyed by folio
    reference while the model returns a list.&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Business Letters&lt;/em&gt; compares normalised name sets and counts true and false positives rather
    than assigning a similarity at all, so those rows show the tally and leave the similarity
    column empty.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;An independent comparison would contradict the score printed beside it. Showing the scorer's own
judgement means the detail and the score always agree. Runs from before scorers recorded this
detail have been re-scored so the view works for the full history, and those are labelled as
such. Ground truths are occasionally corrected after a run, and where re-scoring no longer
reproduces a run's stored score the card says so and shows both sets of numbers, rather than
quietly presenting today's truth as the one the run was measured against.&lt;/p&gt;
&lt;p&gt;Two smaller changes came with it. A new &lt;em&gt;Speed&lt;/em&gt; panel reports the run's total model time, the
mean per input and the slowest input, replacing a figure that was really just one input's
response time. And the prompt now sits with the comparison it produced, rather than in a panel of
its own.&lt;/p&gt;</description></item><item><title>Release v0.5.4</title><link>https://rise-services.rise.unibas.ch/benchmarks/p/news/#v054</link><guid isPermaLink="true">https://rise-services.rise.unibas.ch/benchmarks/p/news/#v054</guid><pubDate>Mon, 17 Aug 2026 00:00:00 +0000</pubDate><description>&lt;h4 id="added"&gt;Added&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;9 new models: grok-4.5 (xAI), qwen/qwen3.8-max (OpenRouter), and seven on Hugging Face, namely swiss-ai/Apertus-v1.5-70B, swiss-ai/Apertus-v1.5-8B, Qwen/Qwen3-VL-235B-A22B-Instruct, MiniMaxAI/MiniMax-M3, thinkingmachines/Inkling, thinkingmachines/Inkling-Small and meta-models/Muse-Glimmer-30B&lt;/li&gt;
&lt;li&gt;New &lt;code&gt;huggingface&lt;/code&gt; provider: routes to third-party inference providers over the OpenAI-compatible Hugging Face router API.&lt;/li&gt;
&lt;li&gt;Hugging Face models are recorded with their downstream inference provider pinned in the model name (&lt;code&gt;&amp;lt;repo_id&amp;gt;:&amp;lt;provider&amp;gt;&lt;/code&gt;, e.g. &lt;code&gt;MiniMaxAI/MiniMax-M3:deepinfra&lt;/code&gt;), which the router honors per request.&lt;/li&gt;
&lt;li&gt;135 new benchmark test configurations (T1450-T1584) for the 9 new models across all benchmarks (15 tests each): grok-4.5 (T1450-T1464), qwen/qwen3.8-max (T1465-T1479), swiss-ai/Apertus-v1.5-70B:publicai (T1480-T1494), swiss-ai/Apertus-v1.5-8B:publicai (T1495-T1509), Qwen/Qwen3-VL-235B-A22B-Instruct:deepinfra (T1510-T1524), MiniMaxAI/MiniMax-M3:deepinfra (T1525-T1539), thinkingmachines/Inkling-Small:deepinfra (T1540-T1554), thinkingmachines/Inkling:together (T1555-T1569), meta-models/Muse-Glimmer-30B:together (T1570-T1584)&lt;/li&gt;
&lt;li&gt;Tests on 2026-06-30: 4 &lt;code&gt;book_advert_xml&lt;/code&gt; tests (Cohere) — command-r-08-2024 (T0483), command-r-plus-08-2024 (T0484), command-r7b-12-2024 (T0485) and command-a-03-2025 (T0486).&lt;/li&gt;
&lt;li&gt;Tests on 2026-08-04: T1450-T1479 (30 tests) — grok-4.5 (T1450-T1464) (x-ai) and qwen/qwen3.8-max (T1465-T1479) (OpenRouter)&lt;/li&gt;
&lt;li&gt;Tests on 2026-08-14: 21 tests (Hugging Face) with swiss-ai/Apertus-v1.5-70B:publicai (T1480-T1486) and swiss-ai/Apertus-v1.5-8B:publicai (T1495-T1508).&lt;/li&gt;
&lt;li&gt;Tests on 2026-08-15: 66 tests (Hugging Face) with Qwen/Qwen3-VL-235B-A22B-Instruct:deepinfra (T1510-T1524), MiniMaxAI/MiniMax-M3:deepinfra (T1525-T1539), thinkingmachines/Inkling-Small:deepinfra (T1540-T1545), thinkingmachines/Inkling:together (T1555-T1560, T1562-T1569), meta-models/Muse-Glimmer-30B:together (T1570-T1575), swiss-ai/Apertus-v1.5-70B:publicai (T1485-T1494) and swiss-ai/Apertus-v1.5-8B:publicai (T1509).&lt;/li&gt;
&lt;li&gt;Tests on 2026-08-16: 19 tests (Hugging Face) with thinkingmachines/Inkling-Small:deepinfra (T1546-T1554), thinkingmachines/Inkling:together (T1561) and meta-models/Muse-Glimmer-30B:together (T1576-T1584).&lt;/li&gt;
&lt;li&gt;Pricing data for 2026-08-04 (grok-4.5, qwen/qwen3.8-max), 2026-08-10 (the two &lt;code&gt;swiss-ai/Apertus-*&lt;/code&gt; models on Hugging Face) and 2026-08-15 (five new Hugging Face models, each priced from its pinned route); &lt;code&gt;pricing.json&lt;/code&gt; metadata bumped to version 1.42.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;scripts/data/model_aliases.json&lt;/code&gt; (v1.4): &lt;code&gt;huggingface&lt;/code&gt; aliases for all seven pinned model names, mapping each to the model id its route writes into result files, plus an &lt;code&gt;alibaba&lt;/code&gt; alias &lt;code&gt;qwen3.5-plus-2026-02-15&lt;/code&gt; → &lt;code&gt;qwen3.5-plus&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;scripts/ndr_export/copy_static_data.py&lt;/code&gt;: copies &lt;code&gt;pricing.json&lt;/code&gt; and &lt;code&gt;model_aliases.json&lt;/code&gt; verbatim into &lt;code&gt;collected_results/&lt;/code&gt; as a sixth &lt;code&gt;generate_all.py&lt;/code&gt; step, making the export self-contained. The viz widget joins &lt;code&gt;benchmark_export.json&lt;/code&gt; (model names from &lt;code&gt;benchmarks_tests.csv&lt;/code&gt;) to &lt;code&gt;test_runs_export.json&lt;/code&gt; (model names as result files report them) on provider + model, so without the alias map it silently lost cost and speed figures for every aliased model.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;CITATION.cff&lt;/code&gt;: &lt;code&gt;references&lt;/code&gt; block listing the two peer-reviewed &lt;em&gt;Journal of Open Humanities Data&lt;/em&gt; articles describing the benchmark (&lt;a href="https://doi.org/10.5334/johd.470"&gt;10.5334/johd.470&lt;/a&gt; and &lt;a href="https://doi.org/10.5334/johd.481"&gt;10.5334/johd.481&lt;/a&gt;), so citation tools surface the papers alongside the software.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="fixed"&gt;Fixed&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Added the missing &lt;code&gt;duty_rosters&lt;/code&gt; entry to the Available Benchmarks table in &lt;code&gt;README.md&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;README.md&lt;/code&gt; consistency pass.&lt;/li&gt;
&lt;li&gt;Tests with a &lt;code&gt;dataclass&lt;/code&gt; whose completion yields no parseable JSON (truncated, empty or non-JSON) are now logged and skipped instead of being passed to &lt;code&gt;score_request_answer&lt;/code&gt; with a &lt;code&gt;None&lt;/code&gt; payload.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Release v0.5.3</title><link>https://rise-services.rise.unibas.ch/benchmarks/p/news/#v053</link><guid isPermaLink="true">https://rise-services.rise.unibas.ch/benchmarks/p/news/#v053</guid><pubDate>Tue, 04 Aug 2026 00:00:00 +0000</pubDate><description>&lt;h4 id="added"&gt;Added&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;2 new models: claude-sonnet-5, claude-fable-5 (Anthropic); both added to the &lt;code&gt;benchmark_base.py&lt;/code&gt; hotfix list that sends no &lt;code&gt;temperature&lt;/code&gt; (the models reject the deprecated parameter)&lt;/li&gt;
&lt;li&gt;7 new models: gpt-5.6-sol, gpt-5.6-terra, gpt-5.6-luna (OpenAI; added to the &lt;code&gt;benchmark_base.py&lt;/code&gt; hotfix list that forces &lt;code&gt;temperature=1&lt;/code&gt;, as these models reject any other value), moonshotai/kimi-k3 (OpenRouter), claude-opus-5 (Anthropic; added to the &lt;code&gt;benchmark_base.py&lt;/code&gt; no-&lt;code&gt;temperature&lt;/code&gt; hotfix list), gemini-3.6-flash, gemini-3.5-flash-lite (GenAI)&lt;/li&gt;
&lt;li&gt;26 new benchmark test configurations (T1177-T1202) for Anthropic claude-sonnet-5 (T1177-T1189) and claude-fable-5 (T1190-T1202) across all benchmarks&lt;/li&gt;
&lt;li&gt;105 new benchmark test configurations (T1345-T1449) for the 7 new models across all benchmarks (15 tests each): gpt-5.6-sol (T1345-T1359), gpt-5.6-terra (T1360-T1374), gpt-5.6-luna (T1375-T1389), moonshotai/kimi-k3 (T1390-T1404), claude-opus-5 (T1405-T1419), gemini-3.6-flash (T1420-T1434), gemini-3.5-flash-lite (T1435-T1449)&lt;/li&gt;
&lt;li&gt;Pricing data for 2026-07-01 (claude-sonnet-5), 2026-07-02 (claude-fable-5), 2026-07-03 (meta-llama/llama-4-maverick), and 2026-07-25 (gpt-5.6-sol, gpt-5.6-terra, gpt-5.6-luna, moonshotai/kimi-k3, claude-opus-5, gemini-3.6-flash, gemini-3.5-flash-lite; &lt;code&gt;pricing.json&lt;/code&gt; metadata bumped to version 1.39)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;scripts/data/model_aliases.json&lt;/code&gt; (v1.1): added openrouter alias &lt;code&gt;meta-llama/llama-4-maverick&lt;/code&gt; → &lt;code&gt;meta-llama/llama-4-maverick-17b-128e-instruct&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Tests on 2026-07-01: T1177-T1189 (13 tests) for Anthropic claude-sonnet-5 across all benchmarks&lt;/li&gt;
&lt;li&gt;Tests on 2026-07-02: T1190-T1202 (13 tests) for Anthropic claude-fable-5 across all benchmarks&lt;/li&gt;
&lt;li&gt;Tests on 2026-07-03: 57 &lt;code&gt;general_meeting_minutes&lt;/code&gt; tests — T1209-T1218 (Anthropic), T1228-T1234 (GenAI), T1235-T1243 (Mistral), T1244-T1254 (OpenAI), T1255-T1271 (OpenRouter), T1273 (sciCORE), and T1274-T1275 (x-ai)&lt;/li&gt;
&lt;li&gt;Tests on 2026-07-24: 37 &lt;code&gt;duty_rosters&lt;/code&gt; tests — T1276-T1279, T1308-T1309, T1332, T1336, T1343-T1344 (Anthropic), T1281-T1284, T1311, T1334, T1342 (GenAI), T1287-T1289, T1337 (Mistral), T1293-T1303, T1310, T1312, T1333 (OpenAI), and T1313, T1338 (x-ai)&lt;/li&gt;
&lt;li&gt;Tests on 2026-07-25/26: T1345-T1449 (105 tests) for the 7 new models across all benchmarks — gpt-5.6-sol (T1345-T1359), gpt-5.6-terra (T1360-T1374), gpt-5.6-luna (T1375-T1389) (OpenAI), moonshotai/kimi-k3 (T1390-T1404) (OpenRouter), claude-opus-5 (T1405-T1419) (Anthropic), gemini-3.6-flash (T1420-T1434), gemini-3.5-flash-lite (T1435-T1449) (GenAI), and T1341 (sciCORE)&lt;/li&gt;
&lt;li&gt;65 new benchmark test configurations (T1203-T1275, excluding T1219 and T1221-T1227) extending &lt;code&gt;general_meeting_minutes&lt;/code&gt; to all non-legacy multimodal models that lacked it, each using the standard &lt;code&gt;prompt.txt&lt;/code&gt; (empirically the best-scoring of the five prompt variants) with the &lt;code&gt;MinutesPage&lt;/code&gt; dataclass; OpenAI at temperature 1.0, all other providers at 0.0.&lt;/li&gt;
&lt;li&gt;Unit test suite under &lt;code&gt;tests/&lt;/code&gt;: &lt;code&gt;test_scoring_helper.py&lt;/code&gt; and &lt;code&gt;test_benchmark_base_helpers.py&lt;/code&gt; cover pure scoring/helper logic; &lt;code&gt;tests/integrity/&lt;/code&gt; adds data-integrity guards (&lt;code&gt;integrity&lt;/code&gt; marker) over &lt;code&gt;benchmarks_tests.csv&lt;/code&gt; and &lt;code&gt;pricing.json&lt;/code&gt;. Run logic-only with &lt;code&gt;pytest -m "not integrity"&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Pricing-coverage guard: every non-legacy model in &lt;code&gt;benchmarks_tests.csv&lt;/code&gt; must have an explicit exact-name entry in &lt;code&gt;pricing.json&lt;/code&gt; with a usable numeric price (local providers, which have no per-token price, are exempt from the numeric requirement but still require an entry).&lt;/li&gt;
&lt;li&gt;Model-addition guards: every non-legacy row's &lt;code&gt;prompt_file&lt;/code&gt; must exist under &lt;code&gt;benchmarks/&amp;lt;name&amp;gt;/prompts/&lt;/code&gt;; every non-legacy model must resolve to a source URL in &lt;code&gt;update_pricing.py&lt;/code&gt; (scicore/local exempt) and appear in the README models table (local exempt).&lt;/li&gt;
&lt;li&gt;Ground-truth guards: every &lt;code&gt;ground_truths/*.json&lt;/code&gt; is valid JSON, and every logical object (image/text basename, collapsed with the benchmark's own basename pattern) has a matching ground-truth file (harness scaffold benchmarks excluded).&lt;/li&gt;
&lt;li&gt;Per-benchmark scoring tests (run offline via &lt;code&gt;__new__&lt;/code&gt;-bypassed instances, no AI client): field-level F1 (&lt;code&gt;company_lists&lt;/code&gt;, &lt;code&gt;library_cards&lt;/code&gt;, &lt;code&gt;personnel_cards&lt;/code&gt; incl. rules-gated field selection), CER (&lt;code&gt;medieval_manuscripts&lt;/code&gt;, &lt;code&gt;fraktur_adverts&lt;/code&gt;), the simple averagers (&lt;code&gt;bibliographic_data&lt;/code&gt;, &lt;code&gt;blacklist_cards&lt;/code&gt;, &lt;code&gt;book_advert_xml&lt;/code&gt;), and &lt;code&gt;business_letters&lt;/code&gt; macro/micro F1 aggregation. The two complex scorers also have end-to-end tests with hand-verified expected scores: &lt;code&gt;business_letters&lt;/code&gt; &lt;code&gt;score_request_answer&lt;/code&gt; (person matching, inferred-person exclusion) and &lt;code&gt;skip_object&lt;/code&gt; signature rules; &lt;code&gt;fraktur_adverts&lt;/code&gt; &lt;code&gt;compare_ads&lt;/code&gt; (section/number matching incl. the image_4 default-section path).&lt;/li&gt;
&lt;li&gt;"Running the Tests" section in &lt;code&gt;CONTRIBUTING.md&lt;/code&gt; documenting the pytest suite, the &lt;code&gt;integrity&lt;/code&gt; marker, and CI enforcement&lt;/li&gt;
&lt;li&gt;&lt;code&gt;duty_rosters&lt;/code&gt; benchmark for extracting structured schedule data (shift icons, half-day splits, alternate-unit assignments, and staff metadata) from Swiss nursing staff duty rosters, scored with field-level F1 (micro/macro): 69 test configurations (T1276-T1344) covering all non-legacy multimodal models across all providers using the &lt;code&gt;Schedule&lt;/code&gt; dataclass.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;scripts/data/pricing_editor.html&lt;/code&gt;: browser-based editor for filling in missing &lt;code&gt;pricing.json&lt;/code&gt; fields and deleting entries; and &lt;code&gt;update_pricing.py --exclude-providers&lt;/code&gt; to skip providers in a run.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="fixed"&gt;Fixed&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;update_pricing.py&lt;/code&gt; scraping: dropped &lt;code&gt;br&lt;/code&gt; from &lt;code&gt;Accept-Encoding&lt;/code&gt; (undecoded brotli garbled OpenAI/Cohere pages), routed Alibaba through the headless browser, tolerate prose around the LLM's JSON, switched Anthropic to its API docs pricing page, stopped partial scrapes from silently dropping models (null template instead), and preserved existing archived &lt;code&gt;source_url&lt;/code&gt;s on &lt;code&gt;--force&lt;/code&gt; re-runs.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;blacklist_cards&lt;/code&gt; and &lt;code&gt;bibliographic_data&lt;/code&gt; &lt;code&gt;score_benchmark&lt;/code&gt; raised &lt;code&gt;ZeroDivisionError&lt;/code&gt; on an empty score list (an all-failed run), crashing the run; both now return &lt;code&gt;{"fuzzy": 0.0}&lt;/code&gt; like &lt;code&gt;book_advert_xml&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;pytest.ini&lt;/code&gt; section header corrected from &lt;code&gt;[tool:pytest]&lt;/code&gt; to &lt;code&gt;[pytest]&lt;/code&gt;, so &lt;code&gt;addopts&lt;/code&gt;, &lt;code&gt;testpaths&lt;/code&gt;, and custom markers are actually applied (the &lt;code&gt;[tool:pytest]&lt;/code&gt; form is only valid in &lt;code&gt;setup.cfg&lt;/code&gt;/&lt;code&gt;tox.ini&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;&lt;code&gt;general_meeting_minutes&lt;/code&gt;: &lt;code&gt;Entry.signature_present&lt;/code&gt; had a trailing comma (&lt;code&gt;bool = False,&lt;/code&gt;) making its default the tuple &lt;code&gt;(False,)&lt;/code&gt; instead of the boolean &lt;code&gt;False&lt;/code&gt;; removed unreachable &lt;code&gt;return scores&lt;/code&gt; dead code in &lt;code&gt;score_request_answer&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;NDR export provider maps updated to the actual provider keys: &lt;code&gt;PROVIDER_COLORS&lt;/code&gt; in &lt;code&gt;generate_visualizations.py&lt;/code&gt; (previously only covered openai/anthropic and the nonexistent google/meta/huggingface, rendering most providers gray) replaced with a CVD-validated 11-provider palette plus a shared &lt;code&gt;provider_display_name()&lt;/code&gt; helper, and &lt;code&gt;provider_names&lt;/code&gt; in &lt;code&gt;generate_multi_select_data.py&lt;/code&gt; gained &lt;code&gt;genai&lt;/code&gt; ("Google/Gemini") and &lt;code&gt;contour_local&lt;/code&gt; ("OpenCV (local)") instead of showing "Genai"/"Contour_local".&lt;/li&gt;
&lt;li&gt;NDR export: benchmark folders without a &lt;code&gt;meta.json&lt;/code&gt; are no longer exported or counted (&lt;code&gt;get_benchmarks()&lt;/code&gt; skips them), fixing inflated dataset counts in &lt;code&gt;vars.json&lt;/code&gt; and empty entries in &lt;code&gt;benchmark_export.json&lt;/code&gt;, &lt;code&gt;benchmarks.csv&lt;/code&gt;, and the heatmap/radar charts.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="changed"&gt;Changed&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Moved dissemination materials (posters, talks, submissions; absorbing the former &lt;code&gt;poster/&lt;/code&gt; folder and &lt;code&gt;benchmarks/duty_rosters/slides/&lt;/code&gt;) into a separate private repository, &lt;code&gt;benchmark-dissemnination&lt;/code&gt;, with one subfolder per output, each with a &lt;code&gt;README.md&lt;/code&gt; and &lt;code&gt;meta.json&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Marked &lt;code&gt;openrouter/x-ai/grok-4&lt;/code&gt; as &lt;code&gt;legacy_test=true&lt;/code&gt; (14 tests: T0265-T0270, T0304, T0336, T0401-T0402, T0481, T0620, T0793, T1272).&lt;/li&gt;
&lt;li&gt;Marked 5 provider-deprecated Mistral models as &lt;code&gt;legacy_test=true&lt;/code&gt; (75 tests): &lt;code&gt;magistral-medium-2509&lt;/code&gt;, &lt;code&gt;magistral-small-2509&lt;/code&gt;, &lt;code&gt;mistral-medium-2505&lt;/code&gt;, &lt;code&gt;mistral-medium-2508&lt;/code&gt;, &lt;code&gt;mistral-small-2506&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;general_meeting_minutes&lt;/code&gt;: disabled shared context (&lt;code&gt;use_shared_context&lt;/code&gt; was &lt;code&gt;True&lt;/code&gt; but no context files were configured, so the harness forced single-threaded runs and sent a context prompt with nothing attached); removed the empty &lt;code&gt;get_shared_context_files&lt;/code&gt;/&lt;code&gt;get_shared_context_prompt&lt;/code&gt; overrides and updated the benchmark README to match. Signatures are still scored as ordinary fields.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Release v0.5.2</title><link>https://rise-services.rise.unibas.ch/benchmarks/p/news/#v052</link><guid isPermaLink="true">https://rise-services.rise.unibas.ch/benchmarks/p/news/#v052</guid><pubDate>Mon, 29 Jun 2026 00:00:00 +0000</pubDate><description>&lt;h4 id="added"&gt;Added&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;9 new models: gemini-3.5-flash, gemini-3.1-flash-lite (GenAI), qwen/qwen3.7-plus, meta-llama/llama-4-scout, stepfun/step-3.7-flash (OpenRouter), claude-opus-4-8 (Anthropic), mistral-medium-3.5 (Mistral), grok-4.3 (x-ai), qwen35-397b-a17b-fp8 (sciCORE)&lt;/li&gt;
&lt;li&gt;91 new benchmark test configurations (T1050-T1140) for GenAI gemini-3.5-flash (T1050-T1062), OpenRouter qwen/qwen3.7-plus (T1063-T1075), Anthropic claude-opus-4-8 (T1076-T1088), Mistral mistral-medium-3.5 (T1089-T1101), x-ai grok-4.3 (T1102-T1114), OpenRouter meta-llama/llama-4-scout (T1115-T1127), and OpenRouter stepfun/step-3.7-flash (T1128-T1140) across all benchmarks&lt;/li&gt;
&lt;li&gt;10 new benchmark test configurations (T1141-T1150) for Cohere command-a-vision-07-2025, completing its coverage of all benchmarks (bibliographic_data, business_letters, fraktur_adverts, library_cards, medieval_manuscripts, blacklist_cards, company_lists)&lt;/li&gt;
&lt;li&gt;13 new benchmark test configurations (T1151-T1163) for sciCORE qwen35-397b-a17b-fp8 across all benchmarks&lt;/li&gt;
&lt;li&gt;13 new benchmark test configurations (T1164-T1176) for GenAI gemini-3.1-flash-lite across all benchmarks&lt;/li&gt;
&lt;li&gt;Tests on 2026-05-22: T1050-T1062 (13 tests) for gemini-3.5-flash across all benchmarks&lt;/li&gt;
&lt;li&gt;Tests on 2026-06-04: T1063-T1101 (39 tests) for qwen/qwen3.7-plus (T1063-T1075), claude-opus-4-8 (T1076-T1088), and mistral-medium-3.5 (T1089-T1101) across all benchmarks; 117 re-run tests for pixtral-large-2411 (T0023, T0035, T0060-T0061, T0095, T0159, T0294, T0326, T0381-T0382, T0469, T0604, T0771), mistral-medium-2508 (T0169, T0171, T0173, T0175, T0177, T0179, T0295, T0327, T0383-T0384, T0470, T0602, T0781), mistral-medium-2505 (T0170, T0172, T0174, T0176, T0178, T0180, T0296, T0328, T0385-T0386, T0471, T0601, T0782), magistral-medium-2509 (T0425-T0434, T0474, T0595, T0795), mistral-small-2506 (T0435-T0444, T0475, T0603, T0796), mistral-large-2512 (T0532-T0542, T0600, T0807), ministral-14b-2512 (T0543-T0553, T0597, T0808), ministral-8b-2512 (T0554-T0564, T0598, T0809), and magistral-small-2509 (T0565-T0575, T0596, T0810) across all benchmarks&lt;/li&gt;
&lt;li&gt;Tests on 2026-06-05: T1115-T1127 (13 tests) for meta-llama/llama-4-scout and T1128-T1140 (13 tests) for stepfun/step-3.7-flash across all benchmarks&lt;/li&gt;
&lt;li&gt;Tests on 2026-06-08: T1102-T1114 (13 tests) for grok-4.3 across all benchmarks&lt;/li&gt;
&lt;li&gt;Tests on 2026-06-22: T1151-T1163 (13 tests) for sciCORE qwen35-397b-a17b-fp8 across all benchmarks&lt;/li&gt;
&lt;li&gt;Tests on 2026-06-29: T1164-T1176 (13 tests) for GenAI gemini-3.1-flash-lite across all benchmarks&lt;/li&gt;
&lt;li&gt;Pricing data for 2026-05-22, 2026-06-04, 2026-06-05, and 2026-06-29 (gemini-3.1-flash-lite)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;scripts/data/model_aliases.json&lt;/code&gt; for tracking model name aliases between &lt;code&gt;benchmarks_tests.csv&lt;/code&gt; and result files, organised by provider&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="changed"&gt;Changed&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;inject_costs.py&lt;/code&gt; now resolves model names via &lt;code&gt;scripts/data/model_aliases.json&lt;/code&gt;, so tests whose result files use alias model names get correct cost calculations&lt;/li&gt;
&lt;li&gt;Marked 8 provider-retired models as &lt;code&gt;legacy_test=true&lt;/code&gt;: claude-opus-4-20250514, claude-sonnet-4-20250514 (Anthropic), gemini-2.0-flash, gemini-2.0-flash-lite, gemini-2.5-flash-lite-preview-09-2025, gemini-3.1-flash-lite-preview (GenAI), mistral-large-2411, pixtral-large-2411 (Mistral)&lt;/li&gt;
&lt;li&gt;Marked all 16 sciCORE tests as &lt;code&gt;legacy_test=true&lt;/code&gt; (GLM-4.5V-FP8 and qwen3-235b-fp8): T0237-T0242, T0299, T0331, T0391-T0392, T0476, T0482, T0621-T0622, T0790, T0797&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>New "Which Model for Me?" tab: a guided model recommender</title><link>https://rise-services.rise.unibas.ch/benchmarks/p/news/#2026-06-17--new-which-model-for-me-tab-a-guided-model-recommender</link><guid isPermaLink="true">https://rise-services.rise.unibas.ch/benchmarks/p/news/#2026-06-17--new-which-model-for-me-tab-a-guided-model-recommender</guid><pubDate>Wed, 17 Jun 2026 00:00:00 +0000</pubDate><description>&lt;p&gt;The benchmark dashboard now includes a &lt;em&gt;"Which Model for Me?"&lt;/em&gt; tab that turns our benchmark
results into a concrete recommendation for your own project, so you don't have to read every
score table yourself.&lt;/p&gt;
&lt;p&gt;Instead of asking you to know which benchmark matches your material, it asks about your &lt;em&gt;data
and task&lt;/em&gt;. You describe what you're working with (document type, handwriting vs. print,
language, the task such as transcription, extraction or layout analysis, and century), and the
tool maps your answers to the closest benchmarks in the suite. You can fine-tune the matched
benchmarks, or switch to expert mode and pick them directly.&lt;/p&gt;
&lt;p&gt;Three further inputs shape the result:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Scale:&lt;/strong&gt; from a one-off run to a 100k+ document pipeline. The larger your scale, the more
    score the tool is willing to trade for lower cost or faster throughput.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Optimize for:&lt;/strong&gt; cost or time. With run data loaded, recommendations are ranked by
    price-per-run or seconds-per-run within a score band, rather than by raw score alone.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Data sensitivity:&lt;/strong&gt; a simple choice between non-sensitive and sensitive data. Non-sensitive
    data may use cloud-hosted models; sensitive data restricts the recommendation to on-premise
    models (e.g., hosted by sciCORE) that keep your documents on site. Always follow your own
    institution's data-classification directive.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The output is a single recommended model with its per-benchmark scores, cost and speed where
available, and a clear privacy note, plus a short list of alternatives. Each score is a
normalized 0–100 value that puts every benchmark's native metric (F1, character error rate, and
so on) on a common scale, so results from very different tasks stay comparable. Scores always
reflect the &lt;em&gt;latest non-legacy&lt;/em&gt; run for each model, so recommendations track the current
generation rather than retired configurations.&lt;/p&gt;
&lt;p&gt;As always, the underlying data is open and the methodology is documented in the
&lt;a href="https://github.com/RISE-UNIBAS/humanities_data_benchmark"&gt;RISE Humanities Data Benchmark repository&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Release v0.5.1</title><link>https://rise-services.rise.unibas.ch/benchmarks/p/news/#v051</link><guid isPermaLink="true">https://rise-services.rise.unibas.ch/benchmarks/p/news/#v051</guid><pubDate>Wed, 20 May 2026 00:00:00 +0000</pubDate><description>&lt;h4 id="added"&gt;Added&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;6 new models: qwen3.5-plus, qwen3.5-35b-a3b, qwen3.5-27b, qwen3.5-122b-a10b, qwen3.5-397b-a17b, qwen3.5-flash-2026-02-23 (Alibaba); 10 new models: qwen/qwen3.6-plus, qwen/qwen3.5-122b-a10b, qwen/qwen3.5-27b, qwen/qwen3.5-35b-a3b, qwen/qwen3.5-397b-a17b, qwen/qwen3.5-plus-02-15, qwen/qwen3.5-flash-02-23, qwen/qwen3.5-9b, google/gemma-4-26b-a4b-it, google/gemma-4-31b-it (OpenRouter); 1 new model: claude-opus-4-7 (Anthropic); 2 new models: deepseek-v4-flash, deepseek-v4-pro (DeepSeek); 1 new model: gpt-5.5-2026-04-23 (OpenAI)&lt;/li&gt;
&lt;li&gt;78 new benchmark test configurations (T0814-T0891) for Alibaba Qwen 3.5 models across all benchmarks; 130 new benchmark test configurations (T0892-T1021) for OpenRouter Qwen and Gemma models across all benchmarks; 13 new benchmark test configurations (T1022-T1034) for Anthropic claude-opus-4-7 across all benchmarks; 2 new benchmark test configurations (T1035-T1036) for DeepSeek deepseek-v4-flash and deepseek-v4-pro on the book_advert_xml benchmark (text-only, as these models do not support images); 13 new benchmark test configurations (T1037-T1048, T1054) for OpenAI gpt-5.5-2026-04-23 across all benchmarks&lt;/li&gt;
&lt;li&gt;Alibaba provider support with direct API integration and pricing scraper&lt;/li&gt;
&lt;li&gt;Test results on 2026-03-25 for all 65 Alibaba Qwen 3.5 tests (T0827-T0891) and 2 DeepSeek book_advert_xml tests (T0752, T0764)&lt;/li&gt;
&lt;li&gt;Tests on 2026-04-21: T0892-T1034 (142 tests)&lt;/li&gt;
&lt;li&gt;Tests on 2026-04-22: T0983-T0994 (12 tests)&lt;/li&gt;
&lt;li&gt;Pricing data for 2026-04-21, 2026-04-24, and 2026-04-27&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="changed"&gt;Changed&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Deduplicated grok-4.20-0309-reasoning test configurations (removed duplicate T0730-T0741 and corresponding results)&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Two papers on the RISE Humanities Data Benchmark in the Journal of Open Humanities Data</title><link>https://rise-services.rise.unibas.ch/benchmarks/p/news/#2026-03-27--two-papers-on-the-rise-humanities-data-benchmark-in-the-journal-of-open-humanities-data</link><guid isPermaLink="true">https://rise-services.rise.unibas.ch/benchmarks/p/news/#2026-03-27--two-papers-on-the-rise-humanities-data-benchmark-in-the-journal-of-open-humanities-data</guid><pubDate>Fri, 27 Mar 2026 00:00:00 +0000</pubDate><description>&lt;p&gt;The Journal of Open Humanities Data (JOHD) published two papers by Maximilian Hindermann, Sorin
Marti, Lea Katharina Kasper and Arno Bosse on the RISE Humanities Data Benchmark. Which large
language models perform best on humanities research tasks, and how can we systematically compare
their capabilities?&lt;/p&gt;
&lt;p&gt;The data paper "&lt;a href="https://openhumanitiesdata.metajnl.com/articles/10.5334/johd.481"&gt;The RISE Humanities Data Benchmark: A Framework for Evaluating Large Language
Models for Humanities Tasks&lt;/a&gt;"
presents a framework for assessing the performance of large language models on
humanities-related tasks. The benchmark suite (available on
&lt;a href="https://github.com/RISE-UNIBAS/humanities_data_benchmark"&gt;GitHub&lt;/a&gt;) includes text and image
datasets, prompts, ground truths, and evaluation scripts and addresses tasks essential to digital
humanities work including document analysis, transcription, and metadata extraction from
historical materials.&lt;/p&gt;
&lt;p&gt;The discussion paper "&lt;a href="https://openhumanitiesdata.metajnl.com/articles/10.5334/johd.470"&gt;From Experiments to Epistemic Practice: The RISE Humanities Data
Benchmark&lt;/a&gt;" traces how the
suite emerged from RISE's consulting practice and reflects on the methodological challenges of
applying benchmarking to humanities contexts. It argues that ground truth in humanities
benchmarking is not a matter of objective correctness but of explicit, scholar-defined
interpretive choices, and that benchmarking should therefore be understood as an epistemic
practice rather than a neutral measurement.&lt;/p&gt;
&lt;p&gt;Both papers contribute to the JOHD special collection "&lt;a href="https://openhumanitiesdata.metajnl.com/collections/benchmarking_in_digital_humaniti"&gt;Benchmarking in Digital
Humanities&lt;/a&gt;",
which aims to establish benchmarking as common practice in the humanities. The framework promotes
evidence-based decision making on which models to use for specific tasks and provides
quantifiable comparisons between different LLMs, via an
&lt;a href="https://rise-services.rise.unibas.ch/benchmarks/"&gt;interactive dashboard&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Researchers interested in using the benchmark with their own materials are welcome to get in
touch. In their roles at RISE, &lt;a href="https://rise.unibas.ch/de/team/maximilian-hindermann/"&gt;Maximilian Hindermann&lt;/a&gt;,
&lt;a href="https://rise.unibas.ch/de/team/sorin-marti/"&gt;Sorin Marti&lt;/a&gt; and
&lt;a href="https://rise.unibas.ch/de/team/arno-bosse/"&gt;Arno Bosse&lt;/a&gt; advise researchers on the use of
computational methods and large language models for humanities research projects and are happy
to discuss how the framework can be applied to new data and research contexts.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Citations&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Hindermann, M., Marti, S., Kasper, L. K., &amp;amp; Bosse, A. (2026). The RISE Humanities Data
    Benchmark: A Framework for Evaluating Large Language Models for Humanities Tasks. &lt;em&gt;Journal of
    Open Humanities Data&lt;/em&gt;, &lt;em&gt;12&lt;/em&gt;(1), 24. &lt;a href="https://doi.org/10.5334/johd.481"&gt;https://doi.org/10.5334/johd.481&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Hindermann, M., Kasper, L. K., Marti, S., &amp;amp; Bosse, A. (2026). From Experiments to Epistemic
    Practice: The RISE Humanities Data Benchmark. &lt;em&gt;Journal of Open Humanities Data&lt;/em&gt;, &lt;em&gt;12&lt;/em&gt;(1), 38.
    &lt;a href="https://doi.org/10.5334/johd.470"&gt;https://doi.org/10.5334/johd.470&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Source: &lt;a href="https://rise.unibas.ch/en/news/details/two-new-papers-on-llm-benchmarking-for-humanities-tasks/"&gt;rise.unibas.ch&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Release v0.5.0</title><link>https://rise-services.rise.unibas.ch/benchmarks/p/news/#v050</link><guid isPermaLink="true">https://rise-services.rise.unibas.ch/benchmarks/p/news/#v050</guid><pubDate>Tue, 24 Mar 2026 00:00:00 +0000</pubDate><description>&lt;h4 id="added"&gt;Added&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;17 new models: gpt-5.2, gpt-5.3-codex, gpt-5.4-2026-03-05 (OpenAI), gemini-3-flash-preview, gemini-3.1-flash-lite-preview, gemini-3.1-pro-preview (GenAI), claude-opus-4-6, claude-sonnet-4-6, claude-opus-4-5-20251101, claude-haiku-4-5-20251001 (Anthropic), mistral-large-2512, ministral-14b-2512, ministral-8b-2512, magistral-small-2509 (Mistral), grok-4.20-0309-reasoning (x-ai), deepseek-chat, deepseek-reasoner (DeepSeek)&lt;/li&gt;
&lt;li&gt;170 new benchmark test configurations (T0488-T0709) across all benchmarks for new models&lt;/li&gt;
&lt;li&gt;47 new benchmark test configurations (T0576-T0622) for personnel_cards benchmark across all non-legacy models&lt;/li&gt;
&lt;li&gt;32 new benchmark test configurations (T0710-T0741) for magazine_pages benchmark and x-ai/grok-4.20-0309-reasoning across all benchmarks&lt;/li&gt;
&lt;li&gt;26 new benchmark test configurations (T0742-T0767) for deepseek-chat and deepseek-reasoner across all benchmarks&lt;/li&gt;
&lt;li&gt;46 new benchmark test configurations (T0768-T0813) for magazine_pages benchmark across all remaining non-legacy models&lt;/li&gt;
&lt;li&gt;update_pricing.py: semi-automated pricing updater that scrapes provider websites, extracts prices via LLM, archives source URLs on Wayback Machine in parallel, and updates pricing.json&lt;/li&gt;
&lt;li&gt;Pricing data for 2026-03-02&lt;/li&gt;
&lt;li&gt;Pricing data for 2026-01-23&lt;/li&gt;
&lt;li&gt;Tests on 2026-01-24 to 2026-01-26: all 484 non-legacy tests across 7 providers (Anthropic, Cohere, GenAI, Mistral, OpenAI, OpenRouter, sciCORE)&lt;/li&gt;
&lt;li&gt;Tests on 2026-02-09: T0576-T0620 (33 tests)&lt;/li&gt;
&lt;li&gt;Tests on 2026-02-10: T0109-T0615 (17 tests)&lt;/li&gt;
&lt;li&gt;Tests on 2026-02-17: T0061-T0534 (23 tests)&lt;/li&gt;
&lt;li&gt;Tests on 2026-02-18: T0535-T0538 (2 tests)&lt;/li&gt;
&lt;li&gt;Tests on 2026-03-04: T0023-T0245 (3 tests)&lt;/li&gt;
&lt;li&gt;Tests on 2026-03-12: T0504-T0627 (6 tests)&lt;/li&gt;
&lt;li&gt;Tests on 2026-03-16: T0628-T0692 (65 tests)&lt;/li&gt;
&lt;li&gt;Tests on 2026-03-21: T0710-T0717 (8 tests)&lt;/li&gt;
&lt;li&gt;Tests on 2026-03-23: T0060-T0813 (85 tests)&lt;/li&gt;
&lt;li&gt;personnel_cards benchmark for extracting structured data from 20th century personnel card tables&lt;/li&gt;
&lt;li&gt;magazine_pages benchmark for extracting structured data from historical magazine pages&lt;/li&gt;
&lt;li&gt;x-ai provider support with direct API integration&lt;/li&gt;
&lt;li&gt;DeepSeek provider support with direct API integration&lt;/li&gt;
&lt;li&gt;Local model support via &lt;code&gt;contour_local&lt;/code&gt; provider (e.g. opencv-contour); tokens are estimated and all downstream scoring/saving/aggregating remains unchanged&lt;/li&gt;
&lt;li&gt;Published paper citation in README: Hindermann et al. (2026) in Journal of Open Humanities Data (DOI: 10.5334/johd.481)&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="changed"&gt;Changed&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;inject_costs.py: added &lt;code&gt;--date&lt;/code&gt; mode to process all tests for a specific date (defaults to results/ only, use &lt;code&gt;--test-runs&lt;/code&gt; to target test_runs/)&lt;/li&gt;
&lt;li&gt;Marked all gemini-3-pro-preview, claude-3-7-sonnet-20250219, claude-3-opus-20240229, and pixtral-12b benchmark tests as legacy&lt;/li&gt;
&lt;li&gt;Updated generate_date_report.py: outputs to reports/ folder, filename format {date}_report, added warnings system with 5 checks (ZERO_COST, ALL_NA, ZERO_SCORE, ZERO_ITEMS, ZERO_DURATION), generates {date}_report_warnings.md for manual review, added progress reporting, added --no-warnings flag, added date range support with --start-date and --end-date arguments&lt;/li&gt;
&lt;li&gt;OpenAI models now support selectable API endpoints&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="fixed"&gt;Fixed&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Converted library_cards images from PNG to JPEG format (263 files had .jpg extension but were actually PNG)&lt;/li&gt;
&lt;li&gt;Converted fraktur_adverts images from PNG to JPEG format (3 files had .jpg extension but were actually PNG)&lt;/li&gt;
&lt;li&gt;Missing name variants in business_letters&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Release v0.4.1</title><link>https://rise-services.rise.unibas.ch/benchmarks/p/news/#v041</link><guid isPermaLink="true">https://rise-services.rise.unibas.ch/benchmarks/p/news/#v041</guid><pubDate>Sun, 18 Jan 2026 00:00:00 +0000</pubDate><description>&lt;h4 id="added"&gt;Added&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Repeat adhoc test functionality&lt;/li&gt;
&lt;li&gt;Docstrings to fraktur_adverts codebase&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="fixed"&gt;Fixed&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Typos in READMEs&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="removed"&gt;Removed&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;ntokens&lt;/code&gt; from fraktur_adverts ground truth&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Release v0.4.0</title><link>https://rise-services.rise.unibas.ch/benchmarks/p/news/#v040</link><guid isPermaLink="true">https://rise-services.rise.unibas.ch/benchmarks/p/news/#v040</guid><pubDate>Tue, 09 Dec 2025 00:00:00 +0000</pubDate><description>&lt;h4 id="added"&gt;Added&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;4 new models: gpt-5.1 (OpenAI), gemini-3-pro-preview (GenAI), magistral-medium-2509 (Mistral), mistral-small-2506 (Mistral)&lt;/li&gt;
&lt;li&gt;42 new benchmark test configurations (T0403-T0444) across all benchmarks for new models&lt;/li&gt;
&lt;li&gt;Pricing data for 2025-11-24 with updated model prices and source URLs&lt;/li&gt;
&lt;li&gt;Cohere provider support with 5 models: command-r-08-2024, command-r-plus-08-2024, command-r7b-12-2024, command-a-03-2025, command-a-vision-07-2025&lt;/li&gt;
&lt;li&gt;book_advert_xml benchmark for correcting malformed XML from 18th century book advertisements&lt;/li&gt;
&lt;li&gt;43 new benchmark test configurations (T0445-T0487) for book_advert_xml across all providers&lt;/li&gt;
&lt;li&gt;Pricing data for Cohere models (2025-12-09)&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="changed"&gt;Changed&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;All requests are now handled by &lt;a href="https://pypi.org/project/generic-llm-api-client/"&gt;https://pypi.org/project/generic-llm-api-client/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Suite name is now "RISE Humanities Data Benchmark"&lt;/li&gt;
&lt;li&gt;Remap "latest" suffix to actual model used&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="removed"&gt;Removed&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;All tests with claude-3-5-sonnet-20241022 (now legacy)&lt;/li&gt;
&lt;li&gt;All renders and related docs (now handled by dedicated frontend)&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>The RISE Humanities Data Benchmark platform is now online</title><link>https://rise-services.rise.unibas.ch/benchmarks/p/news/#2025-12-08--the-rise-humanities-data-benchmark-platform-is-now-online</link><guid isPermaLink="true">https://rise-services.rise.unibas.ch/benchmarks/p/news/#2025-12-08--the-rise-humanities-data-benchmark-platform-is-now-online</guid><pubDate>Mon, 08 Dec 2025 00:00:00 +0000</pubDate><description>&lt;p&gt;We are pleased to announce the public launch of the RISE Humanities Data Benchmark, a new
research infrastructure designed to support systematic, transparent, and reproducible evaluation
of large language models on humanities-oriented tasks.&lt;/p&gt;
&lt;p&gt;The platform brings together a growing suite of benchmark datasets derived from historical
documents, bibliographic sources, index cards, and other forms of cultural heritage material.
Each benchmark includes detailed contextual information, clearly defined ground truth, and openly
documented evaluation procedures. Together, these resources provide an evidence-based foundation
for assessing how well current models handle the complex, data-rich challenges commonly
encountered in humanities research.&lt;/p&gt;
&lt;p&gt;In addition to offering full access to all benchmark descriptions, the platform provides:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;A comprehensive leaderboard, enabling cross-model and cross-provider comparison&lt;/li&gt;
&lt;li&gt;Interactive visualisations of accuracy, consistency, efficiency, and cost&lt;/li&gt;
&lt;li&gt;Searchable test-run archives with detailed outputs, scoring metrics, and configurations&lt;/li&gt;
&lt;li&gt;Guidance and tooling for creating and contributing new benchmarks&lt;/li&gt;
&lt;li&gt;Documentation to support transparency and reuse&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;With this launch, our goal is to create a shared, extensible environment that facilitates
rigorous evaluation, fosters methodological discussion, and encourages community contributions.
We invite researchers, practitioners, and institutions to explore the platform, reuse our
benchmark setups, and experiment with their own datasets.&lt;/p&gt;
&lt;p&gt;The RISE Humanities Data Benchmark will continue to evolve as new benchmarks, evaluation methods,
and model providers are added. We welcome your feedback and look forward to collaborative
development in the coming months.&lt;/p&gt;</description></item><item><title>Release v0.3.1</title><link>https://rise-services.rise.unibas.ch/benchmarks/p/news/#v031</link><guid isPermaLink="true">https://rise-services.rise.unibas.ch/benchmarks/p/news/#v031</guid><pubDate>Wed, 29 Oct 2025 00:00:00 +0000</pubDate><description>&lt;h4 id="added"&gt;Added&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;OpenRouter provider support with fallback for models not supporting structured outputs&lt;/li&gt;
&lt;li&gt;sciCORE provider support (LiteLLM-based OpenAI-compatible API)&lt;/li&gt;
&lt;li&gt;blacklist benchmark on extracting structured company information from historical index cards&lt;/li&gt;
&lt;li&gt;company_lists benchmark on extracting structured company information (company name and location) from historical trade indexes&lt;/li&gt;
&lt;li&gt;medieval_manuscripts benchmark for 15th century page segmentation and handwritten text extraction with CER and fuzzy matching&lt;/li&gt;
&lt;li&gt;6 new models: qwen/qwen3-vl-8b-thinking, qwen/qwen3-vl-30b-a3b-instruct, qwen/qwen3-vl-8b-instruct, meta-llama/llama-4-maverick, x-ai/grok-4, GLM-4.5V-FP8&lt;/li&gt;
&lt;li&gt;170 new benchmark test configurations (T0233-T0402) across blacklist, medieval_manuscripts, and company_lists benchmarks&lt;/li&gt;
&lt;li&gt;Tests on 2025-10-03: T0164&lt;/li&gt;
&lt;li&gt;Tests on 2025-10-17: T0233-T0234, T0237-T0252&lt;/li&gt;
&lt;li&gt;Tests on 2025-10-20: T0253-T0270&lt;/li&gt;
&lt;li&gt;Tests on 2025-10-24: T0271-T0336&lt;/li&gt;
&lt;li&gt;Tests on 2025-10-28: T0336-T0402&lt;/li&gt;
&lt;li&gt;Update pricing data to 2025-10-28&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="fixed"&gt;Fixed&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;metadata_extraction scoring now correctly counts failed requests as complete failures (0 TP, all FN) instead of excluding them&lt;/li&gt;
&lt;li&gt;Fuzzy score matching now handles type mismatches between strings and integers (e.g., "1965" vs 1965 for year fields)&lt;/li&gt;
&lt;li&gt;Pricing lookup now searches through all available dates to find provider/model pricing instead of only checking the most recent date&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Release v0.3.0</title><link>https://rise-services.rise.unibas.ch/benchmarks/p/news/#v030</link><guid isPermaLink="true">https://rise-services.rise.unibas.ch/benchmarks/p/news/#v030</guid><pubDate>Fri, 03 Oct 2025 00:00:00 +0000</pubDate><description>&lt;h4 id="added"&gt;Added&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Cost tracking system with pricing database and automatic cost calculation&lt;ul&gt;
&lt;li&gt;Token usage extraction for all providers (OpenAI, GenAI, Anthropic, Mistral)&lt;/li&gt;
&lt;li&gt;Automatic cost calculation based on token usage and date-based pricing data&lt;/li&gt;
&lt;li&gt;Cost summary in benchmark scoring files with detailed token and cost breakdowns&lt;/li&gt;
&lt;li&gt;tables showing test execution costs&lt;/li&gt;
&lt;li&gt;Cost per Point metric in global leaderboard showing normalized cost efficiency ($/performance point)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;7 new models: pixtral-12b, mistral-large-latest, gemini-2.5-flash, gemini-2.5-flash-lite, gemini-2.5-flash-lite-preview-09-2025, gemini-2.5-flash-preview-09-2025, claude-sonnet-4-5-20250929&lt;/li&gt;
&lt;li&gt;50 new benchmark test configurations (T0181-T0230) for new models across all benchmark variants&lt;/li&gt;
&lt;li&gt;Test Time tracking and metrics&lt;ul&gt;
&lt;li&gt;Test Time (s) column in benchmark tables showing total execution time per test&lt;/li&gt;
&lt;li&gt;Time per Point column in benchmark tables showing time efficiency (seconds/point per item)&lt;/li&gt;
&lt;li&gt;Time/Point metric in global leaderboard showing normalized time efficiency&lt;/li&gt;
&lt;li&gt;Multi-level normalized calculation: per-test (average time per item / score), per-benchmark (average of test ratios), global (average of benchmark ratios)&lt;/li&gt;
&lt;li&gt;Analogous to cost calculation methodology for consistency&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Structured outputs for Google Gen AI, Anthropic (native tool calling), and Mistral models&lt;/li&gt;
&lt;li&gt;Automatic regeneration of empty or invalid JSON result files&lt;/li&gt;
&lt;li&gt;Tests on 2025-09-24: T0099, T0107, T0117, T0120, T0125, T0130, T0132, T0134, T0145, T0151, T0162&lt;/li&gt;
&lt;li&gt;Tests on 2025-09-25: T0023, T0035, T0095, T0159&lt;/li&gt;
&lt;li&gt;Tests on 2025-09-26: T0169-T0180&lt;/li&gt;
&lt;li&gt;Tests on 2025-09-30: T0001-T0010, T0012-T0013, T0017-T0018, T0020, T0023-T0025, T0027, T0031, T0033, T0035-T0036, T0038-T0039, T0042-T0045, T0052-T0053, T0056-T0057, T0060-T0063, T0066-T0079, T0082-T0086, T0090, T0092-T0095, T0098-T0107, T0108-T0133, T0160, T0193-T0200, T0230&lt;/li&gt;
&lt;li&gt;Tests on 2025-10-01: T0129-T0148, T0151-T0152, T0155, T0159-T0161, T0165-T0192, T0201-T0229&lt;/li&gt;
&lt;li&gt;Tests on 2025-10-02: T0161-T0162, T0164&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="changed"&gt;Changed&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;All provider response objects now converted to JSON-serializable format before storage&lt;/li&gt;
&lt;li&gt;Schema default values automatically removed for GenAI API compatibility&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="fixed"&gt;Fixed&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Empty log files (FileHandler now properly configured)&lt;/li&gt;
&lt;li&gt;JSON serialization errors for OpenAI, GenAI, Anthropic, and Mistral response objects&lt;/li&gt;
&lt;li&gt;Pydantic validation errors now handled gracefully with fallback to raw tool input&lt;/li&gt;
&lt;li&gt;Letter dataclass normalization for list-formatted fields (letter_title, send_date)&lt;/li&gt;
&lt;li&gt;bibliographic_data attributions&lt;/li&gt;
&lt;li&gt;Pydantic dataclass models&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Release v0.2.2</title><link>https://rise-services.rise.unibas.ch/benchmarks/p/news/#v022</link><guid isPermaLink="true">https://rise-services.rise.unibas.ch/benchmarks/p/news/#v022</guid><pubDate>Fri, 19 Sep 2025 00:00:00 +0000</pubDate><description>&lt;h4 id="added"&gt;Added&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;bibliographic_data README.md sections&lt;/li&gt;
&lt;li&gt;CONTRIBUTING.md&lt;/li&gt;
&lt;li&gt;CONTRIBUTORS.md&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Release v0.2.1</title><link>https://rise-services.rise.unibas.ch/benchmarks/p/news/#v021</link><guid isPermaLink="true">https://rise-services.rise.unibas.ch/benchmarks/p/news/#v021</guid><pubDate>Wed, 10 Sep 2025 00:00:00 +0000</pubDate><description>&lt;h4 id="added"&gt;Added&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Radar chart top 10 models&lt;/li&gt;
&lt;li&gt;Zettelkatalog benchmark&lt;/li&gt;
&lt;li&gt;Tests on 2025-09-02: T0066, T0143-T0148, T0151-T0152, T0155, T0159-T0162, T0164-T0168&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Release v0.2.0</title><link>https://rise-services.rise.unibas.ch/benchmarks/p/news/#v020</link><guid isPermaLink="true">https://rise-services.rise.unibas.ch/benchmarks/p/news/#v020</guid><pubDate>Sun, 31 Aug 2025 00:00:00 +0000</pubDate><description>&lt;h4 id="added"&gt;Added&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Global model performance leaderboard to docs&lt;/li&gt;
&lt;li&gt;Tests on 2025-08-27: T0106, T0136-T0141&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="fixed"&gt;Fixed&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Broken link patterns in docs&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="changed"&gt;Changed&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Standardize test-IDs to 4-digit zero-padded format (T0001)&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Release v0.1.0</title><link>https://rise-services.rise.unibas.ch/benchmarks/p/news/#v010</link><guid isPermaLink="true">https://rise-services.rise.unibas.ch/benchmarks/p/news/#v010</guid><pubDate>Mon, 25 Aug 2025 00:00:00 +0000</pubDate><description>&lt;h4 id="added"&gt;Added&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Changelog&lt;/li&gt;
&lt;/ul&gt;</description></item></channel></rss>
