Skip to content

Releases: oznetmaster/CrestronHomeDevTools

CrestronHomeDevTools v1.24.0

Choose a tag to compare

@github-actions github-actions released this 29 Sep 19:39

CrestronHomeDevTools 1.24.0

Physical action replies are now accepted against elapsed time measured on the recording worker, not by comparing the desktop's clock with the worker's clock. Original desktop replies and separate worker decisions are retained. A live shared-file lock prevents the desktop from displaying a recording prompt after its recording process has exited.

Manual app steps can opt in to PrepareBeforeReadiness. The cooperating fixture completes preparation and navigation before asking Ready, waits indefinitely for that response, refreshes its baseline and arms observation before publishing the action prompt. The desktop listener detects the next prompt every half second. Readiness waits are excluded from the runner and automation active-work budgets; cancellation still works. Prepared sessions hold their processor/emulator reservations while waiting.

The same readiness boundary is available to manual outage recorders after preflight and before a fresh baseline. Cannot perform retains the operator's explanation. No acknowledgement establishes an event or pass, and failed or interrupted attempts are never replayed automatically.

Validation covers clock differences and clock corrections, expiry, retained responses, overnight waits, preparation ordering and synthetic Ready-to-action handoff. The complete physical rehearsal under this version is still pending. Earlier evidence and accepted driver submissions are unchanged.

Requires Crestron Home NUnit 2.2.0 for the opt-in runner contract. See https://github.com/oznetmaster/CrestronHomeDevTools/blob/main/docs/submission/OperatorSteps.md for preparation, prompts and retained evidence.

Copyright (c) 2026 Neil Colvin. MIT licensed. Crestron and Crestron Home are trademarks of Crestron Electronics, Inc. This project is independent and is not affiliated with, endorsed by or sponsored by Crestron Electronics, Inc.

CrestronHomeDevTools v1.23.1

Choose a tag to compare

@github-actions github-actions released this 29 Sep 16:59

CrestronHomeDevTools 1.23.1

When an operator chooses I'm ready, a failed driver or app-screen preflight now produces a retained, actionable explanation that the physical test never started. Subsequent observations preserve that explanation instead of replacing it with an uncertain test outcome. No failed test or preparation is automatically replayed.

The acknowledged readiness window closes so it cannot cover the next recording prompt. Workflow attention notices come to the foreground and explain known preflight failures in plain language.

Validation: 122 focused offline app workflow and recovery tests passed, including retained preflight failures and no replay. The release workflow runs the complete offline suite and package validation before publication. These checks do not establish a completed hardware rehearsal. Existing frozen attempts and their original outcomes remain unchanged.

See https://github.com/oznetmaster/CrestronHomeDevTools/blob/main/docs/submission/OperatorSteps.md for operator readiness, physical action prompts and retained evidence.

Copyright (c) 2026 Neil Colvin. MIT licensed. Crestron and Crestron Home are trademarks of Crestron Electronics, Inc. This project is independent and is not affiliated with, endorsed by or sponsored by Crestron Electronics, Inc.

CrestronHomeDevTools v1.23.0

Choose a tag to compare

@github-actions github-actions released this 29 Sep 15:54

CrestronHomeDevTools 1.23.0

Manual app tests can now wait overnight for an operator without starting a timed physical action or holding a test host, processor reservation or app reservation.

  • New ordered InstalledAppSteps, PreEnduranceAppSteps and PostEnduranceAppSteps bind every selected test exactly once. Each manual step contains one test and explicit readiness instructions. Pending readiness and completed-step evidence survive worker restarts; already attempted hardware tests are never automatically replayed.
  • The desktop readiness window offers I'm ready, Do this later and Cannot perform this action. Readiness has no expiry. Cannot perform requires an explanation, retained with the exact request and step evidence. The public CLI supports the same explanation through --reason.
  • After readiness, the worker prepares recording and the fixture issues its precise timed action prompt. An active failure pauses before the next test. A readiness acknowledgement, an inability explanation or a timeout never becomes a pass, an N/A decision or permission to sign or deliver.
  • Action windows are centred and foregrounded, with instructions before diagnostic identifiers. Existing frozen runs retain their original prompt behaviour and evidence; adopting ordered steps requires a new plan and updated review evidence paths.

