Skip to content
Open
Show file tree
Hide file tree
Changes from 250 commits
Commits
Show all changes
611 commits
Select commit Hold shift + click to select a range
ff29f64
Port BiblioSpec DIA-NN robustness fixes from C++ to the pwiz-sharp C#
chambm Jul 23, 2026
732197a
Re-record DIA-Umpire tutorial audit-log baselines for net8 OOP-MSAman…
chambm Jul 23, 2026
efe6f78
Fix two net8 BiblioSpec DIA-NN reader regressions (CI #57 failures)
chambm Jul 23, 2026
3420b0e
Add tc-perftests.bat: TeamCity entry point for net8 perf + tutorial s…
chambm Jul 23, 2026
3b6a1d5
Point the nightly perf/tutorial trigger at the net8 build config
chambm Jul 23, 2026
7e0ec44
Pin peptdeep to 1.5.0 and re-record the AlphaPeptDeep test baselines
chambm Jul 23, 2026
a8f0cac
Sort AlphaPeptDeep library fragments deterministically for cross-mach…
chambm Jul 24, 2026
8a8653b
Add finalizers to the Bruker readers so a missed Dispose releases the…
chambm Jul 24, 2026
1020619
Add finalizers to the Thermo, Sciex, and Mobilion vendor readers
chambm Jul 24, 2026
6ccaf02
Add an undisposed-open finalizer regression guard to the vendor reade…
chambm Jul 24, 2026
bc7de4f
TEMP: DIA-NN tutorial CI diagnostic + scope perftests to it
chambm Jul 24, 2026
c167fde
TEMP: also dump CacheDir/DocDir listings in DIA-NN tutorial diagnostic
chambm Jul 24, 2026
93e296d
Fix DIA-NN tutorial: clear stale diann-output* so blib is attributed …
chambm Jul 24, 2026
9562f64
Revert "Fix DIA-NN tutorial: clear stale diann-output* so blib is att…
chambm Jul 24, 2026
288e1d5
Fix DIA-NN tutorial: move DocDir to the ephemeral per-test results dir
chambm Jul 24, 2026
4aee5f1
Remove temporary DIA-NN tutorial CI diagnostic + tc-perftests scoping
chambm Jul 24, 2026
a7d5ebb
Re-baseline net8 EncyclopeDIA mass errors + audit logs (finish the 07…
chambm Jul 26, 2026
d3dc8ad
TEMP: dump MSAmanda pin/mzid to compare per-machine DiaUmpire drift
chambm Jul 26, 2026
e8f5f7d
TEMP: robustify MSAmanda pin/mzid capture for CI
chambm Jul 26, 2026
5d6ecd9
TEMP: fix publishArtifacts redirection bug in dump capture
chambm Jul 26, 2026
48e069d
POC: search DiaUmpire TTOF tutorial with Comet (deterministic engine)
chambm Jul 27, 2026
53deca6
TEMP: clean Skyline obj in tc-perftests to dodge stale CS0579
chambm Jul 27, 2026
0b7b431
Fix Comet spectrum_batch_size=0 causing ~2.5-4x slower searches
chambm Jul 27, 2026
66188d5
Revert temporary MSAmanda pin/mzid dump + obj-clean diagnostics
chambm Jul 27, 2026
7fbc17e
Adopt Comet for DiaUmpire tutorial tests (deterministic, no I/L drift)
chambm Jul 28, 2026
19297ca
Apply the perf-test skiplist in the net8 tc-perftests.bat
chambm Jul 28, 2026
135d111
Regenerate fr/ja/tr/zh DiaUmpire tutorial audit logs for Comet
chambm Jul 29, 2026
e61757d
Run the tutorial suite in French (Pass 0) in the net8 perf/tutorial c…
chambm Jul 29, 2026
e0e5df9
Restore three vendor-reader C++-parity paths dropped in the net8 port
chambm Jul 29, 2026
7fc3324
Reset Skyline's obj in tc-perftests to avoid stale CS0579 on the CI a…
chambm Jul 29, 2026
1255962
Fix Waters IMS pusher interval + net8 command-line path validation
chambm Jul 29, 2026
bea9869
Fix net8 Bruker TDF reader dropping IM measured-range on non-centroid…
chambm Jul 29, 2026
b46ec27
Fix core pwiz-sharp tests for restored Bruker combined-IMS output
chambm Jul 29, 2026
3b338d3
Fix Inno Setup bootstrap: pin GitHub installer + validate download
chambm Jul 30, 2026
5160695
Fix Agilent tests: stage BaseTof.dll as Content so it reaches consumers
chambm Jul 30, 2026
85b9f9f
Fix Agilent extraction: restore SevenZaExe dropped by auto-normalization
chambm Jul 30, 2026
fd93d30
Deploy VC++ 2013 runtime app-local for Agilent BaseTof.dll
chambm Jul 30, 2026
544af26
pwiz-sharp: make the net8 build work on Linux
chambm Jul 30, 2026
41a3558
Fix source-file checksums for readers that emit "file://" (two slashes)
chambm Jul 30, 2026
77c67ff
Add build.sh + tcbuild.sh for the Linux pwiz-sharp build
chambm Jul 30, 2026
67b9b2e
TEMP: diagnostic to identify which TIC source the Waters reader uses
chambm Jul 30, 2026
3651d8d
build.sh/tcbuild.sh: locate dotnet when it isn't on PATH
chambm Jul 30, 2026
6fd75a5
Trigger Core Linux .NET on the same changes as Core Windows .NET
chambm Jul 30, 2026
331f1b7
Restore cpp's 1e-5 diff precision for the Waters reader tests
chambm Jul 30, 2026
138fdbe
Make the vendor build work on Linux: OS-aware 7-Zip, gating, and pins…
chambm Jul 31, 2026
6b905b4
Move the Waters reader to MassLynx SDK 5.0.0, which ships a Linux .so
chambm Jul 31, 2026
5c3636e
Fix Reader_Shimadzu so it compiles without the vendor SDK
chambm Jul 31, 2026
d0d6aed
Gate MsConvert's Sciex staging on NativeVendorsAvailable
chambm Jul 31, 2026
7199507
build.sh: echo the dotnet test argv and use the proven logger arg form
chambm Jul 31, 2026
afa86a3
build.sh: stop requesting the teamcity vstest logger, which Linux can…
chambm Jul 31, 2026
1e8fe49
build.sh: build the test projects, and import trx results into TeamCity
chambm Jul 31, 2026
f89282e
mz5: declare uint compound members as NATIVE_UINT, not NATIVE_ULONG
chambm Jul 31, 2026
9b60785
mz5: fix use-after-free of the CVReference vlen strings
chambm Jul 31, 2026
0a1ec40
Extract vendor test data with the system tar off-Windows
chambm Jul 31, 2026
9fb039d
Fix XML comments in ExtractTestData.targets that broke every importer
chambm Jul 31, 2026
443cb80
Consolidate Reader_ThermoTests into ReaderThermoTests
chambm Jul 31, 2026
c48d6bd
Gate the lockmass refiners on licenses, not on Windows
chambm Jul 31, 2026
0a55a6e
Run the Waters suite on Linux too
chambm Aug 3, 2026
bc91058
Waters: resolve .raw filenames case-insensitively
chambm Aug 3, 2026
6622504
Waters: decode SDK strings as CP1252, and skip vendor centroid off-Wi…
chambm Aug 3, 2026
36606ca
Run the Bruker suite on Linux too
chambm Aug 3, 2026
33241ac
Bruker: no collision energy on plain MS2 frames, and test ThyroglobMR…
chambm Aug 3, 2026
06e1fc8
Resolve native vendor SDKs at runtime, and bundle libgomp for Bruker
chambm Aug 3, 2026
5be2322
Pin the Bruker Linux vendor archive, and make pin lookup OS-aware
chambm Aug 3, 2026
fa9ac5d
Build Linux packages, mirroring the Windows installer's two variants
chambm Aug 3, 2026
c5486d2
Extract vendor archives with the platform's 7-Zip, and say why resolu…
chambm Aug 4, 2026
f13d13d
Test the turbocharger, and stop it stamping units cpp drops
chambm Aug 4, 2026
672da61
Treat a clipped initiator methionine as a cleavage site, not a discount
chambm Aug 4, 2026
9b7773e
Add clean.sh, and fix three things clean.bat was not cleaning
chambm Aug 4, 2026
8caca46
Run all 43 cpp charge-state cases, and pin the missing-SVM gap
chambm Aug 4, 2026
244da33
Renumber filtered spectra, and port cpp's four predicate scenarios
chambm Aug 4, 2026
04fb85f
Stop list wrappers renumbering the spectra of the list they wrap
chambm Aug 4, 2026
2929103
Discover test projects from disk, and unpack the BiblioSpec fixtures
chambm Aug 5, 2026
611cd6c
Merge master into the net8 port branch
chambm Aug 5, 2026
d47eca4
Store batch files with CRLF, so build.bat stops skipping its build step
chambm Aug 5, 2026
121edcc
Type the sorter test helper as the sorter it is always given
chambm Aug 5, 2026
6bd98ce
Run cpp's 74 thresholder cases, and fix the three bugs they found
chambm Aug 5, 2026
aee92ac
Shift every m/z param on mzShift, not the ones we thought to name
chambm Aug 5, 2026
4fd0022
Keep the flanking zeros that zeroSamples removeExtra is supposed to keep
chambm Aug 5, 2026
88d3480
Drive every cpp filter name through the factory's string parser
chambm Aug 5, 2026
e98e3a6
Check the isotope calculator against cpp's independent multinomial
chambm Aug 5, 2026
60b0696
Require MSDataDiff to actually see a difference
chambm Aug 5, 2026
dd5b642
Port cpp's proteome DiffTest list-asymmetry cases
chambm Aug 5, 2026
126c4c5
Port cpp's tradata DiffTest, and compare the half of the document it …
chambm Aug 5, 2026
f3668d4
Port the rest of cpp's msdata DiffTest, and emit the Agilent sample i…
chambm Aug 5, 2026
66488f8
Port cpp's identdata DiffTest
chambm Aug 5, 2026
9669629
Check the binary encoder against cpp's bytes, not against itself
chambm Aug 6, 2026
26df336
Read cpp's MSn fixtures, and fix the two things that stopped us readi…
chambm Aug 6, 2026
2ef5a4b
Keep cpp-derived test fixtures byte-identical across checkouts
chambm Aug 6, 2026
839f0ea
Stop calling a loop variable 'field' inside a property accessor
chambm Aug 6, 2026
d9b45bc
Round-trip a real pwiz-written mzML, not just our own
chambm Aug 6, 2026
f84deb7
Answer a scan= lookup on a list whose ids are index=, as cpp does
chambm Aug 6, 2026
1a8a0a2
Run cpp's PRM scheduling test, and check what only the written file c…
chambm Aug 6, 2026
0546065
Keep the classic folder browser, which .NET 8 was quietly replacing
chambm Aug 6, 2026
c4a59bc
Ask the process whether it is 64-bit, which .NET 8 can actually answer
chambm Aug 6, 2026
bf96de2
Clear the .NET 8 obsoletion warnings, two of them not the way the com…
chambm Aug 6, 2026
5bde355
Give MS Amanda's percolator the DLL it needs, and say so when it is m…
chambm Aug 6, 2026
5bcc598
Test the q-value gate without a filesystem, and on the seam it actual…
chambm Aug 7, 2026
73f1467
Ask percolator why it produced nothing, instead of guessing
chambm Aug 7, 2026
17ea161
Put the q-value scan's read boundary where the test can see it
chambm Aug 7, 2026
d11a068
Give percolator the 2010 runtime its xerces needs, not just the 2015 one
chambm Aug 7, 2026
1564097
Unpack the vendor test data this build's tests need
chambm Aug 7, 2026
82570c8
Extract vendor test data from the projects that need it, not from bui…
chambm Aug 7, 2026
9f113ff
Stop the tool tip timer that was keeping a closed window alive
chambm Aug 7, 2026
f5f3565
Don't compile Jam's AssemblyInfo.cs on the net8 pass
chambm Aug 7, 2026
a2d02bf
Commit the split Bruker SDK archives so they can be pinned
chambm Aug 10, 2026
233a8ce
Fail the installer build when a vendor SDK has no pin
chambm Aug 10, 2026
691592f
Let net8 tests know they are running under TestRunner
chambm Aug 10, 2026
f6d8155
Match msconvert on array lengths, reader config flags and WIFF output…
chambm Aug 10, 2026
465ded2
Read Bruker YEP and FID through CompassXtract
chambm Aug 11, 2026
a7659e3
Take Sciex collision energy from the isolation info, as cpp does
chambm Aug 11, 2026
af894d3
Round like karma does, in binary rather than in decimal
chambm Aug 11, 2026
b8ae193
Emit the Mobilion TIC as the integer it is
chambm Aug 11, 2026
7e58e83
Report absent CompassXtract as vendor-support-not-enabled
chambm Aug 11, 2026
bbc23bd
Close fourteen Thermo per-scan cvParam gaps
chambm Aug 11, 2026
2612a12
Seed the CV list in the Waters reader
chambm Aug 11, 2026
507d307
Always write the sample name attribute, even when empty
chambm Aug 11, 2026
aa2b173
Take the Thermo scan window from the scan stats, as cpp does
chambm Aug 12, 2026
679c6c7
Give the Sciex BPC the TIC's time axis, and cache both per experiment
chambm Aug 12, 2026
80a6248
Emit one dataProcessing for Bruker, not two
chambm Aug 12, 2026
cb6f34a
Write binaryDataArray/@arrayLength for supplementary arrays
chambm Aug 12, 2026
ec3f617
Promote Agilent all-ions scans to MS2, on the non-IM path too
chambm Aug 12, 2026
8e2ec22
Read Agilent pump and sampler signals, not just detector ones
chambm Aug 13, 2026
55a37ec
Drop the empty Sciex cycles cpp drops
chambm Aug 13, 2026
1c40ae0
Omit an empty spectrumList, as cpp does
chambm Aug 13, 2026
5dd1344
Stage the wiff2 plugin inside the output dir, not beside it
chambm Aug 13, 2026
150603f
Convert the Shimadzu acquisition date to UTC, as cpp does
chambm Aug 13, 2026
e6c4a95
Floor corrupt vendor timestamps at year 1400, as cpp does
chambm Aug 13, 2026
27336d1
Tag Waters SIM chromatograms with their polarity, as cpp does
chambm Aug 13, 2026
19bbee5
Make --srmAsSpectra work for Waters
chambm Aug 13, 2026
007db20
Number the Thermo PDA instrument configuration IC{n}, as cpp does
chambm Aug 13, 2026
242e7c2
Read the Thermo instrument model from the method text, as cpp does
chambm Aug 13, 2026
4a27891
Fix the Thermo TIC ms-level array and CAD intensity scale
chambm Aug 13, 2026
0b906de
Round Agilent TIC intensities through float, as cpp does
chambm Aug 13, 2026
430fcf0
Take Agilent spectrum TIC and base peak from the chromatograms, as cp…
chambm Aug 13, 2026
47e3ce2
Correct the BrukerFormat doc: YEP and FID are ported
chambm Aug 13, 2026
374b2f5
Drop the Sciex cycle-TIC gate: it is not equivalent to cpp's test
chambm Aug 14, 2026
5ef89bd
Limit the Sciex emptiness probe to legacy .wiff
chambm Aug 14, 2026
92fdc9e
Fix vendor reader and shared writer parity against the cpp corpus
chambm Aug 18, 2026
27f1867
Add a nethost shim so C++ can host the managed reader
chambm Aug 18, 2026
ef6184c
Restore the Skyline distro zips and fix the net8 startup config
chambm Aug 18, 2026
ad6c904
Fix the Linux .NET build: two SDK-less compile breaks
chambm Aug 18, 2026
e381040
Remove the UTF-8 BOMs the code inspection flagged
chambm Aug 18, 2026
6634981
Fix vendor peak picking: it was vendor-or-nothing, and Agilent had no…
chambm Aug 19, 2026
9c5504a
Merge remote-tracking branch 'origin/master' into Skyline/work/202606…
chambm Aug 19, 2026
e6bdfca
Port IdentifyReaderType to pwiz-sharp, including Bruker U2 naming
chambm Aug 19, 2026
b6fcff8
Merge branch 'master' into chambem2/pwiz-sharp
brendanx67 Aug 19, 2026
979660e
Stop build.bat leaving cross-version MSBuild nodes behind
chambm Aug 19, 2026
fb541bf
Make SkylineCmd able to load Skyline at all on net8
chambm Aug 19, 2026
c42140e
Merge remote-tracking branch 'origin/chambem2/pwiz-sharp' into Skylin…
chambm Aug 19, 2026
9825dd2
Fixed two build breaks on the pwiz-sharp branch
brendanx67 Aug 18, 2026
78f90e8
Split the WinForms half of CommonUtil into a new CommonBaseUI assembly
brendanx67 Aug 18, 2026
b8d0c54
Made CommonUtil and ProteowizardWrapper plain net8.0 and retired Port…
brendanx67 Aug 18, 2026
149aa16
Added a build-only mode to build.bat and dropped Osprey's net472 target
brendanx67 Aug 18, 2026
87e49a1
Fixed installer manifests and two verifiers weakened by the CommonBas…
brendanx67 Aug 18, 2026
a26cc9c
Fixed vendor centroiding and the no-vendor build of the net8 wrapper
brendanx67 Aug 19, 2026
9b88fec
Recorded vendor reader registration failures instead of dropping them
brendanx67 Aug 19, 2026
843bb77
Ship the native CRT beside the vendor DLLs on the net8 build
chambm Aug 20, 2026
2b9c5d2
Fill the dock panel instead of anchoring it, so its panes survive a c…
chambm Aug 20, 2026
6d88331
Stop ComparePeakPickingDlg throwing while it is still being constructed
chambm Aug 20, 2026
5e6dff7
Only run the waters_connect credential checks for a waters_connect ac…
chambm Aug 20, 2026
73eea63
SkylineNightly: build the net8 tree, and let a run reuse an existing …
chambm Aug 21, 2026
a0082a8
Merged the latest net8 port branch into the CommonUtil WinForms split
brendanx67 Aug 21, 2026
2bedf19
Pinned Osprey's C# version to what the pinned SDK actually offers
brendanx67 Aug 21, 2026
2cb66ee
Moved the SDK pin back under pwiz-sharp so the tree keeps building at…
brendanx67 Aug 21, 2026
abee49e
Removed the net472 targets and made the net8 suite runnable in contai…
brendanx67 Aug 21, 2026
6730a31
Fixed ImmediateWindowWarnings expecting a net472 float rendering
brendanx67 Aug 21, 2026
bc32774
Added GC root chain reporting so a leak names its holder in the log
brendanx67 Aug 21, 2026
9f28503
Stopped the WinForms SystemEvents hook failing tests as a Skyline GC …
brendanx67 Aug 21, 2026
396daaf
Fixed a library load race and made unequal objects say what differs
brendanx67 Aug 21, 2026
35ae5b7
Corrected the FileIndex comment to name content equality as the reason
brendanx67 Aug 21, 2026
88992e1
Removed the suggestion that ChromInfo.Equals should use reference equ…
brendanx67 Aug 21, 2026
11c0258
Stopped test-run logs showing up as untracked in their net8 locations
brendanx67 Aug 22, 2026
343c599
Stopped staging from keeping an old copy of a shared dependency
brendanx67 Aug 22, 2026
d6d5e15
Dropped net472 from the tool projects left referencing net8-only libr…
brendanx67 Aug 22, 2026
4e14a06
Fixed Help links and document opens throwing on net8
brendanx67 Aug 22, 2026
7d3b4c4
Stopped two exceptions aborting the SystemEvents hook classification
brendanx67 Aug 22, 2026
5aa3ae4
Restored UI exception routing on the per-test STA thread
brendanx67 Aug 22, 2026
9353fae
Fixed unattended-dialog timeouts cascading into ThreadExceptionDialog
brendanx67 Aug 23, 2026
5b2f511
Sciex ZT Scan: report each bin's collision energy instead of the ramp…
chambm Aug 24, 2026
a8bf6e8
pwiz: Added opt-in parallel decoding to the pwiz-sharp mzML reader (#…
brendanx67 Aug 21, 2026
588c935
Remove UTF-8 BOMs accidentally added to six SkylineNightly/SkylineTes…
chambm Aug 24, 2026
0f2cd65
Remove the UTF-8 BOM from build.bat so @echo off takes effect
chambm Aug 24, 2026
9950ebe
clean.bat: keep the C++ build unless -cpp is passed
chambm Aug 24, 2026
232b2a4
Merge remote-tracking branch 'origin/master' into Skyline/work/202606…
chambm Aug 25, 2026
06f55b4
Merge remote-tracking branch 'origin/master' into pwiz-sharp-merge
brendanx67 Aug 26, 2026
f6f20fd
Merge remote-tracking branch 'origin/chambem2/pwiz-sharp' into common…
brendanx67 Aug 26, 2026
2877e72
Added ZeroSampleFiller coverage from the reference implementation's v…
chambm Aug 24, 2026
d4e8ed3
Fixed zero-point spectra losing their binaryDataArrayList
chambm Aug 24, 2026
a904516
Fixed vendor centroiding to honour the caller's MS levels
chambm Aug 24, 2026
ec12113
Fixed one unreadable run aborting a whole multi-run file
chambm Aug 24, 2026
5f30a9d
Fixed an empty scan crashing the Thermo vendor centroider
chambm Aug 24, 2026
14e8820
Fixed the peak pairing that timed out the Core Windows .NET build
chambm Aug 26, 2026
1c22710
Merge remote-tracking branch 'origin/Skyline/work/20260821_net8_test_…
brendanx67 Aug 26, 2026
3e460e9
Ran staged tests from this build's own configuration
brendanx67 Aug 23, 2026
6ff9ff5
Staged the current build before running tests, or refused to run
brendanx67 Aug 23, 2026
90a08ff
Queued the staging step instead of blocking the UI on it
brendanx67 Aug 23, 2026
81b59a1
Moved staging into the test library and off PowerShell
brendanx67 Aug 23, 2026
2352d4d
Offered both staged configurations, named by configuration
brendanx67 Aug 23, 2026
295ad8c
Staged from the build that was actually made, not the one assumed
brendanx67 Aug 26, 2026
2d98094
Restored the -Projects and -NoRuntime the staging move dropped
brendanx67 Aug 26, 2026
2d85c32
Merge remote-tracking branch 'origin/Skyline/work/20260612_net8_port'…
brendanx67 Aug 26, 2026
0b32782
Stopped SkylineTester locking, and staging downgrading, the build it …
brendanx67 Aug 26, 2026
034a7a5
Stopped one test killing parallel workers, and made a lost worker a f…
brendanx67 Aug 27, 2026
f362790
Called a worker that exits during a test what it is: that test failing
brendanx67 Aug 27, 2026
cdec19f
Excluded the third test reading Sciex data from the shared vendor dir…
brendanx67 Aug 27, 2026
b882847
Retargeted the Skyline and pwiz-sharp trees from .NET 8 to .NET 10
chambm Aug 27, 2026
5c5bed5
Installed the pinned .NET SDK on Linux agents when the image lacks it
chambm Aug 27, 2026
4cd1e0b
Silenced the third-party C++ warnings in Release, kept them in Debug
chambm Aug 28, 2026
b53aa3b
Dropped the .NET Framework leg from the Skyline tree
chambm Aug 28, 2026
5e8919f
Fixed the Native AOT publish broken by .NET 10's trim annotations
chambm Aug 28, 2026
bb07b80
Replaced the abandoned DotNetZip with the maintained PROdotnetzip fork
chambm Aug 28, 2026
e7288cc
Cleared the remaining package advisories in both solutions
chambm Aug 28, 2026
1543c64
Merged master into the .NET port branch
brendanx67 Aug 28, 2026
3651dd6
Logged the agent display layout to chase the net10 GDI+ failures
chambm Aug 28, 2026
81955b2
Merge remote-tracking branch 'origin/Skyline/work/20260612_net8_port'…
chambm Aug 28, 2026
df18877
Removed the UTF-8 BOM I added to TestRunner/Program.cs
chambm Aug 28, 2026
5df6c94
Fixed the thread dump leaking a runtime and printing into the result …
brendanx67 Aug 29, 2026
5a6af03
Made SkylineTester usable after a clean build, before anything is staged
brendanx67 Aug 29, 2026
7d8d204
Merged the .NET port branch, taking its move to .NET 10
brendanx67 Aug 29, 2026
d529c36
Restored the staging script the merge deleted, and retargeted it to .…
brendanx67 Aug 29, 2026
40fd787
Fixed the GDI+ splitter repaint failures that killed the MacCoss agen…
chambm Aug 29, 2026
cc94d3b
Fixed small molecule accessions vanishing on .NET 10.0.3
chambm Aug 29, 2026
15de5ce
Merged the port branch's GDI+ splitter and NIST accession fixes
brendanx67 Aug 29, 2026
59e78e9
Renamed the staged test directory back to the name everything else ex…
brendanx67 Aug 29, 2026
f6d2c1a
Fixed vendor centroiding being skipped for every open-ended MS level …
chambm Aug 30, 2026
07871e1
Capped the Python bootstrap steps so a stalled pip cannot hang the run
chambm Aug 30, 2026
30faefd
Let ThermoCancelImportTest retry when the import wins the race
chambm Aug 30, 2026
44d72ec
Let the Python bootstrap timeout reach the caller
chambm Aug 30, 2026
ba1dd84
Fixed the spin-wait in SkylineProcessRunner that never saw the proces…
chambm Aug 31, 2026
717d23b
Fixed five defects the review found in the bootstrap cap and its tests
chambm Aug 31, 2026
e7ffc34
Merge branch 'Skyline/work/20260612_net8_port' into Skyline/work/2026…
chambm Aug 31, 2026
f436051
Fixed the SDK guard resolving a different global.json than the build …
chambm Aug 31, 2026
6425b90
Merge branch 'Skyline/work/20260612_net8_port' into Skyline/work/2026…
chambm Aug 31, 2026
6949d38
Moved the SDK pin back to the repo root now that it grants C# 14
chambm Aug 31, 2026
9a322c1
Escaped the TeamCity service message so the SDK warning is not truncated
chambm Aug 31, 2026
fc02f6d
Merge pull request #4587 from ProteoWizard/Skyline/work/20260818_comm…
chambm Aug 31, 2026
34f46ae
Fixed a timsTOF writing BAF being read as an unknown instrument family
chambm Aug 31, 2026
59d358a
Fixed Agilent profile-only files not being vendor-centroided
chambm Aug 31, 2026
4387ba6
Ran the Windows-only vendor suites on Linux in identify-only mode
chambm Aug 31, 2026
dd47a8b
Gated the Sciex test wiff2 staging on Windows so Linux can build again
chambm Aug 31, 2026
9ff2b9d
Matched the Agilent .d probe case-insensitively so Linux accepts lowe…
chambm Aug 31, 2026
1c28a26
Moved dotCover provisioning into the build scripts via a shared restore
chambm Aug 31, 2026
082742d
Resolved dotCover to a launcher path instead of relying on the workin…
chambm Aug 31, 2026
7457371
Told TeamCity where the build-restored dotCover lives
chambm Aug 31, 2026
52acb7f
Merge branch 'master' into Skyline/work/20260612_net8_port
brendanx67 Sep 1, 2026
5c046bd
skyline: Fixed the net10 nightly failures and the pass-1 NHibernate l…
brendanx67 Sep 2, 2026
a4081f7
skyline: Fixed Visual Studio builds of Skyline.sln to use the ProteoW…
nickshulman Sep 9, 2026
4af7053
Merged master into the net8 port branch
chambm Sep 9, 2026
5d27353
Addressed Copilot review feedback on PR #4619
chambm Sep 9, 2026
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
  •  
  •  
  •  
7 changes: 7 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -16,3 +16,10 @@ end_of_line = lf

# IDE0011: Add braces
csharp_prefer_braces = true

# WFO1000 ("property does not configure the code serialization for its property content")
# is new in the .NET 9+ WinForms SDK and ships at Error severity, so WarningsNotAsErrors
# cannot demote it. It fires on runtime-only properties in the vendored ZedGraph fork, the
# ported SeeMS and MsConvertGUI - none of which are designer-edited, so the designer never
# serializes them. Demoted to a warning (kept visible) rather than silenced with NoWarn.
dotnet_diagnostic.WFO1000.severity = warning
15 changes: 14 additions & 1 deletion .gitattributes
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,17 @@
*.mzml binary
*.mzxml binary

*.sh text eol=lf
*.sh text eol=lf

# cmd.exe tracks its position in a batch file by byte offset, and that accounting
# drifts on an LF-only file: after a few `call :label` returns the search starts
# from the wrong place and fails with "The system cannot find the batch label
# specified". build.bat lost its entire `call :build_one` loop that way - it
# staged whatever binaries already existed and reported success. Checkouts with
# core.autocrlf=true happened to be immune, which is why CI never saw it.
*.bat text eol=crlf

# Fixtures copied verbatim out of the cpp tests are reference data, not source: the whole point
# is that they are the same bytes pwiz C++ parses, so line endings must survive a checkout
# unchanged on every platform.
pwiz-sharp/pwiz/test/**/TestData/** -text
12 changes: 9 additions & 3 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -436,9 +436,16 @@ Version.cpp
# Skyline generated files
/pwiz_tools/Skyline/ProtocolBuffers/GeneratedCode/*.cs
/pwiz_tools/Skyline/ProtocolBuffers/tmp/*.cs
/pwiz_tools/Skyline/SkylineTester test list.txt
/pwiz_tools/Skyline/SkylineTester.log
# Test-run residue. Unanchored on purpose: on net8 these are written from the
# staging directory and from the test UI's own output directory, not the Skyline
# root the old entries were pinned to, so anchoring a path just moves the problem.
SkylineTester test list.txt
SkylineTester.log
SkylineTester Results
TestRunner.log
SearchControlLog.txt
DiannSearchControlLog.txt
*.mzML.log
/b.bat
/b64.bat
/b32.bat
Expand Down Expand Up @@ -476,7 +483,6 @@ SkylineTester Results
/pwiz_tools/Skyline/Test/ProtocolBuffers/GeneratedCode/*.cs
/pwiz_tools/Skyline/Test/ProtocolBuffers/tmp/*.cs
/pwiz_tools/Skyline/Test/ProtocolBuffers/tmp
/SearchControlLog.txt

# created by WIFF2 SDK in working directory
/UserSettings.data
Expand Down
208 changes: 114 additions & 94 deletions clean.bat
Original file line number Diff line number Diff line change
@@ -1,94 +1,114 @@
@echo off
setlocal
@echo off

set VERBOSE=1
if /I "%1"=="-quiet" set VERBOSE=0
if /I "%1"=="-q" set VERBOSE=0

REM # Get the location of quickbuild.bat and drop trailing slash
set PWIZ_ROOT=%~dp0
set PWIZ_ROOT=%PWIZ_ROOT:~0,-1%
pushd "%PWIZ_ROOT%"

if %VERBOSE%==1 echo Cleaning build directories...
IF EXIST build-nt-x86 rmdir /s /q build-nt-x86
IF EXIST build-nt-x86_64 rmdir /s /q build-nt-x86_64

if %VERBOSE%==1 echo Cleaning libraries...
git clean -f -x libraries/boost-build/src/engine > nul
IF EXIST libraries\boost_1_43_0 rmdir /s /q libraries\boost_1_43_0
IF EXIST libraries\boost_1_54_0 rmdir /s /q libraries\boost_1_54_0
IF EXIST libraries\boost_1_56_0 rmdir /s /q libraries\boost_1_56_0
IF EXIST libraries\boost_1_67_0 rmdir /s /q libraries\boost_1_67_0
IF EXIST libraries\boost_1_76_0 rmdir /s /q libraries\boost_1_76_0
IF EXIST libraries\boost_1_86_0 rmdir /s /q libraries\boost_1_86_0
IF EXIST libraries\gd-2.0.33 rmdir /s /q libraries\gd-2.0.33
IF EXIST libraries\zlib-1.2.3 rmdir /s /q libraries\zlib-1.2.3
IF EXIST libraries\libgd-2.1.0alpha rmdir /s /q libraries\libgd-2.1.0alpha
IF EXIST libraries\libpng-1.5.6 rmdir /s /q libraries\libpng-1.5.6
IF EXIST libraries\freetype-VER-2-13-3 rmdir /s /q libraries\freetype-VER-2-13-3
IF EXIST libraries\hdf5-1.8.7 rmdir /s /q libraries\hdf5-1.8.7
IF EXIST libraries\fftw-3.1.2 rmdir /s /q libraries\fftw-3.1.2
IF EXIST libraries\expat-2.0.1 rmdir /s /q libraries\expat-2.0.1

del /f /q libraries\libfftw3-3.d* > nul 2>&1
del /f /q libraries\msparser_*_win64 > nul 2>&1
git clean -f -d -X libraries

del /f /q pwiz\Version.cpp > nul 2>&1
del /f /q pwiz\data\msdata\Version.cpp > nul 2>&1
del /f /q pwiz\data\identdata\Version.cpp > nul 2>&1
del /f /q pwiz\data\tradata\Version.cpp > nul 2>&1
del /f /q pwiz\data\proteome\Version.cpp > nul 2>&1
del /f /q pwiz\analysis\Version.cpp > nul 2>&1

if %VERBOSE%==1 echo Cleaning vendor dlls...
del /f /q pwiz_aux\msrc\utility\vendor_api\ABI\*.dll > nul 2>&1
del /f /q pwiz_aux\msrc\utility\vendor_api\ABI\LicenseKey.h > nul 2>&1
rmdir /s /q pwiz_aux\msrc\utility\vendor_api\ABI\vc10 > nul 2>&1
rmdir /s /q pwiz_aux\msrc\utility\vendor_api\ABI\vc9 > nul 2>&1
git clean -f -d -X pwiz_aux\msrc\utility\vendor_api\ABI > nul 2>&1

del /f /q pwiz_aux\msrc\utility\vendor_api\Agilent\*.dll > nul 2>&1
rmdir /s /q pwiz_aux\msrc\utility\vendor_api\Agilent\x86 > nul 2>&1
rmdir /s /q pwiz_aux\msrc\utility\vendor_api\Agilent\x64 > nul 2>&1
del /f /q pwiz_aux\msrc\utility\vendor_api\Agilent\EULA.MHDAC > nul 2>&1
rmdir /s /q pwiz_aux\msrc\utility\vendor_api\Agilent\Documents > nul 2>&1
del /f /q pwiz_aux\msrc\utility\vendor_api\Bruker\*.manifest > nul 2>&1
del /f /q pwiz_aux\msrc\utility\vendor_api\Bruker\baf2sql_c.h > nul 2>&1
del /f /q pwiz_aux\msrc\utility\vendor_api\Bruker\baf2sql_cpp.h > nul 2>&1
del /f /q pwiz_aux\msrc\utility\vendor_api\Bruker\schema.h > nul 2>&1
rmdir /s /q pwiz_aux\msrc\utility\vendor_api\Bruker\install_pwiz_vendor_api_bruker_stub > nul 2>&1
rmdir /s /q pwiz_aux\msrc\utility\vendor_api\Bruker\x86 > nul 2>&1
rmdir /s /q pwiz_aux\msrc\utility\vendor_api\Bruker\x64 > nul 2>&1
IF EXIST pwiz\data\vendor_api\Mobilion git clean -f -d -X pwiz\data\vendor_api\Mobilion > nul
git clean -f -d -X pwiz_aux\msrc\utility\vendor_api\Mobilion > nul
del /f /q pwiz_aux\msrc\utility\vendor_api\Shimadzu\EULA.SFCS > nul 2>&1
rmdir /s /q pwiz_aux\msrc\utility\vendor_api\Shimadzu\x86 > nul 2>&1
rmdir /s /q pwiz_aux\msrc\utility\vendor_api\Shimadzu\x64 > nul 2>&1
del /f /q pwiz_aux\msrc\utility\vendor_api\Shimadzu\*.dll > nul 2>&1
rmdir /s /q pwiz_aux\msrc\utility\vendor_api\Shimadzu\ja-JP > nul 2>&1
rmdir /s /q pwiz_aux\msrc\utility\vendor_api\Shimadzu\zh-CN > nul 2>&1
del /f /q pwiz_aux\msrc\utility\vendor_api\Thermo\*.dll > nul 2>&1
del /f /q pwiz_aux\msrc\utility\vendor_api\Thermo\*.manifest > nul 2>&1
git clean -f -d -X pwiz_aux\msrc\utility\vendor_api\Thermo\x86 > nul
del /f /q /s pwiz_aux\msrc\utility\vendor_api\Waters\*.dll > nul 2>&1
del /f /q /s pwiz_aux\msrc\utility\vendor_api\Waters\*.lib > nul 2>&1
rmdir /s /q pwiz_aux\msrc\utility\vendor_api\Waters\vc12_x86 > nul 2>&1
rmdir /s /q pwiz_aux\msrc\utility\vendor_api\Waters\vc12_x64 > nul 2>&1
del /f /q pwiz_aux\msrc\utility\vendor_api\Waters\*.h > nul 2>&1

if %VERBOSE%==1 echo Cleaning vendor test data...
git clean -f -d -X pwiz\data\vendor_readers\Thermo\Reader_Thermo_Test.data > nul
rmdir /s /q pwiz\data\vendor_readers\ABI\T2D\Reader_ABI_T2D_Test.data > nul 2>&1
git clean -f -d -X pwiz\data\vendor_readers\UIMF\Reader_UIMF_Test.data > nul
git clean -f -d -X pwiz\data\vendor_readers\ABI\Reader_ABI_Test.data > nul
git clean -f -d -X pwiz\data\vendor_readers\Agilent\Reader_Agilent_Test.data > nul
git clean -f -d -X pwiz\data\vendor_readers\Bruker\Reader_Bruker_Test.data > nul
git clean -f -d -X pwiz\data\vendor_readers\Mobilion\Reader_Mobilion_Test.data > nul
git clean -f -d -X pwiz\data\vendor_readers\Waters\Reader_Waters_Test.data > nul

IF EXIST pwiz_tools\clean-apps.bat call pwiz_tools\clean-apps.bat

popd
@echo off
setlocal
@echo off

set VERBOSE=1
set CLEANCPP=0

REM # By default this cleans only the .NET applications and leaves the C++ build alone.
REM # Wiping the C++ tree means re-extracting and rebuilding boost and the vendor APIs,
REM # which dominates the cost of a rebuild and is almost never what you want when the
REM # thing you actually need cleaned is a managed bin/obj or a stale staging directory.
REM # Pass -cpp (or -all) for the old full clean.
:parseargs
if "%~1"=="" goto endparse
if /I "%~1"=="-quiet" set VERBOSE=0
if /I "%~1"=="-q" set VERBOSE=0
if /I "%~1"=="-cpp" set CLEANCPP=1
if /I "%~1"=="-all" set CLEANCPP=1
shift
goto parseargs
:endparse

REM # Get the location of quickbuild.bat and drop trailing slash
set PWIZ_ROOT=%~dp0
set PWIZ_ROOT=%PWIZ_ROOT:~0,-1%
pushd "%PWIZ_ROOT%"

if %CLEANCPP%==1 goto CLEAN_CPP
if %VERBOSE%==1 echo Keeping C++ build ^(pass -cpp to clean it too^)...
goto SKIP_CPP

:CLEAN_CPP
if %VERBOSE%==1 echo Cleaning build directories...
IF EXIST build-nt-x86 rmdir /s /q build-nt-x86
IF EXIST build-nt-x86_64 rmdir /s /q build-nt-x86_64

if %VERBOSE%==1 echo Cleaning libraries...
git clean -f -x libraries/boost-build/src/engine > nul
IF EXIST libraries\boost_1_43_0 rmdir /s /q libraries\boost_1_43_0
IF EXIST libraries\boost_1_54_0 rmdir /s /q libraries\boost_1_54_0
IF EXIST libraries\boost_1_56_0 rmdir /s /q libraries\boost_1_56_0
IF EXIST libraries\boost_1_67_0 rmdir /s /q libraries\boost_1_67_0
IF EXIST libraries\boost_1_76_0 rmdir /s /q libraries\boost_1_76_0
IF EXIST libraries\boost_1_86_0 rmdir /s /q libraries\boost_1_86_0
IF EXIST libraries\gd-2.0.33 rmdir /s /q libraries\gd-2.0.33
IF EXIST libraries\zlib-1.2.3 rmdir /s /q libraries\zlib-1.2.3
IF EXIST libraries\libgd-2.1.0alpha rmdir /s /q libraries\libgd-2.1.0alpha
IF EXIST libraries\libpng-1.5.6 rmdir /s /q libraries\libpng-1.5.6
IF EXIST libraries\freetype-VER-2-13-3 rmdir /s /q libraries\freetype-VER-2-13-3
IF EXIST libraries\hdf5-1.8.7 rmdir /s /q libraries\hdf5-1.8.7
IF EXIST libraries\fftw-3.1.2 rmdir /s /q libraries\fftw-3.1.2
IF EXIST libraries\expat-2.0.1 rmdir /s /q libraries\expat-2.0.1

del /f /q libraries\libfftw3-3.d* > nul 2>&1
del /f /q libraries\msparser_*_win64 > nul 2>&1
git clean -f -d -X libraries

del /f /q pwiz\Version.cpp > nul 2>&1
del /f /q pwiz\data\msdata\Version.cpp > nul 2>&1
del /f /q pwiz\data\identdata\Version.cpp > nul 2>&1
del /f /q pwiz\data\tradata\Version.cpp > nul 2>&1
del /f /q pwiz\data\proteome\Version.cpp > nul 2>&1
del /f /q pwiz\analysis\Version.cpp > nul 2>&1

if %VERBOSE%==1 echo Cleaning vendor dlls...
del /f /q pwiz_aux\msrc\utility\vendor_api\ABI\*.dll > nul 2>&1
del /f /q pwiz_aux\msrc\utility\vendor_api\ABI\LicenseKey.h > nul 2>&1
rmdir /s /q pwiz_aux\msrc\utility\vendor_api\ABI\vc10 > nul 2>&1
rmdir /s /q pwiz_aux\msrc\utility\vendor_api\ABI\vc9 > nul 2>&1
git clean -f -d -X pwiz_aux\msrc\utility\vendor_api\ABI > nul 2>&1

del /f /q pwiz_aux\msrc\utility\vendor_api\Agilent\*.dll > nul 2>&1
rmdir /s /q pwiz_aux\msrc\utility\vendor_api\Agilent\x86 > nul 2>&1
rmdir /s /q pwiz_aux\msrc\utility\vendor_api\Agilent\x64 > nul 2>&1
del /f /q pwiz_aux\msrc\utility\vendor_api\Agilent\EULA.MHDAC > nul 2>&1
rmdir /s /q pwiz_aux\msrc\utility\vendor_api\Agilent\Documents > nul 2>&1
del /f /q pwiz_aux\msrc\utility\vendor_api\Bruker\*.manifest > nul 2>&1
del /f /q pwiz_aux\msrc\utility\vendor_api\Bruker\baf2sql_c.h > nul 2>&1
del /f /q pwiz_aux\msrc\utility\vendor_api\Bruker\baf2sql_cpp.h > nul 2>&1
del /f /q pwiz_aux\msrc\utility\vendor_api\Bruker\schema.h > nul 2>&1
rmdir /s /q pwiz_aux\msrc\utility\vendor_api\Bruker\install_pwiz_vendor_api_bruker_stub > nul 2>&1
rmdir /s /q pwiz_aux\msrc\utility\vendor_api\Bruker\x86 > nul 2>&1
rmdir /s /q pwiz_aux\msrc\utility\vendor_api\Bruker\x64 > nul 2>&1
IF EXIST pwiz\data\vendor_api\Mobilion git clean -f -d -X pwiz\data\vendor_api\Mobilion > nul
git clean -f -d -X pwiz_aux\msrc\utility\vendor_api\Mobilion > nul
del /f /q pwiz_aux\msrc\utility\vendor_api\Shimadzu\EULA.SFCS > nul 2>&1
rmdir /s /q pwiz_aux\msrc\utility\vendor_api\Shimadzu\x86 > nul 2>&1
rmdir /s /q pwiz_aux\msrc\utility\vendor_api\Shimadzu\x64 > nul 2>&1
del /f /q pwiz_aux\msrc\utility\vendor_api\Shimadzu\*.dll > nul 2>&1
rmdir /s /q pwiz_aux\msrc\utility\vendor_api\Shimadzu\ja-JP > nul 2>&1
rmdir /s /q pwiz_aux\msrc\utility\vendor_api\Shimadzu\zh-CN > nul 2>&1
del /f /q pwiz_aux\msrc\utility\vendor_api\Thermo\*.dll > nul 2>&1
del /f /q pwiz_aux\msrc\utility\vendor_api\Thermo\*.manifest > nul 2>&1
git clean -f -d -X pwiz_aux\msrc\utility\vendor_api\Thermo\x86 > nul
del /f /q /s pwiz_aux\msrc\utility\vendor_api\Waters\*.dll > nul 2>&1
del /f /q /s pwiz_aux\msrc\utility\vendor_api\Waters\*.lib > nul 2>&1
rmdir /s /q pwiz_aux\msrc\utility\vendor_api\Waters\vc12_x86 > nul 2>&1
rmdir /s /q pwiz_aux\msrc\utility\vendor_api\Waters\vc12_x64 > nul 2>&1
del /f /q pwiz_aux\msrc\utility\vendor_api\Waters\*.h > nul 2>&1

if %VERBOSE%==1 echo Cleaning vendor test data...
git clean -f -d -X pwiz\data\vendor_readers\Thermo\Reader_Thermo_Test.data > nul
rmdir /s /q pwiz\data\vendor_readers\ABI\T2D\Reader_ABI_T2D_Test.data > nul 2>&1
git clean -f -d -X pwiz\data\vendor_readers\UIMF\Reader_UIMF_Test.data > nul
git clean -f -d -X pwiz\data\vendor_readers\ABI\Reader_ABI_Test.data > nul
git clean -f -d -X pwiz\data\vendor_readers\Agilent\Reader_Agilent_Test.data > nul
git clean -f -d -X pwiz\data\vendor_readers\Bruker\Reader_Bruker_Test.data > nul
git clean -f -d -X pwiz\data\vendor_readers\Mobilion\Reader_Mobilion_Test.data > nul
git clean -f -d -X pwiz\data\vendor_readers\Waters\Reader_Waters_Test.data > nul

:SKIP_CPP
IF EXIST pwiz_tools\clean-apps.bat call pwiz_tools\clean-apps.bat

popd
6 changes: 6 additions & 0 deletions global.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"sdk": {
"version": "10.0.100",
"rollForward": "latestFeature"
}
}
24 changes: 12 additions & 12 deletions libraries/SQLite/update3rdPartyDLLs.bat
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
@echo off
REM This script decompiles a given .NET DLL, updates a specific version of an assembly reference to another version, and recompiles the DLL.
REM Edit the perl one-liner to change the source and target versions.
CALL %~p0..\msvc_setup_script.bat amd64
ildasm /all /out=%~pn1.il %1 || exit /b
perl -pi.bak -e "s/1:0:105:2/1:0:98:0/g" %~pn1.il || exit /b
move %1 %1.bak || exit /b
ilasm /DLL %~pn1.il || exit /b
@echo off

REM This script decompiles a given .NET DLL, updates a specific version of an assembly reference to another version, and recompiles the DLL.
REM Edit the perl one-liner to change the source and target versions.

CALL %~p0..\msvc_setup_script.bat amd64

ildasm /all /out=%~pn1.il %1 || exit /b
perl -pi.bak -e "s/1:0:105:2/1:0:98:0/g" %~pn1.il || exit /b
move %1 %1.bak || exit /b
ilasm /DLL %~pn1.il || exit /b

del %~pn1.il %~pn1.il.bak %~pn1.res
Loading
Loading