Skip to content

Rename COV subscription methods to idiomatic casing (deprecate old names) - #14

Merged
gencto merged 1 commit into
mainfrom
claude/keen-tesla-h9zjqd
Oct 12, 2026
Merged

gencto merged 1 commit into
mainfrom
claude/keen-tesla-h9zjqd

Conversation

@gencto

@gencto gencto commented Oct 12, 2026

Copy link
Copy Markdown
Owner

Summary

Pre-1.0 API-consistency polish. The four COV subscription methods used all-caps COV (inconsistent with covEvents, BacnetCovReference, BacnetConfirmedService.subscribeCov, …) and subscribeCOV/unsubscribeCOV took propId while every other method uses propertyId.

  • New methods: subscribeCov, unsubscribeCov (with propertyId), subscribeCovPropertyMultiple, unsubscribeCovPropertyMultiple — on both BacnetClient and the FakeBacnetClient test double.
  • Non-breaking: the old subscribeCOV/… names (and the propId param) remain as @Deprecated forwarders, so existing code keeps working with a deprecation hint; removable at 1.0.
  • All first-party callers (PropertyMonitor, the example, the interop tool) and tests moved to the new names. allocateProcessId is now documented on the subscribe methods so distinct subscribers get distinct process ids. The fake records the new service names.

Deliberately not included (investigated, declined): a positional constructor for BacnetPropertyReference — it can't be added without a breaking change (a second unnamed constructor is impossible) or redundant API, for low value; and enrollmentFilter encoding in GetEnrollmentSummary — it needs a new BACnetRecipientProcess choice encoder for a niche service, low value. The pub.dev presentation items (screenshots, LICENSE copyright holder, topic swap) are left to the maintainer.

Checklist

  • dart format, dart analyze --fatal-infos and dart test pass — analyze is clean of deprecated self-use; unit (333) and integration suites green
  • Tests cover the change (the existing COV unit + integration suites run against the new names; the fake records the new service strings)
  • Public API changes are documented and listed in CHANGELOG.md
  • Generated files are regenerated (no drift)

🤖 Generated with Claude Code

https://claude.ai/code/session_01Q3Woz4Bu11Eqhjsh6q3q5b


Generated by Claude Code

…mes)

The four COV subscription methods used all-caps `COV`, inconsistent with the
rest of the API (covEvents, BacnetCovReference, BacnetConfirmedService.
subscribeCov, ...), and subscribeCOV/unsubscribeCOV took `propId` while every
other method uses `propertyId`.

Add subscribeCov / unsubscribeCov (with `propertyId`) /
subscribeCovPropertyMultiple / unsubscribeCovPropertyMultiple as the real
methods on both BacnetClient and the FakeBacnetClient test double, and keep
the old names as @deprecated forwarders so existing code keeps working
(removable at 1.0). Move all first-party callers (PropertyMonitor, the
example, the interop tool) and tests to the new names, and document
allocateProcessId on the subscribe methods so distinct subscribers get
distinct process ids. The fake records the new service names.

format, analyze --fatal-infos (no deprecated self-use) and the unit suite
are clean.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Q3Woz4Bu11Eqhjsh6q3q5b
@gencto
gencto merged commit e6a7908 into main Oct 12, 2026
11 checks passed
@gencto
gencto deleted the claude/keen-tesla-h9zjqd branch October 12, 2026 21:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants