• v2.0.4-prerelease-docs27
    macOS CI / build-and-test (push) Successful in 8s
    macOS CI / package (push) Successful in 3m17s
    Pre-Release

    gronod released this 2026-09-23 11:04:22 +01:00 | 0 commits to docs/27-roadmap-candidates since this release

    What's Changed

    • [Enhancement/Medium] Merge develop into main in #221
    • [Feature/Medium] M13 — Print ticket persistence & paper source in #220
    • [Bug/High] Restore captured PrintTicket when reopening the printer properties dialog in #219

    Contributors

    Full Changelog: v2.0.3...V2.0.4

    Downloads
  • v2.0.4 efeefb8cea

    v2.0.4
    macOS CI / build-and-test (push) Successful in 43m3s
    macOS CI / package (push) Successful in 3m25s
    Stable

    gronod released this 2026-09-22 20:48:17 +01:00 | 0 commits to main since this release

    What's Changed

    • [Enhancement/Medium] Merge develop into main in #221
    • [Feature/Medium] M13 — Print ticket persistence & paper source in #220
    • [Bug/High] Restore captured PrintTicket when reopening the printer properties dialog in #219

    Contributors

    Full Changelog: v2.0.3...v2.0.4

    What's Changed

    • [Enhancement/Medium] Merge develop into main in #221
    • [Feature/Medium] M13 — Print ticket persistence & paper source in #220
    • [Bug/High] Restore captured PrintTicket when reopening the printer properties dialog in #219

    Contributors

    Full Changelog: v2.0.3...v2.0.4

    Downloads
  • v2.0.3 f7f6a8bd87

    v2.0.3
    macOS CI / package (push) Successful in 3m37s
    macOS CI / build-and-test (push) Skipped
    Stable

    gronod released this 2026-09-22 14:59:30 +01:00 | 6 commits to main since this release

    What's Changed

    • v2.0.0.2 - M12 Native Print Spool in #210
    • test(print): scroll stage-2 via synthesized scroll wheel (#215) in #216

    Contributors

    Full Changelog: v2.0.2...v2.0.3

    Downloads
  • v2.0.3-prerelease
    macOS CI / package (push) Successful in 3m37s
    macOS CI / build-and-test (push) Skipped
    Pre-Release

    gronod released this 2026-09-18 11:06:42 +01:00 | 6 commits to main since this release

    Downloads
  • v2.0.2 f7099a9808

    v2.0.2
    macOS CI / build-and-test (push) Successful in 44m15s
    macOS CI / package (push) Successful in 3m27s
    Stable

    gronod released this 2026-09-18 07:08:56 +01:00 | 9 commits to develop since this release

    What's Changed

    • [Bug/Critical] Print output mirrored + bottom-anchored target canvas (#211) in #213
    • M12: native NSPrintOperation target spool (#201, #202) in #209
    • docs(print): native spool documentation update + issue #201 analysis (#201 Phase 6) in #208
    • feat(print): AirPrint queue detection + Stage 2 warning badge (#202 Phase 5) in #207
    • feat(print): native NSPrintOperation spooler, eradicate lp (#201 Phase 4) in #206
    • feat(print): 1:1 TIFF raster loader and headless page canvas (#201 Phase 3) in #205
    • feat(print): capture native print ticket on panel OK (#201 Phase 2) in #204
    • refactor(print): extract PMTicketBridge from PrintPanelService (#201 Phase 1) in #203

    Contributors

    Full Changelog: v2.0.1...v2.0.2

    Downloads
  • v2.0.1 555bf8fda4

    V2.0.1
    macOS CI / build-and-test (push) Successful in 7s
    macOS CI / package (push) Failing after 44s
    Stable

    gronod released this 2026-09-16 07:54:51 +01:00 | 27 commits to main since this release

    What's Changed

    • Release 2.0.1 — develop into main in #200
    • Milestone 11 — Printer settings completeness & dialog binding (#183, #180, #181, #186) in #199
    • chore(m11): sync develop into milestone (no rebase) in #198
    • docs(ui): M11 stage-2 a11y id roster update in #197
    • fix(print): bind selected printer and settings in NSPrintPanel (#186) in #196
    • fix(print): deterministic PPD locale precedence for media labels (#181) in #195
    • fix(print): enumerate all EPIJ_Qual quality options (#180) in #194
    • feat(print): Stage 2 paper size + quality selection (#183) in #193
    • Milestone/m11 print settings in #192
    • docs(m11): record printer-settings milestone tracking in #191
    • feat(#189): release-driven versioning — tag-stamped About + monotonic build in #190

    Contributors

    Full Changelog: v2.0.0...v2.0.1

    Downloads
  • v2.0.0 2fefe98434

    v2.0.0
    macOS CI / package (pull_request) Canceled after 0s
    macOS CI / build-and-test (pull_request) Canceled after 21s
    macOS CI / build-and-test (push) Successful in 37m17s
    macOS CI / package (push) Successful in 3m29s
    Stable

    gronod released this 2026-09-15 02:19:28 +01:00 | 46 commits to main since this release

    What's Changed

    • Official release onto main in #168
    • Feat/31 license attribution in #178
    • test(m4): retry Start Read until chartread is actually running in #177
    • test(m2): mock CUPS so Print All enables on GitHub macos-14 in #176
    • fix(ci): pin GitHub Actions to macos-14 and clamp the window on-screen in #175
    • ci: GitHub Actions twin of the Gitea macOS workflow in #174
    • test(m4): wait for Start Read enabled before chartread (CI 35251/35293) in #173
    • fix(ui): media Apply missing-printer notice visible in manage sheet (#170) in #171
    • docs: sync README with shipping app and user wiki in #169
    • fix(packaging): DMG background visible on Sonoma+ (#95) in #167
    • fix(ui): settings sheet — ΔE clip + duplicated numeric-field labels (#165) in #166
    • fix(ui): calibrate dashboard no longer overflows window; Escape exits (#163) in #164
    • ci(macos): skip tests on tags containing "prerelease" in #162
    • Milestone 10 — Studio workflow (#146–#149) in #156
    • fix(gamut): don't disable layer toggles when SceneKit is unavailable (#147) in #160
    • test(m10): combine gamut layer toggle AX; harden gallery wait on macOS 12 in #159
    • test(m10): wait for gamut layer enable; drive New via File menu on macOS 12 in #158
    • fix(ui): split ViewBuilders for Swift 5.7 ten-child limit (#146) in #157
    • docs(m10): defaultInstrument seeds Spot Read; README floor is macOS 12 in #155
    • feat(project): .icceryproj index over basename and cwd + recipe + last ΔE (#149) in #154
    • feat(gamut): second-profile compare and click-inspect (#147) in #153
    • feat(spotread): spot-read console for live Lab (#148) in #152
    • feat(media): media recipe library bound to presets (#146) in #151
    • docs(m10): record studio-workflow milestone tracking in #150
    • Milestone/m9 monterey in #145
    • test(m9): collapse ArgyllRunner waits under ICCERY_UI_TESTING in #144
    • test(m9): replace full-timeout negative waits with dwell assertion in #143
    • ci(m9): skip probe test in full UI suite leg in #142
    • test(m9): query presetSelect as PopUpButton to avoid duplicate match (#137) in #138
    • test(m9): drive scroller + state-driven triggers in UI suite (#135) in #136
    • test(m9): fall back to coordinate click for per-page print button (#132) in #134
    • test(m9): scroll stage-2 explicitly before per-page print click (#132) in #133
    • fix(m9): revert sidebar container a11y id; measure presetSelect frame (#130) in #131
    • test(m9): dump a11y hierarchy to log on UI probe failure (#128) in #129
    • ci(m9): upload UI-test xcresult on failure for a11y triage (#126) in #127
    • ci(m9): accept Xcode >= 14 in toolchain assert (#123) in #124
    • fix(m9): stable 'sidebar' a11y identifier for AboutHelp UI test (#122) in #125
    • fix(m9): Debug entitlements disable library validation for test host (#119) in #121
    • fix(m9): ad-hoc sign embedded ICCeryCore framework so test host launches (#119) in #120
    • fix(m9): link ICCeryCore statically so the app launches standalone (#117) in #118
    • test(m9): replace MainActor.assertIsolated for Swift 5.7 (#115) in #116
    • fix(m9): clear printTask without defer for Swift 5.7 (#113) in #114
    • fix(m9): keep Stage4View under Swift 5.7 ViewBuilder 10-child limit (#111) in #112
    • fix(m9): pin prebuilt xcodegen for macOS 12 CI (#109) in #110
    • feat(m9): state management and view demotions for macOS 12 (Slice 4) in #108
    • test(m9): complete migration of stateful and async suites to XCTest (Slice 3) in #107
    • test(m9): convert pure core suites to XCTest (Slice 2) in #106
    • chore(m9): toolchain, CI config, and core syntax demotion (Slice 1) in #105
    • Milestone 8 — UAT-ready hardening and consolidation (#79–#86) in #104
    • refactor(ui): complete logged-run and Notice consolidation (#80) in #103
    • test(runner): complete shared streaming loop contracts (#79) in #102
    • refactor(args): finish shared option helpers (#86) in #101
    • test(process): complete ProcessManager edge contracts (#84) in #100
    • fix(profile): complete calibration identity and profile resolution (#83) in #99
    • fix(presets): complete config mapping contracts (#82) in #98
    • fix(persistence): complete M8 JSON store contracts (#81) in #97
    • Milestone/m7 grok in #96
    • #79 Extract ArgyllRunner streaming loop onto milestone/M7-grok in #87
    • Apply v1 ICCery app icon, About icon, and DMG scene in #78
    • Fix/m7 ci uitest runner sign in #76
    • fix(uitest): resolve AboutHelp close button lookup on runner in #75
    • refactor: extract launchApp helper in AboutHelpUITests in #74
    • Fix/m7 ci uitest runner sign in #73
    • ci: do not manually re-sign UI test runner; keep app re-sign with entitlements in #72
    • Update .gitea/workflows/macos.yml in #68
    • fix: harden process termination and retain print task in #67
    • Milestone 6 — Gamut, Stage 0, CGATS, UI chrome & packaging (#28–#32) in #66
    • feat(#32): Packaging, signing, and CI in #65
    • feat(#29): Stage 0 printer calibration in #64
    • feat(#28): SceneKit gamut viewer in #62
    • feat/31-about-help-chrome in #55
    • Milestone/m6 gamut stage0 cgats release in #57
    • feat/30-cgats-interop in #56
    • Milestone 5 — Profile generation, verification & installation plus M5 bugfixes (#23–#27, #50, #52) in #54
    • M5 bugfixes — Stage 3 prompt stream, ProcessManager, profile/verification fixes (#50, #52) in #53
    • Milestone 5 — Profile generation, verification & installation (#23–#27) in #51
    • M3 — Unmanaged printing in #48
    • Stage 2 live print panel — unmanaged spool UI (#17) in #47
    • lp spool path — unmanaged raster jobs (#15) in #46
    • ColorSync suppression engine — six layers (#14) in #45
    • Native NSPrintPanel bound to selected queue (#13) in #44
    • Milestone/m2 targets in #43
    • Printer enumeration & capabilities (#12) in #42
    • M2 — Target generation & layout: targen, printtarg, resume, gallery, presets (#7–#11) in #41
    • M1 — Foundation & process core in #40
    • Wizard state machine & artefact gating (#4) in #39
    • Settings store, logging & settings dialog (#5) in #38
    • File dialogs — dedicated pickers + host helpers (#6, part 2) in #37
    • File dialogs & artefact helpers (#6) in #36
    • Argyll sidecar fetch & binary resolution (#3) in #35
    • ProcessManager: spawn / stdin / kill / captured / event bus (#2) in #34
    • App scaffold & wizard shell (#1) in #33

    Contributors

    New Contributors

    Full Changelog: https://git.i3omb.com/gronod/iccery-v2-mac/commits/tag/V2.0.0

    What's Changed

    • Official release onto main in #168
    • Feat/31 license attribution in #178
    • test(m4): retry Start Read until chartread is actually running in #177
    • test(m2): mock CUPS so Print All enables on GitHub macos-14 in #176
    • fix(ci): pin GitHub Actions to macos-14 and clamp the window on-screen in #175
    • ci: GitHub Actions twin of the Gitea macOS workflow in #174
    • test(m4): wait for Start Read enabled before chartread (CI 35251/35293) in #173
    • fix(ui): media Apply missing-printer notice visible in manage sheet (#170) in #171
    • docs: sync README with shipping app and user wiki in #169
    • fix(packaging): DMG background visible on Sonoma+ (#95) in #167
    • fix(ui): settings sheet — ΔE clip + duplicated numeric-field labels (#165) in #166
    • fix(ui): calibrate dashboard no longer overflows window; Escape exits (#163) in #164
    • ci(macos): skip tests on tags containing "prerelease" in #162
    • Milestone 10 — Studio workflow (#146–#149) in #156
    • fix(gamut): don't disable layer toggles when SceneKit is unavailable (#147) in #160
    • test(m10): combine gamut layer toggle AX; harden gallery wait on macOS 12 in #159
    • test(m10): wait for gamut layer enable; drive New via File menu on macOS 12 in #158
    • fix(ui): split ViewBuilders for Swift 5.7 ten-child limit (#146) in #157
    • docs(m10): defaultInstrument seeds Spot Read; README floor is macOS 12 in #155
    • feat(project): .icceryproj index over basename and cwd + recipe + last ΔE (#149) in #154
    • feat(gamut): second-profile compare and click-inspect (#147) in #153
    • feat(spotread): spot-read console for live Lab (#148) in #152
    • feat(media): media recipe library bound to presets (#146) in #151
    • docs(m10): record studio-workflow milestone tracking in #150
    • Milestone/m9 monterey in #145
    • test(m9): collapse ArgyllRunner waits under ICCERY_UI_TESTING in #144
    • test(m9): replace full-timeout negative waits with dwell assertion in #143
    • ci(m9): skip probe test in full UI suite leg in #142
    • test(m9): query presetSelect as PopUpButton to avoid duplicate match (#137) in #138
    • test(m9): drive scroller + state-driven triggers in UI suite (#135) in #136
    • test(m9): fall back to coordinate click for per-page print button (#132) in #134
    • test(m9): scroll stage-2 explicitly before per-page print click (#132) in #133
    • fix(m9): revert sidebar container a11y id; measure presetSelect frame (#130) in #131
    • test(m9): dump a11y hierarchy to log on UI probe failure (#128) in #129
    • ci(m9): upload UI-test xcresult on failure for a11y triage (#126) in #127
    • ci(m9): accept Xcode >= 14 in toolchain assert (#123) in #124
    • fix(m9): stable 'sidebar' a11y identifier for AboutHelp UI test (#122) in #125
    • fix(m9): Debug entitlements disable library validation for test host (#119) in #121
    • fix(m9): ad-hoc sign embedded ICCeryCore framework so test host launches (#119) in #120
    • fix(m9): link ICCeryCore statically so the app launches standalone (#117) in #118
    • test(m9): replace MainActor.assertIsolated for Swift 5.7 (#115) in #116
    • fix(m9): clear printTask without defer for Swift 5.7 (#113) in #114
    • fix(m9): keep Stage4View under Swift 5.7 ViewBuilder 10-child limit (#111) in #112
    • fix(m9): pin prebuilt xcodegen for macOS 12 CI (#109) in #110
    • feat(m9): state management and view demotions for macOS 12 (Slice 4) in #108
    • test(m9): complete migration of stateful and async suites to XCTest (Slice 3) in #107
    • test(m9): convert pure core suites to XCTest (Slice 2) in #106
    • chore(m9): toolchain, CI config, and core syntax demotion (Slice 1) in #105
    • Milestone 8 — UAT-ready hardening and consolidation (#79–#86) in #104
    • refactor(ui): complete logged-run and Notice consolidation (#80) in #103
    • test(runner): complete shared streaming loop contracts (#79) in #102
    • refactor(args): finish shared option helpers (#86) in #101
    • test(process): complete ProcessManager edge contracts (#84) in #100
    • fix(profile): complete calibration identity and profile resolution (#83) in #99
    • fix(presets): complete config mapping contracts (#82) in #98
    • fix(persistence): complete M8 JSON store contracts (#81) in #97
    • Milestone/m7 grok in #96
    • #79 Extract ArgyllRunner streaming loop onto milestone/M7-grok in #87
    • Apply v1 ICCery app icon, About icon, and DMG scene in #78
    • Fix/m7 ci uitest runner sign in #76
    • fix(uitest): resolve AboutHelp close button lookup on runner in #75
    • refactor: extract launchApp helper in AboutHelpUITests in #74
    • Fix/m7 ci uitest runner sign in #73
    • ci: do not manually re-sign UI test runner; keep app re-sign with entitlements in #72
    • Update .gitea/workflows/macos.yml in #68
    • fix: harden process termination and retain print task in #67
    • Milestone 6 — Gamut, Stage 0, CGATS, UI chrome & packaging (#28–#32) in #66
    • feat(#32): Packaging, signing, and CI in #65
    • feat(#29): Stage 0 printer calibration in #64
    • feat(#28): SceneKit gamut viewer in #62
    • feat/31-about-help-chrome in #55
    • Milestone/m6 gamut stage0 cgats release in #57
    • feat/30-cgats-interop in #56
    • Milestone 5 — Profile generation, verification & installation plus M5 bugfixes (#23–#27, #50, #52) in #54
    • M5 bugfixes — Stage 3 prompt stream, ProcessManager, profile/verification fixes (#50, #52) in #53
    • Milestone 5 — Profile generation, verification & installation (#23–#27) in #51
    • M3 — Unmanaged printing in #48
    • Stage 2 live print panel — unmanaged spool UI (#17) in #47
    • lp spool path — unmanaged raster jobs (#15) in #46
    • ColorSync suppression engine — six layers (#14) in #45
    • Native NSPrintPanel bound to selected queue (#13) in #44
    • Milestone/m2 targets in #43
    • Printer enumeration & capabilities (#12) in #42
    • M2 — Target generation & layout: targen, printtarg, resume, gallery, presets (#7–#11) in #41
    • M1 — Foundation & process core in #40
    • Wizard state machine & artefact gating (#4) in #39
    • Settings store, logging & settings dialog (#5) in #38
    • File dialogs — dedicated pickers + host helpers (#6, part 2) in #37
    • File dialogs & artefact helpers (#6) in #36
    • Argyll sidecar fetch & binary resolution (#3) in #35
    • ProcessManager: spawn / stdin / kill / captured / event bus (#2) in #34
    • App scaffold & wizard shell (#1) in #33

    Contributors

    New Contributors

    Full Changelog: https://git.i3omb.com/gronod/iccery-v2-mac/commits/tag/V2.0.0

    Downloads