Repository navigation
v3.2.0
What's Changed
- build(deps): bump hono from 4.13.0 to 4.13.7 by @dependabot[bot] in #1140
- build(deps-dev): bump the majors group across 1 directory with 3 updates by @dependabot[bot] in #1137
- fix: unblock Vite 8 / vitest 5 / happy-dom 20.14 (Dependabot #1142 #1143 #1145) by @codetalcott in #1146
- build(deps): bump the minor-and-patch group across 1 directory with 28 updates by @dependabot[bot] in #1145
- build(deps-dev): bump the majors group across 1 directory with 5 updates by @dependabot[bot] in #1147
- fix(deps): patch transitive js-yaml and smol-toml DoS advisories by @codetalcott in #1148
- build(deps-dev): bump the minor-and-patch group in /protocol/typescript with 2 updates by @dependabot[bot] in #1151
- feat(htmx-vocab): Contact.app coverage in ja/es/pt/ko, vocab aliases, gated regeneration by @codetalcott in #1150
- build(deps-dev): bump vitest from 5.0.0 to 5.0.1 by @dependabot[bot] in #1154
- build(deps-dev): bump vitepress from 2.0.0-alpha.18 to 2.0.0-alpha.20 by @dependabot[bot] in #1153
- build(deps-dev): bump prettier from 3.9.6 to 3.9.8 by @dependabot[bot] in #1157
- build(deps): bump the minor-and-patch group across 1 directory with 8 updates by @dependabot[bot] in #1161
- feat(htmx-vocab): ja/es names for every attribute the book's listings use by @codetalcott in #1160
- feat(semantic): render and score event-handler modifiers in every language by @codetalcott in #1162
- fix(mcp): validators report what the parsers actually did by @codetalcott in #1163
- feat(semantic): of-paths and pseudo-commands survive every language (hxi18n Arc 3) by @codetalcott in #1164
- fix(core): three upstream-valid handler forms from Hypermedia Systems (hxi18n Arc 4) by @codetalcott in #1165
- fix(htmx): camelCase event names survive an attribute name (hxi18n Arc 5) by @codetalcott in #1166
- fix(patterns): verify every corpus entry against both engines — and gate it by @codetalcott in #1167
- feat(testing-framework): gate the English reference parse (en-reference-preservation) by @codetalcott in #1168
- fix(semantic): capture a parenthesized group as a role value by @codetalcott in #1169
- fix(core): four upstream-valid forms that compiled clean and failed at run time by @codetalcott in #1170
- fix(core): blocks close at end of input, morph … to, and condition loops that never evaluated by @codetalcott in #1171
- fix(core): render … with name: value, and beep! as an expression (gaps 3 and 4) by @codetalcott in #1172
- fix(core): transition takes upstream's owners, several properties, from and using (gap 5) by @codetalcott in #1173
- fix(patterns-reference): search options, MCP search, LLM examples and corpus hygiene (PR 5) by @codetalcott in #1174
- fix(semantic): English parses that changed a program's meaning (en-reference burn-down, PR 6) by @codetalcott in #1175
- fix(semantic): the parser builds a loop node — loops keep their extent, and non-English loops run (en-reference burn-down, PR 7) by @codetalcott in #1176
- fix(aot-compiler): every AOT-compiled loop was while (true) — the converters read core's loop slots (PR 7b) by @codetalcott in #1177
- fix: loops and ifs through toCoreAST / evalLSE run on core (PR 7c) by @codetalcott in #1178
- fix(semantic): a handler head's or-events and filters survive translation and run (PR 8a) by @codetalcott in #1179
- fix(semantic): a handler head keeps its event parameters; a behavior's init ends at the next handler (PR 8b) by @codetalcott in #1180
- fix(semantic): a translated wait for waits instead of throwing (PR 8c) by @codetalcott in #1181
- fix(semantic): a
wait forkeeps its params, alternatives and source (PR 8d) by @codetalcott in #1182 - fix(semantic): native event names in a head's params and a wait (PR 8e) by @codetalcott in #1183
- fix(semantic): a behavior keeps its handlers past a block head of several words (PR 8f) by @codetalcott in #1184
- fix(semantic): an else-if chain shares one end, as upstream reads it (PR 8g) by @codetalcott in #1185
- fix(semantic): a behavior renders its init block before its handlers (PR 9) by @codetalcott in #1186
- fix(semantic): hide and show keep their with-strategy (PR 10) by @codetalcott in #1187
- fix(semantic): a query keeps its in-scope (PR 11) by @codetalcott in #1188
- test(testing-framework): the before target is an article (PR 12) by @codetalcott in #1189
- fix(semantic): an eventsource/socket header keeps its URL (PR 13) by @codetalcott in #1190
- fix(semantic): fetch keeps its do-not-throw (PR 14) by @codetalcott in #1191
- fix: event-once is on first click, the one form both engines run once (PR 15) by @codetalcott in #1192
- fix(semantic): tell keeps
to show, and a translated tell runs its body (PR 16) by @codetalcott in #1193 - fix(semantic): a loop keeps its index variable (PR 17) by @codetalcott in #1194
- fix(semantic): a naked
${…}URL keeps interpolating (PR 18) by @codetalcott in #1195 - fix(semantic): put's destination takes a variable (PR 19) by @codetalcott in #1196
- fix(semantic): a fetch's response type renders as written (PR 20) by @codetalcott in #1197
- fix(semantic): a loop that holds an
ifkeeps its tail and its literal-first condition (PR 21) by @codetalcott in #1198 - fix(semantic): a command acts on a variable's element, and a command's own
onstays in its handler (PR 22) by @codetalcott in #1199 - fix(semantic): an element or an array as a value —
set el to #panel,set x to [1, 2], and arrays on the direct path (PR 23) by @codetalcott in #1200 - fix(aot-compiler): a command acts on the target it names (PR 24) by @codetalcott in #1201
- fix(semantic,aot-compiler): a translated go runs, go to an element, and
in new window(PR 25) by @codetalcott in #1202 - fix(semantic,aot-compiler): go and scroll keep a position and smoothly/instantly (PR 26) by @codetalcott in #1203
- fix(semantic): a possessive as a value — put #d1's value into #b — in every language (PR 27) by @codetalcott in #1204
- fix(aot-compiler): a property access compiles to the property (PR 28) by @codetalcott in #1205
- fix(aot-compiler,interchange): a variable keeps its scope — set :x, $x, x, and increment (PR 29) by @codetalcott in #1206
- fix(interchange): an array, @attr and the X of Y reach the AOT compiler (PR 30) by @codetalcott in #1207
- fix(aot-compiler): a class or query target reaches every match (PR 31) by @codetalcott in #1208
- fix(semantic): a property chain on an element — #d1.value.length — in every language (PR 32) by @codetalcott in #1209
- fix(aot-compiler): a scoped query —
- in #list — compiles to its matches (PR 33) by @codetalcott in #1210
- fix(aot-compiler): empty removes its targets' children (PR 34) by @codetalcott in #1211
- fix(core,semantic): a class query keeps its in scope — .item in #list (PR 35) by @codetalcott in #1212
- fix(semantic): true, false and null keep their meaning in every language (PR 36) by @codetalcott in #1213
- fix(aot-compiler): class batching keeps each command's target and order; no undeclared selector cache (PR 37) by @codetalcott in #1214
- fix(semantic): a translated condition reads core's comparison phrases (PR 38) by @codetalcott in #1215
- fix(semantic): a translated condition reads its or, not and and back (PR 39) by @codetalcott in #1216
- fix(semantic): a translated not reads back where it was split or cut (PR 40) by @codetalcott in #1217
- fix(semantic): a translated copula reads as is between two operands (PR 41) by @codetalcott in #1218
- fix(semantic): a translated condition reads an owner-first possessive back (PR 42) by @codetalcott in #1219
- fix(semantic): a value keeps its comparison or mod in every language (PR 43) by @codetalcott in #1220
- fix(semantic): a value keeps its and, or and not in every language (PR 44) by @codetalcott in #1221
- fix(semantic): ja and ko read their and back inside a handler body (PR 45) by @codetalcott in #1222
- fix(semantic): a translated repeat until loop stops (PR 46) by @codetalcott in #1223
- fix(semantic): a value keeps its comparison phrase in every language (PR 47) by @codetalcott in #1224
- fix(semantic): a translated contains, includes or equals reads back (PR 48) by @codetalcott in #1225
- fix(aot): core's comparison phrases compile to JavaScript that runs (PR 49) by @codetalcott in #1226
- fix(aot): a type check compiles, through a typeCheck interchange node (PR 49b) by @codetalcott in #1227
- fix(core):
X of Ybinds as property access, as upstream reads it (PR 50) by @codetalcott in #1228 - fix(semantic): a value whose operand is a property path keeps its whole expression (PR 51) by @codetalcott in #1229
- test(testing-framework): a generated value matrix, run on both engines in 24 languages (PR 52) by @codetalcott in #1230
- fix(semantic): the expression parser says where a value ends (PR 53) by @codetalcott in #1231
- fix(core): English values follow upstream's — put, of, the X of Y, is empty, increment (PR 54) by @codetalcott in #1232
- fix(semantic): an increment's amount is any value (PR 55) by @codetalcott in #1233
- fix(semantic): the expression parser reads
asand@attr of(PR 56) by @codetalcott in #1234 - fix(semantic):
containsreads back in ja, ko, qu and zh (PR 57) by @codetalcott in #1235 - fix(semantic): a property word before
ofreads back — localized, and chained (PR 58) by @codetalcott in #1236 - fix(semantic): a variable spelled like the language's conjunction is the variable (PR 59) by @codetalcott in #1237
- fix(semantic): piped conversions,
Fixed:2, and every type core converts to (PR 60) by @codetalcott in #1238 - fix(semantic): sw and vi read their word for
nullasnull(PR 61) by @codetalcott in #1239 - fix(semantic): pl reads English
equal to(PR 62) by @codetalcott in #1240 - fix(core): an increment reads its amount and counter as upstream does (PR 63) by @codetalcott in #1241
- fix(semantic): tr's variable
i, spelled like its accusative marker (PR 64) by @codetalcott in #1242 - fix(semantic): a role reads a whole possessive chain (PR 65) by @codetalcott in #1243
- fix(semantic): a bare bracket run is an array (PR 66) by @codetalcott in #1244
- fix(semantic): tr reads
is in, and a variableibefore an operator (PR 67) by @codetalcott in #1245 - fix(core): the X of a null target reads null, as upstream does (PR 68) by @codetalcott in #1246
- fix(semantic): the
inafter a copula is the operator, in de and it too (PR 69) by @codetalcott in #1247 - fix(semantic):
my idreads back as the renderer writes it (PR 70) by @codetalcott in #1248 - fix(semantic): sw's
andand ms'semptyread back as written (PR 71) by @codetalcott in #1249 - fix(semantic): a language's
notreads back as written (PR 72) by @codetalcott in #1250 - fix(semantic): an object literal is an object in a put or set (PR 73) by @codetalcott in #1251
- fix(semantic): four operand readings (PR 74) by @codetalcott in #1252
- fix(semantic): a bracketed attribute and an article-named variable on the direct path (PR 75) by @codetalcott in #1253
- test(value-matrix): colliding names, written targets and
is null(PR 76) by @codetalcott in #1254 - fix(i18n,semantic): qu writes
andashinallataq(PR 77) by @codetalcott in #1255 - fix(i18n,semantic): write
nullasnullwhere it sharedempty's word (PR 78) by @codetalcott in #1256 - fix(i18n,semantic): hi writes
noasकोई नहीं(PR 79) by @codetalcott in #1257 - test(value-matrix): mark the failures the owner accepted (PR 80) by @codetalcott in #1258
- fix(semantic): a variable spelled like a structure word reads back (PR 81) by @codetalcott in #1259
- fix(core): write a property of an object, the
ofoperator's, and a counted attribute (PR 82) by @codetalcott in #1260 - fix(semantic): a possessive target before a role with no marker reads whole (PR 83) by @codetalcott in #1261
- fix(semantic): the colliding names left read back (PR 84) by @codetalcott in #1262
- fix(semantic): equals/includes words and registered conversion types read back (PR 85) by @codetalcott in #1263
- docs: inventory the value-reading rules; move the matrix changelog out of CLAUDE.md (PR 86) by @codetalcott in #1264
- ci: the docsources filter never matched; give it its own step by @codetalcott in #1265
- refactor(semantic): value-reading.ts — where a slot stands, and a particle's reading (PR 87) by @codetalcott in #1266
- refactor(semantic): the keyword cluster, one classifier for a lone keyword (PR 88) by @codetalcott in #1267
- refactor(semantic): one operator vocabulary for the value readers (PR 89) by @codetalcott in #1268
- refactor(semantic): the verb guards in value-reading.ts (PR 90) by @codetalcott in #1269
- refactor(semantic): the value extent, in value-extent.ts (PR 91) by @codetalcott in #1270
- build(deps-dev): Bump the minor-and-patch group in /protocol/typescript with 2 updates by @dependabot[bot] in #1271
- build(deps-dev): Bump ip-address from 10.4.0 to 10.7.2 by @dependabot[bot] in #1272
- build(deps-dev): Bump @vitest/ui from 5.0.1 to 5.0.2 by @dependabot[bot] in #1280
- build(deps-dev): Bump vitest from 5.0.1 to 5.0.2 by @dependabot[bot] in #1277
- build(deps-dev): Bump prettier from 3.9.8 to 3.9.9 by @dependabot[bot] in #1276
- build(deps): Bump the minor-and-patch group across 1 directory with 13 updates by @dependabot[bot] in #1273
- refactor(semantic): the condition scan's copula guard, in value-reading.ts (PR 92) by @codetalcott in #1281
- test(testing-framework): the value matrix meets core's operator phrases (PR 93) by @codetalcott in #1282
- fix(semantic): the
toofequal tocontinues a value (PR 94) by @codetalcott in #1283 - fix(semantic): a type name stays English in every rendering (PR 95) by @codetalcott in #1284
- fix(semantic): the verb of
does not includestays English (PR 96) by @codetalcott in #1285 - docs(claude): the retired transformer's references, pointed at what replaced it (PR 98) by @codetalcott in #1286
- feat: warn about a variable spelled like a word of its language (PR 97) by @codetalcott in #1287
- fix(semantic): a particle before a run operator is its marker (PR 99) by @codetalcott in #1288
- fix(i18n,semantic): tl and tr write
includeswithcontains' word (PR 100) by @codetalcott in #1289 - fix(semantic): a selector follows every comparison phrase (PR 101) by @codetalcott in #1290
- fix(semantic): the article of a type check continues a value (PR 102) by @codetalcott in #1291
- feat(semantic): a colliding variable in parentheses where the plain render is misread (PR 103) by @codetalcott in #1292
- fix(semantic): three hand-written readings the consolidation filed (PR 104) by @codetalcott in #1293
- fix(semantic): a reference after a possessive is the property (PR 105) by @codetalcott in #1294
- fix(semantic): core's
hasreads back in every language (PR 106) by @codetalcott in #1295 - fix(semantic): two qu readings the consolidation filed (PR 107) by @codetalcott in #1296
- test(value-matrix): reference operands, a chained set, names inside expressions (PR 108) by @codetalcott in #1297
- fix(semantic,framework): a reference's property reads back (PR 109) by @codetalcott in #1298
- fix(semantic): a marker the command still owes is not a new handler (PR 110) by @codetalcott in #1299
- fix(semantic): the reader reads every name the verified render writes (PR 111) by @codetalcott in #1300
- fix(semantic): an end word before an operator is a value (PR 112) by @codetalcott in #1301
- refactor(semantic): the fallbacks read a lone token as the role capture does (PR 113) by @codetalcott in #1302
- fix(semantic): an end word where a value stands is a value (PR 114) by @codetalcott in #1303
- fix(semantic): a fallback run the expression parser reads whole is an expression (PR 115) by @codetalcott in #1304
- feat(semantic,compilation-service): a translation reports a variable the target reads as a value word (PR 116) by @codetalcott in #1305
- fix(semantic): an end word in a loop head is a value where one stands (PR 117) by @codetalcott in #1306
- fix(semantic): a number where a loop's form goes is its count (PR 118) by @codetalcott in #1307
- fix(semantic): a count beside a repeat verb no loop pattern matches (PR 119) by @codetalcott in #1308
- fix(semantic): an SOV loop verb ends its head (PR 120) by @codetalcott in #1309
- fix(semantic): an end word after a loop's own word is a value (PR 121) by @codetalcott in #1310
- fix(semantic): the until-condition head is a head-only repeat head (PR 123) by @codetalcott in #1311
- fix(semantic): an end word after an unmarked role's value is a value (PR 122) by @codetalcott in #1312
- test(value-matrix): a loop's count, and a sigil variable (PR 124) by @codetalcott in #1313
- fix(semantic,core): the loop-count queue — a count's types, and core's count (PR 125) by @codetalcott in #1314
- fix(semantic): an empty loop its own end closes keeps the command after it (PR 126) by @codetalcott in #1315
- fix(semantic): each language's own word for times is read (PR 127) by @codetalcott in #1316
- fix(semantic): a qu word keeps a marker-shaped end before a marker (PR 128) by @codetalcott in #1317
- fix(core): the hybrid bundles read a loop's count as upstream does (PR 129) by @codetalcott in #1318
- fix(semantic): what a get reads is any value (PR 130) by @codetalcott in #1319
- fix(i18n,semantic): a counted loop is written in the language's own words (PR 131) by @codetalcott in #1320
- docs: a fresh multilingual roadmap; the 8,740-line queue goes to a tag by @codetalcott in #1321
- docs: archive 165 docs-internal files under a tag; an index and authoring rules by @codetalcott in #1322
- chore(release): prepare 3.2.0 by @codetalcott in #1323
- build(deps-dev): Bump undici from 6.28.0 to 6.29.0 by @dependabot[bot] in #1324
- ci(release): the release workflows' tests get CI's 5-minute budget by @codetalcott in #1325
Full Changelog: v3.1.1...v3.2.0