jEdit Development

Developers, you'll want to bookmark this page.

Handy Links/TOC

Release Schedule

A new "point" release of jEdit is scheduled to come out every year or so. A "pre" is released a few months before that to allow for testing, updating international strings, and other general kinds of polishing off, although translators are encouraged to test the latest daily builds.

jEdit 4.3pre9 : January 20 2007

: January 20 2007 jEdit 4.3pre10 : July 15 2007

: July 15 2007 jEdit 4.3pre11 : October 04 2007

: October 04 2007 jEdit 4.3pre12 : December 08 2007

: December 08 2007 jEdit 4.3pre13 : March 13 2008

: March 13 2008 jEdit 4.3pre14 : April 27 2008

: April 27 2008 jEdit 4.3pre15 : August 10 2008

: August 10 2008 jEdit 4.3pre16 : November 19 2008

: November 19 2008 jEdit 4.3pre17 : July 05 2009

: July 05 2009 jEdit 4.3pre18 : November 07 2009

: November 07 2009 jEdit 4.3 : December 23 2009

: December 23 2009 jEdit 4.3.1 : January 28 2010

: January 28 2010 jEdit 4.3.2 : May 09 2010

: May 09 2010 jEdit 4.4pre1 : February 03 2011

: February 03 2011 jEdit 4.3.3 : June 21 2011

: June 21 2011 jEdit 4.4.1 : June 21 2011

: June 21 2011 jEdit 4.4.2 : October 14 2011

: October 14 2011 jEdit 4.5pre1 : November 19 2011

: November 19 2011 jEdit 4.5.0 : January 31 2012

: January 31 2012 jEdit 4.5.1 : March 27 2012

: March 27 2012 jEdit 4.5.2 : June 16 2012

: June 16 2012 jEdit 5.0pre1 : June 10 2012

: June 10 2012 jEdit 5.0.0 : November 22 2012

: November 22 2012 jEdit 5.1pre1 : May 24 2013

: May 24 2013 jEdit 5.1.0 : July 28 2013

: July 28 2013 jEdit 5.2pre1 : May 27, 2014

: May 27, 2014 jEdit 5.2.0 : February 5, 2015

: February 5, 2015 jEdit 5.3.0 : October 22, 2015

: October 22, 2015 jEdit 5.4.0 : March 18, 2017

: March 18, 2017 jEdit 5.5.0 : April 10, 2018

: April 10, 2018 jEdit 5.6.0: September 03, 2020

Want to join us? Help Wanted!

Becoming a jEdit developer

jEdit is always looking for more people to help. If you examine the Feature Requests and open Bugs, you will see that many of them are "unassigned".

Most of our code is managed using an open-source tool called Subversion. It is recommended you learn the basics of this tool, to help you keep up to date on the latest changes from other developers, as well as to generate patches against specific file revisions.

Slava is no longer actively involved in development, and many other plugin authors have also left the community and are not maintaining their plugins. Some plugins have a new maintainer, others have been replaced by newer plugins. Once you become a developer, we can always use help by closing some of these open issues. You can make comments on them, or if you want to assign yourself tracker items, feel free.

Inclusion in the jEdit "development team" is informal and open to anyone. You can "join" simply by subscribing to the jEdit-devel and jEdit-users mailing lists. Your level and focus of involvement is entirely up to you. For active developers, it is also highly recommended you join jedit-commits which includes commit logs on the subversion repository. Watching this list allows you to see clearly who are the active developers, and precisely what they are working on.

Membership in the jEdit SourceForge project is granted on an as-needed basis. If you join the jEdit mailing lists, participate, and end up working on one or more plugins (either your own, or existing ones), then you can ask one of the administrators of the project for access to the GIT or SVN repository. If you still find yourself with inadquate permissions to do your work, ask one of the project administrators for the permissions you need. This includes access to statistics, databases, etc.

Specific contributions

Are you a Drupal expert?

jEdit's community site is far out of date and needs some love. If you are a Drupal developer and don't mind the challenge of upgrading a 15+ year old system, that would be much appreciated! Please ask to join or even administer the jEdit community project.

Localization files

Now that jEdit supports localization, it is easy to add a translation file for jEdit or any of the plugins for any other language. If you want to submit translation files to jEdit, or update existing ones, you can submit patches to the proper patches tracker or ask for commit permissions if you plan to do a lot of them.

Writing/updating edit modes

Writing syntax highlighting modes is covered in detail in the jEdit user's guide. If you want your mode to be included with jEdit, send it along with a mode catalog entry, and an attached example file (for exotic languages) containing a code snippet in that language for testing, to the jedit patches tracker.

Writing macros

Macro development is covered in the jEdit user's guide. Macros should only be used for simple tasks; more complicated features should be coded as plugins. If you want your macro to be included with jEdit, send it to jedit-devel or the jedit patches tracker.

Writing plugins

Plugin development is covered in the jEdit user's guide, but the information there only scratches the surface, since plugins can do anything any Java program can. You can learn more by looking at the sourcecode of another plugin which does something similar to what you want.

Once your plugin is in a minimally useful state, send a message to the jEdit-users mailing list with a short summary of your plugin, and possibly a download link. Remember to release early and often - feedback at early stages of development is always a good thing.

Fixing plugin or core bugs

Even if you can't fix a bug yourself, you can still help in its eventual resolution by adding useful comments or metadata to the existing tracker items. If you want to help in categorizing or closing bugs, just ask for tracker admin permissions from one of the existing project admins.

If you want to make changes to existing plugins, or jEdit itself, make sure that you are working on the latest released (i.e. development) versions. Until you are ready to commit directly, you can submit your patches via the jedit patches or plugin patches trackers, as an attachment or a comment in the actual tracker item. After you have submitted a few patches, you can ask for permission to commit directly.

Creating and submitting Patches

We prefer patches which are generated against the latest "trunk" in subversion. By checking out a copy of the source and making changes to your local copy, you can create a patch by simply typing svn diff , (or git diff , if it's in git) from the root directory of your project. This command will give you context, as well as version numbers for all differences between your versions and the versions you checked out from the repository. Redirect this command to a file and attach it with proper documentation to a patches tracker item.

Adding plugins to the Subversion or Git repository

To get an account on the sourceforge jedit project, first you need a SourceForge user account.

Once you feel your plugin is reasonably complete (this should be determined partly by feedback you get during the development process), you can post your submission on the submissions tracker. At this point, it will become a candidate for release on plugin central. See this page to find out how.

Thanks

Special thanks to sourceforge.net for hosting and providing for free, the SVN, GIT, web hosting, file releasing, and bugtracking services we've needed to collaborate with each other for over 10 years of jEdit's development.

Thanks to the Giant Java Tree, which hosted the jEdit CVS and web site for the first 3 years of jEdit's development.

Thanks to all of the volunteers who have added their own personal touch and helped make this program and its related services what they are.