diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..3932785 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,75 @@ +# Changelog + +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## [Unreleased] + +_No unreleased changes_ + +## [1.0.0] - 2020-01-07 + +This is a major change, where modules are not git submodules in the Zim repo +anymore, but customized and installed separately as individual repositories. +External modules can more easily be installed, updated and uninstalled. This +makes Zim the first project for Zsh that is both a set of community-maintained +modules with a default installation (like on-my-zsh and prezto) and a plugin +manager (like antigen and zplug). + +This version is not backwards-compatible with previous versions, so a new +installation of Zim is required. + +Take your time to review the updated [README.md] and the changes listed below. + +### Added +- `zimfw` CLI tool. +- `zmodule` function to define modules. +- Automatic installation script. +- zsh-users/zsh-autosuggestions is enabled by default in new installations. + +### Changed +- The Zim "core" is reduced to a single file, namely zimfw.zsh, that is + self-updated without requiring git. With this, `ZIM_HOME` is not (the root of) + a git repo anymore. +- Zsh and modules are configured in .zshrc instead of .zimrc. +- .zimrc is not sourced during Zsh startup anymore, and only contains the module + definitions. +- Zim's init.zsh and login_init.zsh scripts are generated by the `zimfw` CLI + tool and contain static code. This allows for constant startup time, + regardless of how complex the module definitions are. +- Zim modules moved to individual repositories in the https://github.com/zimfw + organization. +- Zim modules are configured with `zstyle` instead of environment variables. +- Zim themes are sourced directly, instead of working with prompinit, and are + configured with environment variables instead of with promptinit parameters. +- The [environment] module is reduced in scope to to only set Zsh options. The + additional code moved to the [input] module (smart-URL widgets), the [utility] + module (default pager), and a new [termtitle] module (terminal window title). +- The minimal theme is renamed to [s1ck94]. + +### Removed +- `zmanage` CLI tool. +- The directory and history modules. Their code moved into the [environment] + module. +- The prompt module, and the external lean, liquidprompt and pure themes. + Use `zmodule miekg/lean`, or `zmodule nojhan/liquidprompt`, or `zmodule + sindresorhus/pure --source async.zsh --source pure.zsh` to define one of these + external themes, respectively. The Zim themes moved to individual repositories. +- Support for themes that require promptinit. + (See [#325](https://github.com/zimfw/zimfw/issues/325)) + +### Fixed +- `ZIM_HOME` is set in .zshenv instead of .zshrc. The issue was that the + variable was not available in .zlogin in non-interactive login shells. + +[README.md]: https://github.com/zimfw/zimfw/blob/master/README.md +[environment]: https://github.com/zimfw/environment +[input]: https://github.com/zimfw/input +[utility]: https://github.com/zimfw/utility +[termtitle]: https://github.com/zimfw/termtitle +[s1ck94]: https://github.com/zimfw/s1ck94 + +[Unreleased]: https://github.com/zimfw/zimfw/compare/v1.0.0...HEAD +[1.0.0]: https://github.com/zimfw/zimfw/compare/5d66578...v1.0.0