mirror of
https://github.com/Shopify/liquid.git
synced 2026-09-12 23:40:45 -07:00
Commit Graph
Select branches
Hide Pull Requests
1508-shopify-docs-link
2-5-stable
2-6-stable
3-0-stable
4-0-stable
5-6-alpha
StrainerTemplate/isolate-filter-mods
actions-commit
actual-revert
add-json-encode-and-decode
all-changes-for-c-block-body
allow-nil-template-source
allow-recursive-liquid-tags
allow-whitespace-square-brackets
andyw8/drop-support-for-ruby2.6-and-2.7
andyw8/liquid-docs-content-swarm
andyw8/spike-liquid-yard
andyw8/update-rubocop-shopify
array-hash-test
autoresearch/liquid-perf-2026-03-11
autumn-cleaning
avoid-regex-allocation
bare-bracket-self-keyword
benchmark-load-render
benchmarks
better-bools-than-ghouls
better-bools-than-ghouls-update
bimal-filters
boolean_precedence
bp/bump-version
bp/tokenizer-fix
break-tag-docs-theme-rendering
bump-5-11
bump-5.10.0
bump-5.13.0
bump-5.7.0
bump-5.8.0
bump-5.9.0
bump-ruby-2-4
bump/5.4.0
c-extension
c-tokenizer
cache_var_lookups
catlee/assign_array
catlee/indentation
catlee/render_object
cbothner/coerce-clamp-value-from-at-least-at-most
centralizing-to_liquid
changes-for-liquid-c-vm-variable
check-utf8-validity
claude/liquid-to-ruby-compiler-0rmhj
colpos
comment-parse-tests
comment-tag-with-extra-string
configurable-partial-cache
consolidate-contextualization-of-inputs-via-the-context
content-swarm
context-drop
context_simplify
contextualize-before-to-liquid
cp-boolean-expressions
cp-expression-refactor
cp-expression-refactor-ai
cp-fix-rubocop
cp-make-new-tests-serializable-to-liquid-spec
cp-one-parser
cp-one-parser-ai
default-block-tag-blank-to-false
default-filter-false-fix
default-filter-with-to-liquid-value
default-variable-lookup-string-scanner
dependabot/bundler/bundler-ef8ef157fc
dependabot/github_actions/actions/checkout-7.0.0
dependabot/github_actions/ruby/setup-ruby-1.314.0
diff-types-err
disable-tag
docs-config-fix
docs-update
dpetrick/fix-comparison
dpetrick/hash_hacks
dpetrick/stringify-sum-property
drop/expect-context-to-be-present
empty-array
enable-cla-bot
env-propgating
env-warn-cleanup
environment-custom-tag
error-message-with-filepath
experiment-with-ruby-2.7
fast-expression-parse
fast-variable-parse
feature/add-tag-overwrites
feature/add-tag-overwrites-suggestions
filter-error
filter-name-symbols
filters-update
find-filter-patch
fix-comment-tag-delim-parsing
fix-constants
fix-context-overriding-in-templates
fix-failing-rubocop
fix-flaky-test
fix-hash-comparison
fix-history
fix-lexer-contains-as-id
fix-liquid-spec-without-activesupport
fix-multibyte-variable-parsing
fix-parsing-float-with-leading-point
fix-rake-example
fix-readme-docs-link
fix-tablerow-drop-cols-last-attr
fix-unless-to-use-to-liquid-value-helper
fix-variable-lookup-parse-timeout
fix/custom_tag_rendering
fix/echo-parse-tree-visitor
fix/kwarg-key-name-liquid-c-inconsistency
fix/range-parse-tree-visitor
fix/range-weird-type-handling
fix/theme-check-582-render-with-parse-tree-visitor
for-loop-float
force-to_liquid-input-iterator
format_filter
formatter
freeze-env
geddski/liquid-docs-content-swarm
gg-fix-existing-whitespace
gh-pages
gh-pages-sr
gh-pages-travis
has-boolean-arg
hash-last
hash-rendering-fixes
hotfix_blacklist
hybrid-tag-prototype
iainmcampbell/liquid-docs-content-swarm
ianks-fix-backward-breaking
ianks-lazy-tokenizer
identifier-dash-ending
ignore-comment-node
implicit-variable-scopes
improve-liquid-doc-documentation
improve_memory_limits_error_message
include_parsing_at_parse_time
infix-operators
inline-comment
inline-comments
jake-add-forloop-parentloop
jake-clarify-sort-natural
jake-content-swarm-2
jake-liquid-schema-update
jb-inline-snippet-updates
jb-inline-snippets
jb-method-literals
jf-self-drop-render-bug
jf-staging-strict-parser
jm/add_ld_link_doc_tag
jm/bump_liquid
jm/doc_body
jm/trim_doc_tag_desc
jm/update_snippet_url_links
k/contexts-1
klingbaum/ensure_sum_filter_calls_#to_liquid
klingbaum/fix-sum-filter-float-output
klingbaum/sum-filter
latest-bundler
lax-parse-warnings
lazy-tokenizer
leg_c
lexer-2
lexer-comparison-fix
lexer-parse-error-with-utf8
liquid-5.7.2-doc
liquid-compile
liquid-doc
liquid-doc-nodelist
liquid-docs
liquid-hermetic
liquid-nodelist
liquid-perf-bytetables
liquid-perf-polish
liquid-profile-stuff
liquid-spec-missing-features
liquid-tag-fixes
liquid-tag-whitespace-control-with-comment
liquid-usage
liquid_c_ext
liquid_ruby_4_0_box
main
marco-condition-to-liquid-value
marco-errors-in-snippets
marco-faster-parser
marco-fix-backward-breaking
marco/raw-tag-whitespace-control
markdown-renderer
master
master-fixes
mg/test
min-max-filter-docs
mllemango/liquid-docs-content-swarm
nested-properties
new-array-filters
new-array-filters-tophat
new-tokenizer
no-freeze-static-environment
no-template-mutation-on-render
non-parsing-block
non-parsing-comment
objects-opt
optimize-append-filter
optimize-invoke-filter
order-of-operations
out-of-band-errors
parse-context-new-tokenizer
parse_partials_at_template_parse_time
partial-cache-with-error-mode
pobed2/content-swarm-arrray-filters
pobed2/yard-dump
prevent-scope-squash
prototype-1849
pz-float-var-range
pz-invalid-endraw-tag
pz-strict-parser
pz-test-invalid-float
quirky-lexer-parsing
quirky-raw-tag-parse
ragel
ragel_c
range-optimization
range-to_liquid
raw-post-trim
recursively-parse-brackets
reduce-block-body-nesting
refactor-for-liquid-c-expression
refactor/invalid-encoding-error
register-filter-warn
releasing
remove-extraneous-attributes-link-script
remove-jruby-truffle
remove-lazy-stacks
remove-non-fix-from-changelog
remove-strict2-from-error-message
remove-tag-registry
render-after-prototype
render-expose-for-alias
render-for-context
render-forloop
render-tag
render-with
resource-limits-keys
resource-limits-struct
revert-1667-instrument-string-slice-bug-usage
revert-1823-feature/end-tag
revert-513-docs-update
revert-710-revert-513-docs-update
revert-invalid-comment-body
revert-to-s
rigid-parse
rubocop-bump-1
rubocop-upgrade
ruby-3-ci
score-registers
self-drop-eq
self-drop-renderer-mutation
sfr-verification
shipit-deploy/rubygems
shipit-deploy/rubygems-4-0-stable
shopify_ruby_style
simplify_find_variable
snippets
sort-numeric
source-migrate
spaceless-tag
sr-content-swarm
sr-inline-comment
stack-level-too-deep
static_register_frozen_string
strict2-assign-capture
strict2-include-tablerow
strict2-increment-decrement
strict_parse_variables
strict_parsing_everywhere
string-slice
styling-fixes-1
styling-fixes-2
styling-fixes-3
superfluid
symbol-filter-names
syntax-error-with-filename
tablerow-nil-params
template-factory
test-docs-flow
test-gem-installation
to-raw-value
to-s-fixes-34
tokenizer-next
tokenizer-quoted-strings
tree-optimizer
truffle-native
truncatewords
unfreeze-static
uniq-to-liquid-value
update-liquid-paths
update-loop-named-params
update-rubocop-todo
update-setup-ruby
usage-tracking
usage-update
use-to-liquid-value-with-conditions
v6
var-c-ext
var-c-ext-test
warning-line-numbers
whitespace-stripping-test
write-array-each
#100
#100
#1000
#1001
#1003
#1004
#1004
#1005
#1006
#101
#101
#1010
#1011
#1018
#1018
#1024
#1025
#1026
#1027
#1028
#1028
#103
#103
#1031
#1032
#1033
#1039
#104
#104
#1040
#1041
#1042
#1043
#1044
#1046
#1049
#1049
#1053
#1057
#1059
#106
#106
#1062
#1066
#107
#107
#1070
#1071
#1071
#1072
#1073
#1077
#1078
#1078
#1079
#1079
#108
#108
#1080
#1081
#1084
#1084
#1086
#1088
#1089
#109
#109
#1090
#1091
#1092
#1093
#1094
#1095
#1096
#1097
#1098
#1099
#1103
#1104
#1107
#1109
#111
#111
#1114
#1115
#1116
#1117
#112
#112
#1120
#1121
#1122
#1123
#1124
#1124
#113
#113
#1130
#1131
#1132
#1133
#1135
#1136
#1137
#1138
#1138
#1139
#1140
#1141
#1142
#1143
#1144
#1145
#1146
#1146
#1147
#1149
#115
#115
#1150
#1151
#1154
#1155
#1155
#1157
#1158
#1159
#1159
#1160
#1161
#1162
#1163
#1164
#1165
#1166
#1167
#117
#117
#1170
#1171
#1172
#1174
#1174
#1176
#1176
#1178
#118
#118
#1180
#1181
#1182
#1184
#1185
#1185
#1186
#1187
#1188
#1188
#1189
#1190
#1191
#1193
#1197
#120
#120
#1206
#1207
#1208
#1209
#1211
#1212
#1213
#1215
#1216
#1218
#1219
#1220
#1220
#1222
#1223
#1224
#1224
#1225
#1227
#1239
#1250
#1251
#1252
#1257
#1258
#1266
#1266
#1268
#127
#127
#1272
#1274
#1275
#1276
#128
#128
#1284
#1285
#1286
#1287
#1289
#1290
#1291
#1292
#1294
#1300
#1301
#1302
#1304
#1306
#1307
#1308
#1309
#131
#131
#1310
#1311
#1312
#1313
#1316
#1317
#1318
#132
#132
#1320
#1321
#1322
#1323
#1325
#1328
#1329
#133
#133
#1330
#1331
#1333
#1335
#1336
#1337
#1338
#1339
#1340
#1341
#1343
#1343
#1344
#1345
#1346
#1346
#135
#135
#1350
#1352
#1353
#1353
#1354
#1355
#1356
#1356
#1358
#1359
#1360
#1361
#1362
#1363
#1364
#1365
#1366
#1370
#1371
#1372
#1374
#1375
#1376
#1377
#1378
#1380
#1383
#1384
#1385
#1386
#1387
#139
#139
#1391
#1394
#1398
#140
#140
#1400
#1401
#1402
#1403
#1405
#1406
#1408
#141
#141
#1410
#1411
#1414
#1417
#1419
#1421
#1422
#1424
#1427
#1428
#1431
#1436
#1440
#1441
#1449
#145
#145
#1450
#1452
#1454
#1456
#1457
#1458
#1459
#1467
#1468
#147
#147
#1470
#1471
#1472
#1474
#1476
#1477
#1484
#1484
#1485
#1485
#1498
#1507
#1509
#1518
#152
#152
#1520
#1520
#1521
#1522
#1524
#1525
#1527
#1528
#1528
#1529
#1531
#1532
#1532
#1533
#1534
#1535
#1536
#1537
#1537
#1538
#1540
#1541
#1542
#1543
#1544
#1545
#1546
#1547
#1548
#1549
#1550
#1551
#1552
#1553
#1554
#1556
#1560
#1562
#1568
#1569
#157
#157
#1573
#1576
#1577
#1578
#1579
#158
#158
#1580
#1583
#1584
#1588
#1595
#1596
#1597
#1599
#160
#160
#1600
#1601
#1606
#1607
#1609
#161
#161
#1610
#1611
#1612
#1613
#1613
#1614
#1615
#1616
#1617
#1620
#1622
#1623
#1628
#1629
#1631
#1633
#1634
#1635
#1636
#1637
#1638
#164
#164
#1641
#1642
#1642
#1644
#1645
#1646
#1648
#1651
#1653
#1656
#1658
#1660
#1660
#1661
#1662
#1662
#1663
#1663
#1665
#1667
#1668
#1669
#1669
#1670
#1670
#1671
#1672
#1673
#1674
#1675
#1676
#1677
#168
#168
#1680
#1683
#1684
#1685
#1686
#1687
#1688
#1692
#1695
#170
#170
#1700
#1702
#171
#171
#1712
#1713
#1716
#1717
#172
#172
#1721
#1721
#1722
#1726
#1727
#1728
#1728
#173
#173
#1730
#1731
#1732
#1735
#1736
#1736
#1737
#1739
#174
#174
#1745
#1745
#1746
#1747
#1747
#1748
#1749
#175
#175
#1750
#1755
#176
#176
#1760
#1763
#1764
#1769
#1770
#1773
#1774
#1775
#1776
#1779
#1781
#1783
#1787
#1787
#1788
#1788
#1791
#1792
#1793
#1801
#1801
#1802
#1802
#1805
#1807
#1811
#1813
#1815
#1817
#1818
#1819
#1821
#1823
#1824
#183
#183
#1831
#1832
#1833
#1834
#1835
#1837
#1838
#1839
#1840
#1841
#1843
#1844
#1845
#1846
#1847
#1848
#185
#185
#1858
#1859
#1860
#1863
#1868
#1869
#1870
#1870
#1873
#1874
#1876
#1878
#1879
#1882
#1886
#1887
#1889
#189
#189
#1891
#1892
#1894
#1895
#1896
#1897
#1898
#1899
#190
#190
#1900
#1901
#1901
#1902
#1903
#1904
#1905
#1907
#1908
#1908
#1909
#191
#191
#1910
#1917
#1918
#1919
#192
#192
#1920
#1921
#1921
#1922
#1922
#1923
#1923
#1924
#1925
#1927
#1928
#1929
#1931
#1932
#1933
#1933
#1935
#1936
#1937
#1937
#194
#194
#1940
#1942
#1943
#1944
#1945
#1945
#1946
#1947
#1947
#1948
#1949
#1949
#1951
#1952
#1953
#1954
#1955
#1956
#1956
#1957
#1957
#1958
#196
#196
#1960
#1963
#1964
#1965
#1967
#1968
#197
#197
#1973
#1974
#1974
#1975
#1975
#1979
#198
#198
#1980
#1981
#1983
#1984
#1987
#1989
#199
#199
#1991
#1992
#1992
#1993
#1993
#1994
#1995
#200
#200
#2001
#2003
#2003
#2004
#2005
#2006
#2007
#201
#201
#2010
#2011
#2012
#2013
#2016
#2017
#2017
#2020
#2020
#2021
#2021
#2022
#2023
#2024
#2026
#2027
#2028
#203
#203
#2030
#2031
#2031
#2032
#2032
#2034
#2035
#2036
#2037
#2038
#2039
#2044
#2045
#2046
#2047
#2048
#205
#205
#2050
#2051
#2054
#2056
#2056
#2057
#2058
#2059
#2060
#2062
#2063
#2063
#2064
#2065
#2066
#2067
#2068
#2069
#2069
#2070
#2070
#2071
#2071
#2072
#2073
#2073
#2074
#2075
#2077
#2078
#2079
#208
#208
#2080
#2081
#2081
#2082
#2083
#2083
#2084
#2085
#2087
#2088
#2089
#209
#209
#2090
#2090
#2091
#2092
#2093
#2094
#2095
#2095
#2098
#2099
#2099
#210
#210
#2100
#2100
#2102
#2102
#2103
#2104
#2104
#2105
#2105
#2106
#2108
#2108
#2111
#2111
#2112
#2112
#2113
#2113
#2114
#2114
#2116
#2116
#214
#214
#215
#215
#217
#217
#218
#218
#219
#219
#220
#220
#221
#221
#226
#226
#230
#230
#232
#232
#233
#233
#234
#234
#235
#235
#238
#238
#239
#239
#240
#241
#241
#242
#242
#243
#243
#244
#244
#249
#249
#250
#251
#251
#253
#253
#254
#254
#255
#255
#256
#256
#257
#257
#259
#259
#261
#261
#264
#264
#266
#266
#267
#267
#268
#268
#269
#269
#271
#271
#272
#272
#273
#274
#276
#277
#277
#28
#28
#282
#284
#287
#291
#291
#295
#296
#297
#297
#298
#299
#30
#30
#300
#303
#304
#304
#306
#309
#310
#312
#317
#318
#319
#319
#320
#321
#322
#323
#324
#325
#327
#327
#328
#328
#329
#33
#333
#335
#336
#336
#337
#338
#34
#34
#341
#346
#347
#349
#350
#350
#351
#352
#352
#353
#353
#354
#355
#355
#356
#356
#358
#358
#359
#359
#36
#36
#361
#361
#363
#364
#365
#365
#368
#369
#369
#371
#372
#372
#374
#375
#376
#377
#377
#378
#379
#379
#380
#381
#382
#382
#383
#384
#385
#386
#389
#39
#390
#390
#391
#392
#392
#393
#395
#397
#398
#40
#400
#401
#402
#403
#403
#406
#407
#41
#41
#410
#410
#411
#412
#413
#414
#415
#415
#416
#417
#419
#420
#420
#421
#423
#425
#426
#426
#429
#429
#43
#43
#435
#435
#437
#437
#439
#44
#44
#440
#441
#442
#442
#443
#444
#445
#446
#448
#449
#45
#45
#450
#452
#452
#453
#454
#454
#455
#456
#456
#458
#459
#46
#46
#462
#463
#465
#466
#469
#471
#471
#472
#473
#473
#474
#474
#475
#475
#476
#478
#479
#48
#480
#481
#482
#483
#485
#486
#489
#49
#49
#491
#492
#499
#503
#504
#506
#51
#51
#512
#513
#519
#520
#53
#53
#537
#539
#54
#54
#540
#541
#545
#55
#55
#550
#551
#553
#554
#555
#556
#556
#557
#557
#558
#558
#559
#56
#56
#561
#561
#562
#563
#564
#565
#566
#566
#568
#570
#572
#572
#573
#574
#575
#576
#577
#578
#579
#58
#58
#581
#582
#583
#584
#585
#585
#586
#587
#587
#588
#588
#590
#592
#593
#594
#595
#596
#599
#60
#60
#600
#601
#602
#602
#603
#604
#605
#607
#607
#608
#61
#61
#610
#611
#612
#613
#614
#616
#617
#618
#62
#62
#620
#621
#621
#623
#624
#624
#626
#627
#627
#631
#632
#633
#636
#636
#637
#644
#644
#645
#645
#65
#65
#652
#653
#655
#658
#66
#66
#661
#662
#665
#667
#672
#673
#673
#679
#68
#68
#680
#681
#682
#683
#687
#688
#69
#69
#691
#693
#693
#694
#694
#695
#696
#702
#702
#703
#703
#705
#707
#710
#711
#712
#713
#714
#716
#717
#718
#719
#719
#72
#72
#723
#725
#726
#726
#729
#731
#732
#733
#734
#735
#736
#737
#737
#738
#739
#74
#74
#741
#742
#743
#744
#746
#746
#748
#750
#750
#751
#757
#76
#76
#761
#764
#765
#766
#769
#77
#77
#772
#772
#773
#779
#779
#78
#78
#781
#785
#786
#787
#787
#789
#793
#793
#795
#797
#798
#799
#80
#80
#803
#803
#805
#809
#81
#81
#810
#812
#813
#815
#817
#817
#820
#826
#829
#832
#834
#834
#835
#836
#837
#839
#84
#84
#840
#840
#845
#846
#849
#85
#85
#850
#851
#854
#855
#856
#857
#860
#864
#867
#867
#869
#869
#87
#87
#872
#874
#877
#877
#878
#878
#879
#88
#88
#888
#888
#890
#890
#891
#892
#894
#895
#896
#898
#90
#90
#901
#906
#909
#914
#914
#915
#915
#916
#916
#920
#921
#924
#929
#929
#93
#93
#930
#932
#937
#939
#939
#94
#94
#940
#941
#942
#943
#944
#952
#954
#957
#958
#959
#959
#960
#960
#961
#961
#962
#963
#966
#97
#97
#972
#977
#977
#981
#988
#989
#989
#990
#990
#991
#992
v2.0.0
v2.1.0
v2.1.1
v2.1.2
v2.1.3
v2.2.0
v2.2.1
v2.2.2
v2.3.0
v2.4.0
v2.5.0
v2.5.1
v2.5.2
v2.5.3
v2.5.4
v2.5.5
v2.6.0
v2.6.0.rc1
v2.6.1
v2.6.2
v2.6.3
v3.0.0
v3.0.0.rc1
v3.0.1
v3.0.2
v3.0.3
v3.0.4
v3.0.5
v3.0.6
v4.0.0
v4.0.0.rc1
v4.0.0.rc2
v4.0.0.rc3
v4.0.1
v4.0.2
v4.0.3
v4.0.4
v5.0.0
v5.0.1
v5.1.0
v5.10.0
v5.11.0
v5.12.0
v5.13.0
v5.2.0
v5.3.0
v5.4.0
v5.5.0
v5.5.1
v5.6.0
v5.6.0.rc1
v5.6.0.rc2
v5.6.0.rc3
v5.6.1
v5.6.2
v5.6.3
v5.6.4
v5.7.0
v5.7.1
v5.7.2
v5.7.3
v5.8.0
v5.8.1
v5.8.2
v5.8.3
v5.8.4
v5.8.5
v5.8.6
v5.8.7
v5.9.0
Select branches
Hide Pull Requests
1508-shopify-docs-link
2-5-stable
2-6-stable
3-0-stable
4-0-stable
5-6-alpha
StrainerTemplate/isolate-filter-mods
actions-commit
actual-revert
add-json-encode-and-decode
all-changes-for-c-block-body
allow-nil-template-source
allow-recursive-liquid-tags
allow-whitespace-square-brackets
andyw8/drop-support-for-ruby2.6-and-2.7
andyw8/liquid-docs-content-swarm
andyw8/spike-liquid-yard
andyw8/update-rubocop-shopify
array-hash-test
autoresearch/liquid-perf-2026-03-11
autumn-cleaning
avoid-regex-allocation
bare-bracket-self-keyword
benchmark-load-render
benchmarks
better-bools-than-ghouls
better-bools-than-ghouls-update
bimal-filters
boolean_precedence
bp/bump-version
bp/tokenizer-fix
break-tag-docs-theme-rendering
bump-5-11
bump-5.10.0
bump-5.13.0
bump-5.7.0
bump-5.8.0
bump-5.9.0
bump-ruby-2-4
bump/5.4.0
c-extension
c-tokenizer
cache_var_lookups
catlee/assign_array
catlee/indentation
catlee/render_object
cbothner/coerce-clamp-value-from-at-least-at-most
centralizing-to_liquid
changes-for-liquid-c-vm-variable
check-utf8-validity
claude/liquid-to-ruby-compiler-0rmhj
colpos
comment-parse-tests
comment-tag-with-extra-string
configurable-partial-cache
consolidate-contextualization-of-inputs-via-the-context
content-swarm
context-drop
context_simplify
contextualize-before-to-liquid
cp-boolean-expressions
cp-expression-refactor
cp-expression-refactor-ai
cp-fix-rubocop
cp-make-new-tests-serializable-to-liquid-spec
cp-one-parser
cp-one-parser-ai
default-block-tag-blank-to-false
default-filter-false-fix
default-filter-with-to-liquid-value
default-variable-lookup-string-scanner
dependabot/bundler/bundler-ef8ef157fc
dependabot/github_actions/actions/checkout-7.0.0
dependabot/github_actions/ruby/setup-ruby-1.314.0
diff-types-err
disable-tag
docs-config-fix
docs-update
dpetrick/fix-comparison
dpetrick/hash_hacks
dpetrick/stringify-sum-property
drop/expect-context-to-be-present
empty-array
enable-cla-bot
env-propgating
env-warn-cleanup
environment-custom-tag
error-message-with-filepath
experiment-with-ruby-2.7
fast-expression-parse
fast-variable-parse
feature/add-tag-overwrites
feature/add-tag-overwrites-suggestions
filter-error
filter-name-symbols
filters-update
find-filter-patch
fix-comment-tag-delim-parsing
fix-constants
fix-context-overriding-in-templates
fix-failing-rubocop
fix-flaky-test
fix-hash-comparison
fix-history
fix-lexer-contains-as-id
fix-liquid-spec-without-activesupport
fix-multibyte-variable-parsing
fix-parsing-float-with-leading-point
fix-rake-example
fix-readme-docs-link
fix-tablerow-drop-cols-last-attr
fix-unless-to-use-to-liquid-value-helper
fix-variable-lookup-parse-timeout
fix/custom_tag_rendering
fix/echo-parse-tree-visitor
fix/kwarg-key-name-liquid-c-inconsistency
fix/range-parse-tree-visitor
fix/range-weird-type-handling
fix/theme-check-582-render-with-parse-tree-visitor
for-loop-float
force-to_liquid-input-iterator
format_filter
formatter
freeze-env
geddski/liquid-docs-content-swarm
gg-fix-existing-whitespace
gh-pages
gh-pages-sr
gh-pages-travis
has-boolean-arg
hash-last
hash-rendering-fixes
hotfix_blacklist
hybrid-tag-prototype
iainmcampbell/liquid-docs-content-swarm
ianks-fix-backward-breaking
ianks-lazy-tokenizer
identifier-dash-ending
ignore-comment-node
implicit-variable-scopes
improve-liquid-doc-documentation
improve_memory_limits_error_message
include_parsing_at_parse_time
infix-operators
inline-comment
inline-comments
jake-add-forloop-parentloop
jake-clarify-sort-natural
jake-content-swarm-2
jake-liquid-schema-update
jb-inline-snippet-updates
jb-inline-snippets
jb-method-literals
jf-self-drop-render-bug
jf-staging-strict-parser
jm/add_ld_link_doc_tag
jm/bump_liquid
jm/doc_body
jm/trim_doc_tag_desc
jm/update_snippet_url_links
k/contexts-1
klingbaum/ensure_sum_filter_calls_#to_liquid
klingbaum/fix-sum-filter-float-output
klingbaum/sum-filter
latest-bundler
lax-parse-warnings
lazy-tokenizer
leg_c
lexer-2
lexer-comparison-fix
lexer-parse-error-with-utf8
liquid-5.7.2-doc
liquid-compile
liquid-doc
liquid-doc-nodelist
liquid-docs
liquid-hermetic
liquid-nodelist
liquid-perf-bytetables
liquid-perf-polish
liquid-profile-stuff
liquid-spec-missing-features
liquid-tag-fixes
liquid-tag-whitespace-control-with-comment
liquid-usage
liquid_c_ext
liquid_ruby_4_0_box
main
marco-condition-to-liquid-value
marco-errors-in-snippets
marco-faster-parser
marco-fix-backward-breaking
marco/raw-tag-whitespace-control
markdown-renderer
master
master-fixes
mg/test
min-max-filter-docs
mllemango/liquid-docs-content-swarm
nested-properties
new-array-filters
new-array-filters-tophat
new-tokenizer
no-freeze-static-environment
no-template-mutation-on-render
non-parsing-block
non-parsing-comment
objects-opt
optimize-append-filter
optimize-invoke-filter
order-of-operations
out-of-band-errors
parse-context-new-tokenizer
parse_partials_at_template_parse_time
partial-cache-with-error-mode
pobed2/content-swarm-arrray-filters
pobed2/yard-dump
prevent-scope-squash
prototype-1849
pz-float-var-range
pz-invalid-endraw-tag
pz-strict-parser
pz-test-invalid-float
quirky-lexer-parsing
quirky-raw-tag-parse
ragel
ragel_c
range-optimization
range-to_liquid
raw-post-trim
recursively-parse-brackets
reduce-block-body-nesting
refactor-for-liquid-c-expression
refactor/invalid-encoding-error
register-filter-warn
releasing
remove-extraneous-attributes-link-script
remove-jruby-truffle
remove-lazy-stacks
remove-non-fix-from-changelog
remove-strict2-from-error-message
remove-tag-registry
render-after-prototype
render-expose-for-alias
render-for-context
render-forloop
render-tag
render-with
resource-limits-keys
resource-limits-struct
revert-1667-instrument-string-slice-bug-usage
revert-1823-feature/end-tag
revert-513-docs-update
revert-710-revert-513-docs-update
revert-invalid-comment-body
revert-to-s
rigid-parse
rubocop-bump-1
rubocop-upgrade
ruby-3-ci
score-registers
self-drop-eq
self-drop-renderer-mutation
sfr-verification
shipit-deploy/rubygems
shipit-deploy/rubygems-4-0-stable
shopify_ruby_style
simplify_find_variable
snippets
sort-numeric
source-migrate
spaceless-tag
sr-content-swarm
sr-inline-comment
stack-level-too-deep
static_register_frozen_string
strict2-assign-capture
strict2-include-tablerow
strict2-increment-decrement
strict_parse_variables
strict_parsing_everywhere
string-slice
styling-fixes-1
styling-fixes-2
styling-fixes-3
superfluid
symbol-filter-names
syntax-error-with-filename
tablerow-nil-params
template-factory
test-docs-flow
test-gem-installation
to-raw-value
to-s-fixes-34
tokenizer-next
tokenizer-quoted-strings
tree-optimizer
truffle-native
truncatewords
unfreeze-static
uniq-to-liquid-value
update-liquid-paths
update-loop-named-params
update-rubocop-todo
update-setup-ruby
usage-tracking
usage-update
use-to-liquid-value-with-conditions
v6
var-c-ext
var-c-ext-test
warning-line-numbers
whitespace-stripping-test
write-array-each
#100
#100
#1000
#1001
#1003
#1004
#1004
#1005
#1006
#101
#101
#1010
#1011
#1018
#1018
#1024
#1025
#1026
#1027
#1028
#1028
#103
#103
#1031
#1032
#1033
#1039
#104
#104
#1040
#1041
#1042
#1043
#1044
#1046
#1049
#1049
#1053
#1057
#1059
#106
#106
#1062
#1066
#107
#107
#1070
#1071
#1071
#1072
#1073
#1077
#1078
#1078
#1079
#1079
#108
#108
#1080
#1081
#1084
#1084
#1086
#1088
#1089
#109
#109
#1090
#1091
#1092
#1093
#1094
#1095
#1096
#1097
#1098
#1099
#1103
#1104
#1107
#1109
#111
#111
#1114
#1115
#1116
#1117
#112
#112
#1120
#1121
#1122
#1123
#1124
#1124
#113
#113
#1130
#1131
#1132
#1133
#1135
#1136
#1137
#1138
#1138
#1139
#1140
#1141
#1142
#1143
#1144
#1145
#1146
#1146
#1147
#1149
#115
#115
#1150
#1151
#1154
#1155
#1155
#1157
#1158
#1159
#1159
#1160
#1161
#1162
#1163
#1164
#1165
#1166
#1167
#117
#117
#1170
#1171
#1172
#1174
#1174
#1176
#1176
#1178
#118
#118
#1180
#1181
#1182
#1184
#1185
#1185
#1186
#1187
#1188
#1188
#1189
#1190
#1191
#1193
#1197
#120
#120
#1206
#1207
#1208
#1209
#1211
#1212
#1213
#1215
#1216
#1218
#1219
#1220
#1220
#1222
#1223
#1224
#1224
#1225
#1227
#1239
#1250
#1251
#1252
#1257
#1258
#1266
#1266
#1268
#127
#127
#1272
#1274
#1275
#1276
#128
#128
#1284
#1285
#1286
#1287
#1289
#1290
#1291
#1292
#1294
#1300
#1301
#1302
#1304
#1306
#1307
#1308
#1309
#131
#131
#1310
#1311
#1312
#1313
#1316
#1317
#1318
#132
#132
#1320
#1321
#1322
#1323
#1325
#1328
#1329
#133
#133
#1330
#1331
#1333
#1335
#1336
#1337
#1338
#1339
#1340
#1341
#1343
#1343
#1344
#1345
#1346
#1346
#135
#135
#1350
#1352
#1353
#1353
#1354
#1355
#1356
#1356
#1358
#1359
#1360
#1361
#1362
#1363
#1364
#1365
#1366
#1370
#1371
#1372
#1374
#1375
#1376
#1377
#1378
#1380
#1383
#1384
#1385
#1386
#1387
#139
#139
#1391
#1394
#1398
#140
#140
#1400
#1401
#1402
#1403
#1405
#1406
#1408
#141
#141
#1410
#1411
#1414
#1417
#1419
#1421
#1422
#1424
#1427
#1428
#1431
#1436
#1440
#1441
#1449
#145
#145
#1450
#1452
#1454
#1456
#1457
#1458
#1459
#1467
#1468
#147
#147
#1470
#1471
#1472
#1474
#1476
#1477
#1484
#1484
#1485
#1485
#1498
#1507
#1509
#1518
#152
#152
#1520
#1520
#1521
#1522
#1524
#1525
#1527
#1528
#1528
#1529
#1531
#1532
#1532
#1533
#1534
#1535
#1536
#1537
#1537
#1538
#1540
#1541
#1542
#1543
#1544
#1545
#1546
#1547
#1548
#1549
#1550
#1551
#1552
#1553
#1554
#1556
#1560
#1562
#1568
#1569
#157
#157
#1573
#1576
#1577
#1578
#1579
#158
#158
#1580
#1583
#1584
#1588
#1595
#1596
#1597
#1599
#160
#160
#1600
#1601
#1606
#1607
#1609
#161
#161
#1610
#1611
#1612
#1613
#1613
#1614
#1615
#1616
#1617
#1620
#1622
#1623
#1628
#1629
#1631
#1633
#1634
#1635
#1636
#1637
#1638
#164
#164
#1641
#1642
#1642
#1644
#1645
#1646
#1648
#1651
#1653
#1656
#1658
#1660
#1660
#1661
#1662
#1662
#1663
#1663
#1665
#1667
#1668
#1669
#1669
#1670
#1670
#1671
#1672
#1673
#1674
#1675
#1676
#1677
#168
#168
#1680
#1683
#1684
#1685
#1686
#1687
#1688
#1692
#1695
#170
#170
#1700
#1702
#171
#171
#1712
#1713
#1716
#1717
#172
#172
#1721
#1721
#1722
#1726
#1727
#1728
#1728
#173
#173
#1730
#1731
#1732
#1735
#1736
#1736
#1737
#1739
#174
#174
#1745
#1745
#1746
#1747
#1747
#1748
#1749
#175
#175
#1750
#1755
#176
#176
#1760
#1763
#1764
#1769
#1770
#1773
#1774
#1775
#1776
#1779
#1781
#1783
#1787
#1787
#1788
#1788
#1791
#1792
#1793
#1801
#1801
#1802
#1802
#1805
#1807
#1811
#1813
#1815
#1817
#1818
#1819
#1821
#1823
#1824
#183
#183
#1831
#1832
#1833
#1834
#1835
#1837
#1838
#1839
#1840
#1841
#1843
#1844
#1845
#1846
#1847
#1848
#185
#185
#1858
#1859
#1860
#1863
#1868
#1869
#1870
#1870
#1873
#1874
#1876
#1878
#1879
#1882
#1886
#1887
#1889
#189
#189
#1891
#1892
#1894
#1895
#1896
#1897
#1898
#1899
#190
#190
#1900
#1901
#1901
#1902
#1903
#1904
#1905
#1907
#1908
#1908
#1909
#191
#191
#1910
#1917
#1918
#1919
#192
#192
#1920
#1921
#1921
#1922
#1922
#1923
#1923
#1924
#1925
#1927
#1928
#1929
#1931
#1932
#1933
#1933
#1935
#1936
#1937
#1937
#194
#194
#1940
#1942
#1943
#1944
#1945
#1945
#1946
#1947
#1947
#1948
#1949
#1949
#1951
#1952
#1953
#1954
#1955
#1956
#1956
#1957
#1957
#1958
#196
#196
#1960
#1963
#1964
#1965
#1967
#1968
#197
#197
#1973
#1974
#1974
#1975
#1975
#1979
#198
#198
#1980
#1981
#1983
#1984
#1987
#1989
#199
#199
#1991
#1992
#1992
#1993
#1993
#1994
#1995
#200
#200
#2001
#2003
#2003
#2004
#2005
#2006
#2007
#201
#201
#2010
#2011
#2012
#2013
#2016
#2017
#2017
#2020
#2020
#2021
#2021
#2022
#2023
#2024
#2026
#2027
#2028
#203
#203
#2030
#2031
#2031
#2032
#2032
#2034
#2035
#2036
#2037
#2038
#2039
#2044
#2045
#2046
#2047
#2048
#205
#205
#2050
#2051
#2054
#2056
#2056
#2057
#2058
#2059
#2060
#2062
#2063
#2063
#2064
#2065
#2066
#2067
#2068
#2069
#2069
#2070
#2070
#2071
#2071
#2072
#2073
#2073
#2074
#2075
#2077
#2078
#2079
#208
#208
#2080
#2081
#2081
#2082
#2083
#2083
#2084
#2085
#2087
#2088
#2089
#209
#209
#2090
#2090
#2091
#2092
#2093
#2094
#2095
#2095
#2098
#2099
#2099
#210
#210
#2100
#2100
#2102
#2102
#2103
#2104
#2104
#2105
#2105
#2106
#2108
#2108
#2111
#2111
#2112
#2112
#2113
#2113
#2114
#2114
#2116
#2116
#214
#214
#215
#215
#217
#217
#218
#218
#219
#219
#220
#220
#221
#221
#226
#226
#230
#230
#232
#232
#233
#233
#234
#234
#235
#235
#238
#238
#239
#239
#240
#241
#241
#242
#242
#243
#243
#244
#244
#249
#249
#250
#251
#251
#253
#253
#254
#254
#255
#255
#256
#256
#257
#257
#259
#259
#261
#261
#264
#264
#266
#266
#267
#267
#268
#268
#269
#269
#271
#271
#272
#272
#273
#274
#276
#277
#277
#28
#28
#282
#284
#287
#291
#291
#295
#296
#297
#297
#298
#299
#30
#30
#300
#303
#304
#304
#306
#309
#310
#312
#317
#318
#319
#319
#320
#321
#322
#323
#324
#325
#327
#327
#328
#328
#329
#33
#333
#335
#336
#336
#337
#338
#34
#34
#341
#346
#347
#349
#350
#350
#351
#352
#352
#353
#353
#354
#355
#355
#356
#356
#358
#358
#359
#359
#36
#36
#361
#361
#363
#364
#365
#365
#368
#369
#369
#371
#372
#372
#374
#375
#376
#377
#377
#378
#379
#379
#380
#381
#382
#382
#383
#384
#385
#386
#389
#39
#390
#390
#391
#392
#392
#393
#395
#397
#398
#40
#400
#401
#402
#403
#403
#406
#407
#41
#41
#410
#410
#411
#412
#413
#414
#415
#415
#416
#417
#419
#420
#420
#421
#423
#425
#426
#426
#429
#429
#43
#43
#435
#435
#437
#437
#439
#44
#44
#440
#441
#442
#442
#443
#444
#445
#446
#448
#449
#45
#45
#450
#452
#452
#453
#454
#454
#455
#456
#456
#458
#459
#46
#46
#462
#463
#465
#466
#469
#471
#471
#472
#473
#473
#474
#474
#475
#475
#476
#478
#479
#48
#480
#481
#482
#483
#485
#486
#489
#49
#49
#491
#492
#499
#503
#504
#506
#51
#51
#512
#513
#519
#520
#53
#53
#537
#539
#54
#54
#540
#541
#545
#55
#55
#550
#551
#553
#554
#555
#556
#556
#557
#557
#558
#558
#559
#56
#56
#561
#561
#562
#563
#564
#565
#566
#566
#568
#570
#572
#572
#573
#574
#575
#576
#577
#578
#579
#58
#58
#581
#582
#583
#584
#585
#585
#586
#587
#587
#588
#588
#590
#592
#593
#594
#595
#596
#599
#60
#60
#600
#601
#602
#602
#603
#604
#605
#607
#607
#608
#61
#61
#610
#611
#612
#613
#614
#616
#617
#618
#62
#62
#620
#621
#621
#623
#624
#624
#626
#627
#627
#631
#632
#633
#636
#636
#637
#644
#644
#645
#645
#65
#65
#652
#653
#655
#658
#66
#66
#661
#662
#665
#667
#672
#673
#673
#679
#68
#68
#680
#681
#682
#683
#687
#688
#69
#69
#691
#693
#693
#694
#694
#695
#696
#702
#702
#703
#703
#705
#707
#710
#711
#712
#713
#714
#716
#717
#718
#719
#719
#72
#72
#723
#725
#726
#726
#729
#731
#732
#733
#734
#735
#736
#737
#737
#738
#739
#74
#74
#741
#742
#743
#744
#746
#746
#748
#750
#750
#751
#757
#76
#76
#761
#764
#765
#766
#769
#77
#77
#772
#772
#773
#779
#779
#78
#78
#781
#785
#786
#787
#787
#789
#793
#793
#795
#797
#798
#799
#80
#80
#803
#803
#805
#809
#81
#81
#810
#812
#813
#815
#817
#817
#820
#826
#829
#832
#834
#834
#835
#836
#837
#839
#84
#84
#840
#840
#845
#846
#849
#85
#85
#850
#851
#854
#855
#856
#857
#860
#864
#867
#867
#869
#869
#87
#87
#872
#874
#877
#877
#878
#878
#879
#88
#88
#888
#888
#890
#890
#891
#892
#894
#895
#896
#898
#90
#90
#901
#906
#909
#914
#914
#915
#915
#916
#916
#920
#921
#924
#929
#929
#93
#93
#930
#932
#937
#939
#939
#94
#94
#940
#941
#942
#943
#944
#952
#954
#957
#958
#959
#959
#960
#960
#961
#961
#962
#963
#966
#97
#97
#972
#977
#977
#981
#988
#989
#989
#990
#990
#991
#992
v2.0.0
v2.1.0
v2.1.1
v2.1.2
v2.1.3
v2.2.0
v2.2.1
v2.2.2
v2.3.0
v2.4.0
v2.5.0
v2.5.1
v2.5.2
v2.5.3
v2.5.4
v2.5.5
v2.6.0
v2.6.0.rc1
v2.6.1
v2.6.2
v2.6.3
v3.0.0
v3.0.0.rc1
v3.0.1
v3.0.2
v3.0.3
v3.0.4
v3.0.5
v3.0.6
v4.0.0
v4.0.0.rc1
v4.0.0.rc2
v4.0.0.rc3
v4.0.1
v4.0.2
v4.0.3
v4.0.4
v5.0.0
v5.0.1
v5.1.0
v5.10.0
v5.11.0
v5.12.0
v5.13.0
v5.2.0
v5.3.0
v5.4.0
v5.5.0
v5.5.1
v5.6.0
v5.6.0.rc1
v5.6.0.rc2
v5.6.0.rc3
v5.6.1
v5.6.2
v5.6.3
v5.6.4
v5.7.0
v5.7.1
v5.7.2
v5.7.3
v5.8.0
v5.8.1
v5.8.2
v5.8.3
v5.8.4
v5.8.5
v5.8.6
v5.8.7
v5.9.0
-
f9257bf8c6
Document break tag theme rendering behavior
break-tag-docs-theme-rendering

