feat(sdk): remove fallbacks, add deprecation warnings, bump v1.0.0 (#357) #365

Closed
forbes wants to merge 1 commits from feat/gears-addon into main
Owner

Summary

Phase 8 (final) of the KCSDK epic (#346). Removes FreeCADGui fallback paths in SDK wrappers, adds deprecation warnings to superseded methods, and bumps the SDK to v1.0.0.

Changes

SDK v1.0.0

  • Bump SDK_VERSION to 1.0.0 in version.py and package.xml
  • Remove <pure_python>true</pure_python> from package.xml (kcsdk is C++)

Fallback removal (require kcsdk)

  • context.py — Remove all 7 FreeCADGui.* fallback branches; raise RuntimeError if kcsdk unavailable
  • dock.py — Remove _register_via_pyside() fallback entirely
  • toolbar.py — Remove inject_commands() fallback
  • menu.py — Remove _SDKMenuManipulator fallback class
  • origin.py — Remove query fallbacks (list_origins, active_origin, set_active_origin, get_origin); keep register_origin/unregister_origin which still need FreeCADGui.addOrigin/removeOrigin

Deprecation warnings

  • Add Base::Console().warning() to 11 superseded FreeCADGui.* methods in ApplicationPy.cpp
  • Methods continue to work — warnings are informational
  • addOrigin/removeOrigin excluded (not yet superseded)

Net result

8 files changed, 95 insertions(+), 200 deletions(-)

Testing

  • Build: FreeCADGui + KCSDK + kcsdk_py all compile cleanly
  • pixi run test-kindred: all 39 Tier 1 tests pass

Closes #357

## Summary Phase 8 (final) of the KCSDK epic (#346). Removes FreeCADGui fallback paths in SDK wrappers, adds deprecation warnings to superseded methods, and bumps the SDK to v1.0.0. ## Changes ### SDK v1.0.0 - Bump `SDK_VERSION` to `1.0.0` in `version.py` and `package.xml` - Remove `<pure_python>true</pure_python>` from `package.xml` (kcsdk is C++) ### Fallback removal (require kcsdk) - **context.py** — Remove all 7 `FreeCADGui.*` fallback branches; raise `RuntimeError` if kcsdk unavailable - **dock.py** — Remove `_register_via_pyside()` fallback entirely - **toolbar.py** — Remove `inject_commands()` fallback - **menu.py** — Remove `_SDKMenuManipulator` fallback class - **origin.py** — Remove query fallbacks (`list_origins`, `active_origin`, `set_active_origin`, `get_origin`); keep `register_origin`/`unregister_origin` which still need `FreeCADGui.addOrigin/removeOrigin` ### Deprecation warnings - Add `Base::Console().warning()` to 11 superseded `FreeCADGui.*` methods in `ApplicationPy.cpp` - Methods continue to work — warnings are informational - `addOrigin`/`removeOrigin` excluded (not yet superseded) ## Net result ``` 8 files changed, 95 insertions(+), 200 deletions(-) ``` ## Testing - Build: FreeCADGui + KCSDK + kcsdk_py all compile cleanly - `pixi run test-kindred`: all 39 Tier 1 tests pass Closes #357
forbes added 1 commit 2026-03-01 20:32:42 +00:00
feat(sdk): remove fallbacks, add deprecation warnings, bump v1.0.0 (#357)
All checks were successful
Build and Test / build (pull_request) Successful in 30m5s
99a08e4e99
- Bump SDK_VERSION to 1.0.0 in version.py and package.xml
- Remove <pure_python> tag from package.xml (kcsdk is C++)
- Remove all FreeCADGui.* fallback paths in context.py, dock.py,
  toolbar.py, menu.py; require kcsdk module
- Remove query fallbacks in origin.py (keep register/unregister
  which still need FreeCADGui.addOrigin/removeOrigin)
- Add deprecation warnings to 11 superseded FreeCADGui methods
  in ApplicationPy.cpp (not addOrigin/removeOrigin)
- All 39 Tier 1 tests pass
forbes closed this pull request 2026-03-02 19:03:33 +00:00
All checks were successful
Build and Test / build (pull_request) Successful in 30m5s

Pull request closed

Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: kindred/create#365