# Changelog > Note: you can run `echo ${JOVIAL_VERSION}` in terminal to see what version you used now.
## `jovial.zsh-theme@v2.6.0` > **Breaking**: minimum supported zsh is now **5.3** — > relies on `add-zle-hook-widget` (zsh 5.3+) ### Feat - **automatic light / dark theme** by detecting the terminal background color ([OSC 11](https://invisible-island.net/xterm/ctlseqs/ctlseqs.html)), falling back to dark; works over **SSH** and inside **Docker** - new `JOVIAL_PALETTE_DARK` / `JOVIAL_PALETTE_LIGHT` palettes; the legacy `JOVIAL_PALETTE` still works as an override slot, migrated into both - preset `JOVIAL_THEME_MODE=light|dark` to skip detection entirely; the `COLORFGBG` env hint is preferred whenever the terminal exports it; non-interactive / tty-less shells only ever do env checks - detection is fast and safe: the query is sent at theme source time and collected at first prompt, so its round-trip overlaps `~/.zshrc`; typed-ahead input survives; a reply arriving late is swallowed by a zle guard and the palette self-corrects on the spot - dev-env version tag colors moved into palette keys: `dev-env.node` / `dev-env.golang` / `dev-env.python` / `dev-env.php` - **first paint budget** (`JOVIAL_THEME_DETECT_TIMEOUT`, default `0.3`s), a hard cap on how long the first prompt may wait: the background reply, git check and dev-env probe race **in parallel** within one shared window — parts finished in time render synchronously on the first prompt, the rest joins via async rerender, so a slow `git status` or a mute terminal can delay the first prompt by at most the budget, never stacked - added a [Taskfile](https://taskfile.dev)-driven test & preview stack under `dev/` (unit / integration / e2e / preview, see `dev/README.md`), with the same `task` entry points running locally, in the isolated docker e2e container, and on GitHub CI (which uploads the [vhs](https://github.com/charmbracelet/vhs) previews as artifacts)
## `jovial.zsh-theme@v2.5.5` ### Fix - override to `TERM=xterm-256color` when original is 'TERM=xterm' for default colorful compatibility ### `jovial.plugin@v1.2.1` - fix: resolve **Locale** issue where the host lacks `en_US.UTF-8` but use another UTF-8 locale. `jovial.plugin` will no longer change the locale in such cases.
## `jovial.zsh-theme@v2.5.4` ### Fix - fix git status hint for `git am` (apply a series of patches) ### `jovial.plugin@v1.2.0` - feat: exchange position of args for `gcmt` function (git commit with modified time) for more **intuitively** - fix: keep committer date when `gfbi`, show signature when `glti`
## `jovial.zsh-theme@v2.5.3` ### Feat - git status in prompt work with submodules now ### `jovial.plugin@v1.1.9` - support update submodules in git fetch and checkout function `gfco` - adjust comments of functions, design to show comments in `where xxx` or `which xxx` - remove functions `stree` (support by official), and `py2venv` (migrated to `venv --py2`)
## `jovial.zsh-theme@v2.5.2` ### Feat - support show python3 version in prompt ### `jovial.plugin@v1.1.8` - add variable `GIT_REMOTE` to support in git fetch function `gfco` and `gfbi`
## v2.5.1 ### Fix - migrate `path` part in `JOVIAL_AFFIXES` config named to `current-dir`, to fix the bug that causes responsive style error due to `path` part. example in `.zshrc`: ```diff - JOVIAL_AFFIXES[path]='%1~' + JOVIAL_AFFIXES[current-dir]='%1~' ```
## v2.5.0 [_@deprecated_] ### Feat - support the ability to override the prompt for `path` part in `.zshrc`. example in `.zshrc`: ```zsh # @deprecated use `JOVIAL_AFFIXES[current-dir]` in v2.5.1 JOVIAL_AFFIXES[path]='%1~' ```
## v2.4.0 ### Feat - support the ability to override the prompt parts for `hostname` and `username` in `.zshrc`. example: ```zsh JOVIAL_AFFIXES[hostname]='MacbookPro' JOVIAL_AFFIXES[username]='zthxxx' ```
## v2.3.1 ### Chore - will no longer override var `TERM=xterm-256color` except in default `screen` command. [#23](https://github.com/zthxxx/jovial/issues/23)
## v2.3.0 ### Feat & Docs - add docs for support use with [`antigen`](https://github.com/zsh-users/antigen) - no need setopt in .zshrc anymore for manually install like antigen
## v2.2.1 ### Fix - fix reset style (`sgr_reset`) in manually used without `oh-my-zsh` or `zmodload zsh/colors`
## v2.2.0 ### Style - add default color for typing-pointer and customization, darken the normal color
## v2.1.4 ### Fix - fix progress display miss in git rebase interactive
## v2.1.3 ### Fix - fix async job rerun with wrong edge case
## v2.1.2 ### Chore - set xterm 256 color mode by default, for out-of-the-box effect in [gnu/screen](https://www.gnu.org/software/screen/) or [tmux](https://github.com/tmux/tmux)
## v2.1.1 ### Fix - remove read stdin for block subprocess, we found this cause zpty callback blocked in zsh v5.3
## v2.1.0 ### Perf - refactor to asynchronous update git status, now it's so fast in render and interaction. (4ms pre render) ### Feat - pin last command execute elapsed time (same as exit code). - support custom order and affixes of each prompt parts. - remove dependencies on `autoload -U colors` or `FG[$color]` / `BG[$color]` settings anymore, in manually load theme. ### Fix - fix bug that rerender will eat previous line
## v2.0.3 ### Fix - force declare theme variables to global scope, compatible with use `source ` in function - support `.zshrc` as symlink in install script - fix `rev-parse-find` function when cwd at ~/xxx/ ### Chore - remove useless git cli params in theme, and remove plugin macos in installer - always reinstall `zsh-history-enquirer` by npm
## v2.0.0 ### Feat - support easy to custom jovial's colors and symbols ### Refactor - refactor installer, more readable logs and support proxy env - adjust code style, reduce subprocess call for performance - rename osx plugin to macos, follows oh-my-zsh updated ### BREAKING CHANGE There are some breaking changes for customization, some customized variables and functions renamed: - variable `JOVIAL_ARROW` => `JOVIAL_SYMBOL[arrow]` - function `_jov_type_tip_pointer` => `@jov.typing-pointer`, - and now, arrows could replace with variables `JOVIAL_SYMBOL[arrow.git-clean]` and `JOVIAL_SYMBOL[arrow.git-dirty]` - some keys in ` JOVIAL_PROMPT_PRIORITY` renamed, `git_info` => `git-info`, `dev_env` => `dev-env`