Changelog

Next 9.x feature release

  • [Support] #385: Further updates for dataclass compatibility

Next 9.x bugfix release

  • [Bug]:
    support

    381 Recommit changes to version 10.0.0

  • [Bug]:
    release

    10.0.0 <2023-02-02>

  • [Bug]:
    feature

    383 Propagating properties now adds instead of sets for acoustic spread

  • [Bug]:
    release

    10.1.0 <2023-02-15>

  • [Bug]:
    feature

    378 Adjust 96-deep-kf and 96-v-kf container types true_max_vol to 1.8mL and added validations in MagBuilders class such that plates being put onto KF device do not exceed working vol with comb

  • [Bug]:
    release

    10.1.1 <2023-02-23>

  • [Bug]:
    release

    10.2.0 <2023-02-24>

  • [Bug] #387: Fix Instruction::MagneticTransfer invalid volume detection

  • [Bug]:
    release

    10.2.1 <2023-02-27>

  • [Bug] #389: Fix DispenseColumn serialization prior to constructing Dispense Instruction

  • [Bug] #389: Adding unit_as_strings_factory to fix Unit serialization expected as str not dict

  • [Bug]:
    release

    10.2.2 <2023-02-28>

  • [Bug] #391: Revert rec_tip_type implementation

  • [Bug]:
    release

    10.2.3 <2023-04-03>

  • [Bug] #395: Refactor tip types to transfer methods

  • [Bug]:
    release

    10.2.4 <2023-04-18>

  • [Bug]:
    feature

    393 Support for Mantis in liquid_handle_dispense method

  • [Bug]:
    feature

    390 Support for Mantis liquid_handle dispense in device_mode_params

  • [Bug]:
    release

    10.3.0 <2023-03-24>

Next 8.x feature release

  • [Feature] #365: Update autopick method signature to allow for multiple pick groups per instruction

Next 7.x feature release

  • [Feature] #350: update: set pump_override_volume to default to None

9.1.1 2023-02-02

  • [Bug]:
    support

    380 Reverting braking changes that 9.1.0 introduces in order to semantically adjust changes to a major version bump

9.1.0 2023-01-04

  • [Feature] #369: Update: Autoprotocol python typing

  • [Feature] #373: Add restriction on container type to echo compatible plates

  • [Feature] #375: Move typing dataclasses to own module and create unit data type aliases

9.0.0 2022-12-20

  • [Feature] #371: Added new container type: 384-corning-4512-round-lv

  • [Feature] #372: Acoustic transfer propagates well properties

8.0.0 2022-11-16

  • [Feature] #359: Depriciate Python 3.6

  • [Feature] #358: Dataclass enhancements to support objects schema-ready and de/serialization

  • [Support] #360: typing for Protocol.instruction() methods

7.15.0 2022-10-27

  • [Feature] #343: Add new container: 384-corning-4513-round-lv

  • [Feature] #345: Add new container type: 1536-echo-ldv-beckman-001-6969

  • [Feature] #347: update: container and well ctx_properties

  • [Feature] #353: Added new container type: 384-spl-flat-uv-ps

  • [Feature] #354: Added new container type: 96-spl-flat-uv-ps

  • [Support] #339: Fix Unit handling in set_compounds for None, null values

7.14.0 2021-12-04

  • [Feature] #334: Addition of concentration and solubility_flag keys to compound metadata

  • [Feature] #337: Update requirements for tracking concentration on compounds, set defaults

7.13.0 2021-11-15

  • [Feature] #332: Extract compound metadata from JSON payload

7.12.0 2021-11-11

  • [Feature] #330: Update allowed step_size in Dispense

7.11.0 2021-11-07

  • [Feature] #323: Add seal [“ultra-clear”, “foil”] to FLAT384WHITETC

  • [Feature] #327: Update container class to have contextual custom properties

  • [Support] #318: Update all pre-commit hooks except pylint to latest versions

7.10.0 2021-10-25

  • [Feature] #305: Add cold_196 incubation location

  • [Feature] #306: Add new containers: 384-ubottom-black-clear-tc and 384-flat-black-clear-tc

  • [Feature] #308: Update liquid_handle_dispense instruction to allow for multiple intake hoses in source

  • [Feature] #309: Change container short name 384-flat-black-clear-tc to 384-flatbottom-black-clear-tc

  • [Feature] #312: Add new container: 96-pcr-fs-clear

  • [Feature] #316: Refactor extracted mass_mg -> mass

  • [Feature] #319: Support Python 3.10

  • [Support] #302: Remove volume from wells that are on a container that is evaporated

  • [Support] #304: remove standard cover type attribute from container type: 96-ubottom-clear-tc

  • [Support] #320: Bump pytest, pytest-cov and coverage versions for python 3.10 support

  • [Support] #321: Support mass=None assignment

7.9.0 2021-05-25

  • [Feature] #300: Allow reservoir stamping for plates with shape SBS384 provided that container has capability: sbs384_compatible. Capability added to container RESSW384LP.

  • [Support] #300: Add tests in util to check if container type is a compatible reservoir

