8.3.0 (2025-02-20)
8.3.0-alpha.9 (2025-02-20)
8.3.0-alpha.8 (2025-02-19)
Bug Fixes
8.3.0-alpha.7 (2025-02-14)
Bug Fixes
8.3.0-alpha.6 (2025-02-12)
Bug Fixes
- api: recover from stall and an overpressure when dropping tip (#17471) (4c2e213)
- shared-data: Change defaultReturnTipHeight values for 96 channel pipettes (#17498) (0a33a67)
- shared-data: Fix schema version of opentrons_tough_pcr_auto_sealing_lid (#17508) (31bc576)
8.3.0-alpha.5 (2025-02-07)
Bug Fixes
- app: fix multi-location tip selection during error recovery (#17454) (741382d)
- app: translate close button text for ODD toasts (#17459) (d16cbaf)
- shared-data: evotips v1 are schema 2 now (#17428) (71bfaf6)
- shared-data: tc lids are schema v2 now (#17427) (d0ff21c)
Features
8.3.0-alpha.4 (2025-01-30)
Bug Fixes
- api: Fix liquid getting homed into pipette after certain protocols end (#17285) (bb78046)
- api: Fix Pydantic error when parsing commands that did not succeed (#17264) (271ad58)
- api: Over pressure while probing should trigger ER (#17379) (85c4e96)
- app: Fix double drop tip prompting after Error Recovery cancel action (#17316) (0da7b99)
- app: fix manual move to location with module (#17283) (7bc38f8)
- app: Localization DQA Fixes (#17341) (25cc087)
- app: various odd modal width fixes under i18n (#17307) (1e47fe3)
- shared-data: fix getPipetteSpecsV2 finding PEEK pipette specs (#17296) (27d2dc8)
- shared-data: flex a3 needs mating surface (#17281) (3778b65)
Features
- api: Addition of Evotip specific commands (#17351) (3d78c1f)
- api: inner well geometry unit tests (#17082) (#17311) (a2b35d5)
- app: Block evotips labware from appearing in labware tab (#17251) (871aa94)
- shared-data, api: Add evo tips definition and restrictions on loading (#17237) (c048e5b)
8.3.0-alpha.3 (2025-01-10)
Welcome to the v8.3.0 release of the Opentrons App!
This release adds support for Mandarin in the app or Flex touchscreen and includes other beta features for our commercial partners.
Note: The Mac and Linux versions of the Opentrons App now require macOS 10.16 and Ubuntu 20.04 or newer.
New Features
- Change the app or Flex touchscreen language to Mandarin in Settings. This feature is only supported in app v8.3.0 or higher. If you need to downgrade your software version, first change the app language back to English in Settings.
Improved Features
- Improvements to the Flex error recovery feature help protocols recover from detected stalls and collisions, saving you valuable time and resources.
Bug Fixes
- app: Fix gripper recovery loop (#17241) (b13cd27)
- app: Fix persistent "run in progress" settings banner after run cancel (#17235) (3a46ebe)
- app: fix terminal banner render state (#17240) (cf940fe)
- app: Inject labware definitions into Error Recovery (#17248) (ec49410)
8.3.0-alpha.2 (2025-01-08)
Bug Fixes
- api: properly handle non-labware jsons in sim (#17198) (8c2474d)
- app-shell: Fix flaky file system test (#17212) (cff47c9)
- app: Fix gantry not homing when no labware in gripper jaws during Error Recovery (#17201) (696d2e4)
- app: Fix gripper calibration copy during exit (#17220) (0fa2cfc)
- hardware-testing: add oem argument to pipette load in lld test protocol (#17216) (63cba42)
- robot-server: Better errors for bad wpa2 pass (#17203) (eeb7a02)
- shared-data: Add back missing parent labwares for auto sealing lids (#17195) (0395804)
8.3.0-alpha.1 (2025-01-06)
Bug Fixes
- abr-testing: added error handling for run log parsing (#16867) (1e6df83)
- abr-testing: Fix DVT1ABR3 plate type and liquid set up (#16971) (344653b)
- abr-testing: Resolves missing coordinate data issue during upload. (#16641) (d270ccd)
- abr-testing: unify all script compatibility with same ip file (#16922) (da74897)
- abr-testing: Update simulate (#16929) (f37ef0a)
- **actio
...and more! Log link: v8.2.0...v8.3.0
What's Changed
- fix(step-generation): fix blowout location from multi-dispense disposal by @jerader in #17013
- fix(protocol-designer): assign value instead of name from wellOrder f… by @jerader in #17017
- feat(protocol-designer): add protocol recovery to error boundary by @ncdiehl11 in #17025
- fix(protocol-designer): add duplicate tipracks off deck by @jerader in #17026
- fix(protocol-designer): if no space for trashBin, auto-generate waste… by @jerader in #17028
- fix(protocol-designer): fix logic for showing AutoAddPauseUntilTempStepModal by @ncdiehl11 in #17039
- fix(protocol-designer): properly update moduleState for temperature form by @jerader in #17041
- fix(protocol-designer): well selection tooltip for single and multi-c… by @jerader in #17044
- fix(protocol-designer): fix time format in load file by @koji in #17053
- fix(components): fix dropdownmenu expand direction by @koji in #17055
- feat(api-client, react-api-client): Add bindings for
GET /runs/:runId/loaded_labware_definitions
by @mjhuff in #17066 - refactor(api): Port
AddressableAreaStore
toStateUpdate
by @SyntaxColoring in #17027 - chore(hardware-testing): Add script for measuring 96ch plunger drift/overshoot by @andySigler in #17071
- refactor(app): Hide non-legacy LPC functionality behind feature flag by @mjhuff in #17069
- refactor(app): Use run loaded labware defs in Error Recovery by @mjhuff in #17074
- fix(api): tolerate unhandled module gcode by @sfoster1 in #17070
- fix(protocols): re-add get_all_labware_definitions by @caila-marashaj in #17077
- fix(protocols): fix get_all_labware_defs by @caila-marashaj in #17081
- feat(protocol-designer, app): testing a new feature flag for react-scan by @koji in #17060
- feat(protocol-designer, app, api): step grouping foundation by @jerader in #15737
- fix(protocol-designer,app): use dynamic import for react-scan to avoid build issue by @koji in #17087
- feat(protocol-designer): indent generated JSON file to make it readable by @ddcc4 in #17086
- chore(hardware-testing): Adds protocols for testing inner-well geometry meniscus positions w/ Ethanol by @andySigler in #17073
- Chore: PD 8.2.0 release branch merge into edge by @jerader in #17088
- fix(protocol-designer): handle duplicate labware with a full deck by @ncdiehl11 in #17083
- fix(protocol-designer): fix logic for terminal step icon by @ncdiehl11 in #17089
- chore: add jsx-curly-brace-presence by @koji in #17078
- fix(actions): use project id in memory analytics by @mjhuff in #17076
- fix(protocol-designer): blowout field checkbox properly populating by @jerader in #17093
- fix(protocol-designer): resolve console error by adding null protection by @jerader in #17094
- set temperature-0.0 to improve consistency [AUTH-1184] by @Elyorcv in #17096
- feat(app): add renderer source maps by @mjhuff in #17062
- Chore: mergeback PD 8.2.1 release branch into edge by @jerader in #17097
- Changes process calls to speed up code execution by @AnthonyNASC20 in #17099
- fix(app): fix manual file upload by @mjhuff in #17098
- refactor(app): remove unneeded source maps dependency by @mjhuff in #17100
- fix(ci): fix failing builds due to oom issues by @mjhuff in #17103
- fix(api): Speed up LLD by reducing the post-success raise. by @ryanthecoder in #17102
- fix(app): fix dev ODD system image build causing infinite spinner by @mjhuff in #17104
- chore(protocol-designer): remove unused vite from package.json by @koji in #17108
- chore(shared-data): adds liquid-class Ethanol-80 and Glycerol-50 by @andySigler in #17068
- fix(app): remove marginLeft from ExternalLink component by @koji in #17112
- chore(release): internal release notes [email protected] by @y3rsh in #17114
- test(api): install opentrons and simulate by @y3rsh in #17048
- fix(protocol-designer): analytics opt in modal fixes by @jerader in #17106
- fix(protocol-designer): heater shaker timer field is a boolean instea… by @jerader in #17119
- feat(engine): add mmFromEdge parameter to touchTip by @jbleon95 in #17107
- fix(protocol-designer) remove hardcoded pd version from release notes modal by @koji in #17121
- refactor(app): add any found hardcoded copy to i18n for translation by @smb2268 in #17095
- fix(app): Fix run start/finish protocol analytics by @mjhuff in #17118
- fix(protocol-designer): add gridgap to between error and warning by @koji in #17116
- fix(protocol-designer): make 8_2_2 migration to migrate HS set timer … by @jerader in #17124
- feat(opentrons-ai-client): add shared-data as dependency by @shlokamin in #16663
- fix(protocol-designer): change initial value from null to true by @koji in #17133
- feat(protocol-designer,-shared-data): add liquid class scaffolding to PD by @ncdiehl11 in #17126
- fix(app): fix back to back manual move commands on desktop app by @mjhuff in #17129
- feat(abr-testing): pull protocol from failing robot by @AnthonyNASC20 in #17125
- fix(protocol-designer): highlight used wells when selected on step by @jerader in #17136
- feat (abr-testing): Lengthen ABR Protocols, Add Protocol Versioning, Add Liquid Waste Probing and Recording by @rclarke0 in #17137
- fix(protocol-designer): unify navigation bar of pd by @koji in #17128
- fix(protocol-designer): remove console log by @ncdiehl11 in #17139
- Abr lengthen protocols by @AnthonyNASC20 in #17140
- feat(protocol-designer, components): add dropdown field deck highlights by @jerader in #17122
- fix(protocol-designer): refine logic for persisted state by @jerader in #17142
- refactor: Migrate Python projects from Pydantic v1 to v2 by @ahiuchingau in #14871
- refactor: Rename Pydantic v1 methods to their v2 counterparts by @SyntaxColoring in #17123
- perf(robot-server): Reuse existing TypeAdapter for Command by @SyntaxColoring in #17144
- refactor(robot-server): Delete obsolete workarounds for discriminated unions in Pydantic v1 by @SyntaxColoring in #17145
- feat(shared-data,-protocol-designer): add foundation for plate reader support in PD by @ncdiehl11 in #17147
- feat(protocol-designer, components): deprecate DropdownField and Opti… by @jerader in #17150
- feat(protocol-designer): prevent user from adding plate reader without gripper by @ncdiehl11 in #17152
- Chore: PD 8.2.2 mergeback into edge by @jerader in #17143
- refactor(app): report
robotType
in select events by @mjhuff in #17153 - fix(protocol-designer): dropdown option text refinement by @jerader in #17151
- chore(protocol-designer): remove classnames from pd by @koji in #17148
- chore: add a new eslint rule prevent using margin by @koji in #17024
- feat(protocol-designer,-step-generation): add skeleton for plate reader steps by @ncdiehl11 in #17158
- feat(shared-data): Add support for PEEK pipettes (#17036) by @ryanthecoder in #17160
- fix(api): missed one link in the chain of loading config values by @ryanthecoder in #17154
- chore: update vitest and vitest-when by @koji in #17149
- feat(abr-testing): add module tests by @AnthonyNASC20 in #17127
- feat(app): add analytics for localization feature by @smb2268 in #17130
- fix(protocol-designer): timeline errors/warnings show up in mixpanel by @jerader in #17164
- feat(api): driver and simulator for FLEX Stacker by @ahiuchingau in #17120
- fix(protocol-designer): replace text link style by @koji in #17163
- feat(protocol-designer): make timeline responsive by @koji in #17109
- chore(app): update import statements for react by @koji in #17170
- perf(robot-server): Flatten FastAPI routers by @SyntaxColoring in #17169
- chore(components): clean up react imports by @koji in #17176
- perf(robot-server): Avoid creating process pools that won't do anything by @SyntaxColoring in #17173
- refactor(robot-server): Fix more Pydantic warnings by @SyntaxColoring in #17174
- feat(api, shared-data): Expand Labware architecture to accommodate Lids by @CaseyBatten in #17072
- chore(api): port absorbance reader commands to state update by @TamarZanzouri in #17113
- fix(app, components): Fix display suspending when idle time set to "never" by @mjhuff in #17180
- chore(release): v8.3.0-alpha.1 release notes by @y3rsh in #17188
- fix(api): properly handle non-labware jsons in sim by @sfoster1 in #17198
- fix(app): Fix gantry not homing when no labware in gripper jaws during Error Recovery by @mjhuff in #17201
- fix(robot-server): Better errors for bad wpa2 pass by @sfoster1 in #17203
- fix(shared-data): Add back missing parent labwares for auto sealing lids by @CaseyBatten in #17195
- fix(app-shell): Fix flaky file system test by @mjhuff in #17212
- chore(app-shell): pass team id via env var only by @sfoster1 in #17210
- fix(hardware-testing): add oem argument to pipette load in lld test protocol by @ryanthecoder in #17216
- fix(app): Fix gripper calibration copy during exit by @mjhuff in #17220
- docs(robot-server): Exclude
/labwareOffsets
endpoints from docs by @SyntaxColoring in #17219 - chore(translation): sync locize repo by @y3rsh in #17207
- chore(build): update to actions/*-artifact v4 by @sfoster1 in #17231
- fix(app): fix terminal banner render state by @mjhuff in #17240
- fix(app): Fix gripper recovery loop by @mjhuff in #17241
- chore(hardware): Add some logging around what I think is causing some can errors by @ryanthecoder in #17117
- fix(app): Fix persistent "run in progress" settings banner after run cancel by @mjhuff in #17235
- fix(app): Inject labware definitions into Error Recovery by @mjhuff in #17248
- feat(app): Block evotips labware from appearing in labware tab by @smb2268 in #17251
- fix(api): Fix Pydantic error when parsing commands that did not succeed by @SyntaxColoring in #17264
- test(analyses): add refactored 8.2 smoke test by @y3rsh in #17214
- refactor(app): refactor ODD protocol card copy when run data is not "ok" by @mjhuff in #17261
- fix(shared-data): flex a3 needs mating surface by @sfoster1 in #17281
- fix(app): fix manual move to location with module by @mjhuff in #17283
- fix(api): Fix liquid getting homed into pipette after certain protocols end by @SyntaxColoring in #17285
- fix(shared-data): fix getPipetteSpecsV2 finding PEEK pipette specs by @smb2268 in #17296
- refactor(app): Fix copy/CSS for stall/collision recovery DQA by @mjhuff in #17298
- fix(app): Fix double drop tip prompting after Error Recovery cancel action by @mjhuff in #17316
- chore(app): locize fuzzy tags removed by @y3rsh in #17305
- fix(app): various odd modal width fixes under i18n by @sfoster1 in #17307
- chore(api): fix tests after #17285 by @sfoster1 in #17313
- fix(app): Localization DQA Fixes by @smb2268 in #17341
- feat(api): inner well geometry unit tests (#17082) by @ryanthecoder in #17311
- fix(api):show plate reader files in run log by @TamarZanzouri in #17369
- feat(shared-data, api): Add evo tips definition and restrictions on loading by @Laura-Danielle in #17237
- fix(api): Over pressure while probing should trigger ER by @TamarZanzouri in #17379
- feat(api): Addition of Evotip specific commands by @CaseyBatten in #17351
- feat(app): Add new evotips command support to run log by @smb2268 in #17402
- update 8.3.0 release notes for stable release by @emilyburghardt in #17407
- fix(shared-data): tc lids are schema v2 now by @sfoster1 in #17427
- refactor(api): Move the plunger position starting position after an evotip seal command by @Laura-Danielle in #17438
- fix(shared-data): evotips v1 are schema 2 now by @sfoster1 in #17428
- fix(app): fix multi-location tip selection during error recovery by @mjhuff in #17454
- docs(api): clarify in docs that Well.has_tip checks only for unused tips by @sanni-t in #17455
- chore(shared-data,app): Block evotips labware from PD, LL, and Quick Transfer by @smb2268 in #17460
- fix(app): translate close button text for ODD toasts by @smb2268 in #17459
- chore(ci): upload-artifact to v4 by @y3rsh in #17494
- fix(api): recover from stall and an overpressure when dropping tip by @TamarZanzouri in #17471
- fix(shared-data): Fix schema version of opentrons_tough_pcr_auto_sealing_lid by @SyntaxColoring in #17508
- fix(shared-data): Change defaultReturnTipHeight values for 96 channel pipettes by @caila-marashaj in #17498
- fix(app): translate continue button in network by @sfoster1 in #17528
- 8.3.0 stable release notes update for Mandarin language support by @emilyburghardt in #17530
- fix(app): ODD: wifi connect success continue i18n by @sfoster1 in #17551
- chore: updating version requirements for 8.3.0 release notes by @emilyburghardt in #17556
- chore(app): locize translation sync by @y3rsh in #17558
- Chore Release v8.3.0 by @y3rsh in #17186
Full Changelog: https://github.com/Opentrons/opentrons/compare/[email protected]