Merge branch 'jc/dotdot-is-parent-directory'
[gitweb.git] / Documentation / RelNotes / 1.8.0.txt
index 26ccd61c280b716edf23fc9547a9e0a6e0b1e4f5..b626a9a059c79af440f9fefeabbb05eb5d90904e 100644 (file)
@@ -1,22 +1,61 @@
 Git v1.8.0 Release Notes
 ========================
 
+Backward compatibility notes
+----------------------------
+
+In the next major release, we will change the behaviour of the "git
+push" command.  When "git push [$there]" does not say what to push, we
+have used the traditional "matching" semantics (all your branches were
+sent to the remote as long as there already are branches of the same
+name over there).  We will use the "simple" semantics, that pushes the
+current branch to the branch with the same name only when the current
+branch is set to integrate with that remote branch.  There is a user
+preference configuration variable "push.default" to change this, and
+"git push" will warn about the upcoming change until you set this
+variable.
+
+
 Updates since v1.7.12
 ---------------------
 
 UI, Workflows & Features
 
+ * A credential helper for Win32 to allow access to the keychain of
+   the logged-in user has been added.
+
+ * "git cherry-pick" learned the "--allow-empty-message" option to
+   allow it to replay a commit without any log message.
+
+ * "git daemon" learned the "--access-hook" option to allow an
+   external command to decline service based on the client address,
+   repository path, etc.
+
+ * "git difftool --dir-diff" learned to use symbolic links to prepare
+   temporary copy of the working tree when available.
+
+ * "git grep" learned to use a non-standard pattern type by default if
+   a configuration variable tells it to.
 
 Foreign Interface
 
  * "git svn" has been updated to work with SVN 1.7.
 
-
 Performance, Internal Implementation, etc. (please report possible regressions)
 
  * The "check-docs" build target has been updated and greatly
    simplified.
 
+ * The documentation in the TeXinfo format was using indented output
+   for materials meant to be examples that are better typeset in
+   monospace.
+
+ * Compatibility wrapper to learn the maximum number of file
+   descriptors we can open around sysconf(_SC_OPEN_MAX) and
+   getrlimit(RLIMIT_NO_FILE) has been introduced for portability.
+
+ * Compatibility wrapper around some mkdir(2) implementations that
+   reject parameter with trailing slash has been introduced.
 
 Also contains minor documentation updates and code clean-ups.
 
@@ -28,6 +67,78 @@ Unless otherwise noted, all the fixes since v1.7.12 in the
 maintenance track are contained in this release (see release notes
 to them for details).
 
+ * The exit status code from "git config" was way overspecified while
+   being incorrect.  The implementation has been updated to give the
+   documented status for a case that was documented, and introduce a
+   new code for "all other errors".
+   (merge 9409c7a jc/maint-config-exit-status later to maint).
+
+ * "git foo" errored out with "Not a directory" when the user had a
+   non-directory on $PATH, and worse yet it masked an alias "foo" from
+   running.  (merge a785508 jc/maint-sane-execvp-notdir later to
+   maint).
+
+ * The interactive prompt "git send-email" gives was error prone. It
+   asked "What e-mail address do you want to use?" with the address it
+   guessed (correctly) the user would want to use in its prompt,
+   tempting the user to say "y". But the response was taken as "No,
+   please use 'y' as the e-mail address instead", which is most
+   certainly not what the user meant.
+   (merge 51bbccf jc/send-email-reconfirm later to maint).
+
+ * "git stash apply/pop" did not trigger "rerere" upon conflicts
+   unlike other mergy operations.
+   (merge 743bf6d ph/stash-rerere later to maint).
+
+ * "git submodule update -f" did not update paths in the working tree
+   that has local changes.
+   (merge 01d4721 sz/submodule-force-update later to maint).
+
+ * We used curl_easy_strerror() without checking version of cURL,
+   breaking the build for versions before curl 7.12.0.
+   (merge 4246b0b js/no-curl-easy-strerror-on-old-curl later to maint).
+
+ * Code to work around MacOS X UTF-8 gotcha has been cleaned up.
+   (merge 9a27f96 rr/precompose-utf8-cleanup later to maint).
+
+ * Documentation for the configuration file format had a confusing
+   example.
+   (merge d1e1fe7 mh/maint-config-doc-proxy-command later to maint).
+
+ * "git submodule <cmd> path" did not error out when the path to the
+   submodule was misspelt.
+   (merge be9d0a3 hv/submodule-path-unmatch later to maint).
+
+ * Some capabilities were asked by fetch-pack even when upload-pack
+   did not advertise that they are available.  fetch-pack has been
+   fixed not to do so.
+
+ * The reflog entries left by "git rebase" and "git rebase -i" were
+   inconsistent (the interactive one gave an abbreviated object name).
+   (merge 1af221e mg/rebase-i-onto-reflog-in-full later to maint).
+
+ * When the user exports a non-default IFS without HT, scripts that
+   rely on being able to parse "ls-files -s | while read a b c..."
+   start to fail.  Protect them from such a misconfiguration.
+   (merge 785063e jc/maint-protect-sh-from-ifs later to maint).
+
+ * "git prune" without "-v" used to warn about leftover temporary
+   files (which is an indication of an earlier aborted operation).
+   (merge 90b29cb bc/prune-info later to maint).
+
+ * When "git push" triggered the automatic gc on the receiving end, a
+   message from "git prune" that said it was removing cruft leaked to
+   the standard output, breaking the communication protocol.
+   (merge 4b7f2fa bc/receive-pack-stdout-protection later to maint).
+
+ * "git diff" had a confusion between taking data from a path in the
+   working tree and taking data from an object that happens to have
+   name 0{40} recorded in a tree.
+   (merge c479d14 jk/maint-null-in-trees later to maint).
+
+ * The output from "git diff -B" for a file that ends with an
+   incomplete line did not put "\ No newline..." on a line of its own.
+
  * "git send-email" did not unquote encoded words that appear on the
    header correctly, and lost "_" from strings.
    (merge b622d4d tr/maint-send-email-2047 later to maint).