Validation: all 1,739 discovered offline tests passed, including overnight readiness, cancellation/restart, saved explanations, exact test coverage, source-change rejection, no replay after failure, and separate-processor phase recovery. The desktop application builds without warnings. A labelled local synthetic readiness request survived a listener restart and received a real desktop response. These checks do not establish a successful physical-device rehearsal or certification.

See https://github.com/oznetmaster/CrestronHomeDevTools/blob/main/docs/submission/OperatorSteps.md for setup, exact plan fields, evidence layout and operator controls.

Copyright (c) 2026 Neil Colvin. MIT licensed. Crestron and Crestron Home are trademarks of Crestron Electronics, Inc. This project is independent and is not affiliated with, endorsed by or sponsored by Crestron Electronics, Inc.

CrestronHomeDevTools v1.22.4

Choose a tag to compare

@github-actions github-actions released this 29 Sep 11:34

CrestronHomeDevTools 1.22.4

This release fixes worker shutdown and terminal-failure retirement, adds visible-screen readiness before app tests, and delivers worker notices directly to the controlling computer.

  • Bind finite worker processes and their descendants to their launcher at creation. Stopping the scheduled task or terminating the launcher now stops the owned process tree, preserving failure evidence instead of leaving a detached alert worker. Task retirement validates the exact terminal outcome; interrupted work is not marked successful.
  • Capture the masked Android screen before installed-driver app tests and require an unobstructed, configured starting Home. Retain the screen and readiness result when an Android crash dialog or unexpected page prevents testing. This check does not send input or automatically retry failed tests.
  • Package the worker lifetime helper and gate releases on real synthetic parent/child termination tests. An optional scheduled-task test exercises Windows Task Scheduler shutdown without involving a device.
  • Finite workers now retire on confirmed terminal failures as well, retaining the failed outcome and final notice and exiting with code 2. Active, uncertain and approval-waiting runs remain open. The same process lifetime protection covers one-run operator inbox launchers.
  • The public controlling-PC listener optionally reads the worker status directory and shows failures, uncertain outcomes, unsigned review and final retention directly. Dismissals persist locally; unchanged failures and routine polling do not reopen windows. Closing a notice grants no test, signing or delivery authority.

Validation: 20 task-retirement guard cases; real synthetic process termination, scheduled-task stop, successful self-retirement and failed self-retirement with its failure preserved; offline screen-readiness and controller notice/dismissal tests. The release pipeline requires every discovered offline test plus package and documentation checks to pass. These checks do not establish a completed hardware rehearsal or certification.

Use this version for newly prepared attempts. Existing frozen runs keep their original tooling and evidence. Inspect and explicitly retire legacy failed watchers; do not rewrite their outcome or restart them just to obtain cleanup. A persistent public controller listener is intentionally reused across releases.

See https://github.com/oznetmaster/CrestronHomeDevTools/blob/main/docs/submission/AutomationWorker.md and https://github.com/oznetmaster/CrestronHomeDevTools/blob/main/docs/submission/OperatorSteps.md for installation and notification behavior.

Copyright (c) 2026 Neil Colvin. MIT licensed. Crestron and Crestron Home are trademarks of Crestron Electronics, Inc. This project is independent and is not affiliated with, endorsed by or sponsored by Crestron Electronics, Inc.

CrestronHomeDevTools v1.22.3

Choose a tag to compare

@github-actions github-actions released this 29 Sep 09:56

CrestronHomeDevTools 1.22.3

This release corrects mixed automatic/manual test execution and adds finite worker closeout for fixed submission or rehearsal runs.

  • Updated public CrestronHomeNUnit tooling to 2.1.2. Exact Android selections containing both ordinary tests and explicit physical-action tests now execute every selected case. Unselected tests stay excluded, and missing results still fail coverage. Operator acknowledgements do not replace observed test results.
  • --exit-when-finished ends a fixed-registry worker after all submissions reach final retention or rehearsals reach unsigned review. Installer -CurrentUser -ExitWhenFinished additionally archives and removes its exact scheduled task after validating the registry, terminal identities, task action/account and released worker lock. Failures, uncertain outcomes and approval waits retain the task and evidence. Continuous release-discovery workers remain persistent.
  • Worker notifications and operator windows display readable dates and explicit time zones. Machine-readable evidence keeps precise UTC timestamps.
  • Documented direct physical-action prompts on a separate controlling computer, including shared-storage setup and validation without an AI relay. Independent obsolete observers and failed attempts superseded by recovery still require explicit retirement; this release does not claim to automate that separate closeout.
  • The regression launcher uses a runsettings file to preserve native Windows work-directory paths without command-line escaping changes.

