All notable changes to phpxdr
will be documented in this file
- Removed redundant doc block return types from interface definitions.
- Breaking change: altered the
XdrUnion
interface; hopefully it is now easier to understand and use.
- Added a
toBytes()
convenience method for returning buffer contents as a string of raw bytes.
- Adjusted interface class doc-blocks: 'Retrieve' is now 'Return'
- Added test coverage generation to the PHPUnit configuration. Requires xdebug or PCOV.
- Added some additional test coverage.
- The method return types have been tweaked a bit to hopefully improve IDE introspection and code coverage.
- Fixed a bug in a Union test that had previously been missed.
- Altered the
XdrEnum
interface:getXdrValue
is nowgetXdrSelection
AndisValidXdrValue
is nowisValidXdrSelection
.
- Encoding Fixed length arrays will now throw an error exception if the array count does not exactly match the defined fixed length.
- Added more test coverage for the
XdrArray
interface methods.
- Fixed a bug that prevented fixed length arrays from being read correctly.
- The
getXdrFixedCount()
method in theXdrArray
interface has been renamed togetXdrLength()
which should hopefully be more clear.
- The previous update did not account for unions that represent fixed length values. The
XdrUnion
interface has been altered so that fixed lengths are now also defined statically and will be looked up by discriminator.
- Removed
setValueFromXdr()
method from theXdrUnion
interface. This method felt redundant from a usability perspective though it had a good technical reason to be there.
- Added a new static
getXdrArms
method to theXdrUnion
interface. This will ensure that we can determine the union's value type without having to instantiate an empty class ahead of time. Going forward all union arms will have to be defined statically, which is probably for the best.
- Added phpstan as a dev dependency.
- The fix in 0.0.5 for accepting class names as type indicators did not quite go far enough. More test coverage has been added and some further adjustments made to hopefully fix this issue for real.
- Allow union values to be XDR::VOID (aka null.)
- Fix bug preventing the encoding of variable arrays.
- Allow valid class names to be accepted as XDR types. The values are inspected to determine their true xdr types.
- Adjusted the
XdrOptional
interface to hopefully be more intuitive. Removed references to "evaluation" in favor of "hasValue".
- Added better return types to
getXdrDiscriminator()
method in theXdrUnion
interface.
- Removed the
isValidXdrDiscriminator()
method from theXdrUnion
interface.
- comprehensive usage guid in project wiki.
- base16 alias for hex methods.
- Moved phpunit config from
phpunit.xml
tophpunit.xml.dist
- Removed redundant methods from the
XdrUnion
interface.
- initial proof of concept and beta release.