Acuminator 4.0.1: February 12, 2026
Acuminator 4.0.1 includes the bug fixes and enhancements described in this section, as well as the features that have been implemented in previous versions. This is a hotfix release that addresses issues discovered in Acuminator 4.0.0.
New PX1039 Diagnostic
The new PX1039 diagnostic forbids the use of the PX namespace and its sub-namespaces for ISVs, OEMs, partners, and other external developers. These namespaces are reserved for use by Acumatica. The diagnostic is active only when the ISV Mode is enabled in Acuminator settings in Visual Studio options
(Tools -> Options -> Acuminator -> General -> Enable additional diagnostics for ISV Solution Certification).
Improvements in Existing Diagnostics
-
The PX1065 diagnostic has been improved to reduce the amount of redundant alerts. The diagnostic reports missing BQL fields in DACs. Previously, it always displayed errors for a DAC extension or a derived DAC when its base DAC had a DAC field with a missing BQL field. For DAC extensions that customize DACs with multiple incorrect DAC fields, Acuminator displayed a lot of redundant alerts. After the improvement, the PX1065 diagnostic reports DAC fields from the base DAC only if they are customized by the DAC extension or overridden by the derived DAC.
-
The algorithm that determines whether a DAC is fully unbound from the database has been enhanced with several heuristics. Now Acuminator determines whether a DAC is fully unbound according to the following rules:
- A DAC with no DAC fields or with only unbound DAC fields is always considered fully unbound.
- A DAC marked with
PX.Data.PXVirtualAttributeis always considered fully unbound even if it has DB bound fields. - A DAC marked with
PX.Data.PXProjectionAttribute,PX.Data.PXAccumulatorAttributeor any other attribute derived fromPX.Data.PXDBInterceptorAttributeis always considered DB bound even if it has only unbound fields. - A DAC with a DB bound
NoteIDfield is considered fully unbound ifNoteIDis the only DB bound field in the DAC and all other fields in the DAC are unbound.
These changes reduced the amount of false alerts for the PX1036, PX1069, and PX1110 diagnostics.
-
The detection of view delegates in graphs and graph extensions has been fixed to correctly recognize view delegates in rare scenarios.
-
The documentation for the PX1079, PX1080, and PX1101 diagnostics has been improved.
Improvements in Acuminator Console Runner
- The new
--non-interactivecommand-line flag has been added to Acuminator Console Runner. By default, Acuminator Console Runner supports interactive cancellation viaCtrl + Ckeyboard shortcut. The--non-interactiveflag disables the interactive cancellation during the run. This allows Acuminator Console Runner to be used in non-interactive CI/CD environments such as Azure Pipelines. - The issue with potential redistribution of MSBuild DLLs with the Acuminator Console Runner has been fixed.
Fixed Bugs
- The PX1000 diagnostic displayed false alert for
PXOverridemethods that override action delegates of graph actions. - The PX1023 diagnostic displayed false alert for DAC fields with the
PX.Data.PXDBPackedIntegerArrayAttributeattribute. - The PX1096 diagnostic did not report
PXOverridemethods that were incompatible with their base methods only by return types, and the signatures of their delegate parameters were fully compatible with their base methods. - The PX1096 diagnostic did not detect an incompatibility in the
ref,out,in, andref readonlyparameters and return types between aPXOverridemethod and its base method. - The PX1096 diagnostic displayed false alerts for
PXOverridemethods that override methods from thePXGraphtype, such as thePersistmethod. - The PX1098 diagnostic displayed false alert for
PXOverridemethods that override C# properties with a correct XML comment. - The code fix for the PX1098 diagnostic did not correctly generate XML doc comment for the
PXOverridemethods that override C# properties. - The code fix for the PX1098 diagnostic did not correctly handle the
PXOverridemethods with theref,out,in, andref readonlyparameters. - The code fixes for the PX1079 and PX1101 diagnostics did not correctly handle the
PXOverridemethods with theref,out,in, andref readonlyparameters and/or
refandref readonlyreturn types. After the bugfix, the diagnostics do no provide code fixes for such methods. - The PX1102 diagnostic displayed false alerts for the
PXOverridemethods that override C# properties.
Other Changes
- Acuminator dependencies have been updated.