# \[Bug-16817\]Broken functionality after upgrading to 8.0.14

**URL:** <https://forum.inductiveautomation.com/t/bug-16817-broken-functionality-after-upgrading-to-8-0-14/36799>\
**Category:** Ignition\
**Tags:** ignition80\
**Created:** [July 16, 2020, 9:15pm UTC](https://forum.inductiveautomation.com/t/bug-16817-broken-functionality-after-upgrading-to-8-0-14/36799 "2020-07-16T21:15:40Z")\
**Posts on this page:** 1\
**Showing post:** 20

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [July 17, 2020, 6:12pm UTC](https://forum.inductiveautomation.com/t/bug-16817-broken-functionality-after-upgrading-to-8-0-14/36799/20 "2020-07-17T18:12:09Z")

</div>

_Psssst! Mike! Don't use the tag() expression function!_

> [@Nesting Not Allowed while using Properties in a Template to turn on a Light](http://forum.inductiveautomation.com/t/nesting-not-allowed-while-using-properties-in-a-template-to-turn-on-a-light/33609/16):
>
> Yes, there is. If the items that comprise your tagpath are updated, even if yielding the same result path, the entire expression containing the tag() function will have to execute. With indirect binding, this doesn’t happen. The strings themselves have to be reconstructed every time, even if not changing, slowing down the final expression execution. There are a few cases with computed gateway tags where the tag() expression is the only good way to do indirection, and the dynamic stuff above…

While much of the history of my advice against using tag() comes from Vision, the key negative behaviors that suggest it should be avoided apply to Perspective, too. Even if this current bug is fixed.

---

_[View the full topic](https://forum.inductiveautomation.com/t/bug-16817-broken-functionality-after-upgrading-to-8-0-14/36799)._
