Thank you very much for getting this fixed! I updated and it appears to be working!
Also, as an FYI, I did happen across another slight difference that has an easy work-around, so it's not a problem, but I figured I'd pass along anyway in case it's helpful. In 2.9.5, I had a DataLoadingWorkspace with some target dataset mappings having text fields configured with an expression like:
!SourceTextField![:50]
in order to trim a longer source field down to the target field's field length. For those fields, when the source dataset's value was Null, it would simply set those fields for those features to Null as well. However, when moving to 3.1.2 (I didn't check specifically at 3.1.1) it ended up erroring out. I was able to isolate it to this particular issue since only changing all occurrences of those expressions instead to:
!SourceTextField![:50] if !SourceTextField! else None
appears to have fixed the problem and it's running without errors again. Like I said, this isn't really a problem as it has an easy fix that makes it a better Python expression anyway, but, I found it an interesting difference in how 2.9.5 vs 3.1.2 DLT appears to be handling Null values or Python Expression type errors or whatever specifically is going on behind the scenes in DLT, so I'm just passing it along.
Anyway, thank you again very much for the expedient help getting this issue resolved! I have made a lot of use of the DLT solution throughout a number of my workflows, so, having this operating correctly again in the updated version is great! Thanks!