Drop v1 compatibility shim (3.0.0-RC1) - #7
Closed
claude-asf28fjas[bot] wants to merge 4 commits into
Closed
Conversation
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.
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.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Removes the v1 compatibility shim that v2 shipped as a transition aid: the global
dicom_tag/dicom_convert/dicom_netclasses, theis_dcm/Executehelpers, andsrc/Compat/ShimContract.php, plus their test suites. Pure removal -- the v2 core never depended on the shims (dependency flowed shim -> core only), soDICOM\,PACS\, andDCMTK\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.