Map<String, Object> in AuraEnabled now failing in Spring 19 with "Value provided is invalid for action parameter"

Fix for this issue(W-5724071) is in the upcoming patch (scheduled to be released in mid Jan).

In Spring'19 salesforce is addressing various long standing issues with deserialization pertaining to apex actions. Brief list of enhancements include,

  • Make conversion of all primitive apex data types work for positive use cases. There were a few reported issues here by the community (e.g. link).
  • Make incorrect usage error out with a clear develop error. Currently any incorrect usage results in internal server error (resulting in noise for us and useless stack-id for developer)
  • Add support POJO style user defined Apex types
  • Make handing of SObjects consistent
  • Add support for nested lists/maps

I have also reached out to documentation team to ensure more details of the enhancements get incorporated in the public docs.