blob: 37609ac7a1ae6cab3ccc9eb21da45579b22c5402 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
|
v5.10.0
- Add a 'fork-repository' command that works with hashed storage (!174)
v5.9.4
- Add relative git object dir envvars to check access request
v5.9.3
- Expose GitLab username to hooks in `GL_USERNAME` environment variable
v5.9.2
- Fix pre-receive error when gitlab doesn't have /internal/pre_receive (!169)
v5.9.1
- Adds --force option to push branches
v5.9.0
- Support new /internal/pre-receive API endpoint for post-receive operations
- Support new /internal/post-receive API endpoint for post-receive operations
- Support `redis` field on /internal/check API endpoint
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
|