Skip to content

Drop v1 compatibility shim (3.0.0-RC1) - #7

Closed
claude-asf28fjas[bot] wants to merge 4 commits into
mainfrom
claude
Closed

Drop v1 compatibility shim (3.0.0-RC1)#7
claude-asf28fjas[bot] wants to merge 4 commits into
mainfrom
claude

Conversation

@claude-asf28fjas

@claude-asf28fjas claude-asf28fjas Bot commented Jun 29, 2026

Copy link
Copy Markdown
Contributor

Removes the v1 compatibility shim that v2 shipped as a transition aid: the global dicom_tag / dicom_convert / dicom_net classes, the is_dcm / Execute helpers, and src/Compat/ShimContract.php, plus their test suites. Pure removal -- the v2 core never depended on the shims (dependency flowed shim -> core only), so DICOM\, PACS\, and DCMTK\ are untouched. Autoload trimmed to the three core namespaces; README and ROADMAP updated so the namespaced API is the only documented surface, and the example migration recipes keep their runnable v2 code.

Breaking: the global v1 API is gone, so this is the 3.0.0 major. To be tagged as a pre-release (RC1) first, then promoted to 3.0.0 after a soak window. Stable 2.0.0 consumers are unaffected.

Also includes the README predecessor-credit reword to match NOTICE.

claude added 2 commits June 29, 2026 11:41
The "Originally created by Dean Vaughan" line read as an authorship-lineage
claim about the v2 code, undercutting the clean-room independence asserted in
NOTICE and in the rest of the README. Reworded to acknowledge the original as
a conceptual predecessor that shares no code, consistent with NOTICE.
Removes the v1 compatibility layer that v2 shipped as a transition aid: the
global dicom_tag / dicom_convert / dicom_net classes and the is_dcm / Execute
helpers (compat/), src/Compat/ShimContract.php, and their test suites. Pure
removal -- the v2 core never depended on the shims (the dependency only flowed
shim -> core), so nothing in DICOM\, PACS\, or DCMTK\ changes.

composer.json autoload trimmed to the three core namespaces. README and
ROADMAP updated: the compatibility-shim section is gone and "Migrating from v1"
now states the namespaced API is the only surface. The example migration
recipes keep their runnable v2 code; the "Before" comments note the v1 form is
removed in v3.

Breaking: the global v1 API is no longer available; v1 callers must move to the
namespaced API (see docs/migration-v1-to-v2.md). This is the 3.0.0 major, to be
tagged as a pre-release (RC) first.
@claude-asf28fjas claude-asf28fjas Bot changed the title Reword v1 acknowledgment in README Drop v1 compatibility shim (3.0.0-RC1) Jun 29, 2026
claude added 2 commits June 29, 2026 20:59
Delete the migration guide, v1 capability map, and the completed rewrite and
shim plans from docs/. Drop the README 'Migrating from v1' section and rewrite
the intro, examples preamble, and API-reference heading without v1 framing.
Strip the Before/After v1-to-v2 scaffolding from every example so each reads as
a plain usage example. Reduce ROADMAP.md to the forward-looking expansion plan.
Remove the now-moot clean-room dev-rule sections from CLAUDE.md and
CONTRIBUTING.md and fix a link to a deleted plan. Scrub residual v1 parity
mentions from src/ doc-comments, example comments, a test comment, and the
tools README. NOTICE and src/ SPDX headers are kept as the provenance record.
Keep-a-Changelog history for the project: a comprehensive 2.0.0 entry for the
clean-room rewrite (namespaced API, Apache-2.0 relicense, PHP 8.5 floor, and the
jpg_to_dcm fix), backfilled 1.1.0 and 1.0.0 entries, and an Unreleased section
for the 3.0 shim removal.
@claude-asf28fjas claude-asf28fjas Bot closed this Jun 29, 2026
@claude-asf28fjas
claude-asf28fjas Bot deleted the claude branch June 29, 2026 22:51
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.

1 participant