=4.11.0
With the older version of expression library, when calling the parse function with below string (as shown in screenshot):

we used to get only one child of type expression evaluator in parsed response :

However with the latest version, and with same interpolatedString , I am getting 2 children, one of type constant and other of type expression as shown below :

Can you please tell me if its a bug or if this is expected ?
CC : @joshgummersall , @stevengum , @dclaux
@luhan2017 can you please triage this?
After running a git bisect on the 4.11 branch, I located what I believe is the line of code that introduced this behavior change: https://github.com/microsoft/botbuilder-js/compare/b05fb963cf063984817f978e8bc8a5678132da0a...8b7db50dfb04e928c3077b4816060e4350bf5197#diff-5caed46c55ebc0fb926d58f1f275703b10a7c3837737990576efc09b17857009R156.
@atishayv this is expected to fixed the issues in empty case, maybe not the best way to fix it, but can you share is this more a question or in your perspective a bug?
The parsed result of a string intepolation `` is a concat function actually, and the children of it may not exactly the same in 4.10 and 4.11, but the evaluated behavior should be exact the same.
Is you scenario depends on the parsed result here? If, so can share about more about your requirement, and let's see if we can find an alternative for this, because we are not expecting customers to depends on the "internal implementations" which we may update again in the future, for example, we may use a more efficient method than "concat", we may even do some more perf optimization based on length and others, so the result of parsed result is not guaranteed.
This is a bug because the value of 1st part which is constant is an empty string
I'm closing this for now, after syncing with adaptiveCard team offline. From expression library POV, the parsed result (Abstract Syntax Tree, AST) is not considered as a public interface and we can't guarantee the result will be stable over releases, because if we really say the AST is sable, that will leave us with very little space for further improvement, perf tuning, all that possibilities.
Unfortunately, adaptiveCard team's feature depends on the intermediate AST and that's the reason it's broken after we changed the structure a little bit. The short term solution is updating adaptiveCard templating library to adapt to new structure.
For long-term, i created a feature request in https://github.com/microsoft/botbuilder-dotnet/issues/5009 seeking to provide a native support to adaptiveCard's requirements without looking into AST itself.