Validation includes mixed-selection regression cases, worker completion tests, 15 task-retirement guard cases and a real synthetic Windows scheduled task that removed itself while retaining its definition and receipt. The release pipeline requires all discovered offline tests and package/document checks to pass. These checks do not establish a completed hardware rehearsal or certification.

Use this version for newly prepared attempts. Existing frozen runs keep their original tools and evidence. Rehearsal stops at unsigned review and cannot sign or deliver.

See https://github.com/oznetmaster/CrestronHomeDevTools/blob/main/docs/submission/AutomationWorker.md for installation, controller prompts and closeout.

Copyright (c) 2026 Neil Colvin. MIT licensed. Crestron and Crestron Home are trademarks of Crestron Electronics, Inc. This project is independent and is not affiliated with, endorsed by or sponsored by Crestron Electronics, Inc.

CrestronHomeDevTools v1.22.2

Choose a tag to compare

@github-actions github-actions released this 29 Sep 07:34

CrestronHomeDevTools 1.22.2

Managed-child setup now handles a light becoming a native Crestron wrapper and load after initial configuration. Previously, setup could reject that successful transition because the wrapper no longer exposed generic configuration fields.

  • The new ManagedDeviceCommissioning.ConfigureCreatedAsync validates the commissioning receipt before applying initial configuration once. Completion verifies the parent, wrapper, managed-device identity, native load, room and usable controls. Ordinary children must still report configured and ready state.
  • The automation worker uses this completion path for persistent managed children. Missing fields alone, offline loads and mismatched identities never count as success. Uncertain commands are not automatically retried; evidence and reservations remain available for inspection.

Validation: all 1,690 offline regression tests passed with NUnit 5.0.0, including eight new completion cases. A retained processor observation confirmed the native-light transition that caused the original failure. The updated completion path and complete rehearsal still require live validation; this release does not claim a successful end-to-end run.

Use this version for newly prepared attempts. Existing frozen runs keep their original tools and evidence. Rehearsal stops at unsigned review and cannot sign or deliver.

See https://github.com/oznetmaster/CrestronHomeDevTools/blob/main/docs/submission/ManagedChildren.md for managed-child setup and evidence requirements.

Copyright (c) 2026 Neil Colvin. MIT licensed. Crestron and Crestron Home are trademarks of Crestron Electronics, Inc. This project is independent and is not affiliated with, endorsed by or sponsored by Crestron Electronics, Inc.

CrestronHomeDevTools v1.22.1

Choose a tag to compare

@github-actions github-actions released this 29 Sep 06:15

CrestronHomeDevTools 1.22.1

A fresh rehearsal can now activate an exact release package already stored in a processor's local catalogue without importing the same version again.

  • Automation uses released CrestronHomeNUnit 2.1.1. Explicitly set NUnit.ReleaseCandidate.ReuseVerifiedStoredPackage to enable verified storage reuse; the default remains false.
  • Reuse requires matching candidate SHA-256, manifest and catalogue identity, no installed package model or alias, and unchanged catalogue state during verification. Normal activation and deployed checks still run. The receipt distinguishes reuse from a new import. Version equality alone never proves candidate identity.
  • The setup guide now requires operational permissions and actual-account access checks before release intake. Configuration completeness alone is not a live access check. Physical test prompts and exact-artifact signing/delivery authorizations remain separate.

Validation: all 1,682 offline DevTools regression tests passed with NUnit 5.0.0 and the public 2.1.1 tooling package, including both enabled and disabled reuse choices through frozen release intake. A fresh-cache restore from public NuGet succeeded. These checks do not establish successful live reuse or a completed end-to-end rehearsal; those remain to be verified through the workflow.

Apply the update only to newly prepared attempts. Existing frozen runs retain their original tools, settings and evidence. Rehearsal ends at unsigned review and cannot sign or deliver.

See https://github.com/oznetmaster/CrestronHomeDevTools/blob/main/docs/submission/AutomationWorker.md for configuration and evidence boundaries.

Copyright (c) 2026 Neil Colvin. MIT licensed. Crestron and Crestron Home are trademarks of Crestron Electronics, Inc. This project is independent and is not affiliated with, endorsed by or sponsored by Crestron Electronics, Inc.

