Closes #356. Closes #352.
This commit is contained in:
Eric Nielsen 2020-01-07 09:03:13 -05:00
parent dd84c41ae5
commit 4c2487eef5
No known key found for this signature in database
GPG Key ID: 47D1DBFA0765A1FB
1 changed files with 75 additions and 0 deletions

75 Normal file
View File

@ -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](,
and this project adheres to [Semantic Versioning](
## [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 [] 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
- 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
- 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]
- 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](
### 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.