Skip to content

v1.2.0 (2026-11-02)

Latest

Choose a tag to compare

@github-actions github-actions released this 02 Nov 16:35
a32dd8d

Features

  • feat(study-data): stratified win statistics and Table 14.2.3 for the device study (#3690)
  • feat(study-data): device ADaM with ADQS and a per-study ADHCE hierarchy (#3689)
  • feat(study-data): device VSFS scores in SDTM QS, tabulated through the domain list (#3686)
  • feat(study-data): device deaths and adjudicated CE events in SDTM DS and CE (#3683)
  • feat(study-data): randomise the device study by ratio and strata (#3678)
  • feat(study-data): derive the actual arm from exposure, with not-dosed and unplanned scenarios (#3674)
  • feat(study-data): add SDTM SE and CO from the trial elements and comments form (#3665)
  • feat(study-data): SDTM RELREC linking AE records to concomitant treatment (#3659)
  • feat(clinical-standards): add the USDM v4 classes Protocol Studio needs (#3663)
  • feat(a11y): useOptionalAnnouncer returns null outside a provider (#3476) (#3657)
  • feat(crf): add the AE seriousness criteria to CRF Studio's CDASH catalog (#3649)
  • feat(trial-and-error): generate PlayCabinet controls from the hand key map (#3653)
  • feat(retro-labyrinth): save at room boundaries and offer Resume on Launch (#3633)
  • feat(retro-labyrinth): add the versioned run save module (#3626)

Fixes

  • fix(crf): restore what the #3684 boundary checks wrongly refused (#3687)
  • fix(study-data): give an unplanned treatment received its own TLF column (#3680)
  • fix(platform): take each DEMO-301 subject's site from DM.SITEID (#3675)
  • fix(dx): generate prisma client in pretypecheck and support windows in test-staged (#3669)
  • fix(deps): patch glob and minimatch for GHSA-3g3m-2fjr-6pw4 and GHSA-g3hv-75wg-m249 (#3670)
  • fix(study-data): clamp small-n net benefit confidence limits to [-1, 1] (#3419) (#3654)
  • fix(study-data): carry SITEID and COUNTRY into ADSL (#3651)
  • fix(study-data): download a package whose data breaks a non-extensible codelist (#3648)
  • fix(setup): validate provider values before saving (#3647)
  • fix(neuro): keep NeuroRecon viewer toolbars inside 320 to 393 px screens (#3632)
  • fix(proof): fit the Proof Canvas tab strip and toolbar buttons on phones (#3630)
  • fix(hooks): cover staged Vitest ESM configuration (#3631)
  • fix(study): reject missing CLI option values before writing (#3624)
  • fix(study): reject malformed nested workspace envelopes (#3623)
  • fix(boundaries): hold root lib files to package entry points (#3622)
  • fix(crf): stop describing simulated signatures as cryptographic (#3621)
  • fix(cache): stop caching case-study fallbacks after database errors (#3620)
  • fix(setup): recover missing Prisma client (#3605)
  • fix(build): skip TypeDoc on Vercel and replace both heap flag spellings (#3129)

Other changes

  • refactor(arcade): move game manuals into lib/arcade/manuals with re-export (#3487) (#3695)
  • ci(mutation): shard the weekly study data run by layer, and give game engines room (#3694)
  • ci(governance): skip structural issues in Issue Hygiene (#3693)
  • ci(study-data): report the required CDISC CORE check on every pull request (#3692)
  • docs(study-data): win ratio method note in the ADRG (#3691)
  • test(crf): property tests and branch coverage for the CRF diff, upgrade and USDM adapter (#3688)
  • chore(deps): add a monthly re-audit of the npm overrides (#3685)
  • refactor(crf): check the nine JSON-to-type boundaries instead of casting (#3684)
  • chore(deps): drop the fast-glob to tinyglobby swap (#3682)
  • dx(hooks): leave the recorded CORE findings check to npm test and CI (#3679)
  • chore(deps): drop eight stale npm overrides and scope the rest (#3681)
  • refactor(crf): typed diffFields for the study baseline diff (#3677)
  • refactor(content): case-study entries in per-study modules, old file kept as a re-export (#3488) (#3668)
  • ci(study-data): name the refresh when main's recorded CORE findings go stale (#3666)
  • docs(agents): link the project skills into .claude/skills and record which tool reads which folder (#3500) (#3662)
  • refactor(audit): move license-policy and security-audit-ignore into config (#3178) (#3661)
  • chore(hooks): one mount-state hook for error boundaries (#3478) (#3660)
  • refactor(utils): replace local formatBytes and clamp copies with lib/utils (#3480) (#3658)
  • refactor(arcade): group achievement definitions by game under lib/arcade/achievements (#3489) (#3656)
  • refactor(proof): move proof-utils behind lib/proof public index (#3491) (#3655)
  • refactor(meme-vault): extract useMemeVaultSession from MemeVaultClient (#3645)
  • refactor(for-better-or-bulk): extract a session hook from ForBetterOrBulkGame.tsx (#3644)
  • refactor(patty): extract usePattySession from PattyDriveThruGame.tsx (#3643)
  • refactor(quasi-perfect): extract useQuasiSession from QuasiPerfectPuzzler.tsx (#3642)
  • refactor(duck): extract useDuckSession from WorkingWithDuck.tsx (#3641)
  • refactor(trial-and-error): extract useTrialAndErrorSession and its events (#3639)
  • refactor(monkey-c): extract useMonkeyCSession from GarminWatchSimulator.tsx (#3638)
  • refactor(study-director): extract the desk and office session hooks (#3636)
  • test(e2e): wait for Study Director's dialogs to take focus before Escape (#3640)
  • refactor(clinical-chaos): extract useClinicalChaosSession from ClinicalTrialChaos.tsx (#3635)
  • test(e2e): poll for the Daily Protocol hand in Trial & Error (#3637)
  • test(e2e): seed the Retro Labyrinth walk and wait for a route (#3634)
  • refactor(laser-loon): extract useLaserLoonSession from LaserLoon.tsx (#3629)
  • test(study-data): ConformancePanel and pipeline client tests (#3628)
  • test(study-data): Define viewer, KM figure and roving grid tests (#3627)
  • refactor(api): wrap the media and webhook route handlers in the route wrapper (#3625)
  • Guide backup and release readiness (#3606)
  • docs(governance): retire the deleted project boards (#3604)
  • chore(study-data): make the CDISC Library sync dispatch-only (#3599)
  • docs(governance): roadmap plan and project 19 setup (#3600)
  • ci(release): let an operator run the weekly train past a release hold (#3206)
  • dx(guard): point cloud sessions to dx/ branches (#3193)
  • docs(issues): add issue governance doc, task form and hygiene check (#3184)
  • refactor(protocol-drift): one pure chip placement search (part of #2471) (#3170)
  • dx: move the mutation-testing configs into config/stryker/ (#3134)
  • docs: move root working documents into docs/ (#3133)
  • ci(build): build under Vercel's 2-core, 8 GB limits in CI and the train (#3132)
  • dx(docs): stop committing the generated TypeDoc reference (#3131)

Commit: a32dd8da309e1316f8a8ef8a1dd66bbe094f72e8

Full changelog: v1.1.0...v1.2.0