Skip to content

Releases: marcoroth/herb

v0.4.3

03 Aug 21:44
4f8316a

Choose a tag to compare

Added

  • Language Server: Add textDocument/rangeFormatting support to language server by @marcoroth in #319
  • Parser: Add support for TOKEN_NBSP in HTML content by @marcoroth in #321
  • Parser: Add support for TOKEN_AT in HTML content by @marcoroth in #322
  • Formatter: Add HTML attribute quote normalization by @marcoroth in #337
  • Linter: Add new LexerRule and SourceRule types alongside ParserRule by @marcoroth in #328
  • Linter: Allow a new LintContext to be passed to linter rules by @marcoroth in #340
  • Playground: Add Format Button for editor by @marcoroth in #344

New Linter Rules

Changed

  • Parser: Allow newlines before closing > in HTML tags by @marcoroth in #315
  • Parser: Allow HTML Attribute Names to have a period in the attribute name by @marcoroth in #324
  • Parser: Add support for @ token in HTML attribute names by @marcoroth in #325
  • Formatter: Improve range formatting to preserve minimum indentation by @marcoroth in #320
  • Formatter: Preserve newlines between top-level nodes by @marcoroth in #323
  • Ruby: Add non-zero exit code when herb analyze finds issues by @marcoroth in #332
  • Lexer: Improve lexer UTF-8 character support and extract UTF-8 utilities by @marcoroth in #330

Fixed

  • Language Server: Fix FormattingService when settings are not available by @marcoroth in #316
  • Formatter: Fix case where formatter would output % %> by @marcoroth in #314
  • Formatter: Fix ERB whitespace formatting in inline contexts by @marcoroth in #326
  • Formatter: Fix ERB quote misplacement in HTML attributes by @marcoroth in #331
  • Formatter: Fix inline element and ERB conditional attributes formatting by @marcoroth in #336
  • Formatter: Support formatting case/in statements by @marcoroth in #345

Internal

Dependencies

  • Bump @eslint/plugin-kit from 0.3.3 to 0.3.4 in the npm_and_yarn group across 1 directory by @dependabot[bot] in #311

New Contributors

Commits

Full Changelog: v0.4.2...v0.4.3

v0.4.2

27 Jul 22:18
47d8798

Choose a tag to compare

Added

Changed

  • Formatter: Preserve ERB tags inside HTML attributes by @marcoroth in #286
  • Formatter: Keep simple element children inline instead of splitting them up by @marcoroth in #288

Fixed

  • Fix erb-require-whitespace-inside-tags rule for comment tags by @marcoroth in #301
  • Fix yield and block detection in ERB control flow processing by @marcoroth in #303

Removed

-

Internal

Documentation

New Contributors

Commits

Full Changelog: v0.4.1...v0.4.2

v0.4.1

22 Jul 05:31
ef9097c

Choose a tag to compare

Added

Changed

  • Fix error in language server when linter settings are not provided by @marcoroth in #245
  • Fix: preserve inline ERB conditionals in HTML tags by @marcoroth in #259
  • Disable html-no-block-inside-inline rule for now by @marcoroth in #266
  • VS Code Extension: Fix worker bundling for VSIX distribution by @marcoroth in #274
  • Improve Herb Formatter CLI to actually write/format files by @marcoroth in #275
  • Formatter: Ensure CLI output ends with trailing newline by @marcoroth in #263

Internal

  • Bump esbuild from 0.25.5 to 0.25.6 in the npm_and_yarn group across 1 directory by @dependabot[bot] in #264
  • Bump the npm_and_yarn group across 1 directory with 2 updates by @dependabot[bot] in #278
  • Bump esbuild from 0.25.7 to 0.25.8 in the npm_and_yarn group across 1 directory by @dependabot[bot] in #279
  • Bump form-data from 4.0.2 to 4.0.4 in the npm_and_yarn group across 1 directory by @dependabot[bot] in #284

Documentation

