# Gitaly changelog v0.43.0 - Pass details of Gitaly-Ruby's Ruby exceptions back to callers in the request trailers https://gitlab.com/gitlab-org/gitaly/merge_requests/358 - Allow individual endpoints to be rate-limited per-repository https://gitlab.com/gitlab-org/gitaly/merge_requests/376 - Implement OperationService.UserDeleteBranch RPC https://gitlab.com/gitlab-org/gitaly/merge_requests/377 - Fix path bug in CommitService::FindCommits https://gitlab.com/gitlab-org/gitaly/merge_requests/364 - Fail harder during startup, fix version string https://gitlab.com/gitlab-org/gitaly/merge_requests/379 - Implement RepositoryService.GetArchive RPC https://gitlab.com/gitlab-org/gitaly/merge_requests/370 - Add `gitaly-ssh` command https://gitlab.com/gitlab-org/gitaly/merge_requests/368 v0.42.0 - Implement UserCreateTag RPC https://gitlab.com/gitlab-org/gitaly/merge_requests/374 - Return pre-receive errors in UserDeleteTag response https://gitlab.com/gitlab-org/gitaly/merge_requests/378 - Check if we don't overwrite a namespace moved to gitaly https://gitlab.com/gitlab-org/gitaly/merge_requests/375 v0.41.0 - Wait for monitor goroutine to return during supervisor shutdown https://gitlab.com/gitlab-org/gitaly/merge_requests/341 - Use grpc 1.6.0 and update all the things https://gitlab.com/gitlab-org/gitaly/merge_requests/354 - Update vendored gitlab_git to 4c6c105909ea610eac7 https://gitlab.com/gitlab-org/gitaly/merge_requests/360 - Implement UserDeleteTag RPC https://gitlab.com/gitlab-org/gitaly/merge_requests/366 - Implement RepositoryService::CreateRepository https://gitlab.com/gitlab-org/gitaly/merge_requests/361 - Fix path bug for gitlab-shell. gitlab-shell path is now required https://gitlab.com/gitlab-org/gitaly/merge_requests/365 - Remove support for legacy services not ending in 'Service' https://gitlab.com/gitlab-org/gitaly/merge_requests/363 - Implement RepositoryService.UserCreateBranch https://gitlab.com/gitlab-org/gitaly/merge_requests/344 - Make gitaly-ruby config mandatory https://gitlab.com/gitlab-org/gitaly/merge_requests/373 v0.40.0 - Use context cancellation instead of command.Close https://gitlab.com/gitlab-org/gitaly/merge_requests/332 - Fix LastCommitForPath handling of tree root https://gitlab.com/gitlab-org/gitaly/merge_requests/350 - Don't use 'bundle show' to find Linguist https://gitlab.com/gitlab-org/gitaly/merge_requests/339 - Fix diff parsing when the last 10 bytes of a stream contain newlines https://gitlab.com/gitlab-org/gitaly/merge_requests/348 - Consume diff binary notice as a patch https://gitlab.com/gitlab-org/gitaly/merge_requests/349 - Handle git dates larger than golang's and protobuf's limits https://gitlab.com/gitlab-org/gitaly/merge_requests/353 v0.39.0 - Reimplement FindAllTags RPC in Ruby https://gitlab.com/gitlab-org/gitaly/merge_requests/334 - Re-use gitaly-ruby client connection https://gitlab.com/gitlab-org/gitaly/merge_requests/330 - Fix encoding-bug in GitalyServer#gitaly_commit_from_rugged https://gitlab.com/gitlab-org/gitaly/merge_requests/337 v0.38.0 - Update vendor/gitlab_git to b58c4f436abaf646703bdd80f266fa4c0bab2dd2 https://gitlab.com/gitlab-org/gitaly/merge_requests/324 - Add missing cmd.Close in log.GetCommit https://gitlab.com/gitlab-org/gitaly/merge_requests/326 - Populate `flat_path` field of `TreeEntry`s https://gitlab.com/gitlab-org/gitaly/merge_requests/328 v0.37.0 - Implement FindBranch RPC https://gitlab.com/gitlab-org/gitaly/merge_requests/315 v0.36.0 - Terminate commands when their context cancels https://gitlab.com/gitlab-org/gitaly/merge_requests/318 - Implement {Create,Delete}Branch RPCs https://gitlab.com/gitlab-org/gitaly/merge_requests/311 - Use git-linguist to implement CommitLanguages https://gitlab.com/gitlab-org/gitaly/merge_requests/316 v0.35.0 - Implement CommitService.CommitStats https://gitlab.com/gitlab-org/gitaly/merge_requests/312 - Use bufio.Reader instead of bufio.Scanner for lines.Send https://gitlab.com/gitlab-org/gitaly/merge_requests/303 - Restore support for custom environment variables https://gitlab.com/gitlab-org/gitaly/merge_requests/319 v0.34.0 - Export environment variables for git debugging https://gitlab.com/gitlab-org/gitaly/merge_requests/306 - Fix bugs in RepositoryService.FetchRemote https://gitlab.com/gitlab-org/gitaly/merge_requests/300 - Respawn gitaly-ruby when it crashes https://gitlab.com/gitlab-org/gitaly/merge_requests/293 - Use a fixed order when auto-loading Ruby files https://gitlab.com/gitlab-org/gitaly/merge_requests/302 - Add signal handler for ruby socket cleanup on shutdown https://gitlab.com/gitlab-org/gitaly/merge_requests/304 - Use grpc 1.4.5 in gitaly-ruby https://gitlab.com/gitlab-org/gitaly/merge_requests/308 - Monitor gitaly-ruby RSS via Prometheus https://gitlab.com/gitlab-org/gitaly/merge_requests/310 v0.33.0 - Implement DiffService.CommitPatch RPC https://gitlab.com/gitlab-org/gitaly/merge_requests/279 - Use 'bundle config' for gitaly-ruby in source production installations https://gitlab.com/gitlab-org/gitaly/merge_requests/298 v0.32.0 - RefService::RefExists endpoint https://gitlab.com/gitlab-org/gitaly/merge_requests/275 v0.31.0 - Implement CommitService.FindCommits https://gitlab.com/gitlab-org/gitaly/merge_requests/266 - Log spawned process metrics https://gitlab.com/gitlab-org/gitaly/merge_requests/284 - Implement RepositoryService.ApplyGitattributes RPC https://gitlab.com/gitlab-org/gitaly/merge_requests/278 - Implement RepositoryService.FetchRemote RPC https://gitlab.com/gitlab-org/gitaly/merge_requests/276 v0.30.0 - Add a middleware for handling Git object dir attributes https://gitlab.com/gitlab-org/gitaly/merge_requests/273 v0.29.0 - Use BUNDLE_PATH instead of --path for gitaly-ruby https://gitlab.com/gitlab-org/gitaly/merge_requests/271 - Add GitLab-Shell Path to config https://gitlab.com/gitlab-org/gitaly/merge_requests/267 - Don't count on PID 1 to be the reaper https://gitlab.com/gitlab-org/gitaly/merge_requests/270 - Log top level project group for easier analysis https://gitlab.com/gitlab-org/gitaly/merge_requests/272 v0.28.0 - Increase gitaly-ruby connection timeout to 20s https://gitlab.com/gitlab-org/gitaly/merge_requests/265 - Implement RepositorySize RPC https://gitlab.com/gitlab-org/gitaly/merge_requests/262 - Implement CommitsByMessage RPC https://gitlab.com/gitlab-org/gitaly/merge_requests/263 v0.27.0 - Support `git -c` options in SSH upload-pack https://gitlab.com/gitlab-org/gitaly/merge_requests/242 - Add storage dir existence check to repo lookup https://gitlab.com/gitlab-org/gitaly/merge_requests/259 - Implement RawBlame RPC https://gitlab.com/gitlab-org/gitaly/merge_requests/257 - Implement LastCommitForPath RPC https://gitlab.com/gitlab-org/gitaly/merge_requests/260 - Deprecate Exists RPC in favor of RepositoryExists https://gitlab.com/gitlab-org/gitaly/merge_requests/260 - Install gems into vendor/bundle https://gitlab.com/gitlab-org/gitaly/merge_requests/264 v0.26.0 - Implement CommitService.CommitLanguages, add gitaly-ruby https://gitlab.com/gitlab-org/gitaly/merge_requests/210 - Extend CountCommits RPC to support before/after/path arguments https://gitlab.com/gitlab-org/gitaly/merge_requests/252 - Fix a bug in FindAllTags parsing lightweight tags https://gitlab.com/gitlab-org/gitaly/merge_requests/256 v0.25.0 - Implement FindAllTags RPC https://gitlab.com/gitlab-org/gitaly/merge_requests/246 v0.24.1 - Return an empty array on field `ParentIds` of `GitCommit`s if it has none https://gitlab.com/gitlab-org/gitaly/merge_requests/237 v0.24.0 - Consume stdout during repack/gc https://gitlab.com/gitlab-org/gitaly/merge_requests/249 - Implement RefService.FindAllBranches RPC https://gitlab.com/gitlab-org/gitaly/merge_requests/239 v0.23.0 - Version without Build Time https://gitlab.com/gitlab-org/gitaly/merge_requests/231 - Implement CommitService.ListFiles https://gitlab.com/gitlab-org/gitaly/merge_requests/205 - Change the build process from copying to using symlinks https://gitlab.com/gitlab-org/gitaly/merge_requests/230 - Implement CommitService.FindCommit https://gitlab.com/gitlab-org/gitaly/merge_requests/217 - Register RepositoryService https://gitlab.com/gitlab-org/gitaly/merge_requests/233 - Correctly handle a non-tree path on CommitService.TreeEntries https://gitlab.com/gitlab-org/gitaly/merge_requests/234 v0.22.0 - Various build file improvements https://gitlab.com/gitlab-org/gitaly/merge_requests/229 - Implement FindAllCommits RPC https://gitlab.com/gitlab-org/gitaly/merge_requests/226 - Send full repository path instead of filename on field `path` of TreeEntry https://gitlab.com/gitlab-org/gitaly/merge_requests/232 v0.21.2 - Config: do not start Gitaly without at least one storage https://gitlab.com/gitlab-org/gitaly/merge_requests/227 - Implement CommitService.GarbageCollect/Repack{Incremental,Full} https://gitlab.com/gitlab-org/gitaly/merge_requests/218 v0.21.1 - Make sure stdout.Read has enough bytes buffered to read from https://gitlab.com/gitlab-org/gitaly/merge_requests/224 v0.21.0 - Send an empty response for TreeEntry instead of nil https://gitlab.com/gitlab-org/gitaly/merge_requests/223 v0.20.0 - Implement commit diff limiting logic https://gitlab.com/gitlab-org/gitaly/merge_requests/211 - Increase message size to 5 KB for Diff service https://gitlab.com/gitlab-org/gitaly/merge_requests/221 v0.19.0 - Send parent ids and raw body on CommitService.CommitsBetween https://gitlab.com/gitlab-org/gitaly/merge_requests/216 - Streamio chunk size optimizations https://gitlab.com/gitlab-org/gitaly/merge_requests/206 - Implement CommitService.GetTreeEntries https://gitlab.com/gitlab-org/gitaly/merge_requests/208 v0.18.0 - Add config to specify a git binary path https://gitlab.com/gitlab-org/gitaly/merge_requests/177 - CommitService.CommitsBetween fixes: Invert commits order, populates commit message bodies, reject suspicious revisions https://gitlab.com/gitlab-org/gitaly/merge_requests/204 v0.17.0 - Rename auth 'unenforced' to 'transitioning' https://gitlab.com/gitlab-org/gitaly/merge_requests/209 - Also check for "refs" folder for repo existence https://gitlab.com/gitlab-org/gitaly/merge_requests/207 v0.16.0 - Implement BlobService.GetBlob https://gitlab.com/gitlab-org/gitaly/merge_requests/202 v0.15.0 - Ensure that sub-processes inherit TZ environment variable https://gitlab.com/gitlab-org/gitaly/merge_requests/201 - Implement CommitService::CommitsBetween https://gitlab.com/gitlab-org/gitaly/merge_requests/197 - Implement CountCommits RPC https://gitlab.com/gitlab-org/gitaly/merge_requests/203 v0.14.0 - Added integration test for SSH, and a client package https://gitlab.com/gitlab-org/gitaly/merge_requests/178/ - Override gRPC code to Canceled/DeadlineExceeded on requests with canceled contexts https://gitlab.com/gitlab-org/gitaly/merge_requests/199 - Add RepositoryExists Implementation https://gitlab.com/gitlab-org/gitaly/merge_requests/200 v0.13.0 - Added usage and version flags to the command line interface https://gitlab.com/gitlab-org/gitaly/merge_requests/193 - Optional token authentication https://gitlab.com/gitlab-org/gitaly/merge_requests/191 v0.12.0 - Stop using deprecated field `path` in Repository messages https://gitlab.com/gitlab-org/gitaly/merge_requests/179 - Implement TreeEntry RPC https://gitlab.com/gitlab-org/gitaly/merge_requests/187 v0.11.2 Skipping 0.11.1 intentionally, we messed up the tag. - Add context to structured logging messages https://gitlab.com/gitlab-org/gitaly/merge_requests/184 - Fix incorrect dependency in Makefile https://gitlab.com/gitlab-org/gitaly/merge_requests/189 v0.11.0 - FindDefaultBranchName: decorate error https://gitlab.com/gitlab-org/gitaly/merge_requests/148 - Hide chatty logs behind GITALY_DEBUG=1. Log access times. https://gitlab.com/gitlab-org/gitaly/merge_requests/149 - Count accepted gRPC connections https://gitlab.com/gitlab-org/gitaly/merge_requests/151 - Disallow directory traversal in repository paths for security https://gitlab.com/gitlab-org/gitaly/merge_requests/152 - FindDefaultBranchName: Handle repos with non-existing HEAD https://gitlab.com/gitlab-org/gitaly/merge_requests/164 - Add support for structured logging via logrus https://gitlab.com/gitlab-org/gitaly/merge_requests/163 - Add support for exposing the Gitaly build information via Prometheus https://gitlab.com/gitlab-org/gitaly/merge_requests/168 - Set GL_PROTOCOL during SmartHTTP.PostReceivePack https://gitlab.com/gitlab-org/gitaly/merge_requests/169 - Handle server side errors from shallow clone https://gitlab.com/gitlab-org/gitaly/merge_requests/173 - Ensure that grpc server log messages are sent to logrus https://gitlab.com/gitlab-org/gitaly/merge_requests/174 - Add support for GRPC Latency Histograms in Prometheus https://gitlab.com/gitlab-org/gitaly/merge_requests/172 - Add support for Sentry exception reporting https://gitlab.com/gitlab-org/gitaly/merge_requests/171 - CommitDiff: Send chunks of patches over messages https://gitlab.com/gitlab-org/gitaly/merge_requests/170 - Upgrade gRPC and its dependencies https://gitlab.com/gitlab-org/gitaly/merge_requests/180 v0.10.0 - CommitDiff: Parse a typechange diff correctly https://gitlab.com/gitlab-org/gitaly/merge_requests/136 - CommitDiff: Implement CommitDelta RPC https://gitlab.com/gitlab-org/gitaly/merge_requests/139 - PostReceivePack: Set GL_REPOSITORY env variable when provided in request https://gitlab.com/gitlab-org/gitaly/merge_requests/137 - Add SSHUpload/ReceivePack Implementation https://gitlab.com/gitlab-org/gitaly/merge_requests/132 v0.9.0 - Add support ignoring whitespace diffs in CommitDiff https://gitlab.com/gitlab-org/gitaly/merge_requests/126 - Add support for path filtering in CommitDiff https://gitlab.com/gitlab-org/gitaly/merge_requests/126 v0.8.0 - Don't error on invalid ref in CommitIsAncestor https://gitlab.com/gitlab-org/gitaly/merge_requests/129 - Don't error on invalid commit in FindRefName https://gitlab.com/gitlab-org/gitaly/merge_requests/122 - Return 'Not Found' gRPC code when repository is not found https://gitlab.com/gitlab-org/gitaly/merge_requests/120 v0.7.0 - Use storage configuration data from config.toml, if possible, when resolving repository paths. https://gitlab.com/gitlab-org/gitaly/merge_requests/119 - Add CHANGELOG.md