Skip to content

Chore release 8.6.0 into release #19174

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 933 commits into
base: release
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
933 commits
Select commit Hold shift + click to select a range
71892cc
feat(app): remove 2 track events (#18879)
koji Jul 14, 2025
aab4be5
feat(app): update submerge and retract screen to align with pd (#18892)
koji Jul 14, 2025
8cdf1db
fix(shared-data): update `flexStackerModuleV1` labwareOffset value (#…
mjhuff Jul 14, 2025
824f89e
feat(opentrons-ai-client): remove GlobalStyle with styled-components …
koji Jul 14, 2025
739a912
refactor(api): do not auto run integration tests in api makefile `tes…
mjhuff Jul 14, 2025
32a5e92
fix(app): update delay screen to align with the design (#18878)
koji Jul 14, 2025
1cb77b3
feat(hardware-testing,api,shared-data): Add TOF-Analysis tool to gene…
vegano1 Jul 14, 2025
ced0e9e
fix(opentrons-ai-client): fix global style unexpected overwrite issue…
koji Jul 14, 2025
c8f9e65
chore: Update test dependencies in Python projects (#18581)
SyntaxColoring Jul 15, 2025
4a2516e
refactor(app): Make `getStacksOnModules()` more type-safe (#18905)
SyntaxColoring Jul 15, 2025
85a098f
refactor(components): delete unused InstrumentGroup and InstrumentInf…
jerader Jul 15, 2025
458b193
feat(abr-testing): Stacker Stamping Protocol (#18915)
rclarke0 Jul 15, 2025
13f9e10
feat(app): update pushout screen (#18894)
koji Jul 15, 2025
8ba416a
fix(api): Use correct PLATFORM_OFFSET and add LATCH_CLEARANCE for sto…
vegano1 Jul 15, 2025
99ae7bb
feature(app, shared-data): module setup deck config assignment (#18864)
TamarZanzouri Jul 15, 2025
5da5aaf
fix(step-generation): blowout waste chute bug (#18908)
jerader Jul 15, 2025
838194b
fix(api): remove dup constants defined in the flex_stacker.py file. (…
vegano1 Jul 15, 2025
a62aac1
refactor(app): protocol viz prototype followups (#18887)
jerader Jul 15, 2025
0310f56
feat(app): add liquid classes values function (#18860)
koji Jul 16, 2025
3245ad8
feature(opentrons-ai-client): Attach file (#18886)
Elyorcv Jul 16, 2025
1e950f7
fix(shared-data): update stacker def labware offset x val (#18921)
mjhuff Jul 16, 2025
8ed3d93
feat(app): remove liquid classes ff (#18918)
koji Jul 16, 2025
8c8323d
docs: multi-publication documentation site (#18912)
ecormany Jul 16, 2025
0644c37
fix(protocol-designer): always enable save in EditInstrumentsModal (#…
ncdiehl11 Jul 16, 2025
2946074
refactor(components): Make `positioningMode` required on `<Labware>` …
SyntaxColoring Jul 16, 2025
ffc27df
Merge back 'chore_release-pd-8.5.0' into 'edge' (#18924)
ddcc4 Jul 16, 2025
0203b8a
chore(ci): have prettier ignore mkdocs .yml files (#18925)
ecormany Jul 16, 2025
10d73f8
test(analyses battery): add stacker protocols (#18876)
y3rsh Jul 16, 2025
bde213a
fix(hardware-testing, api): FIx issues with the QC diagnostics script…
vegano1 Jul 16, 2025
77c6ad4
fix(app, protocol-designer, opentrons-ai-client, components): fix bui…
koji Jul 16, 2025
8e796af
docs(api): remove creating a new liquid class in 8.5 (#18916)
emilyburghardt Jul 16, 2025
039e35d
fix(app): Fix labware misaligned with stacker hopper (#18934)
SyntaxColoring Jul 17, 2025
e86f61b
fix(protocol-designer): thermocycler caption and error copy (#18922)
ncdiehl11 Jul 17, 2025
042f030
fix(protocol-designer): heater-shaker caption and error copy (#18933)
ncdiehl11 Jul 17, 2025
f484bda
feat(mono): Support auto-sorting properties in css files (#18937)
mjhuff Jul 17, 2025
8a3321f
chore(ci): Try to fix Sentry uploads (#18942)
SyntaxColoring Jul 17, 2025
32d0a66
feat(app, shared-data): update QT command schema version to 14 (#18944)
jerader Jul 17, 2025
8a7dbff
feat(app): remove tip management tag (#18936)
koji Jul 17, 2025
891b840
fix(protocol-designer,shared-data): remove blowout placeholder (#18913)
ncdiehl11 Jul 17, 2025
cce69ed
refactor(api): clean up liquid class transfer code (#18882)
jbleon95 Jul 17, 2025
31be425
fix(step-generation): add multi-dispense key to liquid class properti…
jerader Jul 17, 2025
525512a
feat(app): generate loadLiquidClass in JSON commands for QT (#18943)
jerader Jul 17, 2025
f833e59
refactor(components, app, shared-data): move ProtocolDeck and utils t…
jerader Jul 17, 2025
297c4fa
Merge remote-tracking branch 'origin/chore_release-pd-8.5.0' into mer…
jerader Jul 17, 2025
6ea8ec1
fix(shared-data): correct multi dispense alias (#18939)
sanni-t Jul 17, 2025
85a7115
refactor(shared-data): forbid extra fields in liquid class dictionary…
ddcc4 Jul 17, 2025
1ad82e8
refactor(abr-testing): Adding additional functionality to ABR data co…
rclarke0 Jul 17, 2025
a8e888a
fix(api): set the opentrons tipracks default version to 2. (#18945)
vegano1 Jul 17, 2025
820e7c9
Merge back 'chore_release-pd-8.5.0' into 'edge' (#18957)
ddcc4 Jul 17, 2025
ef4db13
chore(components): remove unused component (#18961)
koji Jul 18, 2025
3b98ab4
fix(app, components, opentrons-ai-client): fix broken stories (#18965)
koji Jul 18, 2025
963067f
refactor(labware-designer): Theoretically be able to render labware s…
SyntaxColoring Jul 18, 2025
a336ea7
fix(components): fix Module storybook (#18962)
koji Jul 18, 2025
7654fe1
feat(step-generation): wrap the load_instrument() line because it's g…
ddcc4 Jul 18, 2025
c1d09e5
test(protocol-designer): Delete flaky E2E migration tests (#18966)
SyntaxColoring Jul 18, 2025
a4079e3
fix(app): Ensure shuttle empty view in ER (#18967)
TamarZanzouri Jul 18, 2025
203eeb4
feat(components): add HOC wrapper for own styleProps (#18951)
koji Jul 18, 2025
7a0ee82
fix(analyses battery): PR generation bugs (#18952)
y3rsh Jul 18, 2025
857baff
test: Bump analyses-snapshot-test/execute-tests timeout (#18973)
SyntaxColoring Jul 18, 2025
7c3f6ba
feat(protocol-designer): CSS Modules-apply for Landing page component…
koji Jul 18, 2025
5273183
refactor(shared-data, api): fold v2 tiprack changes into v1 and remov…
jbleon95 Jul 18, 2025
5ca5c43
fix(protocol-designer): capitalization of 'waste chute' in onboarding…
ecormany Jul 19, 2025
51ee10a
feat(app): CSS Modules-apply for navbar Desktop app (#18777)
koji Jul 19, 2025
7d4471d
feat(app): CSS Modules-apply for RobotSettings Dashboard (#18778)
koji Jul 20, 2025
349092e
fix(api, hardware-testing): Fix the flex stacker PVT diagnostics scri…
vegano1 Jul 21, 2025
7d121d8
chore: use cache for cypress download and update actions/cache versio…
koji Jul 21, 2025
9e5f63a
feat(protocol-designer): add absorbance reader step summaries (#18932)
ncdiehl11 Jul 21, 2025
0625989
fix(app): Fix labware viewbox in experimental protocol preview (#18968)
SyntaxColoring Jul 21, 2025
c7c6032
fix(protocol-designer): Fix misaligned "Edit labware" overlay in OffD…
SyntaxColoring Jul 21, 2025
0bbaa40
fix(api): DQA bug fixes related to ER and Deck configuration (#18972)
TamarZanzouri Jul 21, 2025
27a556f
fix(protocol-designer): correctly populate OT-2 flow rates (#18982)
ncdiehl11 Jul 21, 2025
517ab7f
feat(shared-data): change schema 2 to include user-defined volumes (#…
caila-marashaj Jul 21, 2025
8f479d3
fix(protocol-designer): default submerge/retract delay seconds to 0 (…
ncdiehl11 Jul 21, 2025
1514772
fix(api,shared-data): disables TOF sensor labware detection on the ho…
vegano1 Jul 22, 2025
961dfc1
refactor(components): migrate deck map components and icon to CSS mod…
jerader Jul 22, 2025
0087438
refactor(components): Add `childrenPositioningMode` prop to `<Module>…
SyntaxColoring Jul 22, 2025
8278911
fix(protocol-designer): add touchtip defaults for OT-2 (#18993)
ncdiehl11 Jul 22, 2025
4c4cb09
fix(app): stacker error recovery should re-engage latch + small cosme…
ahiuchingau Jul 22, 2025
1f60765
fix(api): stacker home routine should open latch before moving z up (…
ahiuchingau Jul 22, 2025
ebc0900
Merge back 'chore_release-8.5.1' into 'chore_release-pd-8.5.0' (#18980)
ddcc4 Jul 22, 2025
3e03128
Merge back 'chore_release-pd-8.5.0' into 'edge' (#18999)
ddcc4 Jul 22, 2025
9317ea9
fix(app): Add special casing for Stacker combination fixtures in deck…
smb2268 Jul 22, 2025
4134efc
fix(app): fix align error display with pd and fix conditional issues …
koji Jul 23, 2025
bea89c1
fix(components): font css props in LabwareWellLabels (#19003)
jerader Jul 23, 2025
7ce9ebc
fixI(app): Allow waste chute with cover fixtures on DeckConfiguration…
TamarZanzouri Jul 23, 2025
ac7760b
fix(step-generation): add back version for load_labware and load_adap…
jerader Jul 23, 2025
bccb83f
fix(protocol-designer): fix temperature module stepform copy (#19004)
ncdiehl11 Jul 23, 2025
3b3e87c
refactor(components): Move SVG fudge to <svg> element (#18938)
SyntaxColoring Jul 23, 2025
785c0ee
fix(components, app, opentrons-ai-client): fix global.css import issu…
koji Jul 24, 2025
7bf339f
fix(api, hardware-testing): Flex stacker PVT diagnostics test fixes +…
vegano1 Jul 24, 2025
8ffae38
chore(hardware-testing): Upgrade Robot Line and Hardware Testing to l…
CaseyBatten Jul 24, 2025
e26ba2f
feat(labware-library): Remove "requires Opentrons software v5.0 or la…
SyntaxColoring Jul 24, 2025
fe73618
fix(app): fix layouts and replace LegacyStyledText in QT (#19011)
koji Jul 24, 2025
efca2ba
test(analyses-snapshot-testing): Adding a keep_last_tip_check protoc…
alexjoel42 Jul 24, 2025
4d7c32b
docs: Add 4-pin DIN connector info to modules (#18884)
jwwojak Jul 24, 2025
e1ad32a
refactor(components): resolve buttons' nested structure (#18840)
koji Jul 24, 2025
c4aeade
fix(step-generation): transform changeTip arg to correct python strin…
jerader Jul 24, 2025
1bb5cfd
refactor(protocol-designer): migrate all labware + tipracks to latest…
jerader Jul 24, 2025
fed50b4
refactor(app, components): pt 2 protocol viz prototype feedback (#19002)
jerader Jul 24, 2025
1beb34c
fix(api): fix for backwards liquid probe when using aspirate_while_pr…
caila-marashaj Jul 24, 2025
2afea6e
fix(protocol-designer): null protection when opening a step after a t…
jerader Jul 25, 2025
01bbf7c
fix(protocol-designer): account for dispensing in trash for migratedP…
jerader Jul 25, 2025
893aa2e
fix(protocol-designer): fix upside down labware on module copy render…
jerader Jul 25, 2025
782b2d0
Merge remote-tracking branch 'origin/chore_release-pd-8.5.0' into HEAD
jerader Jul 25, 2025
5faf80c
fix(protocol-designer): migrate flow rates that exceed pipette capaci…
ncdiehl11 Jul 25, 2025
a6db740
fix(protocol-designer): populate blowout flow rate, remove disposal v…
ncdiehl11 Jul 25, 2025
ec31e87
fix(robot-server): inject correct instance of task runner into app st…
mjhuff Jul 25, 2025
3c40e0d
fix(app): Do not show trash bin if there is a stacker attached next t…
TamarZanzouri Jul 25, 2025
0d70a5d
fix max disposal volume logic (#19045)
ncdiehl11 Jul 25, 2025
c3f2c2e
docs(api): add Flex to `protocol_api` docstring (#19035)
ecormany Jul 25, 2025
d46293b
Merge back 'chore_release-8.5.1' into 'chore_release-pd-8.5.0' (#19037)
ddcc4 Jul 26, 2025
da5d225
feat(shared-data, app): Labware to Support MILLIPLEX Protocols (#19008)
rclarke0 Jul 28, 2025
fc22d4b
fix(protocol-designer, step-generation): fix `getTransferPlanAndRefer…
ncdiehl11 Jul 28, 2025
4d8c54b
fix(protocol-designer): populate blowout flow rate for no liquid clas…
ncdiehl11 Jul 28, 2025
6190cf1
fix(protocol-designer): populate blowout flow rate, remove disposal v…
ncdiehl11 Jul 28, 2025
e04b24a
feat(shared-data, step-generation): introduce lid stack loading and l…
ncdiehl11 Jul 28, 2025
a8a4778
docs: update error recovery options table (#18911)
jwwojak Jul 28, 2025
0167663
docs: update Flex robot and instrument cleaning instructions (#18902)
jwwojak Jul 28, 2025
74c3aef
docs: Revise thermocycler lid text (#18881)
jwwojak Jul 28, 2025
322e142
Updates to Stacker TOF data collection script (#19024)
djgomez-opentrons Jul 28, 2025
aeea720
docs: Labware position check revisions (#18900)
jwwojak Jul 28, 2025
2bc46f4
refactor(protocol-designer): refine ui for multi-channel substeps (#1…
jerader Jul 28, 2025
36663c3
feat(robot-server): Support labware offset notifications (#19051)
mjhuff Jul 28, 2025
1db9035
fix(protocol-designer): fix duplicate property after merge (#19056)
ncdiehl11 Jul 28, 2025
2533b1b
refactor(app): standardize module USB port display info (#19029)
ahiuchingau Jul 28, 2025
1ceeb66
fix(api): failure to create a module instance should be logged and no…
ahiuchingau Jul 28, 2025
aa02e10
fix(app): update robot state in Quick transfer (#18995)
jerader Jul 28, 2025
2672b55
Merge back 'chore_release-pd-8.5.0' into 'edge' (#19052)
ddcc4 Jul 28, 2025
d6baa4d
fix(analyses-snapshot-testing): heal merge-pd-8.5.0-into-edge snapsho…
github-actions[bot] Jul 28, 2025
648a1a9
fix(python): Do math on monotonic clocks only (#19060)
SyntaxColoring Jul 29, 2025
ad3b067
fix(app): add animations for stacker intervention modals (#19059)
ahiuchingau Jul 29, 2025
127003a
fix(app): adjust module setup flow banner copy and animation size (#1…
ahiuchingau Jul 29, 2025
23b37a9
fix(api): fix incorrect gripper point calculation for schema 3 labwar…
mjhuff Jul 29, 2025
e2b8fbd
fix(step-generation): fix correction volume curve passing (#19065)
ncdiehl11 Jul 29, 2025
93324d5
fix(protocol-designer): require app version 8.5.1 to run (#19064)
jerader Jul 29, 2025
2a61803
fix(stacker): catch shuttle is not empty when stacker is about to ret…
ahiuchingau Jul 29, 2025
764bee8
feat(abr-testing): Automate GoPro Recordings (#19074)
rclarke0 Jul 29, 2025
e273525
docs: Migrate thermocycler instruction manual to MkDocs (#19018)
jwwojak Jul 29, 2025
e4fa84f
feat(api): don't make UserDefinedVolumes require (max_height, max_vol…
caila-marashaj Jul 29, 2025
f17c4c5
feat(opentrons-ai-server,-opentrons-ai-client): backend attach file (…
Elyorcv Jul 29, 2025
97060a4
fix(protocol-designer): update json to command schema 14 (#19073)
jerader Jul 29, 2025
531df8d
fix(opentrons-ai-server): uncomment context access (#19078)
Elyorcv Jul 29, 2025
5e58598
fix(api): Re-enable the TOF sensor on the Z for the Flex Stacker modu…
vegano1 Jul 30, 2025
1865af9
Merge remote-tracking branch 'origin/chore_release-pd-8.5.0' into HEAD
jerader Jul 30, 2025
c0022e9
fix(protocol-designer): fix pipette tips form data issue (#19077)
koji Jul 30, 2025
f61bc3a
feat(api): remove the heater shaker low temp limit (#19076)
sfoster1 Jul 30, 2025
5bc2f93
fix(protocol-designer): update announcement modal copy (#19081)
jerader Jul 30, 2025
822c32e
fix(protocol-designer): update the copy on incompatible tips modal (#…
koji Jul 30, 2025
f1dde51
test(shared-data): check that standard liquid class correction volume…
ddcc4 Jul 30, 2025
bbf819b
fix(protocol-designer): fix addfixture modal width and update text in…
koji Jul 30, 2025
2d58c37
chore: pydantic 2.11 (#18872)
sfoster1 Jul 30, 2025
fc09053
feat(protocol-designer): add logic for lid move compatibility (#19058)
ncdiehl11 Jul 30, 2025
88cc4c4
fix(app): more heater-shaker max limits stuff (#19083)
sfoster1 Jul 31, 2025
cff1817
feat(analyses-snapshot-testing): add cli and cleaner opentrons instal…
y3rsh Jul 31, 2025
a3259a1
docs(api): re-add creating a liquid class (#19000)
emilyburghardt Jul 31, 2025
43b1be4
fix(api): update PipetteNotReadyToAspirateError message to not just b…
ddcc4 Jul 31, 2025
eddea9e
Merge back 'chore_release-pd-8.5.0' into 'edge' (#19085)
ddcc4 Jul 31, 2025
ad431a6
refactor(app): update 96ch LPC warning inline notification copy (#19055)
mjhuff Jul 31, 2025
dfcf59e
fix(app): Fix ODD labware offsets label color during run setup (#19050)
mjhuff Jul 31, 2025
f5851b7
fix(app): display waste chute instead of AA name for gripper move lab…
TamarZanzouri Jul 31, 2025
7fc8623
fix(step-generation): properly check module state for moveLabware (#1…
ncdiehl11 Jul 31, 2025
6fca0dd
feat (shared-data): Eppendorf 96 wellplate 1000ul (#19093)
rclarke0 Jul 31, 2025
9182d58
fix(app): fix liquid class label in overview tab (#19094)
koji Jul 31, 2025
1c06d88
fix(app): fix aspirate/dispense subtext when the status is disabled (…
koji Jul 31, 2025
8f9a071
fix(app): fix add space between digit and unit (#19098)
koji Jul 31, 2025
d1663b7
refactor(api,robot-server): Upgrade anyio 3.7.1 -> 4.9.0 (#19071)
SyntaxColoring Aug 1, 2025
2ae4eb5
refactor(shared-data): Refactor bottom-to-top labware list to top-to-…
SyntaxColoring Aug 1, 2025
0739f16
fix(hardware): tolerate move timeout not scheduled (#19062)
sfoster1 Aug 1, 2025
894bd9e
fix(protocol-designer): ensure module does not disappear when clearin…
ncdiehl11 Aug 1, 2025
4ae6782
fix(app): fix subtext lowercase issue under overview tab (#19095)
koji Aug 1, 2025
5f92e60
fix(app): update snack bar text to align with the new design (#19102)
koji Aug 1, 2025
2650977
fix(app): do not use waste chute with stacker in initial deck (#19069)
TamarZanzouri Aug 1, 2025
c58f0e7
fix(opentrons-ai-client): fix chat form border-radius issue (#19106)
koji Aug 1, 2025
6a7f783
feat(api,shared-data): Define labware schema 3 grip height relative t…
SyntaxColoring Aug 1, 2025
c28c53b
fix(robot-server): bound `out` broker message queue (#19107)
mjhuff Aug 1, 2025
ca9ab5a
fix(opentrons-ai-client): fix chat display width issue (#19112)
koji Aug 2, 2025
68b7a81
feat(api, shared-data): Support flex tip rack lid feature (#18929)
mjhuff Aug 2, 2025
49d038d
refactor(hardware, shared-data, api): add bounds to unbounded lru cac…
mjhuff Aug 4, 2025
ea73c94
refactor(api): Improve api resource lifecycle management (#19109)
mjhuff Aug 4, 2025
c8d5916
feat(protocol-designer): h-s min temp 20C (#19091)
sfoster1 Aug 4, 2025
e7e9c39
fix(robot-server, api): fix command history accumulation across proto…
mjhuff Aug 4, 2025
56c186b
docs: adding PD manual (mkdocs) (#18833)
emilyburghardt Aug 4, 2025
7bd07bf
fix(api): Ensure thermocycler dodge waypoints can account for fixture…
CaseyBatten Aug 4, 2025
260c580
fix(api-client, react-api-client): update build command in api-client…
koji Aug 4, 2025
7d61119
fix(hardware-testing): use both baseline and runtime to pass a TOF se…
vegano1 Aug 4, 2025
08a7eef
feat(opentrons-ai-client, opentrons-ai-server): content field (#19080)
Elyorcv Aug 4, 2025
c0c2f74
fix(api): Limit how far up the gripper moves on the Z when opening/cl…
vegano1 Aug 5, 2025
c615e99
refactor(api): Remove unused version gate for tip scrapes (#19019)
SyntaxColoring Aug 5, 2025
fa27d82
fix(app): fix air gap volume range calc (#19111)
koji Aug 5, 2025
82f33e0
feat(abr-testing): Mix Protocol with Automated Error Recovery (#18910)
rclarke0 Aug 5, 2025
6ede00e
Merge back 'chore_release-pd-8.5.0' into 'edge' (#19128)
ddcc4 Aug 5, 2025
c8d6d3b
refactor(api): check both TOF sensors before raising error when retri…
ahiuchingau Aug 5, 2025
12d5d9d
fix(app): translate and capitalize fixtures, order by slotlike name (…
TamarZanzouri Aug 6, 2025
1039e46
fix(protocol-designer): restore tip position behavior on BatchEdit (#…
ncdiehl11 Aug 6, 2025
83e6c7f
fix(protocol-designer): fix Ot2Modules style (#19133)
ncdiehl11 Aug 6, 2025
f9da61e
fix(components): fix title prop null check in DropdownMenu (#19139)
ncdiehl11 Aug 6, 2025
2ce8dbb
feat(docs): build all docs at once (#19117)
ecormany Aug 6, 2025
d648053
feat(protocol-designer): scroll to top of protocol steps if error (#1…
ncdiehl11 Aug 6, 2025
c2c764a
fix(app): add `EmptyHopper` screen for stacker stalled error recovery…
ahiuchingau Aug 6, 2025
4a6a721
fix(app): fix liquid name issue in getLiquidClassName (#19131)
koji Aug 7, 2025
a3caaab
fix(protocol-designer): deck view size issue (#19145)
koji Aug 7, 2025
3a74465
fix(protocol-designer): fix height and padding in ProtocolSteps (#19140)
ncdiehl11 Aug 7, 2025
3d3bf5f
feat(app,protocol-designer): expose tough reservoirs (#19142)
sfoster1 Aug 7, 2025
ddc9d0d
fix(api,shared-data): Load new versions of Millipore labware in apiLe…
SyntaxColoring Aug 7, 2025
5408ea2
feat(abr-testing): Changed 96ch lv protocol to include more partial t…
rclarke0 Aug 7, 2025
bbfccf2
feat(api): Expose the GET_ESTOP_ENGAGED (M112) G-Code for the Flex St…
vegano1 Aug 7, 2025
19dfd19
doc(step-generation): liquidClass="none" is allowed in FormData but n…
ddcc4 Aug 7, 2025
dcc8129
feat(api, app): add disable Flex Stacker labware detection as a featu…
ahiuchingau Aug 7, 2025
7eb658b
test(api): Catch labware versions not included in any Python Protocol…
SyntaxColoring Aug 7, 2025
50c0277
fix(hardware): add handling for BatchReadFromSensorResponse to monito…
caila-marashaj Aug 7, 2025
9f3fcfd
Merge back 'chore_release-pd-8.5.0' into 'edge' (#19149)
ddcc4 Aug 7, 2025
e0bf5fd
fix(app): fix change tip frequency display in summary screen (#19152)
koji Aug 7, 2025
3bdc273
fix(app): Update stacker error recovery flow to remove redundant inco…
CaseyBatten Aug 7, 2025
5a0ba02
fix(app): allow to add/remove absorbance reader (#19138)
TamarZanzouri Aug 7, 2025
b416044
refactor(protocol-designer): change manual link from PDF to mkdocs si…
ecormany Aug 7, 2025
edbfbb2
fix(app): module setup flow allow TC add/remove (#19143)
TamarZanzouri Aug 7, 2025
0fe4c2a
fix(shared-data): Add gripHeightFromLabwareBottom offset to appliedbi…
rclarke0 Aug 7, 2025
f2f2269
chore(opentrons-ai-client): update file structure to aling with atomi…
koji Aug 8, 2025
338c0a8
refactor(app): stacker latch jammed error recovery should ask user to…
ahiuchingau Aug 8, 2025
58a4e05
fix(app): ensure disabled touch tip value is null (#19156)
ncdiehl11 Aug 8, 2025
e9498b4
chore(api): remove index.html page from Sphinx docs build (#19121)
ecormany Aug 8, 2025
8775de8
Merge back 'chore_release-pd-8.5.0' into 'edge' (#19166)
ddcc4 Aug 8, 2025
9f8d1b0
fix(protocol-designer): scroll to bottom of SelectBasics in onboardin…
ncdiehl11 Aug 8, 2025
d86ae7a
fix(app): Intervention modal map rendering stacker and labware incorr…
smb2268 Aug 8, 2025
77563c3
chore(release): add 8.6.0 release notes placeholder (#19169)
y3rsh Aug 8, 2025
5615ccf
fix(protocol-designer): scroll to bottom of SelectBasics in onboardin…
ncdiehl11 Aug 8, 2025
0ca6f90
refactor(docs): rename PD manual pages (#19163)
ecormany Aug 8, 2025
1ec272e
Merge back 'chore_release-pd-8.5.0' into 'edge' (#19171)
ddcc4 Aug 8, 2025
95b9d6e
refactor(api): move last tip picked up tracking from context to engin…
jbleon95 Aug 8, 2025
3635cb6
fix(app): align column numbers in deck config (#19177)
TamarZanzouri Aug 8, 2025
8ad8229
add 8.6.0 alpha release notes (#19173)
emilyburghardt Aug 8, 2025
b2e364f
fix(app): fix tip drop location display in overview tab (#19180)
koji Aug 9, 2025
799b385
fix(shared-data): ensure agreement between top frustum and well dimen…
SyntaxColoring Aug 9, 2025
470153f
fix(app,components): Fix unreliable `MoveLabwareOnDeck` animation (#1…
SyntaxColoring Aug 11, 2025
ce92f79
fix(app): allow door to open when releasing latch and home gantry axe…
ahiuchingau Aug 11, 2025
8f5f275
fix(app): reset RTP capture if analysis changes (#19134)
sfoster1 Aug 11, 2025
3f9675c
fix(app): allow stacker setup with no pipette (#19160)
sfoster1 Aug 11, 2025
0f9d1a4
feat(hardware-testing): upgrade the hardware-qc for pipettes to a pro…
ryanthecoder Aug 11, 2025
c85e6d8
fix(protocol-designer): remove version check from e2e migration test …
jerader Aug 11, 2025
8881960
fix(app): Only say pipette needed for calibration if calibration isn'…
smb2268 Aug 11, 2025
527a175
fix(components): Cherry pick font size (#19188)
koji Aug 11, 2025
5f49987
Merge back 'chore_release-pd-8.5.0' into 'chore_release-8.6.0' (#19192)
ddcc4 Aug 11, 2025
11b03e0
fix(app): refactor logic for getSimplestDeckConfigForProtocol to be a…
TamarZanzouri Aug 11, 2025
d14c146
fix(app): sync the start module setup toast and module setup between …
vegano1 Aug 11, 2025
5c13ce0
fix(abr-testing): can't set pipette._last_tip_picked_up_from anymore …
ddcc4 Aug 11, 2025
9f67c57
fix(ci): Update "deploy" Makefile target name to fix deployments of s…
SyntaxColoring Aug 11, 2025
8c246bf
chore(app): use action needed instead of calibration needed on odd (#…
TamarZanzouri Aug 12, 2025
7d5a7e9
fix(api): Ensure the engine recovery state is properly handling door …
CaseyBatten Aug 12, 2025
1cc10ea
fix(app): calibration modal labware name overlay positioning (#19207)
jerader Aug 12, 2025
0fb8c91
fix(robot-server): handle deck cal inputs better (#19206)
sfoster1 Aug 13, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
104 changes: 104 additions & 0 deletions .cursorignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,104 @@
# Add directories or file patterns to ignore during indexing (e.g. foo/ or *.csv)

# Generated files for local API server config paths
api/.env
api/index.json
.opentrons_config

# MyPy caches
.mypy_cache


build/
!app-shell/build
api/docs/build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib64/
parts/
sdist/
var/
*.egg-info/
.installed.cfg
*.egg

# PyInstaller
pyinstaller/build
pyinstaller/dist

# Unit test / coverage reports
htmlcov/
.tox/
coverage
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*,cover
.hypothesis/

# Translations
*.mo
*.pot

# Django stuff:
*.log

# Sphinx documentation
docs/_build/
docs/build/

# mkdocs documentation
docs/*/site/

# PyBuilder
target/
.idea/
.setup_litter


*.DS_Store


# ignore linux swap files
*.swp

# local VERSION.json file when pushing to Flex
*new_version_file.json

# include archived API docs
!api/docs/dist/
api/docs/dist/hardware/
api/docs/dist/v2/


# local IDE configs
.vscode
*.code-workspace
*.sublime-project
*.sublime-workspace

# build artifacts
api-client/dist/
app/dist/
app-shell/dist/
app-shell-odd/dist/
components/lib
discovery-client/lib
labware-designer/dist/
labware-library/dist/
opentrons-ai-client/dist/
protocol-designer/dist/
react-api-client/dist/
shared-data/lib/
step-generation/lib/

# docker
Dockerfile
DOCKER.md
docker-compose.yml
.dockerignore
9 changes: 8 additions & 1 deletion .eslintignore
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,13 @@ analyses-snapshot-testing/files
# don't format the snapshots
analyses-snapshot-testing/tests/__snapshots__
analyses-snapshot-testing/analysis_results
analyses-snapshot-testing/chunks

opentrons-ai-server/package
opentrons-ai-server/api/storage/index/
opentrons-ai-server/api/storage/

# Leave Markdown formatting alone because some of it is load-bearing for MkDocs.
# Note that this is a Prettier thing, not an ESLint thing. Prettier shares this config file.
/docs/**/*.md
# And ignore non-semantic formatting issues in mkdocs YAML configuration files.
/docs/**/*.yml
35 changes: 33 additions & 2 deletions .eslintrc.js
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,14 @@ module.exports = {
'plugin:react/jsx-runtime',
],

plugins: ['react', 'react-hooks', 'json', 'testing-library', 'opentrons'],
plugins: [
'react',
'react-hooks',
'json',
'testing-library',
'opentrons',
'@eslint-react',
],

rules: {
camelcase: 'off',
Expand Down Expand Up @@ -120,9 +127,13 @@ module.exports = {
},
},
{
files: ['./app/src/**/*.@(ts|tsx)'],
files: [
'./app/src/**/*.@(ts|tsx)',
'./opentrons-ai-client/src/**/*.@(ts|tsx)',
],
rules: {
'import/no-absolute-path': 'off',
'@eslint-react/no-nested-component-definitions': 'error',
},
},
{
Expand Down Expand Up @@ -183,6 +194,7 @@ module.exports = {
'opentrons/no-imports-up-the-tree-of-life': 'warn',
'opentrons/no-margins-in-css': 'warn',
'opentrons/no-margins-inline': 'warn',
'@eslint-react/no-nested-component-definitions': 'error',
},
},
// apply application structure import requirements to app
Expand All @@ -209,5 +221,24 @@ module.exports = {
'opentrons/no-margins-inline': 'warn',
},
},
{
files: ['**/*.tsx'],
excludedFiles: ['**/*.stories.tsx'],
rules: {
// TODO: Switch this rule to 'error' once the CSS modules migration is complete.
'react/forbid-dom-props': [
'warn',
{
forbid: [
{
propName: 'style',
message:
'Inline styles are not allowed. Use CSS modules instead.',
},
],
},
],
},
},
],
}
29 changes: 13 additions & 16 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -1,19 +1,16 @@
# catchall: someone in software should be notified for any change in this repo
* @Opentrons/software
# Add teams here to be notified automatically when a PR changes certain file paths,
# but be mindful of the rate of false positives -- we want to avoid notification spam.

# language expertise verticals - if a PR changes things in multiple projects let's
# notify those language communities
*.js @Opentrons/js
*.py @Opentrons/py
*.d.ts @Opentrons/js
/webpack-config @Opentrons/js
/components @Opentrons/components-devs

# subprojects by language - some subprojects are shared by teams but united by a
# language community (including makefiles and config) so mark them appropriately
/app @Opentrons/js
/api-client @Opentrons/js
/react-api-client @Opentrons/js
/app-shell @Opentrons/js
/components @Opentrons/js @Opentrons/components-devs
/api @Opentrons/py
# Changes to nonspecific files in shared-data are probably probably changes to the
# actual data (e.g. deck definitions) and thus affect everyone, so notify everyone.
# This needs to come first so it can be overridden by more specific rules.
/shared-data @Opentrons/js @Opentrons/py
# If a file is definitely JS or Python, notify just that language's community.
# If this happens to all the files in the PR, it will override the "notify everyone" rule above.
/shared-data/js @Opentrons/js
/shared-data/**/*.ts @Opentrons/js
/shared-data/python @Opentrons/py
/shared-data/python_tests @Opentrons/py
/shared-data/**/*.py @Opentrons/py
7 changes: 7 additions & 0 deletions .github/actions/js/setup/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,13 @@ runs:
node-version: '22.11.0'
cache: 'yarn'

- name: 'Cache Cypress binary'
id: cache-cypress
uses: actions/cache@v4
with:
path: ~/.cache/Cypress
key: cypress-${{ runner.os }}-${{ hashFiles('**/yarn.lock') }}

- name: 'Install udev for USB-detection'
if: runner.os == 'Linux'
shell: bash
Expand Down
28 changes: 10 additions & 18 deletions .github/workflows/analyses-snapshot-lint.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -23,26 +23,18 @@ jobs:
steps:
- name: Checkout opentrons repo
uses: 'actions/checkout@v4'

- name: Setup Python
uses: 'actions/setup-python@v5'
- name: Setup UV
uses: astral-sh/setup-uv@v6
with:
python-version: '3.13.0'
cache: 'pipenv'
cache-dependency-path: analyses-snapshot-testing/Pipfile.lock
- name: Setup
id: install
working-directory: ./analyses-snapshot-testing
run: make setup
- name: black-check
if: always() && steps.install.outcome == 'success' || steps.install.outcome == 'skipped'
python-version: "3.10"
enable-cache: true
cache-dependency-glob: "./analyses-snapshot-testing/uv.lock"
- name: Sync the project
working-directory: ./analyses-snapshot-testing
run: make black-check
- name: ruff
if: always() && steps.install.outcome == 'success' || steps.install.outcome == 'skipped'
run: make ci-setup
- name: ruff-check
working-directory: ./analyses-snapshot-testing
run: make ruff-check
- name: mypy
if: always() && steps.install.outcome == 'success' || steps.install.outcome == 'skipped'
- name: unit tests
working-directory: ./analyses-snapshot-testing
run: make mypy
run: make unit-test
Loading
Loading