Friday Nov 20, 2009

After a long wait, OpenGrok 0.8 has finally been released! To find out what's new, take a look at the release notes posted on Trond's blog. Or just go straight to the OpenGrok website to download it.

From the release notes:

OpenGrok is a wicked fast source code browser. http://www.opensolaris.org/os/project/opengrok/

OpenGrok is a fast and usable source code search and cross reference engine. It helps you search, cross-reference and navigate your source tree. It can understand various program file formats (c, c++, c#, java, sh, ...) and version control histories like (Mercurial, Git, SCCS, RCS, CVS, Subversion, Teamware, ClearCase, Perforce, Monotone and Bazaar.) In other words it lets you grok (profoundly understand) the open source, hence the name OpenGrok. It is written in Java.

Since OpenGrok 0.7 was released October 17, 2008 a lot of features and fixes has been incorporated into OpenGrok in almost 300 commits for the 0.8 release.

Friday Nov 13, 2009

Lubos has just built and posted the first release candidate for OpenGrok 0.8. See his announcement here. Please test it and give feedback on opengrok-discuss, or file bugs or enhancement requests on http://defect.opensolaris.org/.

It's a long time since the previous release (more than a year!), so we're of course eager to get all the bug fixes and the fine new features we've been working on out very soon now.

Apart from a couple of bug fixes, my main task for this release has been to implement the Java DB history back-end (bug #3624). This is a new cache layer on top of the code that talks to all the version control systems, and it can be used instead of the old XML-based cache. The XML-based cache is still the default, but Lubos wrote a nice section on how to set up the new cache in README.txt. If you try the Java DB back-end, you may notice that the initial indexing and generation of the history cache is somewhat slower, but that's compensated by the ability to update the cache incrementally later. Here's the full list of new functionality provided by the new back-end:

  • Incremental update of the history cache (bug #3052), so no need to retrieve and process the full history more than once
  • History for directories is cached
  • The history view shows which files were touched by the different check-ins

Other new features:

  • Ability to search across multiple projects has been reintroduced
  • Lucene back-end upgraded to 2.4.1
  • New scripts to simplify indexing and deployment
  • Auto-generated OpenSearch description enables web browsers to detect OpenGrok as a search engine
  • Several UI improvements

Friday Oct 17, 2008

OpenGrok 0.7 was released earlier today, approximately six months after the previous release, OpenGrok 0.6.1. This release contains many new features, including:

  • Support for more version control systems (ClearCase, Git, Razor) giving a total of 11 supported systems
  • JMX agent that lets you monitor and configure OpenGrok more easily
  • Logging is now done with java.util.logging
  • Easier configuration of Subversion repositories
  • Smaller disk footprint for the history cache

OpenGrok 0.7 also incorporates many bug fixes, and a lot of effort has been put into cleaning up the source code, helped by tools like FindBugs, PMD, Checkstyle and EMMA. See the announcement for the full list of changes in the release.

One thing to note is that if you want to use the Git support, you'll need Java SE 6 or later because the Java wrapper around the Git binaries uses some constructs that are not compatible with J2SE 5.0. For the same reason, the released sources will not build unless you're using Java SE 6. This has been solved in the development sources, so if this is a problem for you, you should check out the source tree from the repository and build OpenGrok yourself. Everything else in OpenGrok should work with J2SE 5.0.

Wednesday Dec 19, 2007

Perhaps not the most frequently requested feature, but since much of the OpenGrok development happens at Sun's Database Technology Group these days (unofficially, that is, so please don't tell our boss that's what's keeping us so busy!), it's kind of embarrassing that OpenGrok doesn't understand SQL scripts. Now that's finally about to change. Yesterday, I checked in some basic support for SQL syntax highlighting, and we'll hopefully also be able to support search for symbols and definitions in SQL scripts in the next release. So then there should be one less embarrassment to worry about...