CrestronHomeDevTools v1.22.0

Choose a tag to compare

@github-actions github-actions released this 29 Sep 03:30

CrestronHomeDevTools 1.22.0

This release connects required physical-action tests to the release workflow before endurance, and supports sequential test phases on explicitly selected processors.

  • Durable operator requests appear in a Windows desktop inbox and resume the waiting fixture when answered. A persistent listener discovers new runs for selected trusted profiles and stays quiet between requests. Operator acknowledgements never substitute for functional test results or authorize signing or delivery.
  • Separate initial-processor tests use their own explicit credential bindings and trust pins, with the same candidate package and source. Main-processor credentials are not an implicit fallback. Shared worker and fixture inbox identities are checked before hardware access.
  • Coordinated manual outage recording observes endpoints independently, retains interruption and recovery bounds, and preserves restoration work after cancellation. A pinned default-program uptime reader provides a program clock; it does not establish driver lifetime or completed initialization.
  • Both main and separate initial phases must provide their required passing evidence before endurance starts. Rehearsals follow the same ordering. Failed, incomplete and uncertain evidence remains retained.
  • The complete Windows bundle includes the operator listener and watcher installation scripts. Automation uses CrestronHomeNUnit 2.1.0, including explicit saved-Home selection and value-based Android profile comparison; tests remain on NUnit 5.0.0.

Validation: all 1,680 DevTools regression tests passed. A live desktop diagnostic delivered and acknowledged two successive synthetic requests through one persistent listener and verified cleanup of its validation tasks. A separate Android navigation diagnostic switched between two saved processor Homes, checked both saved local addresses and ports, and returned to the original Home. These diagnostics sent no device commands and are not a completed submission rehearsal. Coordinated physical outage/sensor fixtures and the full protected-stage handoff still need validation in the complete workflow.

Update only newly prepared attempts; frozen runs retain their original tools and evidence. Rehearsal prepares unsigned review material and cannot sign or deliver. Saved credentials do not grant artifact authorization. Provider-confirmed delivery is separate from Crestron acceptance.

See https://github.com/oznetmaster/CrestronHomeDevTools/blob/main/docs/submission/OperatorSteps.md for physical-action prompts and the persistent listener.

Copyright (c) 2026 Neil Colvin. MIT licensed. Crestron and Crestron Home are trademarks of Crestron Electronics, Inc. This project is independent and is not affiliated with, endorsed by or sponsored by Crestron Electronics, Inc.

CrestronHomeDevTools v1.21.0

Choose a tag to compare

@github-actions github-actions released this 28 Sep 20:28

CrestronHomeDevTools 1.21.0

This release updates the test workflow to NUnit 5 and adds reusable outage evidence recording and optional stored GitHub authentication.

  • Owned DevTools tests and the Android sample use NUnit 5.0.0 with CrestronHomeNUnit.TestAdapter 2.0.0. Existing frozen runs retain their original tools and framework pins. Updating the tools does not change an application-driver package or migrate its separate test fixtures automatically.
  • A separate installed-driver fixture can run after the main app tests and before endurance. Its deployment identity, input files, retained evidence and interrupted-operation handling follow the normal workflow. Setup reports declared initial evidence gaps before a run begins.
  • Outage evidence import checks the selected components, common interruption interval, recovery-clock bounds, required functional observations and original-state restoration. It retains partial and failed evidence. The recorder sequences interruption and restoration, including uncertain interruption outcomes, and gives each attempted component an independent restoration timeout.
  • Outage hardware integration remains explicit: the recorder requires a trusted provider with actual control and observation bindings. A timer, open network port or operator reply is not a measured program-load event. The recorder does not make power/network tests unattended merely by being installed.
  • Release intake and the unattended release watcher can select a named GitHub API credential from the encrypted private store. Authentication is optional for public repositories. Configured credentials must match api.github.com:443; an inaccessible selected entry requires attention instead of falling back silently. The setup form retains the optional evidence-worker binding reference without substituting the developer's signing store.
  • Stored GitHub access authenticates API inspection and asset downloads. It does not configure Git checkout credentials or establish complete private-repository workflow support. Tokens are not supplied through command arguments or environment variables.
  • Documentation distinguishes Android tests, experimental Apple UI tooling, iOS apps running on a Mac and actual physical-iPhone testing.