7.8.0 2021-05-18

  • [Feature] #301: Add liquid_handle_dispense method, include protein buffer liquid class and volume resolution in LiquidHandleBuilders. Add helper function for building device level mode_params in LiquidHandleBuilders for tempest.

  • [Support] #301: Update authors

  • [Support] #301: Add tests for liquid_handle_dispense method

7.7.0 2021-03-18

  • [Feature] #297: Add support for SMILES to Compound class

  • [Bug] #296: Remove low-evaporation cover type from FALCON96UBOTTOM

7.6.1 2021-03-04

  • [Bug] #294: Fix output of AttachCompounds wells

7.6.0 2021-03-02

  • [Feature] #290: Add informatics attribute to Instruction

  • [Feature] #292: Add informatics param to p.transfer

  • [Support] #291: Update copyright and authors

7.5.0 2021-01-31

  • [Feature] #283: Support Python 3.9

  • [Feature] #288: Add “Compound” to derived types

  • [Support] #281: Add downloads badge to track package usage

  • [Support] #282: migrate CI from travis to GitHub actions

  • [Support] #285: use readme.rst for long description

  • [Support] #286: CodeCov action for GitHub actions

  • [Support] #284: add isort for automatic import sorting

7.4.1 2020-11-19

  • [Bug] #277: Fix travis.yml deployment syntax

7.4.0 2020-10-28

  • [Feature] #276: Add 96-flat-white-dc container type

  • [Bug] #274: Container.wells_with(prop, val) not returning wells with val due to is operator instead of ==

  • [Bug] #275: Fix acoustic transfer one_source bug to take dead volume into account.

7.3.0 2020-10-01

  • [Feature] #272: Add 96-ubottom-clear-tc container type

  • [Bug] #270: 0 uL acoustic transfer raises an error instead of creating empty ‘groups’ field

  • [Bug] #266: FlowCytometry excitation field should be optional and support specification of multiple lasers

  • [Support] #269: Update travis.yml to trigger deployment only once

7.2.0 2020-09-15

  • [Feature] #265: Add support for mass_concentration, amount_concentration and volume_concentration, as specified in ASC-51

  • [Support] #267: Pin black version to reduce CI/local inconsistencies. Pin to 20.8b1

7.1.1 2020-07-21

  • [Bug] #261: Revert empty Protocol assertion check in as_dict()

7.1.0 2020-06-29

  • [Feature] #254: Add support for provisioning of resources by mass

  • [Feature] #258: Add time_constraints value to the Protocol attributes

  • [Feature] #259: Add humanize and robotize support for 1536w

7.0.1 2020-06-02

  • [Bug] #255: Update desired_mode method in LiquidHandle to allow for cases where mode_param is empty

7.0.0 2020-05-28

  • [Feature] #238: Add 96-well-v-bottom container type

  • [Feature] #239: Add absorbance and fluorescence capabilities to 96-well-v-bottom container type

  • [Feature] #248: Bump Pint version to 0.9

  • [Bug] #244: Revert Protocol.propagate_properties to use Well.add_properties

  • [Bug] #253: Provision instruction for multiple wells is not including all wells in the request

  • [Support] #241: Deprecate support for Python 3.5, add support for Python 3.8

  • [Support] #243: Add basic pre-commit infrastructure, shift pylint inside pre-commit

  • [Support] #243: Restructure travis.yml jobs structure to separate out each stage

  • [Support] #243: Update docs with environment setup and testing

  • [Support] #245: Add expected propagate_properties behavior tests

  • [Support] #247: Add black as auto-formatter to pre-commit workflow

  • [Support] #249: Update documentation dependencies, notably Sphinx to >=2.4

  • [Support] #250: Bump test dependencies, notably pytest to >=5.4, pylint to 2.5.2 and tox >=3.15

  • [Support] #251: Add code coverage badge

  • [Support] #252: Switch to using .readthedocs.yml for docs build config

6.2.0 2020-05-13

  • [Feature] #221: Add warm_35 incubation location

  • [Feature] #229: Update LiquidHandle instruction with ‘density’ parameter and ‘positive_displacement’ mode

  • [Feature] #235: Add support for specifying different Protocol subclasses in harness.run

  • [Bug] #231: Fix LiquidHandleBuilders method desired_mode docstring preventing Travis build

  • [Bug] #233: Change Protocol.propagate_properties to use Well.set_properties

  • [Support] #228: Remove Phabricator references

  • [Support] #232: Move and update license, authors, contributing to top-level

  • [Support] #232: Update various date, emails and copyright references

  • [Support] #236: Support auto-deploy from travis

6.1.2 2020-02-18

  • [Bug] #226: Don’t unnecessarily sanitize inputs in z position builder

6.1.1 2020-01-27

  • [Bug] #220: Fix Image autoprotocol parameter

  • [Bug] #223: Fix well_from_shape logic for 384 well plates

