Merge pull request #4501 from pks-t/pks/v0.27.0-release-notes CHANGELOG: update for v0.27.0
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113
diff --git a/CHANGELOG.md b/CHANGELOG.md
index ee516a6..94b28b1 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -6,31 +6,103 @@ v0.26 + 1
* Improved `p_unlink` in `posix_w32.c` to try and make a file writable
before sleeping in the retry loop to prevent unnecessary calls to sleep.
+* The CMake build infrastructure has been improved to speed up building time.
+
+* A new CMake option "-DUSE_HTTPS=<backend>" makes it possible to explicitly
+ choose an HTTP backend.
+
+* A new CMake option "-DSHA1_BACKEND=<backend>" makes it possible to explicitly
+ choose an SHA1 backend. The collision-detecting backend is now the default.
+
+* A new CMake option "-DUSE_BUNDLED_ZLIB" makes it possible to explicitly use
+ the bundled zlib library.
+
+* A new CMake option "-DENABLE_REPRODUCIBLE_BUILDS" makes it possible to
+ generate a reproducible static archive. This requires support from your
+ toolchain.
+
+* The minimum required CMake version has been bumped to 2.8.11.
+
* Writing to a configuration file now preserves the case of the key given by the
caller for the case-insensitive portions of the key (existing sections are
used even if they don't match).
* We now support conditional includes in configuration files.
+* Fix for handling re-reading of configuration files with includes.
+
+* Fix for reading patches which contain exact renames only.
+
+* Fix for reading patches with whitespace in the compared files' paths.
+
+* We will now fill `FETCH_HEAD` from all passed refspecs instead of overwriting
+ with the last one.
+
* There is a new diff option, `GIT_DIFF_INDENT_HEURISTIC` which activates a
heuristic which takes into account whitespace and indentation in order to
produce better diffs when dealing with ambiguous diff hunks.
+* Fix for pattern-based ignore rules where files ignored by a rule cannot be
+ un-ignored by another rule.
+
+* Sockets opened by libgit2 are now being closed on exec(3) if the platform
+ supports it.
+
+* Fix for peeling annotated tags from packed-refs files.
+
+* Fix reading huge loose objects from the object database.
+
+* Fix files not being treated as modified when only the file mode has changed.
+
+* Fix for WinHTTP not properly handling NTLM and Negotiate challenges.
+
+* When using SSH-based transports, we now repeatedly ask for the passphrase to
+ decrypt the private key in case a wrong passphrase is being provided.
+
+* When generating conflict markers, they will now use the same line endings as
+ the rest of the file.
+
### API additions
+* The `git_merge_file_options` structure now contains a new setting,
+ `marker_size`. This allows users to set the size of markers that
+ delineate the sides of merged files in the output conflict file.
+ By default this is 7 (`GIT_MERGE_CONFLICT_MARKER_SIZE`), which
+ produces output markers like `<<<<<<<` and `>>>>>>>`.
+
* `git_remote_create_detached()` creates a remote that is not associated
to any repository (and does not apply configuration like 'insteadof' rules).
This is mostly useful for e.g. emulating `git ls-remote` behavior.
+* `git_diff_patchid()` lets you generate patch IDs for diffs.
+
+* `git_status_options` now has an additional field `baseline` to allow creating
+ status lists against different trees.
+
+* New family of functions to allow creating notes for a specific notes commit
+ instead of for a notes reference.
+
+* New family of functions to allow parsing message trailers. This API is still
+ experimental and may change in future releases.
+
### API removals
### Breaking API changes
-* The `git_merge_file_options` structure now contains a new setting,
- `marker_size`. This allows users to set the size of markers that
- delineate the sides of merged files in the output conflict file.
- By default this is 7 (`GIT_MERGE_CONFLICT_MARKER_SIZE`), which
- produces output markers like `<<<<<<<` and `>>>>>>>`.
+* Signatures now distinguish between +0000 and -0000 UTC offsets.
+
+* The certificate check callback in the WinHTTP transport will now receive the
+ `message_cb_payload` instead of the `cred_acquire_payload`.
+
+* We are now reading symlinked directories under .git/refs.
+
+* We now refuse creating branches named "HEAD".
+
+* We now refuse reading and writing all-zero object IDs into the
+ object database.
+
+* We now read the effective user's configuration file instead of the real user's
+ configuration in case libgit2 runs as part of a setuid binary.
v0.26
-----