v5.8.1 - Support old versions of ruby without monotonic clock v5.8.0 - Fix SSH support for Git for Windows v2.14 v5.7.0 - Support unhiding of all refs via Gitaly v5.6.2 - Bump redis-rb library to 3.3.3 v5.6.1 - Fix setting permissions of SSH key tempfiles - Fix a missing constant error when using SSH authentication v5.6.0 - SSH authentication support v5.5.0 - Support unhiding of all references for Geo nodes v5.4.0 - Update Gitaly vendoring to use new RPC calls instead of old deprecated ones v5.3.1 - Gracefully handle internal API errors when getting merge request URLs v5.3.0 - Add ability to have git-receive-pack and git-upload-pack to go over Gitaly v5.2.1 - Revert changes in v5.2.0 v5.2.0 - Disable RubyGems to increase performance v5.1.1 - Revert "Remove old `project` parameter, use `gl_repository` instead" v5.1.0 - Add `gitlab-keys list-key-ids` subcommand for iterating over key IDs to find keys that should be deleted v5.0.6 - Remove old `project` parameter, use `gl_repository` instead - Use v4 of the GitLab REST API v5.0.5 - Use gl_repository if present when enqueing Sidekiq PostReceive jobs v5.0.4 - Handle GL_REPOSITORY env variable and use it in API calls and Sidekiq enqueuing v5.0.3 - Use recursive lookup for git repositories in the bin/create-hooks script v5.0.2 - Adds timeout option to push branches v5.0.1 - Fetch repositories with `--quiet` option by default v5.0.0 - Remove support for git-annex v4.1.1 - Send (a selection of) git environment variables while making the API call to `/allowed`, !112 v4.1.0 - Add support for global custom hooks and chained hook directories (Elan Ruusamäe, Dirk Hörner), !113, !111, !93, !89, #32 - Clear up text with merge request after new branch push (Lisanne Fellinger) v4.0.3 - Fetch repositories with `--prune` option by default v4.0.2 - Fix gitlab_custom_hook dependencies v4.0.1 - Add instrumentation to push hooks v4.0.0 - Use full repository path for API calls v3.6.6 - Re-use the default logger when logging metrics data v3.6.5 - Test against ruby 2.3 - Instrument GitLab Shell and log metrics data to a file v3.6.4 - Fix rsync with ionice command building - Fix short circuit logic between rsync with and without ionice for storage migrations v3.6.3 - Re-exposing GL_ID to custom hooks v3.6.2 - Enable GIT_TRACE/GIT_TRACE_PACKET/GIT_TRACE_PERFORMANCE by providing the git_trace_log_file config key v3.6.1 - Set a low IO priority for storage moves to lower performance impact v3.6.0 - Added full support for `git-lfs-authenticate` to properly handle LFS requests and pass them on to Workhorse v3.5.0 - Add option to recover 2FA via SSH v3.4.0 - Redis Sentinel support v3.3.3 - Print URL for new or existing merge request after push v3.3.2 - Improve authorized_keys check v3.3.1 - Manage authorized_keys permissions continuously v3.3.0 - Track ongoing push commands - Add command to move repositories between repository storages v3.2.1 - Allow gitlab-project's fork-project command to fork projects between different repository storages v3.2.0 - Allow GitLab Shell to check for allowed access based on the used Git protocol - Add an error message when using shell commands with incompatible GitLab versions v3.1.0 - Refactor repository paths handling to allow multiple git mount points v3.0.1 - Update PostReceive worker to provide enqueued_at time. v3.0.0 - Remove rm-tag command (Robert Schilling) - Remove create-branch and rm-branch commands (Robert Schilling) - Update PostReceive worker so it logs a unique JID in Sidekiq - Remove update-head command - Use Redis Ruby client instead of shelling out to redis-cli v2.7.2 - Do not prune objects during 'git gc' v2.7.1 - Add new command to list tags from a remote repo - Add the ability to fetch remote repo with or without tags v2.7.0 - Add support for ssh AuthorizedKeysCommand query by key v2.6.13 - Add push-branches command - Add delete-remote-branches command v2.6.12 - Fix git-annex issue not working using custom SSH port repositories v2.6.11 - Increase HTTP timeout and log request durations - Workaround for a Webrick issue on Ruby 2.2 - New optional `--force` parameter for `gitlab-projects fetch-remote` v2.6.10 - Add git gc for housekeeping v2.6.9 - Remove trailing slashes from gitlab_url v2.6.8 - Revert git-lfs-authenticate command from white list v2.6.7 - Exit with non-zero status when import-repository fails - Add fetch-remote command v2.6.6 - Do not clean LANG environment variable for the git hooks when working through the SSH-protocol - Add git-lfs-authenticate command to white list (this command is used by git-lfs for SSO authentication through SSH-protocol) - Handle git-annex and gcryptsetup v2.6.5 - Handle broken symlinks in create-hooks v2.6.4 - Remove keys from authorized_keys in-place - Increase batch_add_keys lock timeout to 300 seconds - If git-annex is enabled set GIT_ANNEX_SHELL_LIMITED variable v2.6.3 - Prevent keys with a very specific comment from accidentally being deleted. v2.6.2 - Include ecdsa keys in `gitlab_keys list-keys`. - Refactor logic around GL_ID v2.6.1 - Write errors to stderr to get git to abort and show them as such. v2.6.0 - Prevent character encoding issues by sending received changes as raw data. v2.5.4 - Remove recursive commands from bin/install v2.5.3 - Improve git-annex integration v2.5.2 - Safer line sub for git-annex command v2.5.1 - Expect broadcast message to return empty JSON if no message now v2.5.0 - Support git-annex tool (disabled by default) - Add rubocop (Ruby static code analyzer) for development v2.4.3 - Print broadcast message if one is available v2.4.2 - Pass git changes list as string instead of array v2.4.1 - Access token masking in url before loging v2.4.0 - Show error message when git push is rejected v2.2.0 - Support for custom hooks (Drew Blessing and Jose Kahan) v2.1.0 - Use secret token with GitLab internal API. Requires GitLab 7.5 or higher v2.0.1 - Send post-receive changes to redis as a string instead of array v2.0.0 - Works with GitLab v7.3+ - Replace raise with abort when checking path to prevent path exposure - Handle invalid number of arguments on remote commands - Replace update hook with pre-receive and post-receive hooks. - Symlink the whole hooks directory - Ignore missing repositories in create-hooks - Connect to Redis via sockets by default v1.9.7 - Increased test coverage - By default use direct unicorn connection (localhost:8080) - Fix wrong repo path send to GitLab by GitlabUpdate hook v1.9.6 - Explicitly require 'timeout' from the standard library v1.9.5 - Put authorized_keys.lock in the same directory as authorized_keys - Use lock file when add new entries to authorized_keys v1.9.4 - Use lock file when modify authorized_keys v1.9.3 - Ignore force push detection for new branch or branch remove push v1.9.2 - Add support for force push detection v1.9.1 - Update hook sends branch and tag name v1.9.0 - Call api in update hook for both ssdh and http push. Requires GitLab 6.7+ - Pass oldrev and newrev to api.allowed? v1.8.5 - Add `gitlab-keys batch-add-keys` subcommand for authorized_keys rebuilds v1.8.4 - Dont do import if repository exists v1.8.3 - Add timeout option for repository import v1.8.2 - Fix broken 1.8.1 v1.8.1 - Restrict Environment Variables - Add bin/create-hooks command - More safe shell execution v1.8.0 - Fix return values in GitlabKeys v1.7.9 - Fix escape of repository path for custom ssh port v1.7.8 - Escape repository path to prevent relative links (CVE-2013-4583) v1.7.7 - Separate options from arguments with -- (CVE-2013-4582) - Bypass shell and use stdlib JSON for GitlabUpdate (CVE-2013-4581) v1.7.6 - Fix gitlab-projects update-head for improted repo when branch exists but not listed in refs/head v1.7.5 - Remove keys from authorized_keys using ruby instead of shell v1.7.4 - More protection against shell injection (CVE-2013-4546) v1.7.3 - Use Kernel#open to append lines to authorized_keys (CVE-2013-4490) v1.7.2 - More safe command execution v1.7.1 - Fixed issue when developers are able to push to protected branches that contain a '/' in the branch name. v1.7.0 - Clean authorized_keys file with `gitlab-keys clear` v1.6.0 - Create branch/tag functionality - Remove branch/tag functionality v1.5.0 - Logger - Ability to specify ca_file/ca_path - Update-head command for project - Better regexp for key_id inside shell v1.4.0 - Regex used in rm-key command was too lax v1.3.0 - Fork-project command - Custom redis configuration - Interpret login with deploy key as anonymous one v1.2.0 - Return non-zero result if gitlab-projects and gitlab-keys execution was not successful - http_settings configuration option added v1.1.0 - added mv-project feature - increased test coverage v1.0.4 - requires gitlab c9ca15e - don't use post-receive file any more. Make all updates in update - fixed issue with invalid GL_USER - use GL_ID instead of GL_USER