6.1.0 2019-10-14

  • [Feature] #217: Add concentration(mass) to valid input-types in harness

  • [Feature] #217: Add concentration(molar) to valid input-types in harness

  • [Bug] #216: Fix pytest-cov package dependency

6.0.1 2019-09-11

  • [Bug] #210: Fix semantic-version dependency, pin to 2.6.0 for docs to build

  • [Bug] #209: Fix Sonicate bath mode default frequency

  • [Bug] #212: Fix Agitate parameter order

  • [Bug] #213: Fix SPE autoprotocol instruction key

6.0.0 2019-08-21

  • [Support] #205: Fix changelog formatting

  • [Support] #206: Deprecate support for Python 2, migrate to support only Python >=3.5

5.6.0 2019-08-18

  • [Feature] #199: Add agitate instruction

  • [Feature] #200: Add sonicate instruction

  • [Feature] #201: Add evaporate instruction

  • [Feature] #202: Add SPE instruction

  • [Feature] #203: Add image instruction

5.5.0 2019-07-17

  • [Feature] #196: Add get_protocol_preview in harness

5.4.1 2019-05-06

  • [Bug] #193: Add support for well properties with non-string values in wells_with

  • [Bug] #194: Add support for seal capabilities to 384-flat

5.4.0 2019-03-06

  • [Feature] #190: Make Well.add_properties extend the original instead of replacing it if both values are lists

  • [Feature] #191: Add initial cover state to ref opts (ASC-042)

5.3.0 2019-02-21

  • [Feature] #185: Allow 384-flat-white-clear containers to be sealed with ultra-clear seals

  • [Feature] #188: Add support for non-string aliquot property values as long as they’re JSON-serializable

  • [Feature] #188: Add Container utils for selecting wells

  • [Feature] #188: Add Protocol flag to propagate aliquot properties when liquid handling

  • [Support] #184: Improve CI pipeline and fix lint warnings for new versions of pylint

  • [Support] #187: Remove Phabricator URI from .arcconfig

5.2.1 2019-01-08

  • [Bug] #182: fix WellGroup missing equality method

  • [Bug] #183: fix ThermocycleBuilders.dyes to reference ints instead of Wells

  • [Bug] #186: Fix well volume math when liquid handling in python2 and add missing seal capability for 384-flat-white-clear

5.2.0 2018-12-11

  • [Feature] #180: add support for read_position and position_z to spectrophotometry (ASC-041)

5.1.0 2018-9-28

  • [Feature] #177: update Incubate instruction and corresponding protocol method co2 parameter docstrings and add type check

  • [Bug] #178: fixed passing through of store_lid field in p.uncover

5.0.2 2018-08-28

  • [Bug] #176: increment version

5.0.1 2018-08-28

  • [Bug] #175: fix transfer failing to assign tip_type with calibrated transfers that require splitting

