about summary refs log blame commit diff
path: root/NEWS
blob: f3b34a4732fccbe274f887c8667e89ed1889dbf4 (plain) (tree)




















                                                                      

















































                                                                      

                                                               
                           
                                                       
                                       







                                                                     
Version 0.7

* Binary patching.  When upgrading components using pre-built binaries
  (through nix-pull / nix-channel), Nix can automatically download and
  apply binary patches to already installed components instead of full
  downloads.  Patching is "smart": if there is a *sequence* of patches
  to an installed component, Nix will use it.  Patches are currently
  generated automatically between Nixpkgs (pre-)releases.

* Simplifications to the substitute mechanism.

* Nix-pull now stores downloaded manifests in /nix/var/nix/manifests.

* Metadata on files in the Nix store is canonicalised after builds:
  the last-modified timestamp is set to 0 (00:00:00 1/1/1970), the
  mode is set to 0444 or 0555 (readable and possibly executable by
  all; setuid/setgid bits are dropped), and the group is set to the
  default.  This ensures that the result of a build and an
  installation through a substitute is the same; and that timestamp
  dependencies are revealed.


Version 0.6

Major changes include the following:

* Rewrite of the normalisation engine.

  * Multiple builds can now be performed in parallel (option `-j').

  * Distributed builds.  Nix can now call a shell script to forward
    builds to Nix installations on remote machines, which may or may
    not be of the same platform type.

  * Option `--fallback' allows recovery from broken substitutes.

  * Option `--keep-going' causes building of other (unaffected)
    derivations to continue if one failed.
    
* Improvements to the garbage collector (i.e., it should actually work
  now).

* Setuid Nix installations allow a Nix store to be shared among
  multiple users.

* Substitute registration is much faster now.

* A utility `nix-build' to build a Nix expression and create a symlink
  to the result int the current directory; useful for testing Nix
  derivations.

* Manual updates.

* `nix-env' changes:

  * Derivations for other platforms are filtered out (which can be
    overriden using `--system-filter').

  * `--install' by default now uninstall previous derivations with the
    same name.

  * `--upgrade' allows upgrading to a specific version.

  * New operation `--delete-generations' to remove profile
    generations (necessary for effective garbage collection).

  * Nicer output (sorted, columnised).

* More sensible verbosity levels all around (builder output is now
  shown always, unless `-Q' is given).

* Nix expression language changes:

  * New language construct: `with E1; E2' brings all attributes
    defined in the attribute set E1 in scope in E2.

  * Added a `map' function.

  * Various new operators (e.g., string concatenation).

* Expression evaluation is much faster.

* An Emacs mode for editing Nix expressions (with syntax highlighting
  and indentation) has been added.

* Many bug fixes.


Version 0.5 and earlier

Please refer to the Subversion commit log messages.