Tags: csskit/csskit
Tags
Release v0.0.29 (#1314) ## [0.0.29] - 2026-08-14 ### Other Changes - Csskit_spec_generator: Move out of crates/ into tools/ (#1331) ([#1331](#1331)) - Default debug builds to line-tables-only (#1333) ([#1333](#1333)) - Chore(deps): update dependencies (patch) (#1335) ([#1335](#1335)) - Fuzz: Use css_parse sepcified allocator (#1339) ([#1339](#1339)) - Csskit_spec_generator: Pass workspace_root to generate_property_atoms (#1368) ([#1368](#1368)) - Csskit_spec_generator: Read & emit commit sha when generating individual specs (#1383) ([#1383](#1383)) ### Chromashift - css_parse/css_ast: Use a #[node] tag to simplify csskit_source_finder, size tests (#1323) ([#1323](#1323)) ### Css_ast - Regenerate css_ast/src/values from csswg drafts (#1311) ([#1311](#1311)) - chore(deps): update dependency rust to v1.97.1 (#1322) ([#1322](#1322)) - css_parse: Re-export `Arena` as Bumpalo, rename `bump` to `alloc` (#1326) ([#1326](#1326)) - csskit_arena: Introduce csskit_arena (#1327) ([#1327](#1327)) - Fix clippy errors (#1329) ([#1329](#1329)) - css_ast: repr(C) all nodes, introduce stable-type-layout. (#1334) ([#1334](#1334)) - css_parse/css_ast/csskit_wasm: Make csskit_arena default allocator (#1340) ([#1340](#1340)) - css_ast: Implement ray() function (#1342) ([#1342](#1342)) - css_ast: Implement palette-mix() function (#1343) ([#1343](#1343)) - css_ast: Implement calc-size() function (#1344) ([#1344](#1344)) - css_ast: Implement Autospace (#1345) ([#1345](#1345)) - css_ast: Implement TextEdge (#1346) ([#1346](#1346)) - css_ast: Implement ContentLevel (#1347) ([#1347](#1347)) - csskit_arena/css_parse/css_lexer/css_ast: Implement chunk based allocations, drop bumpalo (#1348) ([#1348](#1348)) - css_ast: Implement [Auto]Line(Width|Style|Color)(List|OrRepeat) (#1349) ([#1349](#1349)) - css_ast: Implement SingleAnimation (#1350) ([#1350](#1350)) - css_ast: Implement CSS 4 images functions (#1351) ([#1351](#1351)) - css_ast: Implement fade() function (#1352) ([#1352](#1352)) - css_ast: Implement mask-layer() (#1353) ([#1353](#1353)) - css_ast: Implement TimelineRangeCenterSubject (#1354) ([#1354](#1354)) - css_ast: Implement remaining todo media features (#1355) ([#1355](#1355)) - css_ast: Implement @scope rule (#1356) ([#1356](#1356)) - css_ast: Implement @color-profile rule (#1357) ([#1357](#1357)) - css_ast: Implement IntegerOrInfinite, uncomment RangeStyleValue (#1358) ([#1358](#1358)) - css_ast: Implement @font-feature-values (#1359) ([#1359](#1359)) - css_ast: Implement @font-palette-values (#1360) ([#1360](#1360)) - css_ast: Implement Syntax (#1361) ([#1361](#1361)) - css_ast: Implement tree counting functions, NumericValue<T> (#1362) ([#1362](#1362)) - css_ast: Drop Todo, clean up imports (#1364) ([#1364](#1364)) - csskit_ast: Unflag stable_type_layout from test. (#1367) ([#1367](#1367)) - Regenerate css_ast/src/values & css_feature_data from csswg drafts (#1369) ([#1369](#1369)) - css_ast: Generate Value<> slots for all keywords (#1370) ([#1370](#1370)) - css_ast: Fix errors in MathML tags (#1371) ([#1371](#1371)) - css_ast: Add new pseudo classes from various specs (#1372) ([#1372](#1372)) - css_ast/csskit_ast: Optimise NodeId code (#1373) ([#1373](#1373)) - css_ast: Fix panic in unexpected_pseudo_class diagnostic (#1374) ([#1374](#1374)) - css_ast: Delete dead macro code (#1376) ([#1376](#1376)) - css_parse/css_ast: Ensure ComponentValue(s) are visitable nodes (#1377) ([#1377](#1377)) - css_ast: Implement RotateStyleValue (#1378) ([#1378](#1378)) - css_ast: Implement nav-* style values (#1379) ([#1379](#1379)) - css_ast: Implement voice-pitch/voice-range, with semitones, fixing frequency (#1380) ([#1380](#1380)) - css_ast: Implement remaining background properties (#1381) ([#1381](#1381)) - css_ast: Implement offset style value (#1382) ([#1382](#1382)) - css_ast: IMplement font-variant-alternates style value (#1384) ([#1384](#1384)) - css_ast: Implement mask-border style value (#1385) ([#1385](#1385)) - css_ast: Implement border-image style value (#1386) ([#1386](#1386)) - csskit_proc_macro: Don't eagerly optimise alternates (#1387) ([#1387](#1387)) - css_ast: Implement FontVariantStyleValue (#1388) ([#1388](#1388)) - css_ast: Add revert-rule keyword (#1393) ([#1393](#1393)) - css_ast: Add missing pseudo elements from various specs (#1394) ([#1394](#1394)) - css_ast: Implement -webkit-animation style value (#1396) ([#1396](#1396)) - css_ast: ...actually implement -webkit-animation (#1397) ([#1397](#1397)) - css_ast: Group -webkit-animation properties (#1398) ([#1398](#1398)) - css_ast: Implement font shorthand (#1399) ([#1399](#1399)) - css_ast: Implement @font-face style values (#1403) ([#1403](#1403)) ### Css_parse - css_parse: Implement an Arena allocated String (#1324) ([#1324](#1324)) - css_parse/csskit/csskit_transform: Use css_parse::String where possible (#1325) ([#1325](#1325)) - css_parse: Clean up imports with preludes (#1365) ([#1365](#1365)) ### Css_value_definition_parser - csskit_source_finder/css_value_definition_parser: Autogeenerate list of sized types (#1363) ([#1363](#1363)) - csskit_source_finder: Ignore types inside test modules (#1400) ([#1400](#1400)) ### Csskit - chore(deps): update dependencies (patch) (#1312) ([#1312](#1312)) - csskit-wasm: Fix wasm-opt errors (#1330) ([#1330](#1330)) - csskit: Clean up imports with preludes (#1366) ([#1366](#1366)) ### Csskit_arena - csskit_arena: Add with_initial_capacity (#1375) ([#1375](#1375)) ### Csskit_lsp - csskit_lsp: Don't create new Arenas for each LineIndex (#1341) ([#1341](#1341)) ### Csskit_vscode - chore(deps): update dependency oxlint to v1.73.0 (#1318) ([#1318](#1318)) - chore(deps): update dependency @vscode/test-electron to v3.1.0 (#1313) ([#1313](#1313)) - chore(deps): update dependency oxlint to v1.75.0 (#1320) ([#1320](#1320)) - chore(deps): update dependency prettier to v3.9.6 (#1321) ([#1321](#1321)) - chore(deps): update dependencies (patch) (#1389) ([#1389](#1389))
Release v0.0.27 (#1239) ## [0.0.27] - 2026-07-04 ### Other Changes - Fuzz: minimize corpus, and do so on nightly fuzz build (#1257) ([#1257](#1257)) - CI: Ensure benches build (#1259) ([#1259](#1259)) ### Css_ast - css_ast/css_parse: Improve peeking robustness. (#1238) ([#1238](#1238)) - Regenerate css_ast/src/values from csswg drafts (#1242) ([#1242](#1242)) - Regenerate css_ast/src/values from csswg drafts (#1254) ([#1254](#1254)) - fuzz: new parser findings 2026-06-19 (#1232) ([#1232](#1232)) - css_ast: Refactor assert_specificity to use closure pattern (#1261) ([#1261](#1261)) - css_ast: derive(ToSpan) on WebkitFunctionalPseudoClass (#1262) ([#1262](#1262)) - Implement "VisitFlow" (#1263) ([#1263](#1263)) ### Css_parse - fuzz: new parser findings 2026-07-01 (#1260) ([#1260](#1260)) ### Csskit - chore(deps): update dependencies (patch) (#1243) ([#1243](#1243)) ### Csskit_derives - chore(deps): update rust crate itertools to 0.15.0 (#1246) ([#1246](#1246)) ### Csskit_vscode - chore(deps): update dependencies to v1.68.0 (#1247) ([#1247](#1247)) - fix(deps): update dependencies (patch) (#1255) ([#1255](#1255))
Release v0.0.26 (#1224) ## [0.0.26] - 2026-06-20 ### Other Changes - Chore(deps): update dependencies to v1.48.0 (#1227) ([#1227](#1227)) ### Css_ast - Regenerate css_ast/src/values from csswg drafts (#1221) ([#1221](#1221)) - fuzz(css_parse): Mark more erroneous tokens in blocks as trivia. (#1225) ([#1225](#1225)) ### Css_lexer - fuzz(css_lex): avoid buffer overflows with SmallStr buffer (#1220) ([#1220](#1220)) ### Css_parse - fuzz(css_parse): consume `Bad` tokens as trivia in blocks. (#1228) ([#1228](#1228)) ### Csskit - chore(deps): update dependencies (patch) (#1222) ([#1222](#1222)) - csskit_wasm/csskit(node): Provide csskit library functions in csskit package (#1234) ([#1234](#1234)) - csskit(node): manage wasm-opt with mise (#1235) ([#1235](#1235)) - csskit(node): Move build script to Mise (#1237) ([#1237](#1237))
Release v0.0.25 (#1181) ## [0.0.25] - 2026-06-13 ### Other Changes - Update cargo deps (#1189) ([#1189](#1189)) - Push allocator-api2 back to 2.21 due to bumpalo (#1191) ([#1191](#1191)) - Fuzz: Try setting up a fuzzing suite (#1201) ([#1201](#1201)) ### Css_ast - css_ast: Avoid hanging on `={-->}` input. (#1183) ([#1183](#1183)) - Regenerate css_ast/src/values from csswg drafts (#1184) ([#1184](#1184)) - css_ast: Use assert_parse! closure macro variant in tests. (#1196) ([#1196](#1196)) - cssast/csskit_derives: Add new FeatureMetadata system (#1197) ([#1197](#1197)) - csskit_derives/css_ast: make derive(IntoCursor) work with generics (#1200) ([#1200](#1200)) - css_ast: Implement a NonEmpty generic (#1202) ([#1202](#1202)) ### Css_lexer - fuzz: early return atom functions when given non-atom tokens (#1206) ([#1206](#1206)) - fuzz(css_lexer): ensure REPLACEMENT_CHARACTER is appended in small idents (#1213) ([#1213](#1213)) ### Css_parse - css_parse: Ensure buffer is refilled if skipping past a whole buffer (#1180) ([#1180](#1180)) - css_parse: Impl ToSpan for Comparison (#1190) ([#1190](#1190)) - Impl Display for Comparison (#1193) ([#1193](#1193)) - css_parse: Improve assert_parse! macros to use a block/closure (#1194) ([#1194](#1194)) ### Csskit - csskit: improve json output for subcommands (#1182) ([#1182](#1182)) - chore(deps): update dependencies (patch) (#1185) ([#1185](#1185)) ### Csskit_derives - csskit_derives: Ensure generics expect Peek when using it. (#1198) ([#1198](#1198)) ### Csskit_source_finder - csskit_source_finder: Don't find visitable nodes that just visit children (#1199) ([#1199](#1199)) ### Csskit_vscode - chore(deps): update dependency @vscode/test-electron to v3 (#1192) ([#1192](#1192)) - fix(deps): update dependency esbuild to v0.28.1 [security] (#1210) ([#1210](#1210))
Release v0.0.22 (#1080) ## [0.0.22] - 2026-05-15 ### Other Changes - Chore(deps): update rust crate indexmap to v2.13.1 (#1108) ([#1108](#1108)) - Chore(deps): update rust crate indexmap to v2.14.0 (#1109) ([#1109](#1109)) ### Chromashift - chromashift/csskit_transform: Round fractional colour channels to perceptually safe values (#1092) ([#1092](#1092)) ### Css_ast - css_ast: implement corner-*, whites-pace, text-emphasis(-style), voice-volume (#1084) ([#1084](#1084)) - css_ast: Implement FontVariant* properties and sub-types (#1086) ([#1086](#1086)) - csskit_proc_macro: use Either<> type for 2-type Alternatives (#1089) ([#1089](#1089)) - css_ast: implement BorderColor, BorderImageSlice, BorderImageWidth (#1090) ([#1090](#1090)) - css_ast: Implement lots more properties (#1091) ([#1091](#1091)) - css_ast: Uncomment BorderShape, OffsetPath, ShapeInside, ShapeOutside (#1093) ([#1093](#1093)) - css_parse/css_ast: Use PEEK_KINDSET alot more consistently (#1094) ([#1094](#1094)) - css_ast: Implement a bunch of vendor prefixed style values (#1096) ([#1096](#1096)) - css_ast: Add vendor prefix display values (#1097) ([#1097](#1097)) - css_ast: Implement z-index (#1098) ([#1098](#1098)) - css_ast: Add vendor prefixed value keywords (#1101) ([#1101](#1101)) - css_ast: Uncomment clip/clip-path/mask/mask-image/mask-mode/mask-border-slice (#1110) ([#1110](#1110)) - css_ast: Unlock more properties by stubbing types (#1111) ([#1111](#1111)) ### Css_feature_data - Regenerate css_ast/src/values from csswg drafts (#1102) ([#1102](#1102)) ### Css_lexer - css_parse: Add Either<Left, Right> (#1088) ([#1088](#1088)) - css_lexer: Add Span.overlaps (#1095) ([#1095](#1095)) ### Css_value_definition_parser - css_value_definition_parser: Optimize Auto Number/Percentage or LengthPercentage/Number cases (#1087) ([#1087](#1087)) - css_value_definition_parser: Ensure dash prefixed idents are properly emitted (#1099) ([#1099](#1099)) ### Csskit - chore(deps): update dependencies (patch) (#1103) ([#1103](#1103)) - csskit: Improve messaging for check commands with missing sheets (#1113) ([#1113](#1113)) ### Csskit-linux-x64 - packages: remove accidentally comitted bin (#1079) ([#1079](#1079)) ### Csskit_proc_macro - csskit_proc_macro: Auto generate name for Combinator of Alternatives (#1085) ([#1085](#1085)) - csskit_proc_macro: Ensure dash prefixed idents are properly emitted (#1100) ([#1100](#1100)) ### Csskit_vscode - vscode: bump version (#1082) ([#1082](#1082)) - Release csskit vscode extension v1.0.7 (#1083) ([#1083](#1083)) - chore(deps): update dependency oxlint to v1.63.0 (#1106) ([#1106](#1106))
PreviousNext