5.0.0 2018-08-24

  • [Feature] #161: shift op as an official attribute of Instruction

  • [Feature] #161: add ideal time constraints which can be specified by add_time_constraint (ASC-037)

  • [Feature] #161: add batch_containers, for controlling containers entering/exiting together

  • [Feature] #161: modify acoustic_transfer to no longer proactively group consecutive instructions. Please use WellGroup explicitly instead

  • [Feature] #161: add util.parse_unit, a helper for parsing and checking an unit input

  • [Feature] #161: add util.check_unit, a helper for checking the units in bounds

  • [Feature] #161: all protocol methods now return the Instruction

  • [Feature] #161: add parameters to p.dispense, including flowrate, nozzle_position, step_size, reagent_source, dispense_speed, pre_dispense, shape, shake_after options (ASC-027, ASC-029, ASC-036, ASC-039)

  • [Feature] #161: add lid_temperature to p.thermocycle (ASC-035)

  • [Feature] #161: add settle_time to p.absorbance (ASC-026)

  • [Feature] #161: add parameters to p.fluorescence, including detection_mode, position_z, settle_time, lag_time, integration_time (ASC-026)

  • [Feature] #161: add parameters to p.luminescence, including settle_time, integration_time (ASC-026)

  • [Feature] #161: add parameters to p.seal, including mode, temperature, duration (ASC-034)

  • [Feature] #161: add retrieve_lid to p.cover (ASC-040)

  • [Feature] #161: add store_lid to p.uncover (ASC-040)

  • [Feature] #161: change measure_mass instruction to take in a single container instead (ASC-030)

  • [Feature] #161: add count_cells instruction (ASC-033)

  • [Feature] #161: add spectrophotometry instruction (ASC-038)

  • [Feature] #161: added builtin support for ceil and floor and changed py2 compatibility Unit.floor and Unit.ceil methods to use them

  • [Feature] #161: converted all Unit internals to use Decimals in place of other Numbers

  • [Feature] #161: deprecate util.make_dottable_dict and util.deep_merge_params

  • [Feature] #161: deprecate newpick in p.autopick

  • [Feature] #161: deprecate support for generating multiple GelSeparate instructions using p.gel_separate

  • [Feature] #161: deprecate support for p.append in favor of p._append_and_return

  • [Feature] #163: deprecated Pipette, Stamp, Consolidate, Distribute, and Spread instructions

  • [Feature] #163: deprecated the p.consolidate and p.distribute protocol methods

  • [Feature] #163: replaced the internals of p.spread with a new implementation that generates a liquid_handle instruction

  • [Feature] #163: replaced p.stamp & p.transfer with a new implementation of p.transfer that generates a liquid_handle instruction

  • [Feature] #163: add LiquidHandleMethods and corresponding protocol methods to represent generic liquid handling abstractions

  • [Feature] #163: add liquid_handle instruction (ASC-032)

  • [Feature] #168: improved pruning of empty data structures from ‘Instruction.data’ field

  • [Feature] #166: add 384-well flat-bottom polystyrene plate containerType

  • [Feature] #165: deprecate Instruction.json method for now as most instructions contain non-JSON-serializable objects

  • [Feature] #165: update instruction serialization to use a new _as_AST method as op is no longer included in Instruction data

  • [Feature] #165: add __repr__ methods to Autoprotocol Python objects

  • [Feature] #170: port existing checkers to builders format

  • [Feature] #170: deprecate unused utils including euclidean_distance, quad_ind_to_num, and quad_num_to_ind

  • [Feature] #170: protect liquid_handle-related utils until they can be made more general-purpose

  • [Feature] #174: use more sensible default z positions for pre_buffer and blowout in LiquidHandleMethod

  • [Feature] #172: add new FlowCytometry instruction and corresponding protocol method

  • [Bug] #167: properly handle transfer with tip_type and no volume calibration

  • [Bug] #174: fix broken PreMixBlowoutTransfer that used outdated logic

  • [Support] #160: change default linter to pylint and update tox

  • [Support] #161: cleaned up references of Unit.fromstring and Unit._magnitude

  • [Support] #162: fix and update docstrings so that sphinx can be executed with no warnings

  • [Support] #164: update docs/requirements.txt for rtd to build properly

  • [Support] #169: add CONTRIBUTING.rst, cleaned up README.md, and ported it to rst

