All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Strict validation for
@paramand@returncounts. If tags are present, the parser asserts they must exactly match the number of variables in the opcode signature. - A comprehensive
pytesttest suite covering old-style opcodes, new-style opcodes, missing arguments, and syntax errors.pytest-covis now included for test coverage running at 100%.
- Removed unreliable heuristic for extracting return variable names directly from
xoutlines (which broke on complex calculations likexout aout * p4).
- Fixed parsing of new-style UDO return type signatures containing brackets/parentheses and commas (e.g.
melodic(itick, kdurs[], kpchs[], kamps[]):(i,i,i)).
- Added extraction of argument names to the
UDOEntrymodel (populatingarg_names). - Now supports extracting argument names from both new-style opcodes (e.g.,
opcode MyOp(k1:k, i1:i):k) and old-style opcodes (by scanning the body forxinassignments).
- Initial PyPI release capability and dependency management updates via
uv.