# Elsa 3.8.0 — Release Notes --- ## ⚠️ Breaking changes / upgrade notes - **JavaScript expressions: .NET enum constants are now strings, not numbers.** Reading a constant off a registered enum type in a JavaScript expression — `LogPersistenceMode.Include`, or any type contributed through `VariableDescriptors` — used to produce the underlying numeric value. It now produces the member name, matching how an enum *value* has always been exposed. This fixes a long-standing inconsistency in which `mode === LogPersistenceMode.Include` was always `false`, because the two sides of the comparison were a string and a number. Typed conversions are unaffected in both directions: Elsa's own `ObjectConverter` accepts a member name (`Enum.Parse`) as well as a number (`Enum.ToObject`), and Jint's interop write path accepts both, so activity inputs, typed variable reads and CLR property assignments continue to work. Review expressions that used a constant *numerically* before upgrading: - a workflow variable that was **persisted** holding a number produced from a constant pre-upgrade no longer compares equal to that constant, since the constant is now a string. This affects in-flight and resumed workflow instances, not just new ones; - arithmetic on a constant (`LogPersistenceMode.Include + 1`), or storing one into a variable that is later read as a number, now yields or stores `"Include"` and fails the later numeric conversion. Comparing against the member name (`mode === 'Include'`) works before and after the upgrade and is the portable form. ([#7895](https://github.com/elsa-workflows/elsa-core/pull/7895))