Difference between revisions of "Development Branches"

From VistrailsWiki
Jump to navigation Jump to search
(Created)
 
(Added uvcdat-* branches)
Line 11: Line 11:


The list of features that are not present in 2.0 is available on the page [[New features]].
The list of features that are not present in 2.0 is available on the page [[New features]].
=== uvcdat-* ===
These branches are used by the UV-CDAT project. They were forked from VisTrails long ago (Feb. 2012) and there is not intention to merge back, although they live in the same repository.


== Development branches ==
== Development branches ==

Revision as of 21:22, 29 August 2013

Main branches

master

This is the development branch of VisTrails. It's where the features are merged for the next release and tested/bugfixed for a future public version.

v2.1

This is the upcoming version, currently in beta. No more features should be added here, and once we think no more bug fixing is required, it will become the new stable version. Bug fixes will still happen on this branch, and would lead to the release of minor versions (2.1.1, 2.1.2, ...).

v2.0

This is the current stable version. No more features are to be added here. We add there the occasional bugfix, but this should slow down once 2.1 is released.

The list of features that are not present in 2.0 is available on the page New features.

uvcdat-*

These branches are used by the UV-CDAT project. They were forked from VisTrails long ago (Feb. 2012) and there is not intention to merge back, although they live in the same repository.

Development branches

master itself is an integration branch and is not generally stable. However development of complex features happen in their own branches, based off master, listed below.

dat

This branch has changes needed by the DAT tool, and that generally makes VisTrails more customizable and useful when used as a library. These changes are intended to be merged back in the main line of development someday.

multithreaded-interpreter

This changes the interpreter part of VisTrails to use a task system instead of relying on each module running its upstream counterparts recursively. It allows the use of multithreading at the module level (i.e. running different modules in parallel) and provides this via different schemes. The branch has schemes for threading and multiprocessing (through concurrent.futures) as well as IPython (which replaces the ParallelFlow package).

This is a legacy branch that is still relevant and functional, but is superseeded by multithreaded-interpreter-target-selection which provides more options.

More information is available on its specific page: multithreaded-interpreter.

multithreaded-interpreter-target-selection

It's a variant of the previous branch that changes the way schemes work. There can be different instances of each scheme (named targets), configured by the user, and each module can be assigned to a specific target, allowing fine-grained control of where each module should execute.

It also revamps the XML log and adds an XML configuration file for remote execution.

multithreaded-interpreter-responsive

This brings in background-interpreter, except that it works. The interpreter runs in a different thread, although modules that don't use the @parallelizable decorator will be run synchronously on the UI thread (thus blocking the UI for a time).

It is probably required for further work in stopping/resuming workflows, but is a bit complex.

pyside-compatibility

This branch aims at making VisTrails compatible with both PyQt4 and PySide. PySide currently crashes.

python3

Python 3 port of VisTrails. Work in progress.

resume-suspended-pipelines

Changes the interpreter to not clean not-cacheable modules from the persisted pipeline if the execution was suspended. This means that the next execution will resume close to where the last one stopped.

Obviously doesn't work across sessions.

multiline-unicode-strings

Went further than multiline-strings by trying to make VisTrails unicode-safe. This means eliminating bytestrings from the code where unicode strings were meant (PyQt4 already uses unicode). Work in progress.

matplotlib-figure-creation

Attempt at fixing issue 685, which makes matplotlib incompatible with the multithreaded-interpreter work.