James Moger
2012-07-14 8b7d3017cb094d3181235df2802f614ec339ef8d
commit | author | age
85c2e6 1 ## Release History
JM 2
3 ### Current Release
8051a2 4
b774de 5 **%VERSION%** ([go](http://code.google.com/p/gitblit/downloads/detail?name=%GO%) | [war](http://code.google.com/p/gitblit/downloads/detail?name=%WAR%) | [express](http://code.google.com/p/gitblit/downloads/detail?name=%EXPRESS%) | [fedclient](http://code.google.com/p/gitblit/downloads/detail?name=%FEDCLIENT%) | [manager](http://code.google.com/p/gitblit/downloads/detail?name=%MANAGER%) | [api](http://code.google.com/p/gitblit/downloads/detail?name=%API%)) based on [%JGIT%][jgit]   *released %BUILDDATE%*
5c2841 6
8b7d30 7 <div class="alert alert-info">
JM 8 <h4>Update Note</h4>
9 If you are updating from an 0.9.x release AND you have indexed branches with the Lucene indexing feature, you need to be aware that this release will completely re-index your repositories.  Please be sure to provide ample heap resources as appropriate for your installation.  See details below. 
10 </div>
11
380afa 12 #### fixes
JM 13
8b7d30 14 - Fixed bug in Lucene search where old/stale blobs were never properly deleted during incremental updates.  This resulted in duplicate blob entries in the index.
2b67ec 15 - Fixed intermittent bug in identifying line numbers in Lucene search (issue 105)
8b7d30 16 - Adjust repository identification algorithm to handle the scenario where a repository name collides with a group/folder name (e.g. foo.git and foo/bar.git) (issue 104)
JM 17 - Fixed bug where a repository set as *authenticated push* did not have anonymous clone access (issue 96)
380afa 18 - Fixed bug in Basic authentication if passwords had a colon (Github/peterloron)
e09d4b 19 - Fixed bug where the Gitblit Manager could not update a setting that was not referenced in reference.properties (issue 85)
380afa 20
6e15cb 21 #### changes
JM 22
53d7f4 23 - **Updated Lucene index version which will force a rebuild of ALL your Lucene indexes**  
JM 24 Make sure to properly set *web.blobEncodings* before starting Gitblit if you are updating!  (issue 97)
8b7d30 25 - Changed default layout for web ui from Fixed-Width layout to Responsive layout (issue 101)  
e4547f 26 - IUserService interface has changed to better accomodate custom authentication and/or custom authorization  
JM 27     The default `users.conf` now supports persisting display names and email addresses. 
7628dc 28 - Updated Japanese translation (Github/zakki)
6e15cb 29
JM 30 #### additions
31
e09d4b 32 - Added setting to allow specification of a robots.txt file (issue 99)  
e4547f 33     **New:** *web.robots.txt =*  
8b7d30 34 - Added setting to control Responsive layout or Fixed-Width layout (issue 101)  
JM 35     Responsive layout is now the default.  This layout gracefully scales the web ui from a desktop layout to a mobile layout by hiding page components.  It is easy to try, just resize your browser or point your Android/iOS device to the url of your Gitblit install.  
62cec2 36     **New:** *web.useResponsiveLayout = true*  
ae9e15 37 - Added setting to control charsets for blob string decoding.  Default encodings are UTF-8, ISO-8859-1, and server's default charset. (issue 97)  
JM 38     **New:** *web.blobEncodings = UTF-8 ISO-8859-1*  
478678 39 - Exposed JGit's internal configuration settings in gitblit.properties/web.xml (issue 93)  
8b7d30 40     Review your `gitblit.properties` or `web.xml` for detailed explanations of these settings.  
478678 41     **New:** *git.packedGitWindowSize = 8k*  
JM 42     **New:** *git.packedGitLimit = 10m*  
43     **New:** *git.deltaBaseCacheLimit = 10m*  
44     **New:** *git.packedGitOpenFiles = 128*  
45     **New:** *git.streamFileThreshold = 50m*  
46     **New:** *git.packedGitMmap = false*  
94dcbd 47 - Added default access restriction.  Applies to new repositories and repositories that have not been configured with Gitblit. (issue 88)  
JM 48     **New:** *git.defaultAccessRestriction = NONE*  
8b7d30 49 - Added Ivy 2.2.0 dependency which enables Groovy Grapes, a mechanism to resolve and retrieve library dependencies from a Maven 2 repository within a Groovy push hook script 
JM 50 - Added setting to control Groovy Grape root folder (location where resolved dependencies are stored)   
e4547f 51     [Grape](http://groovy.codehaus.org/Grape) allows you to add Maven dependencies to your pre-/post-receive hook script classpath.  
67d4f8 52     **New:** *groovy.grapeFolder = groovy/grape*  
6e15cb 53 - Added LDAP User Service with many new *realm.ldap* keys (Github/jcrygier)
8b7d30 54 - Added support for custom repository properties for Groovy hooks (Github/jcrygier)  
JM 55     Custom repository properties complement hook scripts by providing text field prompts in the web ui and the Gitblit Manager for the defined properties.  This allows your push hooks to be parameterized.
8dbee6 56 - Added script to facilitate proxy environment setup on Linux (Github/mragab)
e2efe1 57 - Added Polish translation (Lukasz Jader)
8dbee6 58 - Added Spanish translation (Eduardo Guervos Narvaez)
6e15cb 59
62cec2 60 #### dependency changes
JM 61
62 - updated to Bootstrap 2.0.4
e4547f 63 - updated to JGit 2.0.0.201206130900-r
JM 64 - updated to Groovy 1.8.6
65 - updated to Gson 1.7.2
66 - updated to Log4J 1.2.17
67 - updated to SLF4J 1.6.6
bd196e 68 - updated to Apache Commons Daemon 1.0.10
e4547f 69 - added Ivy 2.2.0
JM 70
71 <hr/>
72
73 ### Older Releases
62cec2 74
6e15cb 75 **0.9.3** *released 2012-04-11*
JM 76
a21fc5 77 #### fixes
JM 78
79 - Fixed bug where you could not remove all selections from a RepositoryModel list (permitted users, permitted teams, hook scripts, federation sets, etc) (issue 81)
eb7609 80 - Automatically set *java.awt.headless=true* for Gitblit GO
e4547f 81
JM 82 <hr/>
a21fc5 83
d58f8e 84 **0.9.2** *released 2012-04-04*
JM 85
bc5b7b 86 #### changes
JM 87
88 - Added *clientLogger* bound variable to Groovy hook mechanism to allow custom info and error messages to be returned to the client (Github/jcrygier)
89
6ef2fc 90 #### fixes
JM 91
1aa6e0 92 - Fixed absolute path/canonical path discrepancy between Gitblit and JGit regarding use of symlinks (issue 78)
ed3a0e 93 - Fixed row layout on activity page (issue 79)
JM 94 - Fixed Centos service script (Github/mohamedmansour)
227b24 95 - Fixed EditRepositoryPage for IE8; missing save button (issue 80, Github/jonnybbb)
1aa6e0 96
e4547f 97 <hr/>
JM 98
1aa6e0 99 **0.9.1** *released 2012-03-27*
JM 100
101 #### fixes
102
6ef2fc 103 - Lucene folder was stored in working copy instead of in .git folder
e4547f 104
JM 105 <hr/>
6ef2fc 106
JM 107 **0.9.0** *released 2012-03-27*
108
e78838 109 #### security
JM 110
111 - Fixed session fixation vulnerability where the session identifier was not reset during the login process (issue 62)
112
a4ed6d 113 #### changes
JM 114
ff3f0e 115 - Reject pushes to a repository with a working copy (i.e. non-bare repository) (issue-49)
6c6e7d 116 - Changed default web.datetimestampLongFormat from *EEEE, MMMM d, yyyy h:mm a z* to *EEEE, MMMM d, yyyy HH:mm Z* (issue 50)
JM 117 - Expanded commit age coloring from 2 days to 30 days (issue 57)
a4ed6d 118
c125cd 119 #### additions
JM 120
ff3f0e 121 - Added optional Lucene branch indexing (issue 16)  
7db092 122     **New:** *web.allowLuceneIndexing = true*  
f1d2ad 123     **New:** *web.luceneIgnoreExtensions = 7z arc arj bin bmp dll doc docx exe gif gz jar jpg lib lzh odg odf odt pdf ppt png so swf xcf xls xlsx zip*  
JM 124 Repository branches may be optionally indexed by Lucene for improved searching.  To use this feature you must specify which branches to index within the *Edit Repository* page; _no repositories are automatically indexed_.  Gitblit will build or incrementally update enrolled repositories on a 2 minute cycle. (i.e you will have to wait 2-3 minutes after respecifying indexed branches or pushing new commits before Gitblit will build/update the repository's Lucene index.)  
125 If a repository has Lucene-indexed branches the *search* form on the repository pages will redirect to the root-level Lucene search page and only the content of those branches can be searched.  
0273b2 126 If the repository does not specify any indexed branches then repository commit-traversal search is used.    
JM 127 **Note:** Initial indexing of an existing repository can be memory-exhaustive. Be sure to provide your Gitblit server adequate heap space to index your repositories (e.g. -Xmx1024M).  
128 See the [setup](setup.html) page for additional details.
6c6e7d 129 - Allow specifying timezone to use for Gitblit which is independent of both the JVM and the system timezone (issue 54)  
JM 130     **New:** *web.timezone =*  
4b9d64 131 - Added a built-in AJP connector for integrating Gitblit GO into an Apache mod_proxy setup (issue 59)  
3cc6e2 132     **New:** *server.ajpPort = 0*  
4b9d64 133     **New:** *server.ajpBindInterface = localhost*
1c2215 134 - On the Repositories page show a bang *!* character in the color swatch of a repository with a working copy (issue 49)  
JM 135 Push requests to these repositories will be rejected.
ccab3a 136 - On all non-bare Repository pages show *WORKING COPY* in the upper right corner (issue 49)
b86562 137 - New setting to prevent display/serving non-bare repositories  
JM 138     **New:** *git.onlyAccessBareRepositories = false*
58a1e4 139 - Added *protect-refs.groovy* (Github/plm) 
JM 140 - Allow setting default branch (relinking HEAD) to a branch or a tag (Github/plm)
3da5a5 141 - Added Ubuntu service init script (issue 72)
6caa93 142 - Added partial Japanese translation (Github/zakki)
c125cd 143
ae0b13 144 #### fixes 
c125cd 145
86bea9 146 - Ensure that Welcome message is parsed using UTF-8 encoding (issue 74) 
58a1e4 147 - Activity page chart layout broken by Google (issue 73)
6fa6ab 148 - Uppercase repositories not selectable in edit palettes (issue 71)
9357e9 149 - Not all git notes were properly displayed on the commit page (issue 70)
9d921f 150 - Activity page now displays all local branches (issue 65)
4fea45 151 - Fixed (harmless) nullpointer on pushing to an empty repository (issue 69)
18d398 152 - Fixed possible nullpointer from the servlet container on startup (issue 67)
JM 153 - Fixed UTF-8 encoding bug on diff page (issue 66)
9d921f 154 - Fixed timezone bugs on the activity page (issue 54)
2afc31 155 - Prevent add/edit team with no selected repositories (issue 56) 
d3ca1c 156 - Disallow browser autocomplete on add/edit user/team/repository pages
ae0b13 157 - Fixed username case-sensitivity issues (issue 43)
c125cd 158 - Disregard searching a subfolder if Gitblit does not have filesystem permissions (Github/lemval issue 51)
ae0b13 159
3cc6e2 160 #### dependency changes
JM 161
e28b2f 162 - updated to Bootstrap 2.0.2
JM 163 - added GLYPHICONS (as bundled with Bootstrap 2.0.2)
388872 164 - updated to MarkdownPapers 1.2.7
741adb 165 - updated to JGit 1.3.0.201202151440-r
4e0ee2 166 - updated to Wicket 1.4.20
3cc6e2 167
JM 168 <hr/>
169
ae0b13 170 **0.8.2** ([go](http://code.google.com/p/gitblit/downloads/detail?name=gitblit-0.8.2.zip) | [war](http://code.google.com/p/gitblit/downloads/detail?name=gitblit-0.8.2.war) | [express](http://code.google.com/p/gitblit/downloads/detail?name=express-0.8.2.zip) | [fedclient](http://code.google.com/p/gitblit/downloads/detail?name=fedclient-0.8.2.zip) | [manager](http://code.google.com/p/gitblit/downloads/detail?name=manager-0.8.2.zip) | [api](http://code.google.com/p/gitblit/downloads/detail?name=gbapi-0.8.2.zip)) based on [JGit 1.2.0 (201112221803-r)][jgit] &nbsp; *released 2012-01-13*
JM 171
04627e 172 #### fixes
JM 173
8051a2 174 - Fixed bug when upgrading from users.properties to users.conf (issue 41)
3cc6e2 175
JM 176 <hr/>
8051a2 177
6ef2fc 178 **0.8.1** &nbsp; *released 2012-01-11*
8051a2 179
JM 180 #### fixes
181
04627e 182 - Include missing icon resource for the manager (issue 40)
942939 183 - Fixed sendmail.groovy message content with incorrect tag/branch labels
3cc6e2 184
JM 185 <hr/>
04627e 186
6ef2fc 187 **0.8.0** &nbsp; *released 2012-01-11*
04627e 188
e927f4 189 #### additions
JM 190
191 - Platform-independent, Groovy push hook script mechanism.  
192 Hook scripts can be set per-repository, per-team, or globally for all repositories.  
fa54be 193     **New:** *groovy.scriptsFolder = groovy*  
JM 194     **New:** *groovy.preReceiveScripts =*  
195     **New:** *groovy.postReceiveScripts =*
e927f4 196 - *sendmail.groovy* for optional email notifications on push.  
JM 197 You must properly configure your SMTP server settings in `gitblit.properties` or `web.xml` to use *sendmail.groovy*.
444101 198 - New global key for mailing lists.  This is used in conjunction with the *sendmail.groovy* hook script.  All repositories that use the *sendmail.groovy* script will include these addresses in the notification process.  Please see the Setup page for more details about configuring sendmail.  
fa54be 199     **New:** *mail.mailingLists =*
e927f4 200 - *com.gitblit.GitblitUserService*.  This is a wrapper object for the built-in user service implementations.  For those wanting to only implement custom authentication it is recommended to subclass GitblitUserService and override the appropriate methods.  Going forward, this will help insulate custom authentication from new IUserService API and/or changes in model classes.
JM 201 - New default user service implementation: *com.gitblit.ConfigUserService* (`users.conf`)  
202 This user service implementation allows for serialization and deserialization of more sophisticated Gitblit User objects without requiring the encoding trickery now present in FileUserService (users.properties).  This will open the door for more advanced Gitblit features.  
203 For those upgrading from an earlier Gitblit version, a `users.conf` file will automatically be created for you from your existing `users.properties` file on your first launch of Gitblit <u>however</u> you will have to manually set *realm.userService=users.conf* to switch to the new user service.  
eb96ea 204 The original `users.properties` file and it's corresponding implementation are **deprecated**.  
93f472 205     **New:** *realm.userService = users.conf*
e927f4 206 - Teams for specifying user-repository access in bulk.  Teams may also specify mailing lists addresses and pre- & post- receive hook scripts.
JM 207 - Gravatar integration  
9dcd53 208     **New:** *web.allowGravatar = true*   
e927f4 209 - Activity page for aggregated repository activity.  This is a timeline of commit activity over the last N days for one or more repositories.  
6e6f9f 210    **New:** *web.activityDuration = 14*  
JM 211    **New:** *web.timeFormat = HH:mm*  
212    **New:** *web.datestampLongFormat = EEEE, MMMM d, yyyy*  
e927f4 213 - *Filters* menu for the Repositories page and Activity page.  You can filter by federation set, team, and simple custom regular expressions.  Custom expressions can be stored in `gitblit.properties` or `web.xml` or directly defined in your url (issue 27)  
31bcbe 214    **New:** *web.customFilters=*
e927f4 215 - Flash-based 1-step *copy to clipboard* of the primary repository url based on Clippy  
cb57ec 216    **New:** *web.allowFlashCopyToClipboard = true*
e927f4 217 - JavaScript-based 3-step (click, ctrl+c, enter) *copy to clipboard* of the primary repository url in the event that you do not want to use Flash on your installation
JM 218 - Empty repositories now link to an *empty repository* page which gives some direction to the user for the next step in using Gitblit.  This page displays the primary push/clone url of the repository and gives sample syntax for the git command-line client. (issue 31)
444101 219 - Repositories with a *gh-pages* branch will now have a *pages* link which will serve the content of this branch.  All resource requests are against the repository, Gitblit does not checkout/export this branch to a temporary filesystem.  Jekyll templating is not supported.
3cc6e2 220 - Gitblit Express bundle to get started running Gitblit on RedHat's OpenShift cloud <span class="label label-warning">BETA</span>
e927f4 221
JM 222 #### changes
223
224 - Dropped display of trailing .git from repository names
225 - Gitblit GO is now monolithic like the WAR build. (issue 30)  
226 This change helps adoption of GO in environments without an internet connection or with a restricted connection.
227 - Unit testing framework has been migrated to JUnit4 syntax and the test suite has been redesigned to run all unit tests, including rpc, federation, and git push/clone tests
228
229 #### fixes
230
231 - Several a bugs in FileUserService related to cleaning up old repository permissions on a rename or delete
232 - Renaming a repository into a new subfolder failed (issue 33)
233
234 #### dependency changes
235
236 - updated to JGit 1.2.0
c7bcdc 237 - added Groovy 1.8.5 
e927f4 238 - added Clippy (bundled)
9dcd53 239
3cc6e2 240 <hr/>
9dcd53 241
6ef2fc 242 **0.7.0** &nbsp; *released 2011-11-11*
9dcd53 243
d40adc 244 - **security**: fixed security hole when cloning clone-restricted repository with TortoiseGit (issue 28)
3b5289 245 - improved: updated ui with Twitter's Bootstrap CSS toolkit  
JM 246     **New:** *web.loginMessage = gitblit*
4d44cf 247 - improved: repositories list performance by caching repository sizes (issue 27)
JM 248 - improved: summary page performance by caching metric calculations (issue 25)
d4c908 249 - added: authenticated JSON RPC mechanism   
JM 250     **New:** *web.enableRpcServlet = true*  
4c835e 251     **New:** *web.enableRpcManagement = false*  
d4c908 252     **New:** *web.enableRpcAdministration = false*
fa5e6f 253 - added: Gitblit API RSS/JSON RPC library
a7a9f7 254 - added: Gitblit Manager (Java/Swing Application) for remote administration of a Gitblit server.
fe3262 255 - added: per-repository setting to skip size calculation (faster repositories page loading)
JM 256 - added: per-repository setting to skip summary metrics calculation (faster summary page loading)
d5623a 257 - added: IUserService.setup(IStoredSettings) for custom user service implementations
c2fe08 258 - added: setting to control Gitblit GO context path for proxy setups *(Github/trygvis)*  
d5623a 259     **New:** *server.contextPath = /*
c2fe08 260 - added: *combined-md5* password storage option which stores the hash of username+password as the password *(Github/alyandon)*
JM 261 - added: repository owners are automatically granted access for git, feeds, and zip downloads without explicitly selecting them *(Github/dadalar)*
e493cf 262 - added: RSS feeds now include regex substitutions on commit messages for bug trackers, etc
d4c908 263 - fixed: federation protocol timestamps.  dates are now serialized to the [iso8601](http://en.wikipedia.org/wiki/ISO_8601) standard.  
JM 264     **This breaks 0.6.0 federation clients/servers.**
16038c 265 - fixed: collision on rename for repositories and users
e11f48 266 - fixed: Gitblit can now browse the Linux kernel repository (issue 25)
JM 267 - fixed: Gitblit now runs on Servlet 3.0 webservers (e.g. Tomcat 7, Jetty 8) (issue 23)
d40adc 268 - fixed: Set the RSS content type of syndication feeds for Firefox 4 (issue 22)
4cac0d 269 - fixed: RSS feeds are now properly encoded to UTF-8
fa5e6f 270 - fixed: RSS feeds now properly generate parameterized links if *web.mountParameters=false*
4838c5 271 - fixed: Null pointer exception if did not set federation strategy (issue 20)
c7ebb2 272 - fixed: Gitblit GO allows SSL renegotiation if running on Java 1.6.0_22 or later
fa5e6f 273 - updated: MarkdownPapers 1.2.5
074b4b 274 - updated: Wicket 1.4.19
63ee41 275
3cc6e2 276 <hr/>
JM 277
6ef2fc 278 **0.6.0** &nbsp; *released 2011-09-27*
63ee41 279
3b5289 280 - added: federation feature to allow gitblit instances (or gitblit federation clients) to pull repositories and, optionally, settings and accounts from other gitblit instances.  This is something like [svn-sync](http://svnbook.red-bean.com/en/1.5/svn.ref.svnsync.html) for gitblit.  
JM 281     **New:** *federation.name =*  
282     **New:** *federation.passphrase =*  
283     **New:** *federation.allowProposals = false*  
284     **New:** *federation.proposalsFolder = proposals*  
285     **New:** *federation.defaultFrequency = 60 mins*  
286     **New:** *federation.sets =*  
287     **New:** *mail.* settings for sending emails  
288     **New:** user role *#notfederated* to prevent a user account from being pulled by a federated Gitblit instance  
831469 289 - added: google-gson dependency
JM 290 - added: javamail dependency
291 - updated: MarkdownPapers 1.1.1
94dfef 292 - updated: Wicket 1.4.18
9b72a2 293 - updated: JGit 1.1.0
78753b 294 - fixed: syndication urls for WAR deployments
JM 295 - fixed: authentication for zip downloads
831469 296
3cc6e2 297 <hr/>
JM 298
6ef2fc 299 **0.5.2** &nbsp; *released 2011-07-27*
831469 300
85e8b6 301 - fixed: active repositories with a HEAD that pointed to an empty branch caused internal errors (issue 14)
230632 302 - fixed: bare-cloned repositories were listed as (empty) and were not clickable (issue 13)
JM 303 - fixed: default port for Gitblit GO is now 8443 to be more linux/os x friendly (issue 12)
5c563c 304 - fixed: repositories can now be reliably deleted and renamed (issue 10)
230632 305 - fixed: users can now change their passwords (issue 1)
JM 306 - fixed: always show root repository group first, i.e. don't sort root group with other groups
307 - fixed: tone-down repository group header color
3b5289 308 - added: optionally display repository on-disk size on repositories page  
JM 309     **New:** *web.showRepositorySizes = true*
310 - added: forward-slashes ('/', %2F) can be encoded using a custom character to workaround some servlet container default security measures for proxy servers  
311     **New:** *web.forwardSlashCharacter = /*
230632 312 - updated: MarkdownPapers 1.1.0
0d3e3c 313 - updated: Jetty 7.4.3
5c2841 314
3cc6e2 315 <hr/>
JM 316
6ef2fc 317 **0.5.1** &nbsp; *released 2011-06-28*
85c2e6 318
d39680 319 - clarified SSL certificate generation and configuration for both server-side and client-side
JM 320 - added some more troubleshooting information to documentation
321 - replaced JavaService with Apache Commons Daemon
322
3cc6e2 323 <hr/>
JM 324
6ef2fc 325 **0.5.0** &nbsp; *released 2011-06-26*
5c2841 326
JM 327 - initial release
85c2e6 328
bc5b7b 329 [jgit]: http://eclipse.org/jgit "Eclipse JGit Site"