<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <link>http://hg.omfa.de/prosody-hg/</link>
    <language>en-us</language>

    <title>prosody-hg: util/stanza.lua history</title>
    <description>util/stanza.lua revision history</description>
    <item>
    <title>util.stanza: New :get_meta()/:set_meta() API to attach custom properties to stanza objects</title>
    <link>http://hg.omfa.de/prosody-hg/log/9991b6bd98ef/util/stanza.lua</link>
    <description><![CDATA[util.stanza: New :get_meta()/:set_meta() API to attach custom properties to stanza objects<br/>
<br/>
These properties do not carry through clone(), and this is an intentional<br/>
decision (for now, at least). My feeling is that it is the cloner that knows<br/>
what metadata should be carried across to the clone, and the answer is usually<br/>
not &quot;all of it&quot;.<br/>
<br/>
Metadata is not persisted or serialized. It is designed to last only as long<br/>
as the in-memory stanza object, to communicate properties to code that is<br/>
processing that stanza object.<br/>
<br/>
Although the API does not currently distinguish between stanzas and child<br/>
elements, it is recommended to refrain from setting metadata properties<br/>
on child elements as this ability may be removed in the future.]]></description>
    <author>&#77;&#97;&#116;&#116;&#104;&#101;&#119;&#32;&#87;&#105;&#108;&#100;&#32;&#60;&#109;&#119;&#105;&#108;&#100;&#49;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Sat, 06 Dec 2025 17:27:59 +0000</pubDate>
