Changelog¶
[v0.7.0] - 2026-10-06¶
🚀 Features¶
- (i3c) Enable reset pin to perform target reset action
- (i3c) Support I3C target DATA with reset action
- (mctp) Get_targets() hands back an MCTP endpoint class
- (spi) Add PxSPIFifoTarget
- (i3c) Add user configurable target reset actions
🐛 Bug Fixes¶
- Align ZMQ request timeout with device operation deadline
🚜 Refactor¶
- Protobuf-free public API on topology (buses, devices) and events
- (spi) Refactor spi transactions to include IDLE-time structure
- Protobuf-free public API, domain types for POD and GPIO
📚 Documentation¶
- Inform users that may have breaking changes
- Claim the context7 website id
- (spi) Fix enqueue typo in send_transactions docstring
💼 Miscellaneous¶
- Add support of python 3.15
- Remove license classifier per PEP 639
[v0.6.0] - 2026-09-22¶
🚀 Features¶
- Revision-aware atomic topology updates and updated_topology event
- Add user controllable timeout to device operations and recognizable zmq timeout error
- Multiple event handles for single topic, adding event handler before attach, re-add handler on reattach
- Add get_buses() for typed bus enumeration
- (i3c) Do_daa from an assignment list or a maximum assignments
🐛 Bug Fixes¶
- Invalid supported_group_address_count check on I3C targets
🚜 Refactor¶
- Module-level logging via aqpxlib.utils.log
- Slim package root: only export AqProtocolExerciser from aqpxlib
- (i3c) Drop deprecated I3C legacy transaction API
📚 Documentation¶
- Support Context7 MCP to read our docs
[v0.5.1] - 2026-09-16¶
🚀 Features¶
- (i2c) Mirror i2c methods from MicroPython
🐛 Bug Fixes¶
- (abstract) Reuse existing device ID in attach_to_bus
[v0.5.0] - 2026-09-11¶
🚀 Features¶
- Include PXAPI response messages in exceptions
- (sessions) ZMQ protocol v2 (client-side) migration
🐛 Bug Fixes¶
- (types) Promote ty rule invalid-return-type
- (types) Promote ty rule possibly-missing-attribute
- (types) Promote ty rule parameter-already-assigned
- (types) Promote ty rule invalid-assignment
- (types) Promote ty rule unresolved-attribute
- (types) Promote ty rule invalid-method-override
- (docs) Fix docs build using strict mode to prevent deployment failure
📚 Documentation¶
- Copy install script in one line
- Update README.md for publishing to PyPI
[v0.4.1] - 2026-09-03¶
🚀 Features¶
- (i3c) Support I3C controller HDR-DDR timing configuration
📚 Documentation¶
- Link to product page
[v0.4.0] - 2026-08-21¶
🚀 Features¶
- Add additional_data get/set helpers on PxAbstractDevice
- Add additional_data get/set helpers on PxAbstractDevice
- (i3c) Support i3c FIFO target class
📚 Documentation¶
- Add translation for existing docs (Simplified Chinese / Traditional Chinese)
- Publish changelog for users
[v0.3.0] - 2026-08-11¶
🚀 Features¶
- (i3c) Add i3c 8bit addressable memory target class
🚜 Refactor¶
- Rename I2C 16KB memory target to 4KB
[v0.2.1] - 2026-07-21¶
🚀 Features¶
- (pwm) Add PWM support
- (i2c) Add 16 KB memory target Python wrapper
🐛 Bug Fixes¶
- Some config cannot be set due to parsing error in from_dict / to_dict roundtrip error from betterproto
[v0.2.0] - 2026-07-08¶
🚀 Features¶
- (i3c) Support hdr-ddr direct_ccc_read & fix broadcast_ccc_write
- (i2c) Add FIFO target Python wrapper
🐛 Bug Fixes¶
- Incorrect HDR-DDR transaction list in broadcast CCC write
🚜 Refactor¶
- Migration i3c ops / accomodate nak_cont (ignore_nak) usage
🧪 Testing¶
- Add test which checks local config is applied when device is not attached
💼 Miscellaneous¶
- Print out mode enum name instead of only value to provide clear unsupported modes
[v0.1.7] - 2026-06-18¶
🚀 Features¶
- (i3c) Add send_i2c_transactions to I3C controller
🐛 Bug Fixes¶
- Argument check of read count
- Config is not updated locally when device is not attached
🚜 Refactor¶
- (i2c, i3c) Unify I2C/I3C sub-address read/write API
[v0.1.6] - 2026-06-12¶
🚀 Features¶
- (cts) Add method for I3CBaseController to create specific operation towards CTS instances
- (i2c) Add 256byte / 8bit sub address memory target
- (gpio) Able to get trigger params
📚 Documentation¶
- (i2c) Remove PXIP reference from external docs
- Publish docs to gh-pages branch to provide no history
- Publish docs with no history
[v0.1.5] - 2026-06-01¶
🚀 Features¶
- Allow usage of dev container
- (i3c) Support emit target reset pattern from idle
- (i3c) Controller able to send hdr-ddr Broadcast SETMWL CCC
- (gpio) Add GPIO Trigger setup & event
🐛 Bug Fixes¶
- Allow multiple connections to zmq server from pxlib
- Typo of stop type
📚 Documentation¶
- Add instructions regarding I3C controller status & session connection
- Document GPIO functionality
💼 Miscellaneous¶
- Add pytest extensions
- Give dev container a name
- Add ability to run ruff from docker
[v0.1.4] - 2026-04-30¶
🚀 Features¶
- (gpio) Able to get / set gpio status
🐛 Bug Fixes¶
- Allow multiple detach_from_bus
- Ty type check error but not reported
📚 Documentation¶
- Update I2C controller and UART docs
[v0.1.3] - 2026-04-09¶
🚀 Features¶
- Add support for dc output control
[v0.1.2] - 2026-03-25¶
🚀 Features¶
- (i2c) Add setter for user to switch I2C register type
- (i3c) Add a setter for user to directly set the register type.
- (i3c) Add additional parameter of ccc_parity_mode for direct_ccc_read
🐛 Bug Fixes¶
- (i3c) The data list used in direct_setgrpa is incorrect
📚 Documentation¶
- Fix hdr-ddr write instruction error
- Enhance document layout
💼 Miscellaneous¶
- Add new linter rules
[v0.1.1] - 2026-02-10¶
🐛 Bug Fixes¶
- Docs release pipeline
[v0.1.0] - 2026-02-02¶
🚀 Features¶
- (i3c) I3c controller hdr-ddr write method
- Support config setter for devices
- (spi) Add basic 32bit register target support
- Support uart sending parity error
- Add uart parity configuration
- Add optional ibi payload size parameter for SETMRL
- Add pod I/O setter / getter on toplevel
- More controls over PXPOD
- Set voltage to handles
- Add i3c private write / read support
- I3c ibi support
🐛 Bug Fixes¶
- Manual build workflow
- Remove uneccessary logging
- Cleanup unused get_state methods
- Update src/pxlib/i3c/i3c_base_controller.py
- Fix input parameter as list of int instead of bytes
- (i3c) Also avoid i3c read count = 0
- (i2c) Raise ValueError when read count equals 0
- Mkdocs live reload not working on python 3.10
- Fix incorrect ibi request error message and skip_bcr_check only checks bcr
- Docstring of SETMWL is misplaced
- Fix Dockerfile dependency file
- Direct ENTAS1 shall accept list of addresses instead of one
- Fix ineffective removal of controllers
- Use PxControllerDevice instead of old deprecated config
- Pub-sub using incorrect repsonse type
- Adjust exception naming
- Topic are upper case hex
- Pxlib raise error with status code
🚜 Refactor¶
- (i2c) Reformat i2c subaddress type as i3c's
📚 Documentation¶
- Update site_url in mkdocs.yml
- Add more pxlib documentation for release
- Initial revised version of i3c controller / targets documentation
- Apply new design of docs
- Initiate documentation environment
- Update TODO
- Create README.md to track TODOs
💼 Miscellaneous¶
- Allow setting host to connect to
- Bump 0.0.2
- Add ty type checker module
- Stricter linting rules
- Move attach_to_bus to abstract level
- Move get/set state method to abstract level
- Revise I2C controller scan all function
- Add uv.lock renovate as well
- Add spi controller
- Add make compile for compile protobuf & and update submodule
- I2C controller scanning all addresses on bus
- Convert list to bytes
- Change i2c_read_addr/i2c_write_addr argument type
- Add I2C controller
- Add makefile to sync env easier
- Cleanups based on protobuf cleanups
- Uv setup with pyproject.toml
- Add i2c
- Remove ignored linting rules related to documentaion and annotation
- Method for I3C targets to send hot-join request
- Silent event handler loop debugging log
- Receive ACK / NACK status from PS
- Group addresssing support (controller ccc methods and target configs)
- Unify I3C operations to PxDeviceOperation
- Remove voltage setup from individual device
- Fix more linting issues
- Fix ruff lint rules
- Only update bus voltage if given
- Can customize getcaps response
- Support minimum mrl setting, i3c_controller: send broadcast ccc with parity
- Can now initialise & receive data
- Can now send data
- Fix SETNEWDA not shifting new address << 1
- Receive event state update events
- Allow sending broadcast & direct cccs with bad parity
- Add private_read_addr function to read from subaddress in i3c mode
- Change setnewda to take multiple new addresses (one for each old)
- Allow setting sub_address_type without config, fill id_value in config if not present
- Export target config protobuf messages
- Add more ccc support
- Add several ccc
- Clarify if a zero-length message is a request or response
- Add event handler support
- Support for creating bus
- Remove unused proto files
- Adjust structure to integrate with pxip