0.4.3 (2026.06.21)

* fix parsing of config files without EOL at EOF
* fix missing siteconf regex not being reported at EOF
* fix mailcap error message display
* fix crash on some Window functions when called from pager
* fix incorrect positioning of absolute boxes with bottom/right borders
* fix an OOB in nanosvg
* fix parsing of var() nested into another var()'s fallback
* fix CDATASection not being derived from Text
* fix exceptions being swallowed for JS getters called on the wrong interface

0.4.2 (2026.06.01)

* fix display of some dynamically inserted SVGs
* fix a document.location error message
* fix form owner not being reset on control removal
* fix tracking of owner document for collections
* fix outerHTML, HTMLOptionsCollection setters
* fix nil deref in canvas getBitmap when scripting is disabled

0.4.1 (2026.05.24)

* fix some bugs in the config parser
* fix seccomp on LoongArch64
* fix missing pager.findPrevMark function
* fix incorrect positioning of `position: absolute' in some cases
* don't try to render canvas elements without a rendering context
* fix menu not being dismissed on mouse click in some cases
* fix some fd leaks in buffers
* fix unintended scroll on thumb tip mouse button

0.4.0 (2026.05.17)

* dupeBuffer/anchor navigation no longer forks buffer process
* support VT420
* support DEC special graphics in ASCII mode
* support all VP8L indexed color transforms
* support pandoc-style definition list in markdown
* support color, width, align, noshade properties on HR element
* support Element#getAttributeNames
* add status.format-mode (sets formatting of status bar)
* add toggleLinkHintsAutoClick command (by Arthur Jacquin)
* add saveScreen, editScreen commands; rename sourceEdit to editSource
* add x-type, x-match, x-nc-match mailcap extensions (from w3mmee)
* add mouse support to the line editor
* improve keybinding format (mostly backwards-compatible; see cha-config(5))
* remove display.force-clear (shouldn't have ever been needed)
* remove display.query-da1 (no longer needed)
* remove deprecated special case in pager.load() with trailing newline
* remove deprecated parentBuffer, prevSiblingBuffer, nextSiblingBuffer actions
* remove MAILCAP_URL env var when executing mailcap entries (use %u instead)
* make terminal querying asynchronous
* work around FreeBSD vt(4) freezing on startup
* work around a bug in URL standard that made us reject ed2k URLs
* optimize out Sixel repaints when scrolling
* drop excessive frames when the terminal/link cannot keep up
* rework seccomp handling to support cross-compilation to incompatible archs
* fix cached images not being cleared when a buffer is deleted
* fix a NULL deref in jebp
* fix y/n being truncated out of long ask() prompts
* fix media queries not being re-evaluated on windowChange
* fix load info not being set on cycling between buffers
* fix color blending over body bgcolor
* fix matching of nested subsequent sibling combinator
* fix various CSS image sizing bugs
* fix table row rendering order with multiple thead/tfoot children
* fix absolutely positioned boxes not respecting min/max size constraints
* fix percentage calc() output in color values
* fix inline pre/nowrap not being flushed to the next line on overflow
* fix bugs in our libregexp UTF-8 patch
* fix various proxy authentication bugs
* fix [attr|=value] and :lang() pseudo-class bugs
* fix localStorage.key function
* fix gotoLine malfunctioning in select menu
* fix bug in negation of the minimum layout unit value
* fix crash on Storage#key overflow on 32-bit targets
* fix crash on calling status getter for unsent XHR
* fix various charset decoder bugs
* fix TypedArray handling
* fix suspend() not suspending all processes
* fix JS bindings having incorrect property descriptions
* fix user/pass in Basic auth not being percent-decoded
* fix decoding of data URLs that include a question mark

0.3.0 (2025.11.21)

UI additions
* wheel-scroll, side-wheel-scroll config options (by Tim Culverhouse)
* new API functions Pager#traverse, Pager#navDirection, Pager#revDirection,
  Buffer#find
* bracketed paste - pasting a URL now opens the URL bar automatically
* "copy URL", "copy selection" now works over SSH when OSC 52 is supported
* "hints mode" for jumping to specific links on the page (default
  keybinding is `f`, configurable using `input.link-hint-chars`)
* added loaded stylesheet/image counters
---
CSS additions
* monochrome, color, color-index media queries
* implement <ol start=..., <li value=...
* -cha-content-type media feature to detect content type of current page
* complete var() support, improved calc() support, @layer
* support CSS borders
* support progress element (rendering inspired by w3m's download panel)
* support non-UTF-8 CSS files
---
JS additions
* NodeIterator, AbortSignal (etc.), onsubmit
* getBoundingClientRect, getClientRects (only returns real values in app mode)
* better module script support
---
Misc additions
* support blockquote, reference links, block lists in markdown
* support OSC 8 in ANSI text parser
* support more kinds of webp images (VP8X, VP8 with coeff. skipping, etc.)
* support customizing gopher selector text by moving it to ua.css
---
UI changes
* improved highlighting in monochrome mode
* more sensible semantics for pager.load() - empty string now works, newline at
  end deprecated in favor of pager.loadSubmit()
* mouse improvements:
	- click on status bar opens URL bar: left click -> current URL, right
	  click -> URL under cursor, middle click -> empty URL bar
	- double click + drag selects text
* fixed flash of unstyled content and removed blank screen on page load
* moved all commands in `cmd.pager` and `cmd.buffer` into `cmd`
* binding keys no longer requires `cmd.` prefix for built-in commands
* color contrast correction is no longer invoked on cells that do not use
  the terminal theme for foreground or background
---
Misc changes
* history, cookies, etc. are now saved in XDG_DATA_HOME for XDG basedir users
  (instead of XDG_CONFIG_HOME)
	- users that store their config in ~/.chawan are not affected
* unify binaries that link to OpenSSL in dynamically linked builds, and
  unify markdown, gemini, etc. -> HTML converters
* allow overriding pkg-config path in Makefile (using PKG_CONFIG)
* better color approximation in "eight-bit" color mode (256 colors)
* #L{n} (e.g. #L1) jumps to nth line in plain text files (idea from Dillo)
* console buffer is now spawned on demand
* switched from QJS-NG to QJS (with patches from NG)
---
Removals
* remove deprecated prepend-https, css and stylesheet config options (use
  prepend-scheme, user-style instead)
* remove protocol.form-request config option (read the body in CGI instead)
* remove buffer tree; buffers are now organized in lists, and buffer lists
  belong in tabs (note: the latter does not have a real UI yet)
---
Optimizations
* layout caching (makes a huge difference in memory usage and performance)
* CSS parser is now single-pass (kind of)
* cascade: eliminate several allocations, merge hash maps for separate origins
* more compact DOM representation (uses doubly linked list instead of a vector)
* insert style sheets incrementally instead of traversing DOM several times
* async terminal handling (printing large Sixels no longer blocks the rest of
  the pager)
---
Fixes
* fix buffer cloning on musl
* fix crash when saving cookies
* fix possible crash in CanvasRenderingContext2D#closePath
* fix mystery miscompilation bug on macOS
* fix interactive mode when reading from stdin on macOS
* fix referrer policy handling with referer-from=true
* fix compilation on OpenBSD + ancient Nim
* fix crash on hitting C-c on buffers waiting for connection
* fix chaseccomp compilation with some ancient shells
* fix lang() CSS selector
* fix setTimeout needlessly spinning the CPU on macOS
* fix selector dependency tracking for :not
* fix double width char measurement in passwords
* fix Content-Type header in multipart forms
* fix crash on file upload
* fix DOMParser#parseFromString replacing the entire document
* fix specificity being applied incorrectly with multiple author sheets

0.2.0 (2025.06.15)

Initial release.
Thanks for patches applied prior to this release to:
commodorian
Alex
hrdl
