Reko version 0.12.0 has been released. It has the following features and changes:
-
The solution has been upgraded to .NET 8. Downstream projects using the
Reko.Decompiler.Runtime
NuGet and running on earlier versions of .NET will
have to upgrade to .NET 8 or later to use this version. -
The
Expression
class was refactored to an interface. Doing this allowed the
refactoring of theAddress
class to astruct
. Similarly, theMachineOperand
class was refactored to an interface. This allowedReko.Core.Constant
and
Reko.Core.Address
to implement theMachineOperand
interface. TheAddress
type is one of the most heavily used types in the Reko project, and making it
a struct measurably improves Reko's execution time and memory consumption
performance. -
Added support for the following processor architectures:
- DEC PDP-7
- Panasonic MN103
- NEC SX-Aurora
- Maxim MaxQ
- Beyond BA
As usual with new architectures, they will be rough around the edges until
they get attention. The Reko project greatly appreciates volunteers who can
provide sample binaries to stress these new implementations.
-
Scanner V2 improvements. In the background, Reko is preparing for a big
change in how it processes input files. Regrettably, time constraints are
slowing down the progress in this direction. Once completed, Scanner V2 will
be the main feature of Reko's v1.0 release. -
Octal constants with a "0o" prefix. This is not compliant with C/C++.
Future versions of Reko will use the normal "0" prefix for octal numeric
literals. -
Support was added for user-provided Reko plugins by implementing the
Reko.Core.Plugins.IPlugin
interface, as documented here. -
Support for BBC Micro DFS archives added
-
Various other small fixes.
Special thanks to @smx-smx for his assistance in repairing broken CI builds.