6.13.2 (2026-07-07)
6.13.1 (2026-07-07)
6.13.0 (2026-06-16)
6.12.0 (2026-05-29)
6.11.0 (2026-05-20)
6.10.0 (2026-04-30)
6.9.1 (2026-04-27)
- phpstan: resolve preg_match offset access errors (dedee45)
6.9.0 (2026-03-19)
6.8.0 (2026-03-16)
- add MolarityConverter and TapeStation CompactRegionTable parser (98a9600)
6.7.0 (2026-03-13)
6.6.1 (2026-03-12)
6.6.0 (2026-03-12)
- add class SafeCast (30ae56b)
6.5.1 (2026-03-11)
6.5.0 (2026-03-11)
- Implement IlluminaRunFolder - We need to Parse the run folder to get sequencing run specific flowcell to identify run (aed2772)
6.4.0 (2026-03-09)
- add MemoryMonitor utility (f20f967)
6.3.0 (2026-03-06)
6.2.0 (2026-03-04)
- Implement logic for Chromosome.php, GenomicPosition.php and GenomicRegion (2d28bca)
6.1.0 (2026-03-02)
6.0.0 (2026-02-27)
- release: Illumina sample sheet V2 API was redesigned in the previous commit for NovaSeq X and cloud support
- samplesheet: Update Illumina sample sheets for NovaSeq X and cloud support (#72)
- release: use conventionalcommits preset for semantic-release (96519b7)
5.25.0 (2026-02-23)
- Add CoordinateSystem::nonAdjacentPositions() (76169d6)
5.24.0 (2026-01-28)
- Add PropertyNameIdToIDRule for class property naming (deb7c56)
5.23.1 (2026-01-12)
- phpstan: extend VariableNameIdToIDRule with additional false positives (c4108db)
5.23.0 (2025-12-08)
- phpstan: add separate ID capitalization rules for variables, parameters, methods, and classes (#64) (02b2f53)
5.22.0 (2025-12-04)
- phpstan: add 'Idt' to VariableNameIdToIDRule false positives (99b1d2d)
5.21.0 (2025-12-02)
- add TryFromNameTrait for enum name lookup (45e08c3)
5.20.0 (2025-09-25)
- QiaxcelImport allows to create an import file for a Qiaxcel device from Qiagen (433eea3)
5.19.1 (2025-08-22)
- exclude irrelevant files from composer package (beb08f3)
- Add PHPStan-Rule
MLL\Utils\PHPStan\Rules\MissingClosureParameterTypehintRule.php
- Support parsing Lightcycler Sample Sheets from XML-file #56
- Support creating Lightcycler Sample Sheets for Absolute Quantification #55
- Accept
iterable $datainCSVArray::toCSV#55
- Disallow
Carbon\Carbon::create()via PHPStan rule
- Update method signatures to use
CarbonInterfaceinMLL\Utils\BavarianHolidaysfor better type flexibility
- Register rules as a PHPStan extension
- Deprecate
NoAssignmentInIfRule
- Support
illuminate/supportversion 12 - Support
thecodingmachine/safeversion 3 - Add error identifiers to custom PHPStan rules
- Refine PHPDoc types
- Update type annotations in namespace
MLL\Utils\Tecanto usearray<int>overarray<int, int>
- Default missing columns to empty strings instead of throwing in
CSVArray::toArray - Ensure extensibility by using
new staticovernew selfeverywhere
- Allow
intparts inStringUtil::joinNonEmpty
- Support creating Lightcycler Sample Sheets for Relative Quantification
- Add class
MLL\Utils\Specificationfor logical combinations of predicates
- Add PHPStan-Rule
MLL\Utils\PHPStan\Rules\ThrowableClassNameRule
- Add PHPStan-Rule
MLL\Utils\PHPStan\Rules\VariableNameIdToIDRule
- Improve code quality with automatic type declarations via Rector
- Improve code quality with automatic rector rules for PHPUnit
- Changed coordinate system for
MLL\Utils\Tecan\Rack\MasterMixRack
- Fix generic inference for
MLL\Utils\Microplate\Coordinates::fromPosition()
- Add scalar
Column6
- Add command
SetDiTiTypeto tecan worklist
- Add methods
CoordinateSystem::equals()andCoordinates::equals() - Add coordinate system
CoordinateSystem6x8 - Add method
CoordinateSystem::fromArray()
- Add coordinate systems
CoordinateSystem4x3,CoordinateSystem8x6andCoordinateSystem12x8
- Deprecate coordinate systems
CoordinateSystem12Well,CoordinateSytem48WellandCoordinateSystem96Well
- Racks are connected to a
CoordinateSystem
- Add coordinate system
CoordinateSystem2x16
- Breaking Change: Renamed class
Column96WelltoColumn12 - Breaking Change: Renamed class
Row96WelltoRow8
- Add generics to
BaseRackand its children
- Add specific class for each
MLLLabWareRack-type that includes apositions-Collection
- Breaking Change: Delete class
MLLLabWareRack - Breaking Change: Delete class
CustomRack - Breaking Change: Add method
positionCountto interfaceRack - Breaking Change: Limit the usage of
BarcodeLocationto objects implementingScannedRack
- Support
nesbot/carbon3
- Add optional column
Projectto Illumina Sample Sheets (V2) for NovaSeq
- All
OverrideCycletotal counts onDataSectionmust grow to theReadsSectionmaximum value by adding the N-tag - Throw when trying to use an empty
DataSection - Breaking Change: class
OverrideCyclesrequires classDataSectionto calculate the max cycles
- Use method
maxRead2Cyclesfor calculating$fillUpToMaxforread2, notmaxRead1Cycles
- Add class
DnaSequence
- Support creating Illumina Sample Sheets (V1) for NovaSeq
- Generate the Reads-Sections dynamically from the OverrideCycles-part of the Samples-Section for Illumina NovaSeq Sample Sheets (V2)
- OverrideCycles on BclSample not nullable
- Support creating Illumina NovaSeq Sample Sheets (V2) for NovaSeqX
- Integrate
mll-lab/microplateandmll-lab/liquid-handling-robotics - Support Laravel 11
- Add
StringUtil::toUTF8()
- Integrate
mll-lab/holidays
- Allow custom line separator in
CSVArray::toCSV()
- Add
StringUtil::joinNonEmpty()
- Exclude
NoAssignmentInIfRuleby default
- Add PHPStan extension with
NoAssignmentInIfRule
- Add
QxManagerSampleSheet::toCsvString(...)
CSVArray::toArray()returnsarray<int, array<string, string>>
- Support
illuminate/support:^10
- Support
thecodingmachine/safe:^2
- Add
Number::clamp()
- Add parameters
$enclosureand$escapetoCSVArray::toArray
- Support
illuminate/supportversion 9
- Fix errors in
composer.lock
- Add
CSVArray
- Add
StringUtil