This is more of a report than a question, but I don't have the option to start a discussion only.
Default Group - Banner widget in 12.0.1.15778 has logic for redirecting to login for +New button when the links count is 1, but in instances where the $links.count would be more than 1, it appends the literal text "$core_v2_encoding.HtmlAttributeEncode($link.Url)" in the URL instead of redirecting to login.
Here is the workaround I used to correct:
#if (!$isRegistered && $includeNewLogin && $links.Count == 1)
#set($returnToCurrentUrl = true)
#set($loginLink = $core_v2_urls.LogIn("%{ReturnToCurrentUrl = $returnToCurrentUrl}"))
<div class="navigation-list new">
<div class="ui-links" data-direction="vertical">
<ul class="navigation-list">
<li class="navigation-list-item">
<a href="$core_v2_encoding.HtmlAttributeEncode($loginLink)">$core_v2_language.GetResource('new_post')</a>
</li>
</ul>
</div>
</div>
#elseif (!$isRegistered && $includeNewLogin && $links.Count > 1)
#set($returnToCurrentUrl = true)
#set($loginLink = $core_v2_urls.LogIn("%{ReturnToCurrentUrl = $returnToCurrentUrl}"))
#foreach($link in $links)
#beforeall
<div class="navigation-list new">
<div class="ui-links" data-direction="vertical" data-maxlinks="0">
<ul class="navigation-list">
#each
<li class="navigation-list-item">
<a class="$link.CssClass" href="$core_v2_encoding.HtmlAttributeEncode($loginLink)">$link.Label</a>
</li>
#afterall
<li class="navigation-list-item">
<a
#if ($isRegistered)
$core_v2_tourTip.Render($core_v2_language.GetResource('TourTipNew'), "%{ CssClass = 'more', Index = 100 }")
#else
class="more"
#end
href="#" data-more>
$core_v2_language.GetResource('new_post')
</a>
</li>
<li class="navigation-list-item">
<a href="#" data-cancel>$core_v2_language.GetResource('cancel')</a>
</li>
</ul>
</div>
</div>
#end
#elseif ($links.Count == 1)
#foreach($link in $links)
<div class="navigation-list new">
<div class="ui-links" data-direction="vertical" data-maxlinks="1" data-minlinks="1">
<ul class="navigation-list">
<li class="navigation-list-item">
<a
#if ($isRegistered)
$core_v2_tourTip.Render($core_v2_language.GetResource('TourTipNew'), "%{ CssClass = $link.CssClass, Index = 100 }")
#else
class="$link.CssClass"
#end
href="$core_v2_encoding.HtmlAttributeEncode($link.Url)">$core_v2_language.GetResource('new_post')</a>
</li>
</ul>
</div>
</div>
#end
#elseif ($links.Count > 1)
#foreach($link in $links)
#beforeall
<div class="navigation-list new">
<div class="ui-links" data-direction="vertical" data-maxlinks="0">
<ul class="navigation-list">
#each
<li class="navigation-list-item">
<a class="$link.CssClass" href="$core_v2_encoding.HtmlAttributeEncode($link.Url)">$link.Label</a>
</li>
#afterall
<li class="navigation-list-item">
<a
#if ($isRegistered)
$core_v2_tourTip.Render($core_v2_language.GetResource('TourTipNew'), "%{ CssClass = 'more', Index = 100 }")
#else
class="more"
#end
href="#" data-more>
$core_v2_language.GetResource('new_post')
</a>
</li>
<li class="navigation-list-item">
<a href="#" data-cancel>$core_v2_language.GetResource('cancel')</a>
</li>
</ul>
</div>
</div>
#end
#end
Note the logic for if the accessing user is not registered has to be moved to the beginning of the if chain otherwise the $links.count >1 is satisfied instead of the desired behaviour.