4.0.0 2017-11-22

  • [Feature]: add new containers, true_max_vol_ul in _CONTAINER_TYPES

  • [Feature]: add prioritize_seal_or_cover allow priority selection

  • [Feature]: allow breathable seals on 96-deep and 24-deep

  • [Feature]: add PerkinElmer 384-well optiplate to container_type (cat# 6007299), container-type-384-flat-white-white-optiplate

  • [Feature]: add support for more_than in add_time_constraint

  • [Feature]: add ability to specify x_cassette for dispense and dispense_full_plate methods

  • [Feature]: add ability to specify a well as reagent source for dispense and dispense_full_plate methods

  • [Feature]: add step_size to dispense and dispense_full_plate methods

  • [Feature]: add shaking capabilities to protocol.incubate()

  • [Feature]: add ceil and floor methods to Unit

  • [Bug]: remove cover prior to mag steps where applicable

  • [Support]: fix documentation typos

  • [Support]: convert test suite to py.test

  • [Support]: docstring cleanup, linting

3.10.1 2017-05-25

  • [Bug]: update default lid types for container-type-384-echo, container-type-96-flat, container-type-96-flat-uv, and container-type-96-flat-clear-clear-tc

  • [Bug]: update pint requirements, update error handling on UnitError

3.10.0 2016-10-25

  • [Feature]: new plate types container-type-384-v-clear-clear, container-type-384-round-clear-clear,`384-flat-white-white-nbs`

  • [Bug]: allow incubation of containers at ambient without covers

  • [Bug]: prevent invalid incubate parameters in protocol-absorbance

  • [Bug]: respect incubate conditions where uncovered=True

  • [Bug]: fix Well.set_properties() so that it completely overwrites the existing properties dict

  • [Bug]: fix name of container-type-384-round-clear-clear

  • [Support]: more descriptive error message in ref protocol

  • [Support]: add functions and tests to enable use of –dye_test flag

3.9.0 2016-08-10

  • [Feature]: Container method: container-tube

  • [Feature]: new plate type container-type-96-flat-clear-clear-tc

  • [Bug]: Unit validations from str in protocol-flow-analyze instruction

  • [Support]: update documention for harness-seal-on-store

3.8.0 2016-07-26

  • [Feature]: cover_types and seal_types to _CONTAINER_TYPES

  • [Feature]: validations of input types before cover check

  • [Feature]: new plate types container-type-384-flat-clear-clear, container-type-384-flat-white-white-lv, container-type-384-flat-white-white-tc

  • [Feature]: validations before implicit cover or seal

  • [Feature]: WellGroup.extend(wells) can now take in a list of wells

  • [Feature]: WellGroup methods: wellgroup-group-name, wellgroup-pop, wellgroup-insert, wellgroup-wells-with

  • [Feature]: assertions and tests for protocol-flow-analyze

  • [Feature]: autocover before protocol-incubate

  • [Feature]: is_resource_id added to protocol-dispense and protocol-dispense-full-plate instructions

  • [Feature]: plate type container-type-6-flat-tc to ContainerType

  • [Bug]: unit conversion to microliters in protocol-dispense instruction

  • [Support]: documentation

  • [Support]: protocol-dispense instruction tests

  • [Support]: using release for changelog and integration into readthedocs documentation

3.7.6 2016-07-25

  • [Bug]: convert pipette operations to microliters

  • [Bug] #128: cover_types on container-type-96-deep-kf and container-type-96-deep

  • [Bug] #127: convert pipette operations to microliters

  • [Bug]: dispense_speed and distribute_target in protocol-distribute instruction

3.7.5 2016-07-08

  • [Feature]: plate type container-type-6-flat-tc to ContainerType

3.7.4 2016-07-07

  • [Bug]: auto-uncover before protocol-provision instructions

3.7.3 2016-07-06

  • [Feature]: WellGroup.extend(wells) can now take in a list of wells

  • [Feature]: WellGroup methods: wellgroup-group-name, wellgroup-pop, wellgroup-insert, wellgroup-wells-with

  • [Feature]: assertions and tests for protocol-flow-analyze

  • [Feature]: autocover before protocol-incubate

  • [Feature]: is_resource_id added to protocol-dispense and protocol-dispense-full-plate instructions

  • [Bug]: compatibility with py3 in protocol-flow-analyze

  • [Bug]: protocol-spin auto-cover

  • [Bug]: removed capability ‘cover’ from container-type-96-pcr and container-type-384-pcr plates

  • [Bug]: protocol-dispense instruction json outputs

  • [Support]: documentation

3.7.2 2016-06-24

  • [Feature]: new plate types container-type-384-flat-clear-clear, container-type-384-flat-white-white-lv, container-type-384-flat-white-white-tc

  • [Feature]: validations before implicit cover or seal

3.7.1 2016-06-17

  • [Feature]: cover_types and seal_types to _CONTAINER_TYPES

  • [Feature]: validations of input types before cover check

  • [Bug]: string input types for source, destination wells for Instructions protocol-consolidate, protocol-autopick, protocol-mix

3.7.0 2016-06-14

  • [Feature]: track plate cover status - Container objects now have a cover attribute, implicit plate unsealing or uncovering prior to steps that require the plate to be uncovered.

  • [Bug]: protocol-stamp separates row stamps with more than 2 containers

3.6.0 2016-06-07

  • [Feature]: protocol-mix allows one_tip=True

  • [Feature]: unit-unit specific error handling

  • [Feature]: protocol-illuminaseq allows cycle specification

  • [Feature]: protocol-add-time-constraint added

3.5.3 2016-05-16

  • [Bug]: harness.py returns proper boolean for thermocycle types

3.5.2 2016-05-13

  • [Feature]: unit-unit specific error handling

  • [Bug]: thermocycle gradient steps in harness.py

3.5.1 2016-05-12

  • [Feature]: protocol-mix allows one_tip=True

  • [Bug]: protocol-acoustic-transfer handling of droplet size

3.5.0 2016-05-06

  • [Feature]: protocol-spin instruction takes directional parameters

  • [Feature]: protocol-gel-purify parameters improved

  • [Feature]: protocol-illuminaseq instruction

  • [Feature]: protocol-measure-volume instruction

  • [Feature]: protocol-measure-mass instruction

  • [Bug]: Compatibility of Unit for acceleration

  • [Bug]: fix harness to be python3 compatible

  • [Bug]: Concatenation of Well to WellGroup no longer returns None

  • [Bug]: WellGroup checks that all elements are wells

  • [Support]: gel string in documentation

3.4.0 2016-04-22

  • [Feature]: support for list input type for humanize and robotize (container and container_type)

  • [Feature]: protocol-gel-purify instruction to instruction.py and protocol.py

  • [Feature]: :ref:container-discard` and and container-set-storage methods for containers

3.3.0 2016-04-13

  • [Feature]: csv-table input type to harness.py

3.2.0 2016-04-07

  • [Feature]: magnetic transfer instructions to now pass relevant inputs through units

  • [Feature]: Unit support for molar

  • [Feature]: disclaimer to README.md on unit support

  • [Feature]: Unit(Unit(…)) now returns a Unit

  • [Feature]: checking for valid plate read incubate parameters

  • [Feature]: additional parameter, gain, to protocol-fluorescence

  • [Support]: documentation for magnetic transfer instructions correctly uses hertz

  • [Support]: adding magnetic transfer functions to documentation

3.1.0 2016-03-24

  • [Feature]: support for a new instruction for protocol-measure-concentration

  • [Feature]: helper function in util.py to create incubation dictionaries

  • [Feature]: additional parameters to spectrophotometry instructions (protocol-absorbance, protocol-luminescence, protocol-fluorescence) to instruction.py and protocol.py

  • [Bug]: Updated Unit package to default to Autoprotocol format representation for temperature and speed units

  • [Bug]: Updated maximum tip capacity for a transfer operation to 900uL instead of 750uL

  • [Bug]: Updated handling of multiplication and division of Units of the same dimension to automatically resolve when possible

3.0.0 2016-03-17

  • [Feature]: unit-unit now uses Pint’s Quantity as a base class

  • [Feature]: update container-type-6-flat well volumes

  • [Feature]: release versioning has been removed in favor of protocol versioniong in harness.py

  • [Feature]: kf container types container-type-96-v-kf and container-type-96-deep-kf in container_type.py

  • [Feature]: magnetic_transfer instruction to instruction.py and protocol.py

  • [Feature]: container+ input type to harness.py

  • [Bug]: Update container_test.py and container_type_test.py to include safe_min_volume_ul

  • [Bug]: default versioning in manifest_test.json

2.7.0 2016-02-18

  • [Feature]: updated dead_volume_ul values in _CONTAINER_TYPES

  • [Feature]: safe_min_volume_ul in _CONTAINER_TYPES

  • [Bug]: protocol-stamp smartly calculates max_tip_volume using residual volumes

2.6.0 2015-02-02

  • [Feature]: protocol-autopick now conforms to updated ASC (not backwards compatible)

  • [Feature]: Allow single Well reading for Absorbance, Fluorescence and Luminescence

  • [Feature]: wellgroup-extend method to WellGroup

  • [Feature]: Include well properties in outs

  • [Bug]: protocol-transfer respects when mix_after or mix_before is explicitly False

  • [Bug]: Protocol.stamp() allows one_tip=True when steps use a mix_vol greater than “31:microliter” even if transferred volumes are not all greater than “31:microliter”

  • [Support]: Protocol.plate_to_magblock() and Protocol.plate_from_magblock()

2.5.0 2015-10-12

  • [Feature]: protocol-stamp has been reformatted to take groups of transfers. This allows for one_tip=True, one_source=True, and WellGroup source and destinations

2.4.1 2015-10-12

  • [Bug]: one_tip = True transfers > 750:microliter are transferred with single tip

  • [Bug]: volume tracking for protocol-stamp ing to/from 384-well plates

2.4.0 2015-09-28

  • [Feature]: functionality to harness.py for naming aliquots

  • [Feature]: UserError exception class for returning custom errors from within protocol scripts

  • [Bug]: more recursion in make_dottable_dict, a completely unnecessary function you shouldn’t use

  • [Bug]: Better handling of default append=true behavior for protocol-stamp

  • [Bug]: Small bug for transfer with one_source=true fixed

  • [Support]: Transfers with one_source true does not keep track of the value of volume less than 10^-12

  • [Support]: protocol-stamp transfers are not combinable if they use different tip volume types

2.3.0 2015-08-31

  • [Feature]: unit conversion from milliliters or nanoliters to microliters in Well.set_volume(), protocol-provision, protocol-transfer, and protocol-distribute

  • [Feature]: “outs” section of protocol. Use well-set-name to name an aliquot

  • [Feature]: name property on Well

  • [Feature]: volume tracking to protocol-stamp and associated helper functions in autoprotocol.util

  • [Feature]: Arguments to protocol-transfer for mix_before and mix_after are now part of mix_kwargs to allow for specifying separate parameters for mix_before and mix_after

  • [Feature]: Better error handling in harness.py and accompanying tests

  • [Feature]: Test for more complicated transfer`ing with `one_source=True

  • [Feature]: manually change storage condition destiny of a Container

  • [Feature]: Protocol.store()

  • [Feature]: Storage attribute on Container

  • [Feature]: protocol-stamp now support selective (row-wise and column-wise) stamping (see docstring for details)

  • [Support]: semantic versioning fail

2.2.2 2015-08-28

  • [Feature]: Arguments to protocol-transfer for mix_before and mix_after are now part of mix_kwargs to allow for specifying separate parameters for mix_before and mix_after

  • [Feature]: Better error handling in harness.py and accompanying tests

  • [Feature]: Test for more complicated transfer`ing with `one_source=True

  • [Feature]: manually change storage condition destiny of a Container

  • [Feature]: Protocol.store()

  • [Feature]: Storage attribute on Container

  • [Bug]: Error with transfer`ing with `one_source=True

2.2.1 2015-08-20

  • [Feature]: unit conversion from milliliters or nanoliters to microliters in Well.set_volume(), protocol-provision, protocol-transfer, and protocol-distribute

  • [Feature]: “outs” section of protocol. Use well-set-name to name an aliquot

  • [Feature]: name property on Well

  • [Feature]: volume tracking to protocol-stamp and associated helper functions in autoprotocol.util

  • [Bug]: Unit scalar multiplication

  • [Bug]: Error when protocol-transfer ing over 750uL

  • [Bug]: Error with protocol-provision ing to multiple wells of the same container

  • [Support]: semantic versioning fail

2.2.0 2015-07-21

  • [Feature]: protocol-stamp now utilizes the new Autoprotocol stamp instruction instead of protocol-transfer

  • [Feature]: __repr__ override for Unit class

  • [Feature]: volume tracking to destination wells when using Protocol.dispense()

  • [Feature]: Stamp class in autoprotocol.instruction

  • [Bug]: better error handling for protocol-transfer and protocol-distribute

  • [Bug]: refactored Protocol methods: protocol-ref, protocol-consolidate, protocol-transfer, protocol-distribute

  • [Bug]: fixed indentation

2.1.0 2015-06-10

  • [Feature]: warnings for _mul_ and _div_ scalar Unit operations

  • [Feature]: protocol-dispense-full-plate

  • [Feature]: protocol-dispense Instruction and accompanying Protocol method for using a reagent dispenser

  • [Feature]: aliquot++, integer, boolean input types to harness.py

  • [Feature]: properties attribute to Well, along with well-set-properties method

  • [Feature]: melting keyword variables and changes to conditionals in Thermocycle

  • [Feature]: default input value and group and group+ input types in harness.py

  • [Feature]: Protocol.pipette() is now a private method _pipette()

  • [Feature]: protocol-sangerseq Instruction and method

  • [Feature]: seal takes a “type” parameter that defaults to ultra-clear

  • [Feature]: more tests

  • [Feature]: protocol-stamp Protocol method for using the 96-channel liquid handler

  • [Feature]: Added pipette_tools module containing helper methods for the extra pipetting parameters

  • [Feature]: Additional keyword arguments for protocol-transfer and protocol-distribute to customize pipetting

  • [Feature]: protocol-oligosynthesize Instruction

  • [Feature]: protocol-autopick Instruction

  • [Feature]: protocol-spread Instruction

  • [Feature]: protocol-flow-analyze Instruction

  • [Feature]: co2 parameter in protocol-incubate

  • [Feature]: 6-flat container type in _CONTAINER_TYPES

  • [Feature]: 96-flat-uv container type in _CONTAINER_TYPES

  • [Feature]: container-quadrant returns a WellGroup of the 96 wells representing the quadrant passed

  • [Feature]: well-add-properties

  • [Feature]: Well.properties is an empty hash by default

  • [Feature]: At least some Python3 compatibility

  • [Feature]: protocol-stamp ing to or from multiple containers now requires that the source or dest variable be passed as a list of [{“container”: <container>, “quadrant”: <quadrant>}, …]

  • [Feature]: protocol-gel-separate generates instructions taking wells and matrix type passed

  • [Feature]: tox for testing with multiple versions of python

  • [Feature]: new_group keyword parameter on protocol-transfer and protocol-distribute to manually break up Pipette() Instructions

  • [Feature]: Thermocycle input type in harness.py

  • [Feature]: specify Wells on a container using container.wells(1,2,3)`or `container.wells([1,2,3])

  • [Feature]: More Python3 Compatibility

  • [Feature]: More Python3 Compatibility

  • [Feature]: Additional type-checks in various functions

  • [Feature]: protocol-provision Protocol method

  • [Feature]: support for choice input type in harness.py

  • [Feature]: allow transfer from multiple sources to one destination

  • [Feature]: brought back recursively transferring volumes over 900 microliters

  • [Feature]: container-type-1-flat plate type to _CONTAINER_TYPES

  • [Feature]: support for container names with slashes in them in harness.py

  • [Feature]: add protocol-consolidate Protocol method and accompanying tests

  • [Feature]: ImagePlate() class and protocol-image-plate Protocol method for taking images of containers

  • [Feature]: volume adjustment when protocol-spread ing

  • [Feature]: collapse protocol-provision instructions if they’re acting on the same container

  • [Feature]: protocol-sangerseq now accepts a sequencing type of “rca” or “standard” (defaults to “standard”)

  • [Feature]: criteria and dataref fields to protocol-autopick

  • [Feature]: protocol-flash-freeze Protocol method and Instruction

  • [Bug]: protocol-ref behavior when specifying the id of an existing container

  • [Bug]: type check in Container.wells

  • [Support]: README.rst

  • [Support]: a wild test appeared!

  • [Support]: link to library documentation at readthedocs.org to README

  • [Support]: autoprotocol and JSON output examples for almost everything in docs

  • [Support]: improved documentation tree

  • [Support]: documentation for plate_to_mag_adapter and plate_from_mag_adapter subject to change in near future

  • [Support]: documentation punctuation and grammar

  • [Support]: check that a well already exists in a WellGroup

  • [Support]: Added folder for sublime text snippets

  • [Support]: Protocol.serial_dilute_rowwise()

  • [Support]: Protocol.thermocycle_ramp()

2.0.5 2015-06-04

  • [Feature]: More Python3 Compatibility

  • [Feature]: Additional type-checks in various functions

  • [Feature]: protocol-provision Protocol method

  • [Feature]: support for choice input type in harness.py

  • [Feature]: allow transfer from multiple sources to one destination

  • [Feature]: brought back recursively transferring volumes over 900 microliters

  • [Feature]: container-type-1-flat plate type to _CONTAINER_TYPES

  • [Feature]: support for container names with slashes in them in harness.py

  • [Feature]: add protocol-consolidate Protocol method and accompanying tests

  • [Feature]: ImagePlate() class and protocol-image-plate Protocol method for taking images of containers

  • [Feature]: volume adjustment when protocol-spread ing

  • [Bug]: typo in protocol-sangerseq instruction

  • [Support]: documentation punctuation and grammar

  • [Support]: check that a well already exists in a WellGroup

  • [Support]: Added folder for sublime text snippets

2.0.4 2015-05-05

  • [Feature]: protocol-stamp ing to or from multiple containers now requires that the source or dest variable be passed as a list of [{“container”: <container>, “quadrant”: <quadrant>}, …]

  • [Feature]: protocol-gel-separate generates instructions taking wells and matrix type passed

  • [Feature]: tox for testing with multiple versions of python

  • [Feature]: new_group keyword parameter on protocol-transfer and protocol-distribute to manually break up Pipette() Instructions

  • [Feature]: Thermocycle input type in harness.py

  • [Feature]: specify Wells on a container using container.wells(1,2,3)`or `container.wells([1,2,3])

  • [Feature]: More Python3 Compatibility

  • [Bug]: Transfering liquid from one_source actually works now

  • [Bug]: references to specific reagents for protocol-dispense

  • [Support]: documentation for plate_to_mag_adapter and plate_from_mag_adapter subject to change in near future

2.0.3 2015-04-17

  • [Feature]: Protocol.pipette() is now a private method _pipette()

  • [Feature]: protocol-sangerseq Instruction and method

  • [Feature]: seal takes a “type” parameter that defaults to ultra-clear

  • [Feature]: more tests

  • [Feature]: protocol-stamp Protocol method for using the 96-channel liquid handler

  • [Feature]: Added pipette_tools module containing helper methods for the extra pipetting parameters

  • [Feature]: Additional keyword arguments for protocol-transfer and protocol-distribute to customize pipetting

  • [Feature]: protocol-oligosynthesize Instruction

  • [Feature]: protocol-autopick Instruction

  • [Feature]: protocol-spread Instruction

  • [Feature]: protocol-flow-analyze Instruction

  • [Feature]: co2 parameter in protocol-incubate

  • [Feature]: 6-flat container type in _CONTAINER_TYPES

  • [Feature]: 96-flat-uv container type in _CONTAINER_TYPES

  • [Feature]: container-quadrant returns a WellGroup of the 96 wells representing the quadrant passed

  • [Feature]: well-add-properties

  • [Feature]: Well.properties is an empty hash by default

  • [Feature]: At least some Python3 compatibility

  • [Bug]: protocol-gel-separate generates number of instructions needed for number of wells passed

  • [Bug]: recursion to deal with transferring over 900uL of liquid

  • [Bug]: references to specific matrices and ladders in protocol-gel-separate

  • [Bug]: refactoring of type checks in unit-unit

  • [Support]: improved documentation tree

2.0.2 2015-03-06

  • [Feature]: melting keyword variables and changes to conditionals in Thermocycle

  • [Feature]: default input value and group and group+ input types in harness.py

  • [Support]: a wild test appeared!

  • [Support]: link to library documentation at readthedocs.org to README

  • [Support]: autoprotocol and JSON output examples for almost everything in docs

2.0.1 2015-02-06

  • [Feature]: warnings for _mul_ and _div_ scalar Unit operations

  • [Feature]: protocol-dispense-full-plate

  • [Feature]: protocol-dispense Instruction and accompanying Protocol method for using a reagent dispenser

  • [Feature]: aliquot++, integer, boolean input types to harness.py

  • [Feature]: properties attribute to Well, along with well-set-properties method

  • [Bug]: spelling of luminescence :(

  • [Bug]: well_type from _CONTAINER_TYPES

  • [Bug]: “speed” parameter in protocol-spin to “acceleration”

  • [Support]: README.rst

2.0.0 2014-01-24

  • [Feature]: “one_tip” option on protocol-transfer

  • [Feature]: volume tracking upon protocol-transfer and protocol-distribute

  • [Feature]: dead_volume_ul in _CONTAINER_TYPES

  • [Feature]: wellGroup-indices returns a list of string well indices

  • [Feature]: 3-clause BSD license, contributor info

  • [Feature]: container-inner-wells method to exclude edges

  • [Feature]: harness.py for parameter conversion

  • [Support]: static methods Pipette.transfers() and Pipette._transferGroup()

  • [Support]: NumPy style docstrings for most methods

1.0.0 2014-01-22

  • [Feature]: initializing ap-py