Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

under construction

Introduction

The IGB community aims to release new versions the IGB software at least twice per year.

Sometimes releases happen more frequently, depending on the degree of changes we've implemented, user demand for new features, and so on.

Release cycle

The cycle begins with discussion and description of new features and changes to the code.

Typically, we review feature requests and bug reports submitted to sourceforge and our notes from the previous release cycle, when ideas for improving and simplifying the underlying code base presented themselves.  

In general, we aim to improve the experience for users while also improving the underlying code base to support long-term development and make it easier for new developers to contribute. 

Development Process and Version Control

The Genoviz project uses Subversion for version control and managing the release cycle.

...

Development branches are development workspaces and may ultimately be merged backed into the trunk provided they pass testing. If you have a great new idea for an IGB feature or change the the user interface, first make a branch and implement your changes there.

DO NOT develop on the trunk unless your proposed new feature is bug fix or is highly unlikely to introduce many new bugs to other existing systems and features. If you think your proposed change is unlikely to cause any bugs on the trunk and you don't think creating a branch is necessary, contact .  the IGB developers list  to affect the system or user experience in a dramatic way. The only developers who should develop on the trunk are   Any new features must be thoroughly tested before being merged back to the trunk. If you do not have the personnel to test, then the Loraine group is willing to have any questions about this, please contact the IGB development team directly or via the developers' list.

Why branch for new features?  

There are two major reasons underlying why you should implement new features on a development branch rather than the trunk:

  • IGB is a mature software application with thousands of users and hundreds of features. New developers usually undergo a long learning curve as they master the code base. New developers who don't know anything about molecular biology, genomics, or next-generation sequencing undergo an even longer learning curve as they get familiar with IGB basic functionality. If you are new to the IGB and Genoviz code base, you will need freedom to experiment and make mistakes without annoying other developers or disrupting the release cycle. Creating a branch gives you a workspace where you and your close collaborators can work, experiment, and back out of changes as needed. However, this doesn't mean you'll be developing in isolation - you can always merge in changes from the trunk. Before you get started, read this: Version Control with Subversion, Chapter 4. Branching and merging. 
  • IGB is a graphical user interface and therefore requires extensive manual testing every time a change is made either to the user interface or the underlying code base. Before merging a branch back into the trunk, you must demonstrate that the new feature is well-tested and bug-free. The Loraine group at UNC Charlotte has a testing team that can help you, but please be aware that

...

  • resources are limited. If

...

  • your new feature requires extensive testing and is not already covered in one of the group's funded grants, you will need to provide funding to support the testing effort. Contact Ann Loraine for details.

The main trunk of development should not be used to "try things out" or experiment with new ideas and architectures. If you want to try something new that is likely to cause many other features to break, then first make a branch and develop it there. Only developers with a lot of experience working with the IGB code base should check in changes to the trunk. 

...

In parallel to releases on the Java Web Start page at Bioviz.org, we also release compiled versions of the IGB software on sourceforge.net. This is for users who can't launch IGB using Java Web Start or want to take advantage of IGB's command line features. Some users' IT infrastructure blocks Java Web Start programs from launching, and so these users download an "igb.zip" file which they then unpack and then use to run IGB by double-clicking one of the "run_igb" scripts.

Trunk versus branch 

more on this later!