Skip to content

Releases: Pluze/LabKit-MATLAB-Workbench

LabKit MATLAB Workbench v3.0.0

Choose a tag to compare

@Pluze Pluze released this 29 Jun 18:12

Highlights

  • Replaces legacy task inputs with file panels across app workflows, with stronger file selection state, labels, diagnostics, and close-guard behavior.
  • Adds protected image enhancement workflows and the launcher version manager for selecting recent releases, tags, and main-branch builds.
  • Tightens app workflow documentation, UI diagnostics, validation routing, and direct-main git handoff rules.
  • Reduces duplicate MATLAB validation by running the MATLAB Tests workflow on main pushes and pull requests to main, not feature-branch pushes or release tags.

Fixes

  • Fixes stale image drag callbacks and improves batch crop file workflow feedback.
  • Fixes app diagnostics crash reporting.
  • Fixes the Batch Crop folder-scan filePanel refresh crash from issue #25 by hardening shared filePanel entry normalization.
  • Requires launcher-managed manifests so launcher-installed apps follow the supported manifest contract.

Upgrade Note

  • This is a major release because app task inputs were replaced with file panels and legacy path-panel workflows were removed.
  • Launcher users should download the attached labkit_launcher.m asset from this release.
  • labkit.ui facade metadata is now 3.2.2 for the filePanel normalization fix.

Validation

  • Local: /Applications/MATLAB_R2025a.app/bin/matlab -batch "buildtool changed" passed on 349a754987740634491bf814ea0212715d191298.
  • CI: GitHub Actions MATLAB Tests run 28392746745 passed on 349a754987740634491bf814ea0212715d191298.

LabKit MATLAB Workbench v2.4.2

Choose a tag to compare

@Pluze Pluze released this 23 Jun 20:08

Highlights

  • Route MATLAB CI shards through buildfile tasks instead of workflow-maintained runner selectors.
  • Organize contract guardrail tests by ownership and project topic so test routing follows the repository layout.

Fixes

  • Keep app contract guardrails under the apps suite after the contract directory split.
  • Update testing and release docs so CI shard membership follows build tasks, suites, and tags.

Validation

  • matlab -batch "buildtool listTasks"
  • matlab -batch "addpath('tests'); runLabKitTests('Tests','runnableBuildTaskSpecsMapToKnownTestScopes','HtmlReport',false,'RunName','build_task_guardrail_probe')"
  • matlab -batch "buildtool headless"

LabKit MATLAB Workbench v2.4.1

Choose a tag to compare

@Pluze Pluze released this 23 Jun 17:16

Highlights

  • Hardened release CI selector coverage so workflow test-class selectors now fail when they drift from the repository test tree.
  • Tightened LabKit facade requirement checks so apps cannot pass by requiring a future facade version that only intersects the advertised range.
  • Made app version-title formatting idempotent and improved safe file-dialog defaults for macOS/Linux HOME fallback.

Fixes

  • Removed stale project CI selectors and added current version/repository hygiene guardrails to push CI.
  • Standardized remaining app-local input dialogs in DIC preprocess, DIC postprocess, and curvature measurement on LabKit safe input defaults.
  • Made CI checkout keep the parent commit available so version and changed-file guardrails have a stable baseline.

Upgrade Note

  • labkit.ui facade contract is now 2.2.1; existing apps requiring ui >=2.2 <3 remain compatible.
  • DIC Preprocess, DIC Postprocess, and Curvature Measurement app versions are now 1.0.1.

Validation

  • Local: matlab -batch "buildtool headless" passed on commit 49d9f41.
  • Local: matlab -batch "buildtool gui" passed on commit 49d9f41.
  • CI: MATLAB Tests push workflow passed on commit 49d9f41.
  • CI: MATLAB Tests tag workflow passed for v2.4.1.

LabKit MATLAB Workbench v2.4.0

Choose a tag to compare

@Pluze Pluze released this 23 Jun 13:04
d70c260

Highlights

  • Added version metadata for the launcher and every supported app.
  • App windows and the launcher now show version and update-date information.
  • Added a lightweight app "version" request alongside existing requirement checks.
  • Added discovery-driven version guardrails so launcher, app, and facade code changes must use increasing X.Y.Z versions.
  • Reduced hardcoded app registry lists in boundary tests in favor of app discovery.

Upgrade Note

  • labkit.ui contract version is now 2.2.0; apps now require ui >=2.2 <3 for version-title support.
  • App and launcher version metadata must be updated when their code or user-facing behavior changes.
  • The release asset is the tag-exported labkit_launcher.m; users can keep downloading only the launcher, or download source archives from the release page for offline/portable use.

Validation

  • Release tag: v2.4.0 at d70c2607325f9b6ee5546805a83f7a9696373940.
  • Local validation: matlab -batch "buildtool changed" passed before tagging.
  • CI validation: GitHub Actions MATLAB Tests passed on main for d70c2607325f9b6ee5546805a83f7a9696373940.

LabKit MATLAB Workbench v2.3.3

Choose a tag to compare

@Pluze Pluze released this 23 Jun 07:20

Highlights

  • Added MATLAB-native LabKit facade contract checks for app launch paths.
  • Added facade version APIs for UI, DTA, RHS, and biosignal packages.
  • Made automated GUI validation run with hidden test windows by default while still creating real MATLAB GUI objects.
  • Tightened launcher update hygiene and safe default dialog-folder behavior.

Fixes

  • Normalized contributor identity display with .mailmap.
  • Updated GitHub onboarding and issue templates.

Upgrade Note

  • Apps now declare LabKit facade requirements and check them before GUI construction.
  • Facade contract versions are now visible through labkit.ui.version(), labkit.dta.version(), labkit.rhs.version(), and labkit.biosignal.version().
  • Keep lab data and exports outside the LabKit runtime folder before using launcher updates.

