# Chawan 0.3.0
Version 0.3.0 of the Chawan TUI browser has been released.
A tarball of the source tree is available here. Please refer to the README file for compilation instructions.
A static binary distribution for
amd64 Linux
also exists.
To install it, extract the archive somewhere and run make install as root.
(To uninstall, run make uninstall.)
The same distribution is also available as a .deb package.
## Important notice
For XDG base directory users, 0.3.0 has changed the place for storing
cookies, history, known hosts and bookmarks. In previous versions,
Chawan had put these in $XDG_CONFIG_HOME/chawan, but now it uses
$XDG_DATA_HOME/chawan.
Affected users should either:
- Move their files (e.g. using this shell script)
- Or
export CHA_DIR=${XDG_CONFIG_HOME:$HOME/.config}/chawanto restore the old behavior (which goes against the spec, but hey, it's your computer.)
Users who store their configuration in $HOME/.chawan are not affected.
## What's new
0.3.0 is focused on improving the UI and the browser engine. Some highlights:
The clipboard now works over SSH:
M-yandyuboth use OSC 52 to copy the current URL or hovered link, and with bracketed paste, you can paste a URL into the browser window at any time and it will appear in the URL bar.Transition between pages no longer flashes unstyled content or empty screens.
A link hinting feature has been added, bound to
fby default. Likemark-links, this is implemented directly inside the layout engine and uses CSS counters under the hood.In the CSS engine, all components from parsing to rendering have been optimized. Most significantly, layout now caches and reuses the previous pass to significantly speeds up restyle (e.g. underline on hover) and reduce memory usage (less GC pressure).
Besides optimization, compliance of several existing features has also been improved (
var(),calc(), floats, tables, etc.), and some new features have been implemented (@layer, CSS borders). As a result, many more websites to render correctly now.JS support also works somewhat better now, both because of more supported APIs but also due to fixes in existing ones.
This is far from an exhaustive list of all changes. For a full changelog, see the NEWS file.
## What's next
It took a lot of work, but I'm finally satisfied with the performance of the layout module. So while I still have ideas for improving it, the next version will probably focus on other bottlenecks, in particular persistent connections.
Other than that, I still have many ideas about improving the UI that haven't made it into this version.