New Contributors

Commits

Full Changelog: v0.4.0...v0.4.1

v0.4.0

10 Jul 16:05
8f3c1a4

Choose a tag to compare

New Packages

Added

  • Add a generator for Herb Linter Rules by @marcoroth in #214
  • Support <%%= (escaped ERB output tag) by @marcoroth in #128
  • Add ERBNode type and identification utilities by @marcoroth in #222
  • Add --non-interactive mode for herb analyze command by @marcoroth in #225
  • Add Diagnostics interface and rename other to MonacoDiagnostic by @marcoroth in #229
  • Add --no-log-file option to herb analyze command by @marcoroth in #231
  • Add timing functionality to herb analyze command by @marcoroth in #232
  • Integrate Herb Linter into the Herb Language Server by @marcoroth in #193
  • Add Project Analysis View in VS Code extension by @marcoroth in #138

New Linter Rules:

  • Implement html-no-block-inside-inline linter rule by @marcoroth in #199
  • Add rule for not outputting from control flow tags by @drewhoffer in #205
  • Add html-no-empty-headings linter rule by @marcoroth in #207
  • Add html-anchor-require-href linter rule by @NotGrm in #220
  • Implement erb-no-empty-tags linter rule by @marcoroth in #224
  • Implement erb-require-whitespace-inside-tags linter rule by @drewhoffer in #216
  • Implement html-aria-role-heading-requires-level lint rule by @drewhoffer in #219

Changed

Fixed

  • fix inconsistency in 'HTML tags + Text content' code-group by @hey-leon in #139
  • Fix parser to handle quotes around ERB output as text content by @marcoroth in #143
  • Improve parsing of attribute values with quotes by @marcoroth in #153
  • Fix ternary operators being transformed into ERBIfNode by @marcoroth in #235
  • Fix multi-line ERB location tracking by @marcoroth in #236

Documentation

Internal

New Contributors

Commits

Full Changelog: v0.3.1...v0.4.0

v0.3.1

23 Jun 14:50
981699c

Choose a tag to compare

Added

Changed

  • language-server: Move herb-language-server executable to bin/ by @marcoroth in b3f85ac

Fixed

Commits

Full Changelog: v0.3.0...v0.3.1

v0.3.0

21 Jun 08:07
eea08d9

Choose a tag to compare

Added

  • Herb Language Server and Visual Studio Code Extension by @marcoroth in #105
  • New @herb-tools/node-wasm package
  • New @herb-tools/language-server package
  • New @herb-tools/vscode package

Changed

Commits

Full Changelog: v0.2.0...v0.3.0

v0.2.0

11 Jun 23:44
a41114c

Choose a tag to compare

Added

Changed

  • Memory management improvements in analyze.c and extract.c by @marcoroth in #115
  • Refactor Ruby extension to reuse constants by @marcoroth in #117
  • Increase buffer capacity safely and handle overflow errors by @marcoroth in #122
  • Don't extract ERB comments as Ruby comments in herb_extract_ruby by @marcoroth in #98
  • Implement free_analyzed_ruby function by @marcoroth in #111
  • Free C Structs after creating Lex and Parse Results by @marcoroth in #112
  • Rework @herb-tools/node npm lifecycle scripts by @marcoroth in #108

Commits

Full Changelog: v0.1.1...v0.2.0

v0.1.1

20 Apr 02:11
85897b5

Choose a tag to compare

0.1.1 (2025-04-20)

Fixes

  • Fix lz_string require in herb Ruby CLI by @marcoroth in e151e38
  • Support UTF-8 characters in ERB blocks when pretty printing AST in Ruby by @marcoroth in #93

Docs

  • Generate clean URLs: (remove .html postfix from the links) by @skryukov in #86

New Contributors

Commits

Full Changelog: v0.1.0...v0.1.1

v0.1.0

15 Apr 07:07
705a867

Choose a tag to compare

0.1.0 (2025-04-15)

First public release.