Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

v1.2.0 #49

Merged
merged 81 commits into from
Mar 12, 2017
Merged

v1.2.0 #49

merged 81 commits into from
Mar 12, 2017

Conversation

molovo
Copy link
Member

@molovo molovo commented Feb 18, 2017

Features

  • Adds a new zulu manpath command for adding/removing directories from $manpath (Add manpath command #48)
  • Allows packages to specify a post_install script in their index file, which will be run during linking (Add a post_install step for packages #58)
  • The progress spinner can be disabled globally by setting $ZULU_NO_PROGRESS=1. This is helpful when running zulu commands within a script. (6f5bddf)
  • Adds new -p,--private options to zulu var add, which stores private variables in a separate file, allowing you to exclude them from version control. Just add ~/.config/zulu/env.private to your .gitignore file. (Allow environment variables to marked as 'private' #62)
  • Adds new -y,--no-confirmation options to zulu ugprade, which will stop the script asking for confirmation before upgrading packages. (93cb2fd)
  • Adds new -t,--type option to zulu list, to allow filtering of packages by their type, e.g. zulu list --type theme. (d6def7b)
  • Adds autocompletion for the zulu theme command. (55a0cc5)
  • Adds a new --dev option to zulu init for Zulu developers. When enabled, Zulu will load the source for a command when it is executed, preventing the need to rebuild Zulu and reload the environment between changes. (Add --dev flag to zulu init #64)

Improvements

  • The zulu self-update, zulu update and zulu upgrade commands have been rewritten so that updates will are more likely to succeed on branches other than master. Local changes in the respective repositories are also now preserved between updates. (9b7191b, fea7606 and 12503d3)
  • Package installation is now faster, as commit histories are not downloaded. (Add --depth=1 and --shallow-submodules options to the git clone when installing #57)
  • Startup update checks are now done asynchronously for better startup times (Perform startup update checks asynchronously #51)
  • If you use zvm, the ZVM_AUTO_USE environment variable is unset before doing package upgrades to prevent the ZSH version being changed (Unset the ZVM_AUTO_USE env var when doing package upgrades #50)
  • Huge changes made to the way Zulu and its packages are loaded in order to dramatically increase startup performance. (Compile zulu source and package files #56)
    • Source is now moved into src directory, and the script build.zsh has been added to the repository, which concatenates all the source files into a single script with comments removed for speed.
    • The self-update command has been modified to run the build.zsh script once it has finished downloading updates.
    • Adds a new compile command, which runs zcompile on Zulu itself, all files in ~/.zulu/{bin,share,init}, the completion cache and the following files in the user's $ZDOTDIR:
      • .zlogin
      • .zshenv
      • .zprofile
      • .zshrc
      • .zlogout
        The end result is a massive increase in startup speed.
    • zulu compile is run in the background to compile sources on startup. A new --no-compile option has been added to zulu init to avoid this.

Bugfixes

  • Fix array assignment errors in ZSH 5.0 within the zulu cdpath command - These had already been fixed for path and fpath. (b98d5af)
  • Ensure that the contents of $path, $fpath and $cdpath are always unique. (212ca93) (Also fixed in the install script in commit e70cf7b).
  • Fixes a bug with the zulu theme command which would store a theme name, even if the theme did not exist and the command returned an error. (6faa801)
  • Fixes a typo in Zulu's completion script which prevented results from being cached properly. (76c2b7c)
  • The zulu install and zulu uninstall commands are now far better at catching and reporting errors. (3e24dab and 29a192a)
  • $IFS is handled safely in a number of places where it was previously being reassigned globally.
  • A few internal functions were checking if they were already defined before being registered, meaning that after an update the older definition would not be replaced with the newer one, causing unexpected behaviour until the shell was restarted. This has been resolved. (5a4c399)
  • The zulu func command would fail if the value of $EDITOR included spaces (e.g. EDITOR='cat -e'). This has now been resolved. (de6b454)

Other


@molovo molovo mentioned this pull request Feb 19, 2017
19 tasks
@molovo molovo added this to the v1.2.0 milestone Feb 21, 2017
molovo added a commit that referenced this pull request Feb 26, 2017
This is not necessary right now, but is added so that the upgrade to
[v1.2.0](#49) can be as seamless as
possible. Otherwise, the user would have to run the build script
manually after upgrading.
molovo and others added 17 commits February 26, 2017 12:02
Prevents the ZSH version being changed inadvertently whilst Zulu enters
package directories to upgrade them.
Unset the ZVM_AUTO_USE env var when doing package upgrades
Perform startup update checks asynchronously
Only perform asynchronous updates in ZSH >5.1
Add a post_install step for packages
A number of changes made to the way Zulu and its packages are loaded in
order to dramatically increase startup performance.

* Source is now moved into `src` directory, and the script `build.zsh` has been added to the repository, which concatenates all the source files into a single script with comments removed for speed.
* The `self-update` command has been modified to run the `build.zsh` script once it has finished downloading updates.
* Adds a new `compile` command, which runs `zcompile` on the Zulu core, all files in `~/.zulu/{bin,share,init}`, the completion cache and the following files in the user's `$ZDOTDIR`:
  * `.zlogin`
  * `.zshenv`
  * `.zprofile`
  * `.zshrc`
  * `.zlogout`
  The end result is a massive increase in startup speed.
* `zulu compile` is run in the background to compile sources on startup. A new `--no-compile` option has been added to `zulu init` to avoid this.
…installing

Allows for a faster clone, particularly on busy repositories, and since
Zulu is managing the package we don't need the full commit history.
Add --depth=1 and --shallow-submodules options to the git clone when installing
@molovo molovo mentioned this pull request Mar 8, 2017
James Dinsdale and others added 2 commits March 8, 2017 21:56
@molovo molovo self-assigned this Mar 12, 2017
@molovo molovo merged commit 8ed7659 into master Mar 12, 2017
@molovo molovo deleted the version-1.2.x branch March 31, 2017 11:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant