Skip to content

Commit

Permalink
Merge pull request #6594 from libgit2/ethomson/v1.7
Browse files Browse the repository at this point in the history
v1.7: release Kleine Raupe Nimmersatt
  • Loading branch information
ethomson committed Jul 17, 2023
2 parents bf68ce2 + c375d0b commit 3e2baa6
Show file tree
Hide file tree
Showing 4 changed files with 132 additions and 4 deletions.
2 changes: 1 addition & 1 deletion README.md
Expand Up @@ -4,8 +4,8 @@ libgit2 - the Git linkable library
| Build Status | |
| ------------ | - |
| **main** branch CI builds | [![CI Build](https://github.com/libgit2/libgit2/workflows/CI%20Build/badge.svg?event=push)](https://github.com/libgit2/libgit2/actions?query=workflow%3A%22CI+Build%22+event%3Apush) |
| **v1.7 branch** CI builds | [![CI Build](https://github.com/libgit2/libgit2/workflows/CI%20Build/badge.svg?branch=maint%2Fv1.7&event=push)](https://github.com/libgit2/libgit2/actions?query=workflow%3A%22CI+Build%22+event%3Apush+branch%3Amaint%2Fv1.7) |
| **v1.6 branch** CI builds | [![CI Build](https://github.com/libgit2/libgit2/workflows/CI%20Build/badge.svg?branch=maint%2Fv1.6&event=push)](https://github.com/libgit2/libgit2/actions?query=workflow%3A%22CI+Build%22+event%3Apush+branch%3Amaint%2Fv1.6) |
| **v1.5 branch** CI builds | [![CI Build](https://github.com/libgit2/libgit2/workflows/CI%20Build/badge.svg?branch=maint%2Fv1.5&event=push)](https://github.com/libgit2/libgit2/actions?query=workflow%3A%22CI+Build%22+event%3Apush+branch%3Amaint%2Fv1.5) |
| **Nightly** builds | [![Nightly Build](https://github.com/libgit2/libgit2/workflows/Nightly%20Build/badge.svg)](https://github.com/libgit2/libgit2/actions?query=workflow%3A%22Nightly+Build%22) [![Coverity Scan Status](https://scan.coverity.com/projects/639/badge.svg)](https://scan.coverity.com/projects/639) |

`libgit2` is a portable, pure C implementation of the Git core methods
Expand Down
128 changes: 128 additions & 0 deletions docs/changelog.md
@@ -1,3 +1,131 @@
v1.7
----

This is release v1.7.0, "Kleine Raupe Nimmersatt". This release adds
shallow clone support, completes the experimental SHA256 support,
adds Schannel support for Windows, and includes many other new
features and bugfixes.

## Major changes

* **Shallow clone support**
libgit2 now supports shallow clone and shallow repositories, thanks
to a significant investment from many community members -- hundreds
of commits by many contributors.

* Shallow (#6396) with some fixes from review by @ethomson in
https://github.com/libgit2/libgit2/pull/6557
* Shallow Clone Support by @lya001 in
https://github.com/libgit2/libgit2/pull/6396
* Shallow support v2 by @pks-t in
https://github.com/libgit2/libgit2/pull/5254

* **SHA256 support**
libgit2 should now support SHA256 repositories using the
`extensions.objectFormat` configuration option when the library is
built with `EXPERIMENTAL_SHA256=ON`. Users are encouraged to begin
testing their applications with this option and provide bug reports
and feedback. This _is_ a breaking API change; SHA256 support will
be enabled by default in libgit2 v2.0.

* sha256: less hardcoded SHA1 types and lengths by @ethomson in
https://github.com/libgit2/libgit2/pull/6549
* Support SHA256 in git_repository_wrap_odb by @ethomson in
https://github.com/libgit2/libgit2/pull/6556

* **Schannel and SSPI for Windows**
libgit2 now supports the Windows Schannel and SSPI APIs for HTTPS
support on Windows, when configured with `USE_HTTPS=Schannel`.
Setting this option will not use the existing WinHTTP support, but
will use libgit2's standard HTTP client stack with Windows TLS
primitives. Windows users are encouraged to begin testing their
applications with this option and provide bug reports and feedback.
This will be enabled by default in a future version of libgit2.

* Introduce Schannel and SSPI for Windows by @ethomson in
https://github.com/libgit2/libgit2/pull/6533

## Breaking changes

* **Simplify custom pluggable allocator** (System API / ABI breaking change)
The `git_allocator` structure (configurable by the
`GIT_OPT_SET_ALLOCATOR` option) now only contains `gmalloc`,
`grealloc` and `gfree` members. This simplifies both the work needed
by an implementer _and_ allows more flexibility and correctness in
libgit2 itself, especially during out-of-memory situations and
errors during bootstrapping.

* tests: add allocator with limited number of bytes by @ethomson in
https://github.com/libgit2/libgit2/pull/6563

## Other changes

### New features
* repo: honor environment variables for more scenarios by @ethomson in
https://github.com/libgit2/libgit2/pull/6544
* Introduce timeouts on sockets by @ethomson in
https://github.com/libgit2/libgit2/pull/6535

### Performance improvements
* midx: do not try to look at every object in the index by @carlosmn in
https://github.com/libgit2/libgit2/pull/6585
* Partial fix for #6532: insert-by-date order. by @arroz in
https://github.com/libgit2/libgit2/pull/6539

### Bug fixes
* repo: don't allow repeated extensions by @ethomson in
https://github.com/libgit2/libgit2/pull/6505
* config: return `GIT_ENOTFOUND` for missing programdata by @ethomson in
https://github.com/libgit2/libgit2/pull/6547
* Fix missing oid type for "fake" repositories by @oreiche in
https://github.com/libgit2/libgit2/pull/6554
* Thread-local storage: handle failure cases by @ethomson in
https://github.com/libgit2/libgit2/pull/5722
* midx: allow unknown chunk ids in multi-pack index files by @carlosmn in
https://github.com/libgit2/libgit2/pull/6583
* pack: cast the number of objects to size_t by @carlosmn in
https://github.com/libgit2/libgit2/pull/6584
* Fixes #6344: git_branch_move now renames the reflog instead of deleting
by @arroz in https://github.com/libgit2/libgit2/pull/6345
* #6576 git_diff_index_to_workdir reverse now loads untracked content by
@arroz in https://github.com/libgit2/libgit2/pull/6577

### Build and CI improvements
* meta: the main branch is now v1.7.0 by @ethomson in
https://github.com/libgit2/libgit2/pull/6516
* xdiff: move xdiff to 'deps' by @ethomson in
https://github.com/libgit2/libgit2/pull/6482
* util: detect all possible qsort_r and qsort_s variants by
@DimitryAndric in https://github.com/libgit2/libgit2/pull/6555
* Work around -Werror problems when detecting qsort variants by
@DimitryAndric in https://github.com/libgit2/libgit2/pull/6558
* actions: simplify execution with composite action by @ethomson in
https://github.com/libgit2/libgit2/pull/6488
* CMake: Search for ssh2 instead of libssh2. by @Faless in
https://github.com/libgit2/libgit2/pull/6586

### Documentation improvements
* docs: fix IRC server from freenode to libera by @vincenzopalazzo in
https://github.com/libgit2/libgit2/pull/6590

### Dependency upgrades
* Update xdiff to git 2.40.1's version by @ethomson in
https://github.com/libgit2/libgit2/pull/6561
* deps: update pcre to 8.45 by @ethomson in
https://github.com/libgit2/libgit2/pull/6593

## New Contributors
* @oreiche made their first contribution in
https://github.com/libgit2/libgit2/pull/6554
* @DimitryAndric made their first contribution in
https://github.com/libgit2/libgit2/pull/6555
* @vincenzopalazzo made their first contribution in
https://github.com/libgit2/libgit2/pull/6590
* @Faless made their first contribution in
https://github.com/libgit2/libgit2/pull/6586

**Full Changelog**: https://github.com/libgit2/libgit2/compare/v1.6.3...v1.7.0

v1.6.3
------

Expand Down
4 changes: 2 additions & 2 deletions include/git2/version.h
Expand Up @@ -11,7 +11,7 @@
* The version string for libgit2. This string follows semantic
* versioning (v2) guidelines.
*/
#define LIBGIT2_VERSION "1.7.0-alpha"
#define LIBGIT2_VERSION "1.7.0"

/** The major version number for this version of libgit2. */
#define LIBGIT2_VER_MAJOR 1
Expand All @@ -31,7 +31,7 @@
* a prerelease name like "beta" or "rc1". For final releases, this will
* be `NULL`.
*/
#define LIBGIT2_VER_PRERELEASE "alpha"
#define LIBGIT2_VER_PRERELEASE NULL

/** The library ABI soversion for this version of libgit2. */
#define LIBGIT2_SOVERSION "1.7"
Expand Down
2 changes: 1 addition & 1 deletion package.json
@@ -1,6 +1,6 @@
{
"name": "libgit2",
"version": "1.7.0-alpha",
"version": "1.7.0",
"repo": "https://github.com/libgit2/libgit2",
"description": " A cross-platform, linkable library implementation of Git that you can use in your application.",
"install": "mkdir build && cd build && cmake .. && cmake --build ."
Expand Down

0 comments on commit 3e2baa6

Please sign in to comment.