</item>
<item>
    <title>util.stanza: Handle Clark notation for attributes in :find()</title>
    <link>http://hg.omfa.de/prosody-hg/log/59dacbd637c2/util/stanza.lua</link>
    <description><![CDATA[util.stanza: Handle Clark notation for attributes in :find()]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Sun, 17 Nov 2024 13:40:20 +0100</pubDate>
</item>
<item>
    <title>util.stanza: Handle namespace prefixes for attributes in :find()</title>
    <link>http://hg.omfa.de/prosody-hg/log/3615590fd9ed/util/stanza.lua</link>
    <description><![CDATA[util.stanza: Handle namespace prefixes for attributes in :find()<br/>
<br/>
More correct handling of namespaces here.<br/>
<br/>
This works with both prefixes from the parser and hacky .attr[&quot;foo:bar&quot;]]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Sun, 17 Nov 2024 12:35:51 +0100</pubDate>
</item>
<item>
    <title>util: Prefix module imports with prosody namespace</title>
    <link>http://hg.omfa.de/prosody-hg/log/d10957394a3c/util/stanza.lua</link>
    <description><![CDATA[util: Prefix module imports with prosody namespace]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Fri, 17 Mar 2023 16:23:16 +0100</pubDate>
</item>
<item>
    <title>Merge 0.12-&gt;trunk</title>
    <link>http://hg.omfa.de/prosody-hg/log/4a8740e01813/util/stanza.lua</link>
    <description><![CDATA[Merge 0.12-&gt;trunk]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Mon, 12 Dec 2022 07:10:54 +0100</pubDate>
</item>
<item>
    <title>Merge 0.11-&gt;0.12</title>
    <link>http://hg.omfa.de/prosody-hg/log/3784a8ce0596/util/stanza.lua</link>
    <description><![CDATA[Merge 0.11-&gt;0.12]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Mon, 12 Dec 2022 07:07:13 +0100</pubDate>
</item>
<item>
    <title>util.stanza: Allow U+7F</title>
    <link>http://hg.omfa.de/prosody-hg/log/be09ac8300a7/util/stanza.lua</link>
    <description><![CDATA[util.stanza: Allow U+7F<br/>
<br/>
Allowed by XML despite arguably being a control character.<br/>
<br/>
Drops the part of the range meant to rule out octets invalid in UTF-8<br/>
(\247 starts a 4-byte sequence), since UTF-8 correctness is validated by<br/>
util.encodings.utf8.valid().]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Tue, 22 Nov 2022 23:56:01 +0100</pubDate>
</item>
<item>
    <title>Merge 0.12-&gt;trunk</title>
    <link>http://hg.omfa.de/prosody-hg/log/12ced5db29b2/util/stanza.lua</link>
    <description><![CDATA[Merge 0.12-&gt;trunk]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Thu, 15 Sep 2022 11:11:52 +0200</pubDate>
</item>
<item>
    <title>util.stanza: Return nil instead of nothing (fix test with luassert &gt;=1.9)</title>
    <link>http://hg.omfa.de/prosody-hg/log/5b5b428d67e2/util/stanza.lua</link>
    <description><![CDATA[util.stanza: Return nil instead of nothing (fix test with luassert &gt;=1.9)<br/>
<br/>
Due to a change in luassert, a dependency luassert of the Busted test<br/>
framework, returning nothing is no longer treated as not falsy.]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Thu, 15 Sep 2022 11:05:21 +0200</pubDate>
</item>
<item>
    <title>util.stanza: Add add_error() to simplify adding error tags to existing stanzas</title>
    <link>http://hg.omfa.de/prosody-hg/log/5b69ecaf3427/util/stanza.lua</link>
    <description><![CDATA[util.stanza: Add add_error() to simplify adding error tags to existing stanzas<br/>
<br/>
Some fiddling is required now in error_reply() to ensure the cursor is in the<br/>
same place as before this change (a lot of code apparently uses that feature).]]></description>
    <author>&#77;&#97;&#116;&#116;&#104;&#101;&#119;&#32;&#87;&#105;&#108;&#100;&#32;&#60;&#109;&#119;&#105;&#108;&#100;&#49;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Mon, 29 Aug 2022 14:59:46 +0100</pubDate>
</item>
<item>
    <title>util.stanza: Add method for extracting a single attribute value</title>
    <link>http://hg.omfa.de/prosody-hg/log/e8934ce6ea0f/util/stanza.lua</link>
    <description><![CDATA[util.stanza: Add method for extracting a single attribute value<br/>
<br/>
Sometimes you only care about a single attribute, but the child tag<br/>
itself may be optional, leading to needing `tag and tag.attr.foo` or<br/>
`stanza:find(&quot;tag@foo&quot;)`.<br/>
<br/>
The `:find()` method is fairly complex, so avoiding it for this kind of<br/>
simpler use case is a win.]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Wed, 17 Aug 2022 19:04:30 +0200</pubDate>
</item>
<item>
    <title>util.stanza: Create tables with correct size to avoid reallocations</title>
    <link>http://hg.omfa.de/prosody-hg/log/b6b01724e04f/util/stanza.lua</link>
    <description><![CDATA[util.stanza: Create tables with correct size to avoid reallocations<br/>
<br/>
Potential performance gain since the tables don't need to be resized as<br/>
they grow to the final size.]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Fri, 18 Mar 2022 16:43:06 +0100</pubDate>
</item>
<item>
    <title>util.stanza: Use table.move in clone</title>
    <link>http://hg.omfa.de/prosody-hg/log/a3ddf3f42212/util/stanza.lua</link>
    <description><![CDATA[util.stanza: Use table.move in clone<br/>
<br/>
Code reduction, potentially a performance gain.]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Fri, 18 Mar 2022 16:39:48 +0100</pubDate>
</item>
<item>
    <title>util.stanza: Remove dead code</title>
    <link>http://hg.omfa.de/prosody-hg/log/1a4c61253932/util/stanza.lua</link>
    <description><![CDATA[util.stanza: Remove dead code<br/>
<br/>
These cases are caught by `check_text(v, ..)` above. Those errors do not<br/>
contain the attribute however, which would have been nice.]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Fri, 31 Dec 2021 14:01:12 +0100</pubDate>
</item>
<item>
    <title>util.stanza: Make type error message consistent with others</title>
    <link>http://hg.omfa.de/prosody-hg/log/644ca3583837/util/stanza.lua</link>
    <description><![CDATA[util.stanza: Make type error message consistent with others]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Fri, 31 Dec 2021 13:52:11 +0100</pubDate>
</item>
<item>
    <title>util.stanza: Adjust pretty printing for symmetry</title>
    <link>http://hg.omfa.de/prosody-hg/log/12a3c05aa12d/util/stanza.lua</link>
    <description><![CDATA[util.stanza: Adjust pretty printing for symmetry<br/>
<br/>
Self-closing &lt;tags/&gt; and &lt;?processing instructions?&gt; had some<br/>
asymmetries in applied colors.]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Mon, 29 Nov 2021 02:13:45 +0100</pubDate>
</item>
<item>
    <title>util.stanza: Add :get_child_with_attr() + tests</title>
    <link>http://hg.omfa.de/prosody-hg/log/39164ea2ab9e/util/stanza.lua</link>
    <description><![CDATA[util.stanza: Add :get_child_with_attr() + tests]]></description>
    <author>&#77;&#97;&#116;&#116;&#104;&#101;&#119;&#32;&#87;&#105;&#108;&#100;&#32;&#60;&#109;&#119;&#105;&#108;&#100;&#49;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Sun, 12 Sep 2021 10:31:02 +0100</pubDate>
</item>
<item>
    <title>util.stanza: Export pretty printing function</title>
    <link>http://hg.omfa.de/prosody-hg/log/7f2dee4249aa/util/stanza.lua</link>
    <description><![CDATA[util.stanza: Export pretty printing function]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Tue, 29 Jun 2021 16:06:54 +0200</pubDate>
</item>
<item>
    <title>util.stanza: Simplify and make pretty-printing look nicer</title>
    <link>http://hg.omfa.de/prosody-hg/log/51598e46e136/util/stanza.lua</link>
    <description><![CDATA[util.stanza: Simplify and make pretty-printing look nicer<br/>
<br/>
I've had this color theme in a local debug module for some time and I<br/>
quite like it. The colors are from the XMPP logo.<br/>
<br/>
Removes extra XML serialization implementation in favor of the standard<br/>
one. Also removes recursive str=str..more string building.<br/>
<br/>
The new two-level gsub has the accumulator in C space so shouldn't be<br/>
too bad. The inner gsub calls use no callback, so should be fast and<br/>
not create all that much garbage.<br/>
<br/>
No serious benchmarking has been done, but who cares if it looks nice?]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Sat, 07 Nov 2020 22:09:46 +0100</pubDate>
</item>
<item>
    <title>util.stanza: Remove Windows &quot;support&quot; (disabling ANSI color pretty printing)</title>
    <link>http://hg.omfa.de/prosody-hg/log/ad39528e647d/util/stanza.lua</link>
    <description><![CDATA[util.stanza: Remove Windows &quot;support&quot; (disabling ANSI color pretty printing)<br/>
<br/>
Always enable pretty printing if util.termcolours is available<br/>
<br/>
util.termcolours can be nooped out to disable pretty printing.]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Sat, 07 Nov 2020 21:39:36 +0100</pubDate>
</item>
<item>
    <title>util.stanza: add at_top helper</title>
    <link>http://hg.omfa.de/prosody-hg/log/21217f7e82b9/util/stanza.lua</link>
    <description><![CDATA[util.stanza: add at_top helper<br/>
<br/>
This allows the user to detect whether the cursor is currently<br/>
at the top of the stanza. This will be used by util.xmppstream<br/>
to be able to port it over.]]></description>
    <author>&#74;&#111;&#110;&#97;&#115;&#32;&#83;&#99;&#104;&#228;&#102;&#101;&#114;&#32;&#60;&#106;&#111;&#110;&#97;&#115;&#64;&#119;&#105;&#101;&#108;&#105;&#99;&#107;&#105;&#46;&#110;&#97;&#109;&#101;&#62;</author>
    <pubDate>Sat, 08 May 2021 16:31:48 +0200</pubDate>
</item>
<item>
    <title>Merge 0.11-&gt;trunk</title>
    <link>http://hg.omfa.de/prosody-hg/log/2cdcf55c6dd5/util/stanza.lua</link>
    <description><![CDATA[Merge 0.11-&gt;trunk]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Fri, 08 Jan 2021 23:56:27 +0100</pubDate>
</item>
<item>
    <title>util.stanza: Move misplaced argument to correct place</title>
    <link>http://hg.omfa.de/prosody-hg/log/be38ae8fdfa5/util/stanza.lua</link>
    <description><![CDATA[util.stanza: Move misplaced argument to correct place<br/>
<br/>
valid_utf8() takes only one argument, so the false was probably meant<br/>
to be valid_xml_cdata(text, attribute=false)]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Thu, 24 Dec 2020 17:57:28 +0100</pubDate>
</item>
<item>
    <title>Merge 0.11-&gt;trunk</title>
    <link>http://hg.omfa.de/prosody-hg/log/f051394762ff/util/stanza.lua</link>
    <description><![CDATA[Merge 0.11-&gt;trunk]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Wed, 11 Nov 2020 16:09:55 +0100</pubDate>
</item>
<item>
    <title>util.stanza: Reject ASCII control characters (fixes #1606)</title>
    <link>http://hg.omfa.de/prosody-hg/log/9d1e21c23784/util/stanza.lua</link>
    <description><![CDATA[util.stanza: Reject ASCII control characters (fixes #1606)]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Wed, 11 Nov 2020 16:00:41 +0100</pubDate>
</item>
<item>
    <title>util.stanza: Extract Application-Specific Condition from errors</title>
    <link>http://hg.omfa.de/prosody-hg/log/1f84d0e4d0c4/util/stanza.lua</link>
    <description><![CDATA[util.stanza: Extract Application-Specific Condition from errors<br/>
<br/>
API change]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Sat, 26 Sep 2020 18:12:18 +0200</pubDate>
</item>
<item>
    <title>util.stanza: Support Application-Specific Conditions in util.error</title>
    <link>http://hg.omfa.de/prosody-hg/log/2846b6226a8e/util/stanza.lua</link>
    <description><![CDATA[util.stanza: Support Application-Specific Conditions in util.error]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Sat, 26 Sep 2020 18:09:10 +0200</pubDate>
</item>
<item>
    <title>util.stanza: Get 'by' from context instead</title>
    <link>http://hg.omfa.de/prosody-hg/log/5705d151ea11/util/stanza.lua</link>
    <description><![CDATA[util.stanza: Get 'by' from context instead<br/>
<br/>
Zash&gt; &lt;error by=?&gt; should go where?  extra.by?  context? source?<br/>
Zash&gt; In Prosody this would usually be module.host or a bare user/room JID<br/>
MattJ&gt; Zash: context<br/>
MattJ&gt; context.by, basically the opposite of context.actor]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Sat, 26 Sep 2020 18:07:33 +0200</pubDate>
</item>
<item>
    <title>util.stanza: Support inclusion of &lt;gone&gt; URI from util.error object</title>
    <link>http://hg.omfa.de/prosody-hg/log/5e09a3389adb/util/stanza.lua</link>
    <description><![CDATA[util.stanza: Support inclusion of &lt;gone&gt; URI from util.error object]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Sat, 26 Sep 2020 17:30:47 +0200</pubDate>
</item>
<item>
    <title>util.stanza: Support getting 'by' from util.error object</title>
    <link>http://hg.omfa.de/prosody-hg/log/4d12a6785531/util/stanza.lua</link>
    <description><![CDATA[util.stanza: Support getting 'by' from util.error object]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Sat, 26 Sep 2020 17:26:31 +0200</pubDate>
</item>
<item>
    <title>util.stanza: Reorder code to prepare for extracting 'by' from util.error</title>
    <link>http://hg.omfa.de/prosody-hg/log/c26599a78fae/util/stanza.lua</link>
    <description><![CDATA[util.stanza: Reorder code to prepare for extracting 'by' from util.error]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Sat, 26 Sep 2020 17:18:17 +0200</pubDate>
</item>
<item>
    <title>util.stanza: Add method returning stanza with added indentation</title>
    <link>http://hg.omfa.de/prosody-hg/log/05e4645fc9b3/util/stanza.lua</link>
    <description><![CDATA[util.stanza: Add method returning stanza with added indentation<br/>
<br/>
Adds indentation and line breaks to stanzas, to make stanzas easier to<br/>
read for humans.]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Sun, 12 Apr 2020 17:03:05 +0200</pubDate>
</item>
<item>
    <title>util.stanza: Accept util.error object to error_reply</title>
    <link>http://hg.omfa.de/prosody-hg/log/e25a1a9a6e7e/util/stanza.lua</link>
    <description><![CDATA[util.stanza: Accept util.error object to error_reply<br/>
<br/>
If we're moving towards util.error as the standard error container then<br/>
this makes sense.<br/>
<br/>
This may allow for future extensibility without needing a lot of<br/>
optional arguments.]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Sat, 14 Dec 2019 22:47:41 +0100</pubDate>
</item>
<item>
    <title>util.stanza: Support the 'by' attribute on errors</title>
    <link>http://hg.omfa.de/prosody-hg/log/5c2d1b13537c/util/stanza.lua</link>
    <description><![CDATA[util.stanza: Support the 'by' attribute on errors<br/>
<br/>
This is to be used when the entity generating the error is not the same<br/>
as the one the stanza was directed to, e.g. an intermediate server.]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Mon, 25 Nov 2019 20:59:36 +0100</pubDate>
</item>
<item>
    <title>util.stanza: Check that argument to error_reply is NOT a stanza of type error</title>
    <link>http://hg.omfa.de/prosody-hg/log/f53c03ab4357/util/stanza.lua</link>
    <description><![CDATA[util.stanza: Check that argument to error_reply is NOT a stanza of type error<br/>
<br/>
Replying to an error is Very Bad]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Mon, 25 Nov 2019 20:52:03 +0100</pubDate>
</item>
<item>
    <title>util.stanza: Check that argument to error_reply is a stanza</title>
    <link>http://hg.omfa.de/prosody-hg/log/4eab1f5a4f3b/util/stanza.lua</link>
    <description><![CDATA[util.stanza: Check that argument to error_reply is a stanza]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Mon, 25 Nov 2019 20:52:01 +0100</pubDate>
</item>
<item>
    <title>util.stanza: Remove redundant check for attrs</title>
    <link>http://hg.omfa.de/prosody-hg/log/f28718f46196/util/stanza.lua</link>
    <description><![CDATA[util.stanza: Remove redundant check for attrs<br/>
<br/>
A stanza can't not have attrs if created the correct way]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Mon, 25 Nov 2019 20:46:55 +0100</pubDate>
</item>
<item>
    <title>util.stanza: Check that argument to reply is a stanza</title>
    <link>http://hg.omfa.de/prosody-hg/log/22db763c510c/util/stanza.lua</link>
    <description><![CDATA[util.stanza: Check that argument to reply is a stanza]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Mon, 25 Nov 2019 20:44:05 +0100</pubDate>
</item>
<item>
    <title>util.stanza: Use :text_tag internally everywhere</title>
    <link>http://hg.omfa.de/prosody-hg/log/4807535b8673/util/stanza.lua</link>
    <description><![CDATA[util.stanza: Use :text_tag internally everywhere<br/>
<br/>
May allow future changes in a single place.]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Fri, 02 Aug 2019 08:56:29 +0200</pubDate>
</item>
<item>
    <title>util.stanza: Fix :top_tag() handling of namespaced attributes</title>
    <link>http://hg.omfa.de/prosody-hg/log/5a2e53bef031/util/stanza.lua</link>
    <description><![CDATA[util.stanza: Fix :top_tag() handling of namespaced attributes]]></description>
    <author>&#77;&#97;&#116;&#116;&#104;&#101;&#119;&#32;&#87;&#105;&#108;&#100;&#32;&#60;&#109;&#119;&#105;&#108;&#100;&#49;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Mon, 25 Mar 2019 14:37:43 +0000</pubDate>
</item>
<item>
    <title>util.stanza: Require a type attribute for iq stanzas</title>
    <link>http://hg.omfa.de/prosody-hg/log/51583ea2b4fd/util/stanza.lua</link>
    <description><![CDATA[util.stanza: Require a type attribute for iq stanzas]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Fri, 28 Dec 2018 20:49:01 +0100</pubDate>
</item>
<item>
    <title>util.stanza: Deserialize stanza without mutating input (fixes #711)</title>
    <link>http://hg.omfa.de/prosody-hg/log/6f97acc4583b/util/stanza.lua</link>
    <description><![CDATA[util.stanza: Deserialize stanza without mutating input (fixes #711)]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Sat, 01 Dec 2018 18:30:19 +0100</pubDate>
</item>
<item>
    <title>util.stanza: Validate input to clone() (with brief tests)</title>
    <link>http://hg.omfa.de/prosody-hg/log/bff66c3faceb/util/stanza.lua</link>
    <description><![CDATA[util.stanza: Validate input to clone() (with brief tests)]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Sat, 17 Nov 2018 15:26:11 +0100</pubDate>
</item>
<item>
    <title>util.stanza: Set preserialize as freeze metamethod</title>
    <link>http://hg.omfa.de/prosody-hg/log/09b873ac7eb8/util/stanza.lua</link>
    <description><![CDATA[util.stanza: Set preserialize as freeze metamethod]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Fri, 12 Oct 2018 00:52:18 +0200</pubDate>
</item>
<item>
    <title>util.stanza: Don't automatically generate ids for iq stanzas</title>
    <link>http://hg.omfa.de/prosody-hg/log/feaef6215bb8/util/stanza.lua</link>
    <description><![CDATA[util.stanza: Don't automatically generate ids for iq stanzas<br/>
<br/>
Users of this API should provide their own id attribute that meets their<br/>
uniqueness requirements.<br/>
<br/>
The current implementation leaks information (i.e. how many iq stanzas<br/>
have been sent by the server to other JIDs). Providing any strong<br/>
guarantees of randomness here would need to pull in additional<br/>
dependencies that we don't want in this simple library.]]></description>
    <author>&#77;&#97;&#116;&#116;&#104;&#101;&#119;&#32;&#87;&#105;&#108;&#100;&#32;&#60;&#109;&#119;&#105;&#108;&#100;&#49;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Thu, 13 Sep 2018 16:35:48 +0100</pubDate>
</item>
<item>
    <title>util.stanza + tests: Bail out of loop if we are iterating too far, fixes #981</title>
    <link>http://hg.omfa.de/prosody-hg/log/7df29c5fbb9b/util/stanza.lua</link>
    <description><![CDATA[util.stanza + tests: Bail out of loop if we are iterating too far, fixes #981]]></description>
    <author>&#77;&#97;&#116;&#116;&#104;&#101;&#119;&#32;&#87;&#105;&#108;&#100;&#32;&#60;&#109;&#119;&#105;&#108;&#100;&#49;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Sun, 19 Aug 2018 21:56:33 +0100</pubDate>
</item>
<item>
    <title>Merge 0.10-&gt;trunk</title>
    <link>http://hg.omfa.de/prosody-hg/log/a2a4c225a3f8/util/stanza.lua</link>
    <description><![CDATA[Merge 0.10-&gt;trunk]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Sun, 08 Jul 2018 19:12:17 +0200</pubDate>
</item>
<item>
    <title>util.stanza: Add method for removing all children with a specific name, xmlns</title>
    <link>http://hg.omfa.de/prosody-hg/log/6bddc90eeb27/util/stanza.lua</link>
    <description><![CDATA[util.stanza: Add method for removing all children with a specific name, xmlns]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Sun, 08 Jul 2018 16:48:59 +0200</pubDate>
</item>
<item>
    <title>util.stanza: Remove redundant check from :text now done in :add_direct_child</title>
    <link>http://hg.omfa.de/prosody-hg/log/7273fb6af831/util/stanza.lua</link>
    <description><![CDATA[util.stanza: Remove redundant check from :text now done in :add_direct_child]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Fri, 08 Jun 2018 17:44:44 +0200</pubDate>
</item>
<item>
    <title>util.stanza: Verify that other objects added as children are valid strings</title>
    <link>http://hg.omfa.de/prosody-hg/log/3490bc478804/util/stanza.lua</link>
    <description><![CDATA[util.stanza: Verify that other objects added as children are valid strings]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Fri, 08 Jun 2018 17:06:21 +0200</pubDate>
</item>
<item>
    <title>util.stanza: Verify that child tags added are really stanzas (closes #1165)</title>
    <link>http://hg.omfa.de/prosody-hg/log/c4e430c69f88/util/stanza.lua</link>
    <description><![CDATA[util.stanza: Verify that child tags added are really stanzas (closes #1165)]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Fri, 08 Jun 2018 17:04:47 +0200</pubDate>
</item>
<item>
    <title>util.stanza: Add :text_tag(), a shortcut for adding nodes with text</title>
    <link>http://hg.omfa.de/prosody-hg/log/06c73b010488/util/stanza.lua</link>
    <description><![CDATA[util.stanza: Add :text_tag(), a shortcut for adding nodes with text]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Wed, 21 Mar 2018 23:20:26 +0100</pubDate>
</item>
<item>
    <title>util.stanza: Allow :text(nil) and :text(&quot;&quot;) as harmless nops</title>
    <link>http://hg.omfa.de/prosody-hg/log/8f13ec2ceb06/util/stanza.lua</link>
    <description><![CDATA[util.stanza: Allow :text(nil) and :text(&quot;&quot;) as harmless nops]]></description>
    <author>&#77;&#97;&#116;&#116;&#104;&#101;&#119;&#32;&#87;&#105;&#108;&#100;&#32;&#60;&#109;&#119;&#105;&#108;&#100;&#49;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Wed, 21 Mar 2018 22:04:20 +0000</pubDate>
</item>
<item>
    <title>util.stanza: Switch from asserts to if's, improve performance, errors and tests</title>
    <link>http://hg.omfa.de/prosody-hg/log/20532f191f8d/util/stanza.lua</link>
    <description><![CDATA[util.stanza: Switch from asserts to if's, improve performance, errors and tests]]></description>
    <author>&#77;&#97;&#116;&#116;&#104;&#101;&#119;&#32;&#87;&#105;&#108;&#100;&#32;&#60;&#109;&#119;&#105;&#108;&#100;&#49;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Sun, 18 Mar 2018 11:32:00 +0000</pubDate>
</item>
<item>
    <title>util.stanza: Add stricter validation for data passed to stanza builder API</title>
    <link>http://hg.omfa.de/prosody-hg/log/62bfc85a53c8/util/stanza.lua</link>
    <description><![CDATA[util.stanza: Add stricter validation for data passed to stanza builder API]]></description>
    <author>&#77;&#97;&#116;&#116;&#104;&#101;&#119;&#32;&#87;&#105;&#108;&#100;&#32;&#60;&#109;&#119;&#105;&#108;&#100;&#49;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Fri, 16 Mar 2018 14:51:24 +0000</pubDate>
</item>
<item>
    <title>vairious: Add annotation when an empty environment is set [luacheck]</title>
    <link>http://hg.omfa.de/prosody-hg/log/4f0f5b49bb03/util/stanza.lua</link>
    <description><![CDATA[vairious: Add annotation when an empty environment is set [luacheck]]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Wed, 28 Feb 2018 20:06:26 +0100</pubDate>
</item>
<item>
    <title>util.stanza: Change __type to __name as this is used by Lua 5.3 in some error reporting functions</title>
    <link>http://hg.omfa.de/prosody-hg/log/e959bc51de75/util/stanza.lua</link>
    <description><![CDATA[util.stanza: Change __type to __name as this is used by Lua 5.3 in some error reporting functions]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Fri, 16 Feb 2018 08:16:38 +0100</pubDate>
</item>
<item>
    <title>util: Various minor changes to please [luacheck]</title>
    <link>http://hg.omfa.de/prosody-hg/log/e5d00bf4a4d5/util/stanza.lua</link>
    <description><![CDATA[util: Various minor changes to please [luacheck]]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Fri, 10 Nov 2017 05:42:32 +0100</pubDate>
</item>
<item>
    <title>Merge 0.10-&gt;trunk</title>
    <link>http://hg.omfa.de/prosody-hg/log/2b305ec8c146/util/stanza.lua</link>
    <description><![CDATA[Merge 0.10-&gt;trunk]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Fri, 02 Dec 2016 11:13:05 +0100</pubDate>
</item>
<item>
    <title>util.stanza: Add an is_stanza() function to check if an object is a stanza</title>
    <link>http://hg.omfa.de/prosody-hg/log/e58524240b30/util/stanza.lua</link>
    <description><![CDATA[util.stanza: Add an is_stanza() function to check if an object is a stanza]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Mon, 28 Nov 2016 07:30:21 +0100</pubDate>
</item>

  </channel>
</rss>