Validation

  • Local buildtool changed passed on commit 20ea41b83ef3c5b10206d7205163063a44a226d6.
  • GitHub Actions MATLAB Tests passed on release commit a7e7dfb1fa2d7acbf0f16931e19920f1c87223d9.

LabKit MATLAB Workbench v2.3.2

Choose a tag to compare

@Pluze Pluze released this 22 Jun 20:04

Highlights

  • Improved Image Enhance and Image Match preview responsiveness by keeping preview processing on the current display-resolution image and reserving full-resolution batch processing for export.
  • Preserved pixel-radius semantics in Image Enhance previews by scaling radius/window-style controls to the downsampled preview resolution.
  • Stabilized EIS plot limit handling when coordinate selections and log-axis modes change.

Fixes

  • Fixed Image Enhance and Image Match Apply actions so they record workflow steps instead of processing every loaded image.
  • Fixed Image Enhance preview mismatch for Local contrast and Sharpen radius controls when previews are downsampled.
  • Fixed EIS log-axis zoom and coordinate reset behavior after changing axis selections.
  • Updated release launcher documentation so the README points at the downloadable release asset.

Upgrade Note

  • No breaking workflow changes. Existing app entry points and saved outputs remain compatible.
  • Download labkit_launcher.m from this release asset for the latest launcher copy.

Validation

  • GitHub Actions MATLAB Tests passed for commit 29669ca6a3e3fdd88de3ab2f817aeba8b2b2e4d1 on run 27980201219.

LabKit MATLAB Workbench v2.3.1

Choose a tag to compare

@Pluze Pluze released this 22 Jun 04:59

Highlights

  • Refreshed the root README around direct single-file launcher download and launcher-first app startup.
  • Reorganized the documentation index and app launch notes to separate normal user workflow from maintainer references.
  • Made the build task documentation guardrail parse CRLF and LF line endings consistently.

Validation

  • Local: �uildtool headless passed on commit 83d03e7.
  • Local: �uildtool gui passed on commit 83d03e7.
  • CI: MATLAB Tests passed on main and v2.3.1 for commit 83d03e7.

LabKit MATLAB Workbench v2.3.0

Choose a tag to compare

@Pluze Pluze released this 21 Jun 22:26

Highlights

  • Fixed a critical LabKit Launcher Clean Artifacts path-handling bug that could delete files outside the project after administrator approval.
  • Improved Batch Image Crop padding for figure-preparation workflows, including up to 200% repaired-reflect padding.
  • Preserved crop preview coordinates and zoom while rotation or padding settings change.
  • Added reusable image display coordinate support for preview axes.

Fixes

  • Hardened launcher artifact cleanup so it only removes intended repository artifact targets and rejects unsafe path-list handling.
  • Added regression coverage for char-vector path-list cleanup bugs to prevent repeat cleanup actions from iterating over individual path characters.
  • Reduced visible batch-crop padding seams by repairing source image border pixels before reflected padding.
  • Prevented padding changes from shifting the plotted source-image coordinate frame.
  • Clarified validation routing rules so changed-file planning is consulted before hand-selecting broader local gates.

Upgrade Note

  • Update immediately if you use the LabKit Launcher Clean Artifacts action from versions after v2.2.0 and before v2.3.0.
  • Local full GUI validation can steal focus on macOS because MATLAB opens real figures; use focused GUI targets, CI, or another noninteractive session when the user is actively typing.

Validation

  • Local: buildtool headless passed for commit f2ed23c before validation-rule edits.
  • Local: buildtool gui passed for commit f2ed23c before validation-rule edits.
  • Local: ProjectDocumentationGuardrailTest/testingDocOwnsBuildTaskCommandMatrix passed after validation-rule wording edits.
  • CI: MATLAB Tests run 27919342487 passed on commit f2ed23c.
  • CI: MATLAB Tests run 27919426695 passed for the v2.3.0 tag.

LabKit MATLAB Workbench v2.2.0

Choose a tag to compare

@Pluze Pluze released this 21 Jun 15:09

Highlights

  • Added a self-contained launcher update panel with separate Latest and Release update paths.
  • Latest downloads the current GitHub main zip; Release downloads the latest GitHub release and falls back to the latest tag.
  • Kept zip updates disabled for git checkouts while supporting repair of damaged zip installs.
  • Added an ASCII-only repository hygiene guardrail and removed legacy non-ASCII label compatibility.

Validation

  • Local: buildtool changed passed, including 157 headless tests and 3 launcher GUI tests.
  • CI: MATLAB Tests passed on main for commit c904bac.

LabKit MATLAB Workbench 2.1

Choose a tag to compare

@Pluze Pluze released this 21 Jun 06:53

Highlights

  • Stabilized the app interactions and launcher repair path before the 2.1 release.
  • Fixed multiple app-level usability regressions around logs, busy-window titles, plot refresh, and signal-axis zoom behavior.

Fixes

  • Launcher zip updater now reports the real update error instead of masking it with a MATLAB message-identifier formatting error.
  • Zip updater backup/archive paths are scalarized for MATLAB archive APIs.
  • Log tabs expand log panels to the available height.
  • Busy window titles no longer accumulate repeated [Working: ...] suffixes.
  • VT resistance plot refresh/reset clears previous markers and annotations before redraw.
  • Time-series preview axes use mouse-wheel zoom on the horizontal time axis only.

Upgrade Note

This release supersedes 2.0. Version 2.0 has fatal path-handling and update defects that can make normal use fail, so users should upgrade to 2.1 or newer.

Validation

  • Local: buildtool headless passed.
  • Local: buildtool gui passed.
  • CI: MATLAB Tests passed for commit 76ddf7d.