-
0.97
got 0.97 - improve error messages shown upon execv failure - fix 'gotadmin pack' crash upon Ctrl-C due to invalid imsg_free() - significantly speed up deltification of large files - improve error handling in got_privsep_recv_imsg()
-
0.96
got 0.96 - gotwebd: add foldable commit briefs - gotwebd: fix (again) the styling for the next/prev buttons - gotwebd: add knob for the number of tags and commits in the summary page - gotwebd: remove PAGE handling - gotwebd: retire max_repos setting - gotwebd: guard against missig folder and file parameter in BLOB and BLAME - gotwebd: improve copy-paste from BLOB pages - gotwebd: fix colour of target lines in dark mode CSS - gotwebd.conf.5: show defaults, improve EXAMPLES - gotwebd.8: improve EXAMPLES sections - fix logging during gotwebd shutdown - plug several memory leaks in tog - plug object id queue leak when iterating pack index files - ensure tmp file is closed and fix UB in diff error path - do not crash when a meta-data file in the .got directory is empty - make the gotd auth process provide the user's account name for later use - avoid opening objects in the gotd session process for no reason - use imsg_get_fd() instead of imsg->fd everywhere - tolerate remotes without urls in git config file for interop with git-annex - plug some fd leaks in the fdopen{,dir} error paths - log -b: handle merge commits unrelated to requested changed path history - fix use of uninitialized variable in update_blob() - plug memory leak in got_pack_dump_delta_chain_to_file() - never write accum_buf on error in got_pack_dump_delta_chain_to_file()
-
0.95
got 0.95 - plug memory leaks in checkout, update, and status commands - gotwebd: repair the "chroot" option in /etc/gotwebd.conf; regression from 0.94 - gotwebd: add breadcumbs to navigate paths in tree/blob/commits/blame views - gotwebd: add a dark mode, enabled based on web-browser preferences - gotwebd: add History/Blob/Raw-File links to blob and blame views - gotwebd: adjust blob line numbers for text-mode browsers - gotwebd: make the blame view work in text-mode browsers - gotwebd: add a Patch action to serve diffs in plain text - gotwebd: add Patch and Tree links to the diff view - gotwebd: display README files in tree views - gotwebd: display a tree-listing and README files in the summary view - gotwebd: render less tags in the summary page to make space for other content - gotwebd: swap order of tags and branch listings on the summary page - gotwebd: display 'More' link instead of 'prev/next' links in the tag listing
-
0.94
got 0.94 - in diff error message, say what was being diffed - gotwebd.css: vertically align briefs age and author - honor fetch_all_branches configuration again - tog: switch back to patience diff algorithm by default for pretty diffs - gotwebd: render all the datetimes in a time tag - slightly reword 'got merge' documentation to hopefully be more clear - make 'tog diff' release the work-tree lock earlier - got patch: handle embedded NULs in lines of patch files with binary data - simplify usage of the 'mesg' histedit script command - fix some fd leaks in error paths and avoid some double-close() - use ibuf_fd_set() instead of reaching into the ibuf struct - gotwebd: remove dead ipproto handling in host() and host_if() - allow setting variables in gotd.conf syntax - fix gotwebd unveil permissions; gotwebd now runs entirely read-only - reduce gotwebd pledges to the minimum currently required - gotwebd.conf: drop support for inferring listen addresses via interface names - gotwebd.conf: use listen * instead of listen "" to listen on any address - gotwebd: get rid of got_sockaddr.[ch] usage to help -portable - allow gotd repo read/write processes to max out data-size resource limits - gotwebd: replace proc.c with much simpler code - gotwebd: don't chdir to / before spawning the child processes - remove the quite ineffective gotwebd repository cache to fix stability issues - fix memory leak on error in got_privsep_recv_painted_commits() - gotwebd: fix broken signal catching - detect concurrent changes to the set of pack files while matching object IDs
-
0.93
got 0.93 - show out-of-memory errors from zlib inflate() and deflate() calls - make 'got fetch' and 'got send' release the work tree lock earlier - tog: add basic regress for log limit and log search - fix "no git repository found" on locked work trees; regression from 0.91 - gotwebd: CSS improvements, looks much better in text-based browsers - gotwebd: don't lose track of the current file during commit log pagination - gotwebd: move buffering from the fastcgi layer to the template layer - got diff: fix "No newline at end of file" showing up where not expected - make 'got send' detect connections unexpectedly closed by server - fix detection of modified files in fresh work trees created with checkout -E - gotd: fix bogus "gotsh: operation timed out" errors; regression from 0.92
-
0.92
got 0.92 - allow modified files to be deleted during merges if content exists in repo - disallow overlapping repo and work tree in 'got checkout' - speed up opening of the work tree's file-index - speed up deltification by resizing block hash tables less often - add support for commit keywords to 'got log -x' - fix 'got log -dPp' diffstat duplication bug - improve out-of-date reporting accuracy in 'got branch -l' output - document that the log -d option implies log -P - prevent file-index corruption via deletion of missing locally-added files - prevent a double-free in got_worktree_commit - fix regression from 0.76: 'got diff' output matches /usr/bin/diff -p again - gotsh: do not set POLLOUT flag if there is no data to send, for portability - gotd: stop logging "unexpected end of file" when client decides to disconnect - make gotd flush pending messages before disconnecting the client upon success - gotwebd: fix bogus modification times displayed when show_repo_age is off - tog: show work tree base commit marker in the log view - tog: fix an infinite loop that could be triggered via log view search - plug a memory leak in tog's blame view - tog regress: prevent crash in ncurses when Ctrl-C is used to cancel test runs - tog regress: fix occasional failures due to commit timestamp mismatch - regress: nix 'set -A' kshism from tests for portability
-
0.91
got 0.91 - use _POSIX_HOST_NAME_MAX from <limits.h> for portability - add merge -M option which tells 'got merge' not to fast-forward a reference - make gitwrapper ignore "permission denied" errors for repository paths - add cvg(1), a CVS-like Git client; still WIP and not installed by default yet - add initial implementation of 'gotadmin dump' which creates Git bundle files - add initial implementation of 'gotadmin load' which loads Git bundle files - gotadmin cleanup: consider object reachability while cleaning packfiles - gotadmin cleanup: don't delete pack files that are too young - prevent useless EEXIST errors filling up the global custom error array - abort histedit if the user quits the editor without saving the script - fix double-free in tog blame view error path - add support for keywords as <commit> arguments to got and tog
-
0.90
got 0.90 - fix segfault in 'got diff' when a root commit is passed to -c - make 'got status' error out as intended when invoked in a repository - make 'got tree /' succeed in a work tree - make 'got add *' more forgiving about versioned paths on the command line - make 'got merge' forward branches if there are no changes to merge - prevent 'got merge' from creating commits on branches outside "refs/heads/" - got, tog: show reference names that begin with the prefix "HEAD" as intended - gotd: unveil repositories read-only in session process while serving fetches - gotd: avoid a "failed to push some refs" error from no-op 'git push' - gotd: avoid re-writing existing ref files when a ref-update is a no-op - gotd: show relevant commit hashes in error message if incoming pushes collide - gotd: wait asynchronously for child process termination - gotwebd: avoid the slowness of needlessly traversing full commit history - gotwebd.conf: disallow 1 for max_commits_display and report range errors - gotwebd.conf: disallow yes/no for booleans to avoid accidental "on" vs. "no" - gotwebd: avoid "gotweb_render_index: repo.git: unexpected end of file" error - gotwebd: simplify the matching of requests against servers in gotwebd.conf - ignore files with invalid reference names while reading references from disk - teach 'gotadmin cleanup' to remove redundant pack files - grab gc.pid.lock file during cleanup operation to block 'git gc' from running
-
0.89
got 0.89 - gotd: return early after disconnect on auth event error instead of crashing - make 'got patch' display statistics about files with conflicts and rejects - make 'got diff' not treat \r\n line endings as special - fix test failures in test_blame_lines_shifted_skip on certain times of day - show reference labels next to commit messages in tog log view - some gotwebd refactoring related to handling of file descriptors - gotwebd: lower log priority of unexpected disconnections - gotwebd: avoid needless double fseek() - fix the size of gotwebd's tempfiles array; exposed by errors from ftruncate() - simplify ancestry checks in checkout, update, rebase, and merge commands - make gitwrapper not fail if programs it wants to run do not exist on disk - stop showing backup references in the tog log and diff views - consistently use ten Xs in mkstemp(3) templates - only delete empty directories which appear in arguments to 'got rm' - simplify parsing of host names and IP addresses in gotwebd's parse.y - make 'got merge' refuse to run if a merge is in progress - make 'got merge -c' fail even if new changes only affect unrelated paths
-
0.88
got 0.88 - tog: always use alternate charset for vertical/horizontal line - several tog regression test suite improvements - run the tog tests as part of the default regress set - tog: resize log view if toggling fullscreen from child view - when finding changed paths iterate tree entries in on-disk order for speed - cache fulltext data in delta cache to improve speed with long delta chains - gotwebd: fix logic error in gotweb_render_index
-
0.87
got 0.87 - add gitwrapper(1) - tog: resume blame and diff search from the first line - fix crash in got log due to NULL-deref in got_object_blob_close - add support for protecting references against 'got send -f' to gotd - fix spurious empty packfile error from gotd when rewinding a branch - tog: implement automated test harness - update the base commit ID of unmodified files if the blob ID matches - fix rebase/histedit -a leaving some files on the temporary branch - make 'got revert' and 'got rm' work on non-existent directories - got: flush stdout before printing the error in main() - when aborting rebase/histedit/merge, unlink files added by merged changes - fix 'got commit' using a bad parent commit ID when worktree is out-of-date - allow no-op merge commits to be created - fix sending merge commits - show how to fetch a pull request in got.1 pull request example section
-
0.86
got 0.86 - fix race condition on NFS where log-message file's modify time may change - fix gotd sending too large pack files in some cases - support histedit fold operations which delete a file and then add it again - make diffing files which changed into dirs and vice-versa possible - handle files changing into directories during 'got update' - add quoting to repository path sent to server for git-shell compatibility - gotwebd: handle short reads and timeouts - gotwebd: provide gotweb_render_page() entrypoint for all pages - gotwebd: reply with non-200 HTTP status code on error
-
0.85
got 0.85 - gotwebd: add missing colon in diff view (patch by Josiah Frentsos) - more preparation for eventual sha256 object ID support - add test coverage for more tree conflict cases during merges - fall back to vi(1) instead of ed(1) if neither EDITOR nor VISUAL are set - in got.1, clarify what users are expected to do during 'histedit -e' - gotd requires a config file; don't fail silently when it cannot be read - regress: replace unportable ln -h option with rm && ln - regress: make cmdline tests POSIX /bin/sh compatible - gotd: remove more (all?) double process names in log - don't pass -d to yacc during the build (patch by Josiah Frentsos) - regress: override locale settings to force the "C" locale - regress: replace "sed -i" with ed(1) for portable in-place editing - fix gotd sometimes reading reused deltas from wrong pack file
-
0.84
got 0.84 too many changes to list all here; see git repository history for more; and see git repository history for per-change authorship information - add 'got histedit -d' flag to drop all commits - show worktree UUID in backout/cherrypick -l output - several changes in preparation for eventual SHA256 object ID support - make 'got rebase' work when the to-be-rebased branch has no parent commit - fix bad line-wrapping in tog ref and tree views - add horizontal scrolling support to tog ref and tree views - create .pack and .idx files with filemode 0444, like Git does - make 'got fetch' fetch the work tree's current branch as an implicit fallback - improve 'got fetch' behaviour when work tree's branch is not on server - gotwebd: fix briefs/tags navigation overlap - drop double process name from some gotd logs - tog: fix high CPU usage issue after starting search (reported by Mikhail) - fix gotd exiting with abnormal error during client connection teardown - fix gotd segfault in libevent while disconnecting clients - tweak 'got commit' log-message validation: now checks timestamp and size > 0 - gotwebd: abort blame if the client disconnects midway through - make 'got fetch -b branch' only fetch the named branch - got/tog/gotadmin: call pledge(2) earlier where possible - no longer error out if redundant "got commit -A $GOT_AUTHOR" option is used - add 'gotadmin pack' -D flag to force generation of ref-deltas in pack files - make 'got fetch' update cached HEAD symref if it has changed in remote repo - add commit/histedit/merge/rebase -C option to commit unresolved conflicts - make 'got status' check for merge conflict markers on newly added lines only - fix read/write out of bounds in gitconfig file parser (reported by James Cook) - fix "got fetch" hanging if remote repo is out-of-date (reported by James Cook) - ignore patterns with trailing "/" now match directories (suggested by Lucas) - make 'got merge' honour author setting in gitconfig (reported by James Cook) - sync default values shown in gotwebd.conf(5) EXAMPLES section - fix parsing of indented comments in gitconfig file (reported by James Cook) - fix tog diff between arbitrary commits; regression from 0.80
-
0.83
got 0.83 - fix usage display error in got merge command (patch by Mikhail) - fix missing commits in pack files created with packed object enumeration - avoid traversing enumerated commits more than once in got-read-pack - fix ulimit-related test failures on sparc64 (tracey) - got commit editor now shows log messages from backout and cherrypick (jamsek) - new cherrypick/backout -l option to show recorded log messages (jamsek) - new cherrypick/backout -X option to discard recorded log messages (jamsek) - gotd: implement the delete-refs capability (op) - fix histedit -m on a commit which only changes filemode bits - gotsh.1: show how to set up anonymous public read-only repository access
-
0.82
got 0.82 - fix comparison in tree object parser always evaluating to false (jamsek) - add missing bounds-check in gitproto ref-line tokenizer - gotd.8 and gotwebd.8 man page improvements (patch by Josiah Frentsos) - make gotd session process accept just one flush packet at a time - sort ENVIRONMENT entries in got.1 and tog.1 (op) - only forward implicit flush packets from gotsh if they are expected - return GOT_ERR_EOF from pkt.c if a read attempt indicates EOF - treat read errors from client socket in gotsh as fatal errors - gotwebd: refactor gotweb_render_content_type/_file (op) - gotwebd: turn gotweb_get_time_str into gotweb_render_age (op) - gotwebd: don't list references per-commit in got_get_repo_commits (op) - gotwebd: avoid history traversal in briefs/commits, kill "prev" button (op) - gotd: disconnect on client EOF error to avoid stale connections (op) - gotsh: validate with parse_command before connecting (op) - add a test for ssh connections to gotsh without a repo path argument (op) - gotsh: avoid a temporary buffer for the socket path (op) - gotsh: move apply_unveil right after the first pledge (op) - fix tog refreshing the screen more often than intended (jamsek) - tog: show action report on user-toggleable event (patch by Mikhail, jamsek) - don't print empty line when exiting tog (jamsek) - got: don't leak pathlist in commit and revert commands (jamsek) - gotd: fix wrong PIDs for parent and child processes shown in logs
-
0.81
got 0.81 - gotd: print configuration errors without -d (op) - gotd: move nrepos check to parse_config (op) - gotd: move socket path check to parse.y and error from the main process (op) - fix an issue where multiple ref-updates are rejected by gotd - fix an issue where gotd fails to accept multiple have-lines from clients - regress: replace typeset with printf for shell portability (naddy) - fix spurious "gotsh: unexpected flush packet" error when client is up-to-date - gotd: fix "bad packfile with zero objects" error while creating branches - document the gotd -n option
-
0.80
got 0.80 too many changes to list all here; see git repository history for more - implement per-repository read/write authorization rules in gotd - add a gotd "listen" process which watches the unix socket - add a gotd "session" process, split off from the parent process - switch gotd from chroot(2) to unveil(2) - run gotd authentication in a separate child process - enforce a per-uid connection limit in the gotd listen process - introduce connection options to gotd.conf - gotd: allow to express timeouts using minutes/hours (op) - switch gotd.conf syntax from 'unix_socket' to 'listen on' - remove the gotsh group requirement from gotd; any user can now connect - expose 'gotctl info' output only to the root user - remove support for showing client capabilities in 'gotctl info' - farewell, gotweb. you served us well. rm gotweb (tracey) - lots of gotwebd refactoring (op) - gotwebd: use a templating system to render HTML (op) - gotwebd: add an RSS feed for the tags - gotwebd: remove erratic horizontal scrolling (op) - gotwebd.conf: use `listen on socket' syntax for UNIX sockets too (op) - gotwebd: render BLOB inline, add BLOBRAW for serving raw blobs (op) - gotwebd: css: fix horizontal overflow in blob and blame pages (op) - gotwebd: urlencode also the double quote character (op) - gotwebd: make commit page more like `got log' / tog (op) - cope with deleted references when reloading the tog log view - tog: fix typo that breaks log search when in hsplit (jamsek) - tog: always echo input prompt to bottom left of screen (jamsek) - make 'tog log' display the committer handle by default, '@' switches to author - tog: add mutt-like =/* keymaps as home/end aliases (patch by Mikhail) - implement diffstat display for got log, got diff, and tog diff (jamsek) - show from: and via: headers on consecutive lines in 'got log' and 'tog log' - show full URL during got clone/fetch/send (op) - make 'got send' print errors reported by the server (op) - fix 'got rebase' not detecting an out-of-date work tree in some cases - reduce max amount of tags stored in object cache to avoid high memory usage - avoid copying reused deltas to delta cache file; copy from pack file instead - got patch: handle the removal of binary files (op) - fix uninitialised fildes variables in libexec helpers (jamsek) - got: minor refactor of got_pathlist_free() API (jamsek) - fix indexing of pack files which contain ref-deltas
-
0.79
got 0.79 - repair build on OpenBSD/sparc64 (patch by Ted Bullock) - fix crash in gotd if client gets disconnected on error (reported by Mikhail) - fix crash in got-send-pack when server does not announce any capabilities - make gotd work as intended on an empty repository - prevent freeing of bogus pointers in got_inflate_end() and got_deflate_end() - reduce delta cache size to avoid running out of memory on large pack files - add missing free of delta buffers in several error paths - make 'got clone -b' work for repositories which lack a valid HEAD reference - use sub-second precision when checking for objects/pack/ modification - fix capabilities announced by gotsh when no references exist in repository
-
0.78
got 0.78 - gotsh.1: Use Sx for referencing EXAMPLES (patch by Josiah Frentsos) - change got_pack_parse_offset_delta tslen argument to size_t (op) - fix regression test failures with Git 2.30.5 / 2.38.1 or later installed - fix gotd(8) usage() string (patch by Josiah Frentsos) - regress/rebase.sh: remove accidentally included absolute path to "got" (naddy) - fix off_t type mismatches in printf format string arguments (naddy, op) - fix spelling of "FastCGI" (patch by Josiah Frentsos) - add missing `goto done;' on error path of read_raw_delta_data() (op) - add bounds check when reading a delta offset from a packed object (op) - check size before calling mmap(2) (op) - sort getopt() option lists and switch statements (patch by Josiah Frentsos) - make got.conf(5) warn about remotes configured in locally-shared repositories - add missing check for errors from got_gotconfig_read() in open_worktree() - plug a memory leak on error in got_gotconfig_read() - convert pack filesize variables to off_t for large packs on 32-bit arch (op) - remove sendfd pledge promise from gotd repo_read and repo_write processes - add gotctl(8); initially supported commands are 'info' and 'stop' - respect umask when creating or changing files and directories (op) - fix typo which caused a double-free in gotd repo_write_shutdown() - got-fetch-pack: fix wrong memmove length leading to dubious checksum failures - avoid incomplete writes of pack file data in gotsh and got-send-pack - add a test suite for gotd(8); check basic clone and send functionality - require space between commit author name and email, for Git compatibility - gotwebd: avoid 500 error code if erroring out in plaintext mode (landry) - gotwebd: add respect_exportok flag, defaulting to off (landry) - respect open files resource limit when sizing pack cache; regression from 0.71 - provide a diff of changes in a temp file while editing a commit log message - fix memory and file descriptor leak for raw objects (regression from 0.77) - remove casts which made older gcc versions unhappy - fix free of wrong address on error in gotweb's parse.y