repo-specific hooks: fix bug in handling reserved hooks
[gitolite.git] / CHANGELOG
blob9cb5ffbf10862b21c5ecb7d3af1e49c790accb51
1 2019-01-08  v3.6.11 fix security issue in 'rsync' (bundle helper); see commit
2                     5df2b81 for more
4 2018-09-30  v3.6.10 fix up boo-boo caused by previous release; see mails on
5                     list for details
7 2018-08-07  v3.6.9  prevent racy access to repos in process of migration to
8                     gitolite
10                     'info' learns new '-p' option to show only physical repos
11                     (as opposed to wild repos)
13 2018-07-12  v3.6.8  fix bug when deleting *all* hooks for a repo
15                     allow trailing slashes in repo names
17                     make pre-receive hook driver bail on non-zero exit of a
18                     pre-receive hook
20                     allow templates in gitolite.conf (new feature)
22                     various optimiations
24 2017-07-02  v3.6.7  allow repo-specific hooks to be organised into
25                     subdirectories, and allow the multi-hook driver to be
26                     placed in some other location of your choice
28                     allow simple test code to be embedded within the
29                     gitolite.conf file; see contrib/utils/testconf for how.
30                     (This goes on the client side, not on the server)
32                     allow syslog "facility" to be changed, from the default of
33                     'local0'
35                     allow @group names in config values to be expanded; it is
36                     replaced with a space separated list of members
38 2016-09-08  v3.6.6  simple but important fix for a future perl deprecation
39                     (perl will be removing "." from @INC in 5.24)
41                     'perms' now requires a '-c' to activate batch mode
42                     (should not affect interactive use but check your scripts
43                     perhaps?)
45                     gitolite setup now accepts a '-m' option to supply a
46                     custom message (useful when it is used by a script)
48 2016-02-20  v3.6.5  allow creator check to be bypassed during mirroring
50                     handle new style ssh fingerprinting correctly (thanks to
51                     Robin Johnson)
53                     allow pre-auto-gc as a repo-specific hook
55                     optimise mirror pushes for heavily used repos
57                     create-with-reference trigger: on repo creation, setup
58                     objects/info/alternates for a server side alternate object
59                     store.
61                     'mirror status all all' prints a list of repos that have
62                     *some* error, which is arguably more useful for further
63                     action/processing
65                     allow incrementally adding more repo-specific hooks
67 2015-11-01  v3.6.4  a ref-create bug in wild repos was fixed
69                     some contrib code related to AD integration, and to
70                     redmine user aliases
72                     teach Alias.pm a few new tricks
74                     remove a race condition in 'create' command that affected
75                     the 'default roles' setting
77                     make 'who-pushed' more efficient (local push logs, and
78                     'tip search')
80                     'gitolite query-rc' learns '-d' ('--dump') option
82 2015-04-26  v3.6.3  allow limited use of 'git config' using the new 'config'
83                     command
85                     accept openssh 6.8's new fingerprint output format
87                     (finally!) allow limited symlinks within ~/repositories;
88                     see commit 8e36230 for details
90                     perms command now lists available roles
92                     minor backward compat breakage: 'perms -l repo' no longer
93                     works; see 'perms -h' for new usage
95                     allow gitolite-shell to be used as $SHELL (experts only;
96                     no support, no docs; see commit 9cd1e37 for details)
98                     help with 'git push --signed' using a post-receive hook to
99                     adopt push certs into 'refs/push-certs'; for details see
100                     contrib/hooks/repo-specific/save-push-signatures
102                     new 'transparent proxy' feature for git repos; see
103                     src/lib/Gitolite/Triggers/TProxy.pm for details
105 2014-11-10  v3.6.2  disable ../ everywhere (see mailing list thread for
106                     details)
108                     VREF/NAME_NC -- like VREF/NAME but for new commits only.
109                     Details within src/VREF/NAME_NC.
111                     allow gitolite.conf to be tested locally; details within
112                     contrib/utils/gitolite-local
114 2014-06-22  v3.6.1  experimental rc format convertor for "<= 3.3" users who
115                     have already upgraded the *code* to ">= v3.4".  Program is
116                     in contrib/utils.
118                     giving shell access to a few users got a lot easier (see
119                     comments in the rc file).
121                     allow logging to syslog as well (see comments in the rc
122                     file)
124                     new 'motd' command
126                     redis caching redone and now in core; see
127                     http://gitolite.com/gitolite/cache.html
129 2014-05-09  v3.6    (cool stuff) the access command can now help you debug
130                     your rules / understand how a specific access decision was
131                     arrived at.
133                     mirroring: since mirroring is asynchronous (by default
134                     anyway), when a 'git push --mirror' fails, you may not
135                     know it unless you look in the log file on the server.
136                     Now gitolite captures the info and -- if the word 'fatal'
137                     appears anywhere within it, it saves the entire output and
138                     prints it to STDERR for anyone who reads or writes the
139                     repo on the *master* server, until the error condition
140                     clears up.
142                     mirroring: allow 'nosync' slaves -- no attempt to
143                     automatically push to these slaves will be made.  Instead,
144                     you have to manually (or via cron, etc) trigger pushes.
146                     (backward compat breakage) the old v2 syntax for
147                     specifying gitweb owner and description is no longer
148                     supported.
150                     macros now allow strings as arguments (thanks to Jason
151                     Donenfeld for the idea/problem).
153                     the 'info' command can print in JSON format if asked to.
155                     repo-specific hooks: now you can specify more than one,
156                     and gitolite runs all of them in sequence.
158                     new trigger 'expand-deny-messages' to show more details
159                     when access is denied.
161                     git-annex support is finally in master, yaaay!
163                     new 'readme' command, modelled after 'desc'.  Apparently
164                     gitweb can use a README.html file in the *bare* repo
165                     directory -- who knew!
167 2013-10-14  v3.5.3  catch undefined groupnames (when possible)
169                     mirroring: async push to slaves
171                     (some portability fixes)
173                     (a couple of contrib scripts - querying IPA based LDAP
174                     servers for group membership, and user key management)
176                     allow groups in subconf files (this *may* slow down
177                     compilation in extreme cases)
179                     make adding repo-specific hooks easier (see cust.mkd or
180                     cust.html online for docs)
182                     smart http now supports git 1.8.2 and above (which changed
183                     the protocol requirements a wee bit)
185 2013-07-10  v3.5.2  allow ENV vars to be set from repo options, for use in
186                     triggers and hooks
188                     bug-fix: the new set-default-roles feature was being
189                     invoked on every run of "perms" and overriding it!
191 2013-03-24  v3.5    (2 minor backward compat breakages)
192                     1.  'DEFAULT_ROLE_PERMS' replaced by per repo
193                         'default.roles' option
194                     2.  'gitolite list-memberships' now requires a '-r' or a
195                         '-u' flag
197                     new 'gitolite owns' command (thanks to Kevin Pulo)
199 2013-03-05  v3.4    new rc file format makes it much easier to enable specific
200                     features
202 2012-12-29  v3.3    bug fix: gl-perms propagation to slaves broke sometime
203                     after v3.2 (so if you're only picking up tagged releases
204                     you're OK)
206                     the "D" command now allows rm/unlock to be totally
207                     disabled
209                     new trigger: update-gitweb-daemon-from-options; another
210                     way to update gitweb and daemon access lists
212                     new 'create' command for explicit wild repo creation, and
213                     new AutoCreate trigger to control auto-creation
215                     allow simple macros in conf file
217 2012-11-14  v3.2    major efficiency boost for large setups
219                     optional support for multi-line pubkeys; see
220                     src/triggers/post-compile/ssh-authkeys-split
222                     bug fix for not creating gl-conf when repo para has only
223                     config lines and no access rules
225                     new 'bg' trigger command to put long jobs started from a
226                     trigger into background
228                     %GL_REPO and %GL_CREATOR now work for 'option's also
230                     test suite now much more BSD friendly
232 2012-10-05  v3.1    (security) fix path traversal on wild repos
234                     new %GL_CREATOR variable for git-config lines
236                     rsync command to create and send bundles automagically
238                     migrated 'who-pushed'
240                     logical expressions on refexes!!!
242 2012-06-27  v3.04   documentation graduated and moved out of parents house :)
244                     new trigger for 'repo specific umask'
246                     new 'list-dangling-repos' command
248                     new LOCAL_CODE rc var; allow admin specified programs to
249                     override system-installed ones
251                     new 'upstream' trigger-cum-command to maintain local
252                     copies of external repos
254                     new 'sudo' command
256                     minor backward compat breakage in 'gitolite query-rc'
258                     'perms' command can now create repo if needed
260                     migrated 'symbolic-ref' command
262                     'gitolite setup --hooks-only'
264 2012-05-23  v3.03   fix major bug that allowed an admin to get a shell
266 2012-05-20  v3.02   packaging instructions fixed up and smoke tested
268                     make it easier to give some users a full shell
270                     allow aliasing a repo to another name
272                     simulate POST_CREATE for new normal (non-wild) repos
274                     (just for kicks) a VREF that allows for voting on changes
275                     to a branch
277                     bug fix: smart http was not running PRE_ and POST_GIT
278                     triggers
280                     htpasswd migrated
282 2012-04-29  v3.01   mostly BSD and Solaris compat
283                     also fork command added
285 2012-04-18  v3.0    first release to "master"
286                     This is a compete rewrite of gitolite; please see
287                     documentation before upgrading.