Repository navigation
Update dependency teddy to v2.3.2 - #73
Open
renovate[bot] wants to merge 1 commit into
Open
renovate[bot] wants to merge 1 commit into
renovate[bot] wants to merge 1 commit into
Conversation
renovate
Bot
force-pushed
the
renovate/teddy-2.x
branch
2 times, most recently
from
September 7, 2026 17:17
dd8b359 to
cb77a9e
Compare
renovate
Bot
force-pushed
the
renovate/teddy-2.x
branch
from
September 16, 2026 11:11
cb77a9e to
f83c35c
Compare
renovate
Bot
force-pushed
the
renovate/teddy-2.x
branch
2 times, most recently
from
October 1, 2026 06:12
055c1ca to
d2beb60
Compare
renovate
Bot
force-pushed
the
renovate/teddy-2.x
branch
from
October 11, 2026 12:34
d2beb60 to
6f6d433
Compare
renovate
Bot
force-pushed
the
renovate/teddy-2.x
branch
2 times, most recently
from
October 23, 2026 23:33
aa7c118 to
7b9bf45
Compare
renovate
Bot
force-pushed
the
renovate/teddy-2.x
branch
from
October 24, 2026 01:56
7b9bf45 to
03a1f10
Compare
renovate
Bot
force-pushed
the
renovate/teddy-2.x
branch
from
October 28, 2026 16:39
03a1f10 to
ed7e75c
Compare
renovate
Bot
force-pushed
the
renovate/teddy-2.x
branch
from
October 29, 2026 02:39
ed7e75c to
e3fbfbd
Compare
renovate
Bot
force-pushed
the
renovate/teddy-2.x
branch
from
October 31, 2026 05:56
e3fbfbd to
c9a3659
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
2.0.4→2.3.22.1.0→2.3.2Release Notes
rooseveltframework/teddy (teddy)
v2.3.2Compare Source
{names.{key}}, writing its value unescaped when the page went through a layout. A name not in the model was written back with flags the model supplied, and the layout parsed it again.{variable}inside an escaped value being written unescaped when its|sflag was spelled oddly, such as{x||ss}, or when its name was built from another variable.v2.3.1Compare Source
4, so templates precompiled with an earlier version must be precompiled again.{names.{key}}, taking its flags from the value it was built from. A model value ending in|sor|p|smade the variable write its value unescaped. Its flags now come only from the template, such as the|sin{names.{key}|s}.v2.3.0Compare Source
3, so templates precompiled with an earlier version must be precompiled again.<elseif>and<elseunless>conditions whose value contains a{variable}to now compare against what the variable resolves to, as<if>and<unless>always have. They used to compare against the value as written, so a template relying on that will render differently.{variables}in every attribute of a Teddy element:<loop>keyandval,<inline>cssandjs,<include>as,mode, andhydrate, and the names of<arg>elements, as<loop>throughand<include>srcalready did. Anas,mode, orhydrateholding a variable is checked once a render has resolved it, with the same rules and errors as one written out.{variables}and${variables}in a condition's name, such as<if event.{column.name}.icon>or a one-lineif-names.{person}="girl".|por|s, such as<if x="{y|p}">, against the variable's value.|pused to make it compare against the placeholder the value is held out as.{variable|h}and{variable|d}looking up the variable with the flag still attached to its name, so a variable that was present in the model was treated as missing and rendered as empty under|hor as{variable}under|d.${variable}whose name is built from another variable, such as${names.{key}}, dropping its$when it didn't resolve. A plain${variable}already kept it.{,}, or$, which broke one-line ifs and<arg>names holding a variable.v2.2.0Compare Source
teddy.renderFragment(template, model, options), which renders into aDocumentFragmentrather than a string. An element written with arefattribute is handed back by name in the fragment'srefs.teddy.check(template), which compiles a template without rendering it and returns its warnings, so a build step can fail on them.teddy.render(template, model, options)takesverbosity,emptyVarBehavior, andcachefor that render alone. A callback can still be passed third, as Express does, or fourth after options.npm run benchmark:compare, which measures how fast teddy is at two versions, by default this checkout againstmain, and says which scenarios got faster or slower, by how much, and whether that's more than the measurements disagree with themselves. Seebenchmarker/BENCHMARKER.md.npm run benchmarkto rebuild teddy if its build is older than its source, rather than only if it's missing, so a run never measures a build left over from another branch.{varName|p}writing its value unescaped.|pis meant only to stop the value being parsed, so it's now escaped like any other variable. Combine it with|s({varName|s|p}) to write a value unescaped and unparsed.teddy.renderadding a_noTeddyBlocksproperty to the model it was given, which threw on a frozen model. A render now keeps what it holds out of the markup to itself.<include>, the ones after the first were dropped.selected-valueandchecked-valuenever matching a value written with the|pflag, on either side, such as<option value="{choice|p}">.if-x true="disabled"attributes, on the<option>and<input>elements aselected-valueorchecked-valuefrom the model marks.<span>A</span> <span>B</span>rendered asABrather thanA B. Node builds were unaffected.Tom & Jerrywas written asTom & Jerryand displayed asTom & Jerry, where node writesTom &amp; Jerry, which displays as the value has it.viewBoxcame out asviewboxandlinearGradientaslineargradient, which XML consumers of the output and anything comparing it to node's don't accept. Node builds were unaffected.{variables}of its own, but a{variable|s}inside it was written raw, so a model value of{otherVar|s}letotherVarthrough unescaped. Variables inside an escaped value are now always escaped.v2.1.0Compare Source
<cache>element andteddy.setCache,teddy.clearCache,teddy.caches, andteddy.templateCaches. They only suited pages that render the same for every visitor and are keyed by one model variable: a page carrying a session, a CSRF token, or a flash message would serve one visitor's markup to the next, and a key that missed a variable served stale pages without warning. Cache rendered pages outside the app instead, with a CDN, a reverse proxy such as nginx'sproxy_cache, orCache-Controlheaders. A<cache>element left in a template is now rendered as an ordinary unknown element.teddy.setCacheTemplatesand thecacherender option, which keep templates in memory rather than reading them again, are unchanged.2, so templates precompiled with an earlier version must be precompiled again.v2.0.6Compare Source
dist. They marked themselves as licenses, so a project bundling this one ended up with a*.LICENSE.txtfile full of them.v2.0.5Compare Source
{variable|s}to be left out of the page entirely when it contained a<script>,<style>,<textarea>, or<pre>holding something that looks like a Teddy tag, such as a script with the string"<include src=x>"in it. The check that markup from the model opens and closes its own tags counted tags inside those elements as though they were real, so it judged the markup incomplete. Their contents are now skipped, the same as when those elements are written in the template.<script>,<style>, or<textarea>to be parsed and run, which garbled the element and could drop the markup after it. Their contents are now read as plain text, the way a browser reads them and the way the server build already did.class=greetingto be read as=greeting.<script>,<style>,<textarea>, or<pre>.Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about these updates again.
This PR was generated by Mend Renovate. View the repository job log.