|
1 | | -vNext |
| 1 | +v1.2 |
2 | 2 | ----- |
3 | 3 |
|
4 | | -### Changes or improvements |
5 | | - |
6 | | -* Branch and tag name validation functions have been introduced: |
7 | | - `git_branch_name_is_valid` will check if a branch name is valid, |
8 | | - and `git_tag_name_is_valid` will check if a tag name is valid. |
9 | | - |
10 | | -* Some remote and reference validity checking functions have been |
11 | | - introduced with error reporting semantics. `git_remote_name_is_valid` |
12 | | - replaces `git_remote_is_valid_name`. `git_reference_name_is_valid` |
13 | | - replaces `git_reference_is_valid_name`. Tthe former functions are |
14 | | - deprecated. |
15 | | - |
16 | | -### Breaking CMake configuration changes |
17 | | - |
18 | | -The `MVSC_CRTDBG` configuration option is now `WIN32_LEAKCHECK`. |
| 4 | +This is release v1.2.0, "Absacker". This release includes many new features: in particular, support for commit graphs, multi-pack indexes, and `core.longpaths` support. |
| 5 | + |
| 6 | +This is meant to be the final minor release in the v1 lineage. v2.0 will be the next major release and will remove deprecated APIs and may include breaking changes. |
| 7 | + |
| 8 | +## Deprecated APIs |
| 9 | + |
| 10 | +* revspec: rename git_revparse_mode_t to git_revspec_t by @ethomson in https://github.com/libgit2/libgit2/pull/5786 |
| 11 | +* tree: deprecate `git_treebuilder_write_with_buffer` by @ethomson in https://github.com/libgit2/libgit2/pull/5815 |
| 12 | +* Deprecate `is_valid_name` functions; replace with `name_is_valid` functions by @ethomson in https://github.com/libgit2/libgit2/pull/5659 |
| 13 | +* filter: stop taking git_buf as user input by @ethomson in https://github.com/libgit2/libgit2/pull/5859 |
| 14 | +* remote: introduce remote_ready_cb, deprecate resolve_url callback by @ethomson in https://github.com/libgit2/libgit2/pull/6012 |
| 15 | +* Introduce `create_commit_cb`, deprecate `signing_cb` by @ethomson in https://github.com/libgit2/libgit2/pull/6016 |
| 16 | +* filter: filter drivers stop taking git_buf as user input by @ethomson in https://github.com/libgit2/libgit2/pull/6011 |
| 17 | +* buf: deprecate public git_buf writing functions by @ethomson in https://github.com/libgit2/libgit2/pull/6017 |
| 18 | + |
| 19 | +## New features |
| 20 | + |
| 21 | +* winhttp: support optional client cert by @ianhattendorf in https://github.com/libgit2/libgit2/pull/5384 |
| 22 | +* Add support for additional SSH hostkey types. by @arroz in https://github.com/libgit2/libgit2/pull/5750 |
| 23 | +* Handle ipv6 addresses by @ethomson in https://github.com/libgit2/libgit2/pull/5741 |
| 24 | +* zlib: Add support for building with Chromium's zlib implementation by @lhchavez in https://github.com/libgit2/libgit2/pull/5748 |
| 25 | +* commit-graph: Introduce a parser for commit-graph files by @lhchavez in https://github.com/libgit2/libgit2/pull/5762 |
| 26 | +* patch: add owner accessor by @KOLANICH in https://github.com/libgit2/libgit2/pull/5731 |
| 27 | +* commit-graph: Support lookups of entries in a commit-graph by @lhchavez in https://github.com/libgit2/libgit2/pull/5763 |
| 28 | +* commit-graph: Introduce `git_commit_graph_needs_refresh()` by @lhchavez in https://github.com/libgit2/libgit2/pull/5764 |
| 29 | +* Working directory path validation by @ethomson in https://github.com/libgit2/libgit2/pull/5823 |
| 30 | +* Support `core.longpaths` on Windows by @ethomson in https://github.com/libgit2/libgit2/pull/5857 |
| 31 | +* git_reference_create_matching: Treat all-zero OID as "must be absent" by @novalis in https://github.com/libgit2/libgit2/pull/5842 |
| 32 | +* diff:add option to ignore blank line changes by @yuuri in https://github.com/libgit2/libgit2/pull/5853 |
| 33 | +* [Submodule] Git submodule dup by @lolgear in https://github.com/libgit2/libgit2/pull/5890 |
| 34 | +* commit-graph: Use the commit-graph in revwalks by @lhchavez in https://github.com/libgit2/libgit2/pull/5765 |
| 35 | +* commit-graph: Introduce `git_commit_list_generation_cmp` by @lhchavez in https://github.com/libgit2/libgit2/pull/5766 |
| 36 | +* graph: Create `git_graph_reachable_from_any()` by @lhchavez in https://github.com/libgit2/libgit2/pull/5767 |
| 37 | +* Support reading attributes from a specific commit by @ethomson in https://github.com/libgit2/libgit2/pull/5952 |
| 38 | +* [Branch] Branch upstream with format by @lolgear in https://github.com/libgit2/libgit2/pull/5861 |
| 39 | +* Dynamically load OpenSSL (optionally) by @ethomson in https://github.com/libgit2/libgit2/pull/5974 |
| 40 | +* Set refs/remotes/origin/HEAD to default branch when branch is specified by @A-Ovchinnikov-mx in https://github.com/libgit2/libgit2/pull/6010 |
| 41 | +* midx: Add a way to write multi-pack-index files by @lhchavez in https://github.com/libgit2/libgit2/pull/5404 |
| 42 | +* Use error code GIT_EAUTH for authentication failures by @josharian in https://github.com/libgit2/libgit2/pull/5395 |
| 43 | +* midx: Introduce git_odb_write_multi_pack_index() by @lhchavez in https://github.com/libgit2/libgit2/pull/5405 |
| 44 | +* Checkout dry-run by @J0Nes90 in https://github.com/libgit2/libgit2/pull/5841 |
| 45 | +* mbedTLS: Fix setting certificate directory by @mikezackles in https://github.com/libgit2/libgit2/pull/6004 |
| 46 | +* remote: introduce remote_ready_cb, deprecate resolve_url callback by @ethomson in https://github.com/libgit2/libgit2/pull/6012 |
| 47 | +* Introduce `create_commit_cb`, deprecate `signing_cb` by @ethomson in https://github.com/libgit2/libgit2/pull/6016 |
| 48 | +* commit-graph: Add a way to write commit-graph files by @lhchavez in https://github.com/libgit2/libgit2/pull/5778 |
| 49 | + |
| 50 | +## Bug fixes |
| 51 | + |
| 52 | +* Define `git___load` when building with `-DTHREADSAFE=OFF` by @lhchavez in https://github.com/libgit2/libgit2/pull/5664 |
| 53 | +* Make the Windows leak detection more robust by @lhchavez in https://github.com/libgit2/libgit2/pull/5661 |
| 54 | +* Refactor "global" state by @ethomson in https://github.com/libgit2/libgit2/pull/5546 |
| 55 | +* threadstate: rename tlsdata when building w/o threads by @ethomson in https://github.com/libgit2/libgit2/pull/5668 |
| 56 | +* Include `${MBEDTLS_INCLUDE_DIR}` when compiling `crypt_mbedtls.c` by @staticfloat in https://github.com/libgit2/libgit2/pull/5685 |
| 57 | +* Fix the `-DTHREADSAFE=OFF` build by @lhchavez in https://github.com/libgit2/libgit2/pull/5690 |
| 58 | +* Add missing worktree_dir check and test case by @rbmclean in https://github.com/libgit2/libgit2/pull/5692 |
| 59 | +* msvc crtdbg -> win32 leakcheck by @ethomson in https://github.com/libgit2/libgit2/pull/5580 |
| 60 | +* Introduce GIT_ASSERT macros by @ethomson in https://github.com/libgit2/libgit2/pull/5327 |
| 61 | +* Also add the raw hostkey to `git_cert_hostkey` by @lhchavez in https://github.com/libgit2/libgit2/pull/5704 |
| 62 | +* Make the odb race-free by @lhchavez in https://github.com/libgit2/libgit2/pull/5595 |
| 63 | +* Make the pack and mwindow implementations data-race-free by @lhchavez in https://github.com/libgit2/libgit2/pull/5593 |
| 64 | +* Thread-free implementation by @ethomson in https://github.com/libgit2/libgit2/pull/5719 |
| 65 | +* Thread-local storage: a generic internal library (with no allocations) by @ethomson in https://github.com/libgit2/libgit2/pull/5720 |
| 66 | +* Friendlier getting started in the lack of git_libgit2_init by @ethomson in https://github.com/libgit2/libgit2/pull/5578 |
| 67 | +* Make git__strntol64() ~70%* faster by @lhchavez in https://github.com/libgit2/libgit2/pull/5735 |
| 68 | +* Cache the parsed submodule config when diffing by @lhchavez in https://github.com/libgit2/libgit2/pull/5727 |
| 69 | +* pack: continue zlib while we can make progress by @ethomson in https://github.com/libgit2/libgit2/pull/5740 |
| 70 | +* Avoid using `__builtin_mul_overflow` with the clang+32-bit combo by @lhchavez in https://github.com/libgit2/libgit2/pull/5742 |
| 71 | +* repository: use intptr_t's in the config map cache by @ethomson in https://github.com/libgit2/libgit2/pull/5746 |
| 72 | +* Build with NO_MMAP by @0xdky in https://github.com/libgit2/libgit2/pull/5583 |
| 73 | +* Add documentation for git_blob_filter_options.version by @JoshuaS3 in https://github.com/libgit2/libgit2/pull/5759 |
| 74 | +* blob: fix name of `GIT_BLOB_FILTER_ATTRIBUTES_FROM_HEAD` by @ethomson in https://github.com/libgit2/libgit2/pull/5760 |
| 75 | +* Cope with empty default branch by @ethomson in https://github.com/libgit2/libgit2/pull/5770 |
| 76 | +* README: instructions for using libgit2 without compiling by @ethomson in https://github.com/libgit2/libgit2/pull/5772 |
| 77 | +* Use `p_pwrite`/`p_pread` consistently throughout the codebase by @lhchavez in https://github.com/libgit2/libgit2/pull/5769 |
| 78 | +* midx: Fix a bug in `git_midx_needs_refresh()` by @lhchavez in https://github.com/libgit2/libgit2/pull/5768 |
| 79 | +* mwindow: Fix a bug in the LRU window finding code by @lhchavez in https://github.com/libgit2/libgit2/pull/5783 |
| 80 | +* refdb_fs: Check git_sortedcache wlock/rlock errors by @mamapanda in https://github.com/libgit2/libgit2/pull/5800 |
| 81 | +* index: Check git_vector_dup error in write_entries by @mamapanda in https://github.com/libgit2/libgit2/pull/5801 |
| 82 | +* Fix documentation formating on repository.h by @punkymaniac in https://github.com/libgit2/libgit2/pull/5806 |
| 83 | +* include: fix typos in comments by @tniessen in https://github.com/libgit2/libgit2/pull/5805 |
| 84 | +* Fix some typos by @aaronfranke in https://github.com/libgit2/libgit2/pull/5797 |
| 85 | +* Check git_signature_dup failure by @mamapanda in https://github.com/libgit2/libgit2/pull/5817 |
| 86 | +* merge: Check insert_head_ids error in create_virtual_base by @mamapanda in https://github.com/libgit2/libgit2/pull/5818 |
| 87 | +* winhttp: skip certificate check if unable to send request by @ianhattendorf in https://github.com/libgit2/libgit2/pull/5814 |
| 88 | +* Default to GIT_BRANCH_DEFAULT if init.defaultBranch is empty string by @ianhattendorf in https://github.com/libgit2/libgit2/pull/5832 |
| 89 | +* Fix diff_entrycount -> diff_num_deltas doc typo by @mjsir911 in https://github.com/libgit2/libgit2/pull/5838 |
| 90 | +* repo: specify init.defaultbranch is meant to be a branch name by @carlosmn in https://github.com/libgit2/libgit2/pull/5835 |
| 91 | +* repo: remove an inappropriate use of PASSTHROUGH by @carlosmn in https://github.com/libgit2/libgit2/pull/5834 |
| 92 | +* src: fix typos in header files by @tniessen in https://github.com/libgit2/libgit2/pull/5843 |
| 93 | +* test: clean up memory leaks by @ethomson in https://github.com/libgit2/libgit2/pull/5858 |
| 94 | +* buf: remove unnecessary buf_text namespace by @ethomson in https://github.com/libgit2/libgit2/pull/5860 |
| 95 | +* Fix bug in git_diff_find_similar. by @staktrace in https://github.com/libgit2/libgit2/pull/5839 |
| 96 | +* Fix issues with Proxy Authentication after httpclient refactor by @implausible in https://github.com/libgit2/libgit2/pull/5852 |
| 97 | +* tests: clean up memory leak, fail on leak for win32 by @ethomson in https://github.com/libgit2/libgit2/pull/5892 |
| 98 | +* Tolerate readlink size less than st_size by @dtolnay in https://github.com/libgit2/libgit2/pull/5900 |
| 99 | +* Define WINHTTP_NO_CLIENT_CERT_CONTEXT if needed by @jacquesg in https://github.com/libgit2/libgit2/pull/5929 |
| 100 | +* Update from regex to pcre licensing information in docs/contributing.md by @boretrk in https://github.com/libgit2/libgit2/pull/5916 |
| 101 | +* Consider files executable only if the user can execute them by @novalis in https://github.com/libgit2/libgit2/pull/5915 |
| 102 | +* git__timer: Limit ITimer usage to AmigaOS4 by @boretrk in https://github.com/libgit2/libgit2/pull/5936 |
| 103 | +* Fix memory leak in git_smart__connect by @punkymaniac in https://github.com/libgit2/libgit2/pull/5908 |
| 104 | +* config: fix included configs not refreshed more than once by @Batchyx in https://github.com/libgit2/libgit2/pull/5926 |
| 105 | +* Fix wrong time_t used in function by @NattyNarwhal in https://github.com/libgit2/libgit2/pull/5938 |
| 106 | +* fix check for ignoring of negate rules by @palmin in https://github.com/libgit2/libgit2/pull/5824 |
| 107 | +* Make `FIND_PACKAGE(PythonInterp)` prefer `python3` by @lhchavez in https://github.com/libgit2/libgit2/pull/5913 |
| 108 | +* git__timer: Allow compilation on systems without CLOCK_MONOTONIC by @boretrk in https://github.com/libgit2/libgit2/pull/5945 |
| 109 | +* stdintification: use int64_t and INT64_C instead of long long by @NattyNarwhal in https://github.com/libgit2/libgit2/pull/5941 |
| 110 | +* Optional stricter allocation checking (for `malloc(0)` cases) by @ethomson in https://github.com/libgit2/libgit2/pull/5951 |
| 111 | +* Variadic arguments aren't in C89 by @NattyNarwhal in https://github.com/libgit2/libgit2/pull/5948 |
| 112 | +* Fix typo in general.c by @Crayon2000 in https://github.com/libgit2/libgit2/pull/5954 |
| 113 | +* common.h: use inline when compiling for C99 and later by @boretrk in https://github.com/libgit2/libgit2/pull/5953 |
| 114 | +* Fix one memory leak in master by @lhchavez in https://github.com/libgit2/libgit2/pull/5957 |
| 115 | +* tests: reset odb backend priority by @ethomson in https://github.com/libgit2/libgit2/pull/5961 |
| 116 | +* cmake: extended futimens checking on macOS by @ethomson in https://github.com/libgit2/libgit2/pull/5962 |
| 117 | +* amiga: use ';' as path list separator on AmigaOS by @boretrk in https://github.com/libgit2/libgit2/pull/5978 |
| 118 | +* Respect the force flag on refspecs in git_remote_fetch by @alexjg in https://github.com/libgit2/libgit2/pull/5854 |
| 119 | +* Fix LIBGIT2_FILENAME not being passed to the resource compiler by @jairbubbles in https://github.com/libgit2/libgit2/pull/5994 |
| 120 | +* sha1dc: remove conditional for <sys/types.h> by @boretrk in https://github.com/libgit2/libgit2/pull/5997 |
| 121 | +* openssl: don't fail when we can't customize allocators by @ethomson in https://github.com/libgit2/libgit2/pull/5999 |
| 122 | +* C11 warnings by @boretrk in https://github.com/libgit2/libgit2/pull/6005 |
| 123 | +* open: input validation for empty segments in path by @boretrk in https://github.com/libgit2/libgit2/pull/5950 |
| 124 | +* Introduce GIT_WARN_UNUSED_RESULT by @lhchavez in https://github.com/libgit2/libgit2/pull/5802 |
| 125 | +* GCC C11 warnings by @boretrk in https://github.com/libgit2/libgit2/pull/6006 |
| 126 | +* array: check dereference from void * type by @boretrk in https://github.com/libgit2/libgit2/pull/6007 |
| 127 | +* Homogenize semantics for atomic-related functions by @lhchavez in https://github.com/libgit2/libgit2/pull/5747 |
| 128 | +* git_array_alloc: return objects of correct type by @boretrk in https://github.com/libgit2/libgit2/pull/6008 |
| 129 | +* CMake. hash sha1 header has been added. by @lolgear in https://github.com/libgit2/libgit2/pull/6013 |
| 130 | +* tests: change comments to c89 style by @boretrk in https://github.com/libgit2/libgit2/pull/6015 |
| 131 | +* Set Host Header to match CONNECT authority target by @lollipopman in https://github.com/libgit2/libgit2/pull/6022 |
| 132 | +* Fix worktree iteration when repository has no common directory by @kcsaul in https://github.com/libgit2/libgit2/pull/5943 |
| 133 | + |
| 134 | +## Documentation improvements |
| 135 | + |
| 136 | +* Update README.md for additional Delphi bindings by @todaysoftware in https://github.com/libgit2/libgit2/pull/5831 |
| 137 | +* Fix documentation formatting by @punkymaniac in https://github.com/libgit2/libgit2/pull/5850 |
| 138 | +* docs: fix incorrect comment marker by @tiennou in https://github.com/libgit2/libgit2/pull/5897 |
| 139 | +* Patch documentation by @punkymaniac in https://github.com/libgit2/libgit2/pull/5903 |
| 140 | +* Fix misleading doc for `git_index_find` by @arxanas in https://github.com/libgit2/libgit2/pull/5910 |
| 141 | +* docs: stop mentioning libgit2's "master" branch by @Batchyx in https://github.com/libgit2/libgit2/pull/5925 |
| 142 | +* docs: fix some missing includes that cause Docurium to error out by @tiennou in https://github.com/libgit2/libgit2/pull/5917 |
| 143 | +* Patch documentation by @punkymaniac in https://github.com/libgit2/libgit2/pull/5940 |
| 144 | + |
| 145 | +## Development improvements |
| 146 | + |
| 147 | +* WIP: .devcontainer: settings for a codespace workflow by @ethomson in https://github.com/libgit2/libgit2/pull/5508 |
| 148 | + |
| 149 | +## CI Improvements |
| 150 | + |
| 151 | +* Add a ThreadSanitizer build by @lhchavez in https://github.com/libgit2/libgit2/pull/5597 |
| 152 | +* ci: more GitHub Actions by @ethomson in https://github.com/libgit2/libgit2/pull/5706 |
| 153 | +* ci: run coverity in the nightly builds by @ethomson in https://github.com/libgit2/libgit2/pull/5707 |
| 154 | +* ci: only report main branch in README status by @ethomson in https://github.com/libgit2/libgit2/pull/5708 |
| 155 | +* Fix the `ENABLE_WERROR=ON` build in Groovy Gorilla (gcc 10.2) by @lhchavez in https://github.com/libgit2/libgit2/pull/5715 |
| 156 | +* Re-enable the RC4 test by @carlosmn in https://github.com/libgit2/libgit2/pull/4418 |
| 157 | +* ci: run codeql by @ethomson in https://github.com/libgit2/libgit2/pull/5709 |
| 158 | +* github-actions: Also rename the main branch here by @lhchavez in https://github.com/libgit2/libgit2/pull/5771 |
| 159 | +* ci: don't use ninja on macOS by @ethomson in https://github.com/libgit2/libgit2/pull/5780 |
| 160 | +* ci: use GitHub for storing mingw-w64 build dependency by @ethomson in https://github.com/libgit2/libgit2/pull/5855 |
| 161 | +* docker: remove the entrypoint by @ethomson in https://github.com/libgit2/libgit2/pull/5980 |
| 162 | +* http: don't require a password by @ethomson in https://github.com/libgit2/libgit2/pull/5972 |
| 163 | +* ci: update nightly to use source path by @ethomson in https://github.com/libgit2/libgit2/pull/5989 |
| 164 | +* ci: add centos 7 and centos 8 by @ethomson in https://github.com/libgit2/libgit2/pull/5992 |
| 165 | +* ci: update centos builds by @ethomson in https://github.com/libgit2/libgit2/pull/5995 |
| 166 | +* ci: tag new containers with the latest tag by @ethomson in https://github.com/libgit2/libgit2/pull/6000 |
| 167 | + |
| 168 | +## Dependency updates |
| 169 | + |
| 170 | +* ntlm: [ntlmclient](https://github.com/ethomson/ntlmclient) is now v0.9.1 |
| 171 | + |
| 172 | +**Full Changelog**: https://github.com/libgit2/libgit2/compare/v1.1.0...v1.2.0 |
19 | 173 |
|
20 | 174 | v1.1 |
21 | 175 | ---- |
|
0 commit comments