Special thanks to @Hendrikto and @milanobrtlik for working hard on some really nice performance improvements for the library, for lower render time, less memory allocations, and proper benchmarking! You're awesome. 😎
Also, gomponents now has an official coding agents skill that you can use in your coding agent. I've been using a personal one for ages, but realized it would be good to have an official one next to the library code. Check the readme for details and installation instructions.
And as always, thank you to all contributors for changes big and small!
What's Changed
- Add missing track element by @Hendrikto in #321
- Use io.WriteString by @Hendrikto in #322
- Add ruby, rt, and rp elements by @milanobrtlik in #329
- Bump actions/checkout from 6 to 7 by @dependabot[bot] in #327
- Bump actions/setup-go from 6 to 7 by @dependabot[bot] in #328
- Fix lint issue on the
html.DataAttrtest by @maragubot in #333 - Bump codecov/codecov-action from 6 to 7 by @dependabot[bot] in #326
- Add security policy by @maragubot in #331
- Document that element and attribute names are rendered unescaped by @maragubot in #332
- Add implementation diary for the issue 330 follow-up by @maragubot in #334
- Add Go 1.27 to the CI test and benchmark matrices by @maragubot in #341
- Fix
JoinAttrsnot joining attributes in nested groups by @milanobrtlik in #335 - Test that
JoinAttrsdoesn't eagerly render element nodes by @maragubot in #342 - Enable
gofmtformatter in.golangci.ymlby @maragubot in #344 - Add the missing global attributes by @milanobrtlik in #345
- Benchmark against writers that don't allocate per render by @milanobrtlik in #346
- Skip rebuilding an ASCII set on every escape by @milanobrtlik in #348
- Reduce allocations in JoinAttrs by @milanobrtlik in #347
- Drop the html/template dependency by @milanobrtlik in #350
- Avoid an allocation and a nil-sibling panic in Doctype by @milanobrtlik in #349
- Benchmark rendering attributes to different writers by @maragubot in #354
- Automate coverage report generation by @Hendrikto in #355
- Avoid another allocation by @Hendrikto in #352
- Benchmark
Textover construction, writer, and escaping level by @maragubot in #356 - Add a gomponents skill for coding agents by @maragubot in #358
- Add implementation diary for the gomponents skill by @maragubot in #360
- Move performance notes into the README FAQ and drop the Go Report Card badge by @maragubot in #361
- Remove the
StyleandStyleElexample from the README by @maragubot in #362 - Escape
TextandTextfat render time by @maragubot in #357
New Contributors
- @milanobrtlik made their first contribution in #329
Full Changelog: v1.3.0...v1.4.0