Validation: all 1,595 discovered NUnit 5 tests passed. Windows and Ubuntu each passed 266 document tests and 11 workflow-template checks. The Windows console download passed its 22 bundle checks, and the setup application built without warnings or errors. These are tooling checks; they do not establish a new hardware rehearsal or submission. The release workflow separately builds and validates the versioned artifacts before publication.

The corrected full hardware workflow and separate protected signing/delivery handoff still require their own live validation. Existing accepted drivers and earlier assisted submissions are separate evidence. Rehearsal prepares an unsigned review packet and cannot sign or deliver. Exact artifact authorization remains separate from saved credentials. Provider-confirmed delivery is not Crestron acceptance or certification.

Use the public starting document, setup guide and worker documentation matching the selected release. Preserve evidence and active runs; apply changed tooling only to a newly prepared attempt.

Copyright (c) 2026 Neil Colvin. MIT licensed. Crestron and Crestron Home are trademarks of Crestron Electronics, Inc. This project is independent and is not affiliated with, endorsed by or sponsored by Crestron Electronics, Inc.

CrestronHomeDevTools v1.20.0

Choose a tag to compare

@github-actions github-actions released this 28 Sep 13:17

CrestronHomeDevTools 1.20.0

This release hardens the release-to-submission preview so missing initial evidence, incomplete child-device configuration and broken help links are detected before later stages depend on them.

  • Require valid initial Windows, processor and app evidence for all applicable functional, physical-event and outage checks before starting endurance, in both Rehearsal and Submit. Planned gaps cannot bypass this gate. A shortened rehearsal interval remains disclosed; existing collections and failed evidence are preserved.
  • Add read-only driver-readiness checks for the installed platform and its children, including configuration/review flags, loaded/online state, version and native-light controls. Deployment-bound app tests and new endurance collections retain fresh readiness reports. The check does not repair devices automatically.
  • Generate clickable HTTP(S) help links and verify their exact PDF destinations during rendering and packaging, including when consuming older receipts. Printed addresses alone no longer satisfy link validation.
  • Use CrestronHomeNUnit.TestAdapter 1.12.4 for exact selected Explicit Android cases and saved-Home menu navigation. Android evidence auditing applies the same selection rules and still rejects skipped or mismatched execution.
  • Preserve managed children across app testing and endurance, bind their verified native-load identities, and support scoped cleanup and inspected recovery without replaying interrupted creation. Add reviewed platform-tree reload and final driver-removal evidence with app/log observations.
  • Bind post-endurance functional checks and response comparisons to retained deployment evidence. Reviewed source-based N/A decisions, scoped limitations and additive review evidence retain their original candidate/policy identities. Representative hardware coverage does not claim every supported model was physically tested.
  • Retain per-outlet Kasa/Tapo endurance diagnostics and partial successes. New plans can explicitly continue collecting inconclusive observations, but those runs remain nonpassing and require attention; the worker does not automatically accept or export them as passing.
  • Timestamp worker notices, suppress transient lock-contention chatter and distinguish informational updates from required action. Support protected workers under the signed-in owner and normalize trusted Windows storage mounts while rejecting links within a run.
  • Close configuration event sockets with a bounded normal handshake. Validate fresh deployment app plans before their final device IDs exist. Include corrected NuGet documentation links and release-note metadata.

Validation before publication: 1,483 discovered DevTools .NET tests and 266 document-tool tests passed. Protected-stage regression checks exercise approval waits, signing, upload-before-email, retention and recovery without duplicate sending using synthetic documents and fake providers with the real delivery journal. A real LibreOffice help conversion preserved the support/repository PDF links, and the contact page was visually checked. These checks do not establish a new unattended hardware submission.

The complete corrected sequence still requires a fresh end-to-end rehearsal and verification of the separate protected-worker handoff using the released tools. Earlier successful assisted submissions and the earlier one-hour rehearsal remain distinct evidence. Delivery does not establish Crestron acceptance or certification. See validation boundaries.

Start with the single operator guide, worker setup and help build contract. Existing active runs retain their pinned tooling and inputs; apply the new sequencing/readiness rules to a newly prepared run. Exact signing and delivery authority remains separate from saved credentials.

Copyright (c) 2026 Neil Colvin. MIT licensed. Crestron and Crestron Home are trademarks of Crestron Electronics, Inc. This project is independent and is not affiliated with, endorsed by or sponsored by Crestron Electronics, Inc.