Nathan FergusonandPi AI
2026-08-27 12:29:17 -04:00 -
3befa567b1
Add hermetic template recording and replay
liquid-hermetic
Tobi Lutke
2026-08-07 10:40:39 -04:00 -
44ba29514e
Merge pull request #2051 from bakura10/doc-squish
gh-pages

Gray GilmoreandGitHub
2026-08-05 13:43:18 -07:00 -
807d45a6b3
Surface blank-body inline errors in strict2
main
Tobi Lütke
2026-07-05 18:56:24 +00:00 -
7a5e45fc47
Bump to 5.13.0 (#2103)
v5.13.0
shipit-deploy/rubygems

Guilherme CarreiroandGitHub
2026-06-29 17:41:55 +02:00 -
545fd750f2
Bump to 5.13.0
bump-5.13.0
Guilherme Carreiro
2026-06-29 17:40:23 +02:00 -
058b40be1e
Bump actions/checkout from 3.6.0 to 7.0.0
dependabot/github_actions/actions/checkout-7.0.0

dependabot[bot]andGitHub
2026-06-22 21:33:35 +00:00 -
9e451b4307
Bump ruby/setup-ruby from 1.295.0 to 1.314.0
dependabot/github_actions/ruby/setup-ruby-1.314.0

dependabot[bot]andGitHub
2026-06-22 21:33:30 +00:00 -
9efca9f718
Use liquid-spec branch for
selfspecs
Ian Ker-SeymerandIan Ker-Seymer
2026-06-10 22:00:48 -04:00 -
529800f46b
Let environment
selfshadowSelfDrop
Ian Ker-SeymerandIan Ker-Seymer
2026-06-10 18:54:50 -04:00 -
7b368dffb8
Fix
SelfDropequality (#2091)
Guilherme CarreiroandGitHub
2026-06-05 10:47:37 +02:00 -
771ceccf41
Cache SelfDrop per context
self-drop-eq
Guilherme Carreiro
2026-06-05 09:55:31 +02:00 -
b18930f2ea
Fix
SelfDropequality
Guilherme Carreiro
2026-06-02 16:41:59 +02:00 -
c4902e792a
Add deferred partial rendering with Declarative Partial Updates
render-after-prototype
Marco Concetto Rudilosso
2026-05-25 12:31:15 +02:00 -
742ac3dbf5
Prevent
SelfDropcontext mutation across render boundaries (#2082)
Guilherme CarreiroandGitHub
2026-05-20 09:34:37 +02:00 -
3f5a7faeb2
Adopt 'undef context='
self-drop-renderer-mutation
Guilherme Carreiro
2026-05-13 10:36:44 +02:00 -
8d8105a452
Update lib/liquid/self_drop.rb


2026-05-13 09:11:10 +02:00 -
ce0d465f68
Make whitespace filters Unicode-aware
gg-fix-existing-whitespace
Gray Gilmore
2026-05-06 14:00:13 -07:00 -
bc7f1caa35
Remove support for contextualization
Guilherme Carreiro
2026-05-08 09:51:31 +02:00 -
fd49bbafb5
Renamed: test/integration/self_drop_test.rb -> test/integration/self_drop_context_test.rb
Guilherme Carreiro
2026-05-06 16:06:38 +02:00 -
c698474abc
Prevent
SelfDropcontext mutation across render boundaries
Guilherme Carreiro
2026-05-06 09:49:30 +02:00 -
bb40962e4e
fix(render): preserve scope chain when self: bound on render tag
jf-self-drop-render-bug
Josh Faigan
2026-04-30 15:22:49 -04:00 -
1954a2655c
Update liquid-spec adapters

Ian Ker-SeymerandIan Ker-Seymer
2026-04-28 10:03:57 -04:00 -
9ff501f919
Update liquid-spec adapters
liquid-spec-missing-features
Ian Ker-Seymer
2026-04-28 10:03:57 -04:00 -
6d81b1b68c
Merge pull request #2077 from Shopify/remove-strict2-from-error-message

Alok SwamyandGitHub
2026-04-24 16:21:51 -04:00 -
dfddd8f390
Remove "strict2" from bare bracket error message
remove-strict2-from-error-message

Alok SwamyandClaude Opus 4.7
2026-04-24 16:18:05 -04:00 -
95ce7e7fa1
Merge pull request #2067 from Shopify/strict2-increment-decrement

Alok SwamyandGitHub
2026-04-24 16:11:49 -04:00 -
197d755e0c
Merge pull request #2065 from Shopify/strict2-assign-capture

Alok SwamyandGitHub
2026-04-24 16:10:59 -04:00 -
7d5a4d092a
Merge pull request #2064 from Shopify/strict2-include-tablerow
bare-bracket-self-keyword

Alok SwamyandGitHub
2026-04-24 16:06:06 -04:00 -
d0c5444db1
Merge pull request #2060 from Shopify/bare-bracket-self-keyword

Alok SwamyandGitHub
2026-04-24 16:06:02 -04:00 -
e7373023d6
Add targeted tests for byte-walking fast paths
liquid-perf-bytetables
Chris Pak
2026-04-05 21:01:31 -07:00 -
d3e39525f3
BlockBody: byte-walk tag tokens instead of FullToken regex
Chris Pak
2026-04-05 20:53:53 -07:00 -
fd853a3593
VariableLookup: fast path for simple identifier chains
Chris Pak
2026-04-05 20:53:53 -07:00 -
aaabfc5017
Expression: byte-walk parse_number and guard strip allocation
Chris Pak
2026-04-05 20:53:53 -07:00 -
7cd8df6fa8
Add ByteTables module and bench_quick.rb benchmark harness
Chris Pak
2026-04-05 20:53:53 -07:00 -
731f64deef
Improves performance on hot parse and render paths
liquid-perf-polish
Chris Pak
2026-04-04 20:17:33 -07:00 -
84779f8a28
Removes dead code, tightens idioms, adds clarifying comments
Chris Pak
2026-04-04 20:17:12 -07:00 -
ba11b85875
Decomposes, extracts, and names the important concepts
Chris Pak
2026-04-04 20:16:37 -07:00 -
03e5e29b0b
Adds ByteTables, moves cursor load order, consolidates byte constants
Chris Pak
2026-04-04 20:12:53 -07:00 -
d9c42fd2eb
Fixes infinite loop in tokenizer on trailing stray '{'
Chris Pak
2026-04-04 20:07:56 -07:00 -
bc60deb671
update autoresearch experiment log

Tobi LutkeandChris Pak
2026-03-12 17:38:05 -04:00 -
17b691ee32
Replace @blocks.each with while loop in If render — avoids block proc allocation per render\n\nResult: {"status":"keep","combined_µs":3496,"parse_µs":2356,"render_µs":1140,"allocations":24530}

Tobi LutkeandChris Pak
2026-03-12 17:31:41 -04:00 -
de95af5414
Inline to_liquid_value in If render — avoids one method dispatch per condition evaluation\n\nResult: {"status":"keep","combined_µs":3459,"parse_µs":2318,"render_µs":1141,"allocations":24647}

Tobi LutkeandChris Pak
2026-03-12 17:31:20 -04:00 -
6faa62697b
Replace simple_lookup? byte scan with match? regex — 8x faster per call, cleaner code\n\nResult: {"status":"keep","combined_µs":3489,"parse_µs":2353,"render_µs":1136,"allocations":24647}

Tobi LutkeandChris Pak
2026-03-12 17:27:17 -04:00 -
f39fad8934
Condition#evaluate: skip loop block for simple conditions (no child_relation) — saves 235 allocs\n\nResult: {"status":"keep","combined_µs":3445,"parse_µs":2284,"render_µs":1161,"allocations":24647}

Tobi LutkeandChris Pak
2026-03-12 17:24:51 -04:00 -
1aa5854f44
Clean confirmation run: 3,314µs (-55% from main), stable\n\nResult: {"status":"keep","combined_µs":3314,"parse_µs":2203,"render_µs":1111,"allocations":24882}

Tobi LutkeandChris Pak
2026-03-12 17:22:24 -04:00 -
feb7036664
update autoresearch docs with current progress

Tobi LutkeandChris Pak
2026-03-12 17:21:28 -04:00 -
111aeed8f1
parse_tag_token without StringScanner: pure byte ops avoid reset(token) overhead, -12% combined\n\nResult: {"status":"keep","combined_µs":3350,"parse_µs":2212,"render_µs":1138,"allocations":24882}

Tobi LutkeandChris Pak
2026-03-12 17:17:10 -04:00 -
9cbfae22b0
Clean up tokenizer: remove unused StringScanner setup and regex constants\n\nResult: {"status":"keep","combined_µs":3490,"parse_µs":2331,"render_µs":1159,"allocations":24882}

Tobi LutkeandChris Pak
2026-03-12 17:12:08 -04:00 -
89076dbf3a
Confirmation run: byteindex tokenizer consistently 3,400-3,600µs\n\nResult: {"status":"keep","combined_µs":3464,"parse_µs":2335,"render_µs":1129,"allocations":24882}

Tobi LutkeandChris Pak
2026-03-12 17:11:29 -04:00 -
f2c0fbfa0b
Replace StringScanner tokenizer with String#byteindex — 12% faster parse, no regex overhead for delimiter finding\n\nResult: {"status":"keep","combined_µs":3556,"parse_µs":2388,"render_µs":1168,"allocations":24882}

Tobi LutkeandChris Pak
2026-03-12 17:11:15 -04:00 -
78550c0e0d
Baseline: 3,818µs combined, 24,881 allocs\n\nResult: {"status":"keep","combined_µs":3818,"parse_µs":2722,"render_µs":1096,"allocations":24881}

Tobi LutkeandChris Pak
2026-03-12 16:48:10 -04:00 -
68d697d1c5
Skip context.evaluate for String lookup keys in VariableLookup — avoids respond_to? dispatch\n\nResult: {"status":"keep","combined_µs":4103,"parse_µs":2881,"render_µs":1222,"allocations":24881}

Tobi LutkeandChris Pak
2026-03-11 10:52:07 -04:00 -
a206932c4a
update autoresearch.md with current progress

Tobi LutkeandChris Pak
2026-03-11 10:51:39 -04:00 -
8a39c3aa33
Cache no-arg filter tuples [name, EMPTY_ARRAY] — reuse frozen tuples across templates\n\nResult: {"status":"keep","combined_µs":4147,"parse_µs":2992,"render_µs":1155,"allocations":24881}

Tobi LutkeandChris Pak
2026-03-11 10:49:44 -04:00 -
89fcea371e
Replace manual blank_string? with regex match — cleaner code\n\nResult: {"status":"keep","combined_µs":4196,"parse_µs":3042,"render_µs":1154,"allocations":25535}

Tobi LutkeandChris Pak
2026-03-11 10:44:43 -04:00 -
de8675f8fb
Skip to_liquid_value for String/Integer keys in VariableLookup — avoids respond_to? dispatch\n\nResult: {"status":"keep","combined_µs":4131,"parse_µs":2893,"render_µs":1238,"allocations":25535}

Tobi LutkeandChris Pak
2026-03-11 10:44:05 -04:00 -
e3ba4aa958
Minor cleanup: optimize expect_id with while loop and early return\n\nResult: {"status":"keep","combined_µs":4184,"parse_µs":2921,"render_µs":1263,"allocations":25535}

Tobi LutkeandChris Pak
2026-03-11 10:43:20 -04:00 -
c3e55e92d9
Replace manual scan_dotted_id with regex\n\nResult: {"status":"keep","combined_µs":4121,"parse_µs":2812,"render_µs":1309,"allocations":25535}

Tobi LutkeandChris Pak
2026-03-11 10:42:07 -04:00 -
0924e59840
Replace manual scan_quoted_string with regex capture groups\n\nResult: {"status":"keep","combined_µs":4102,"parse_µs":2849,"render_µs":1253,"allocations":25535}

Tobi LutkeandChris Pak
2026-03-11 10:41:44 -04:00 -
8d1f030825
Replace manual rest_blank? with regex skip + eos? check\n\nResult: {"status":"keep","combined_µs":4047,"parse_µs":2795,"render_µs":1252,"allocations":25535}

Tobi LutkeandChris Pak
2026-03-11 10:41:20 -04:00 -
4896d6d497
Replace manual scan_comparison_op with regex — cleaner and avoids byteslice allocation for op strings\n\nResult: {"status":"keep","combined_µs":4007,"parse_µs":2808,"render_µs":1199,"allocations":25535}

Tobi LutkeandChris Pak
2026-03-11 10:40:47 -04:00 -
edd8fabb3a
Replace manual scan_fragment/scan_quoted_string_raw/skip_fragment with regex — cleaner, same/better perf\n\nResult: {"status":"keep","combined_µs":4132,"parse_µs":2890,"render_µs":1242,"allocations":25535}

Tobi LutkeandChris Pak
2026-03-11 10:40:10 -04:00 -
28ede9c539
Replace manual byte-level scan_number with regex — cleaner code, same performance\n\nResult: {"status":"keep","combined_µs":4184,"parse_µs":2931,"render_µs":1253,"allocations":25535}

Tobi LutkeandChris Pak
2026-03-11 10:39:14 -04:00 -
14ac591403
Replace manual byte-level scan_id/skip_id with regex — C-level StringScanner.scan is faster than Ruby-level byte scanning\n\nResult: {"status":"keep","combined_µs":4185,"parse_µs":2943,"render_µs":1242,"allocations":25535}

Tobi LutkeandChris Pak
2026-03-11 10:37:09 -04:00 -
3f9b8916b2
Fast-path Hash lookups in VariableLookup#evaluate — skip respond_to? checks for Hash objects\n\nResult: {"status":"keep","combined_µs":4110,"parse_µs":2922,"render_µs":1188,"allocations":25535}

Tobi LutkeandChris Pak
2026-03-11 10:35:29 -04:00 -
41de814045
Skip to_liquid/context= for primitives in VariableLookup#evaluate\n\nResult: {"status":"keep","combined_µs":4334,"parse_µs":3062,"render_µs":1272,"allocations":25535}

Tobi LutkeandChris Pak
2026-03-11 10:32:37 -04:00 -
91d9a509f9
Fast return for primitive types in find_variable — skip to_liquid and respond_to?(:context=)\n\nResult: {"status":"keep","combined_µs":4225,"parse_µs":3009,"render_µs":1216,"allocations":25535}

Tobi LutkeandChris Pak
2026-03-11 10:31:59 -04:00 -
37a4c19405
Skip find_index when only one scope in find_variable — go straight to environments\n\nResult: {"status":"keep","combined_µs":4323,"parse_µs":3055,"render_µs":1268,"allocations":25535}

Tobi LutkeandChris Pak
2026-03-11 10:31:35 -04:00 -
dc35b765e8
Skip respond_to?(:context=) for primitive types in find_variable — avoids method lookup overhead\n\nResult: {"status":"keep","combined_µs":4207,"parse_µs":2943,"render_µs":1264,"allocations":25535}

Tobi LutkeandChris Pak
2026-03-11 10:30:41 -04:00 -
1dfdce82dc
Use EMPTY_ARRAY for empty static_environments in Context — avoids 60 array allocs per render cycle\n\nResult: {"status":"keep","combined_µs":4262,"parse_µs":3079,"render_µs":1183,"allocations":25535}

Tobi LutkeandChris Pak
2026-03-11 10:26:30 -04:00 -
bf16d291c9
Lazy @changes hash in Registers — only allocate when a register is actually written\n\nResult: {"status":"keep","combined_µs":4287,"parse_µs":3059,"render_µs":1228,"allocations":25595}

Tobi LutkeandChris Pak
2026-03-11 10:25:29 -04:00 -
2da3ae330a
Cache block_delimiter strings per tag name — avoids repeated string interpolation\n\nResult: {"status":"keep","combined_µs":4372,"parse_µs":3127,"render_µs":1245,"allocations":25605}

Tobi LutkeandChris Pak
2026-03-11 10:23:56 -04:00 -
1800cffd3b
Lazy Context init: defer StringScanner and @interrupts array allocation until needed\n\nResult: {"status":"keep","combined_µs":4299,"parse_µs":3057,"render_µs":1242,"allocations":26015}

Tobi LutkeandChris Pak
2026-03-11 10:22:29 -04:00 -
02764d28f7
Cache small integer to_s (0-999): avoids 267 Integer#to_s allocations per render cycle\n\nResult: {"status":"keep","combined_µs":4158,"parse_µs":2920,"render_µs":1238,"allocations":26128}

Tobi LutkeandChris Pak
2026-03-11 10:20:45 -04:00 -
f08fe63042
Replace split+join in truncatewords with manual word scan — avoids array + string allocations\n\nResult: {"status":"keep","combined_µs":4280,"parse_µs":3009,"render_µs":1271,"allocations":26395}

Tobi LutkeandChris Pak
2026-03-11 10:20:11 -04:00 -
588966fd1c
Extend fast-path filter parsing to handle comma-separated multi-arg filters (e.g. pluralize: 'item', 'items')\n\nResult: {"status":"keep","combined_µs":4266,"parse_µs":3032,"render_µs":1234,"allocations":26480}

Tobi LutkeandChris Pak
2026-03-11 10:16:39 -04:00 -
0e5edcc9da
Avoid expr_markup byteslice when name is entire markup string (no whitespace, no filters)\n\nResult: {"status":"keep","combined_µs":4277,"parse_µs":3057,"render_µs":1220,"allocations":27026}

Tobi LutkeandChris Pak
2026-03-11 10:12:26 -04:00 -
3f10ac702c
Fast-path single-arg filter parsing: handle quoted strings, numbers, identifiers without Lexer/Parser\n\nResult: {"status":"keep","combined_µs":4427,"parse_µs":3181,"render_µs":1246,"allocations":27235}

Tobi LutkeandChris Pak
2026-03-11 10:09:59 -04:00 -
f31930555e
fix rubocop offenses: autocorrect style/layout violations

Tobi LutkeandChris Pak
2026-03-11 09:53:44 -04:00 -
f0ac941ac6
update autoresearch.md with full progress log

Tobi LutkeandChris Pak
2026-03-11 09:24:26 -04:00 -
19bf49c116
For tag: migrate lax_parse to Cursor with zero-alloc skip_id/expect_id

Tobi LutkeandChris Pak
2026-03-11 09:19:59 -04:00 -
5204033588
Cursor: add skip_id, expect_id, skip_fragment for zero-alloc scanning

Tobi LutkeandChris Pak
2026-03-11 09:19:27 -04:00 -
b0c9f576af
REVERTED: Cursor for For tag adds 148 allocs from scan_id/scan_fragment string creation\n\nResult: {"status":"discard","combined_µs":5049,"parse_us":3765,"render_us":1284,"allocations":29793,"parse_µs":3765,"render_µs":1284}

Tobi LutkeandChris Pak
2026-03-11 09:18:35 -04:00 -
343ae1da56
remove dead BlockBody.parse_tag_token and If SIMPLE_CONDITION - now in Cursor

Tobi LutkeandChris Pak
2026-03-11 09:17:29 -04:00 -
f42593dc50
introduce Cursor class: centralize byte-level scanning for tag/variable/condition parsing

Tobi LutkeandChris Pak
2026-03-11 09:15:21 -04:00 -
80edd212a0
add parse_simple to skip simple_lookup? check when caller validates

Tobi LutkeandChris Pak
2026-03-11 09:10:05 -04:00 -
65d7568403
fast-path VariableLookup init: skip scan_variable for simple identifier chains

Tobi LutkeandChris Pak
2026-03-11 09:08:44 -04:00 -
c2ba6b0676
avoid allocating seen={} hash in Utils.to_s/inspect when not needed

Tobi LutkeandChris Pak
2026-03-11 09:02:42 -04:00 -
92ca381fb1
update autoresearch.sh: 3-run best-of, skip liquid-spec for speed

Tobi LutkeandChris Pak
2026-03-11 09:01:57 -04:00 -
1032d57532
optimize Context init: avoid unnecessary array wrapping for environments

Tobi LutkeandChris Pak
2026-03-11 08:56:45 -04:00 -
e1a0e7e716
use frozen EMPTY_ARRAY/EMPTY_HASH for Context @filters/@disabled_tags

Tobi LutkeandChris Pak
2026-03-11 08:55:55 -04:00 -
1f309b19a7
replace INTEGER_REGEX/FLOAT_REGEX with byte-level parse_number

Tobi LutkeandChris Pak
2026-03-11 08:54:31 -04:00 -
c6617accc5
replace SIMPLE_CONDITION regex with manual byte parser in if/elsif lax_parse

Tobi LutkeandChris Pak
2026-03-11 08:52:49 -04:00 -
cf062e1da2
fast-path slice_collection: skip copy for full Array without offset/limit

Tobi LutkeandChris Pak
2026-03-11 08:50:34 -04:00 -
06a718cd69
add invoke_two fast path for single-arg filter invocation, avoids splat chain

Tobi LutkeandChris Pak
2026-03-11 08:49:37 -04:00 -
50888426a1
fast-path find_variable: check top scope first before find_index

Tobi LutkeandChris Pak
2026-03-11 08:48:16 -04:00 -
1a29584f96
add invoke_single fast path for no-arg filter invocation, avoids splat alloc

Tobi LutkeandChris Pak
2026-03-11 08:47:21 -04:00 -
9d16eb3d05
fast-path simple if truthiness: use byte scanner before SIMPLE_CONDITION regex

Tobi LutkeandChris Pak
2026-03-11 08:36:28 -04:00 -
f879183a23
update autoresearch.md progress log

Tobi LutkeandChris Pak
2026-03-11 08:35:43 -04:00