Skip to content

Rel25 12 1#1794

Merged
oberstet merged 5 commits intocrossbario:masterfrom
oberstet:rel25_12_1
Dec 5, 2025
Merged

Rel25 12 1#1794
oberstet merged 5 commits intocrossbario:masterfrom
oberstet:rel25_12_1

Conversation

@oberstet
Copy link
Copy Markdown
Contributor

@oberstet oberstet commented Dec 5, 2025

Description

fix all issues in #1793


Related Issue(s)

Closes or relates to #1793


Checklist

  • I have referenced relevant issue numbers above
  • I have performed a self-review of my code and it follows
    the style guidelines of this project
  • I have added new or used existing tests that prove my fix
    is effective or that my feature works
  • I have added necessary documentation (if appropriate) and
    updated the changelog
  • I have added an AI assistance disclosure file (required!)
    in this PR

- Update build-system to cffi>=2.0.0 (remove CPython-only condition)
- Add cffi>=2.0.0 to base dependencies for NVX native extensions
- Remove redundant cffi from scram extra (inherits from base)
- Empty nvx extra (cffi now always available in base)

This ensures:
- CFFI is available for both CPython and PyPy builds
- NVX extensions can build on PyPy (not just CPython)
- Consistent with zlmdb which already uses unconditional CFFI
- Latest stable CFFI 2.0.0 with Python 3.13/3.14 compatibility

Fixes crossbario#1783

Note: This work was completed with AI assistance (Claude Code).
…rs (crossbario#1766)

Fix TypeError in FlatBuffers serialization for WAMP messages with
payload transparency mode (enc_algo). The FlatBuffers AddPptScheme()
and AddPptSerializer() methods expect uint8 enum values, but were
receiving string values like 'cryptobox'.

Affected message types:
- Error
- Call
- Result
- Invocation
- Yield

(Publish and Event were already fixed)

The fix converts string values to integers using the existing
ENC_ALGOS_FROMSTR and ENC_SERS_FROMSTR mapping dictionaries.

Note: This work was completed with AI assistance (Claude Code).
Move vendored flatbuffers Python runtime from top-level `flatbuffers`
package to `autobahn.flatbuffers` namespace to avoid conflicts with
the standalone PyPI flatbuffers package.

Changes:
- Delete src/flatbuffers/ (was versioned copy from upstream)
- Add vendor-flatbuffers justfile recipe to copy from deps/flatbuffers
  at build time (deps/flatbuffers is the git submodule tracking upstream)
- Update all imports: `import flatbuffers` -> `from autobahn import flatbuffers`
- Add src/autobahn/flatbuffers/ to .gitignore (generated at build time)
- Update pyproject.toml: remove flatbuffers* from package includes,
  update ruff exclude path
- build and build-sourcedist recipes now depend on vendor-flatbuffers

This ensures autobahn's vendored flatbuffers doesn't conflict with
users who also install the standalone flatbuffers package from PyPI.

Note: This work was completed with AI assistance (Claude Code).
)

- Add vendor-flatbuffers as dependency to install and install-dev recipes
- Update build-fbs to also rewrite 'from flatbuffers.X' imports
- Fix existing gen/ files with correct autobahn.flatbuffers imports

Note: This work was completed with AI assistance (Claude Code).
@oberstet oberstet merged commit 0faf4be into crossbario:master Dec 5, 2025
33 checks passed
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