============================================================
=== 2019

1.9.2.3 (2019-08-04)
	Fix: Wrap option variables in fit.cc (backport)

============================================================
=== 2018

1.9.2.2 (2018-11-10)
	Fix: remove _all_ prototype specs for perl 5.18 backward compatibility

1.9.2.1 (2018-27-06)
	Update test results
	Remove perl prototype specs in to avoid perl 5.18 incompatibility
	Include patch0 of 1.9.1

============================================================
=== 2017

1.9.2 (2017-07-04)
	Improve consensus dotplot computation (avoid accumulation of low
	  probability base pairs)
	Some cleanup

	1.9.2pre4
	Fix left and rightmost anchors (fixed local alignment); add unit tests
	Optimize maximization in innermost loop
	Add unit and program tests

	1.9.2pre3
	Make consensus structure / dotplot types independent [option
	  --consensus-structure alifold (current default) used to also
	  determine the computation of consensus dotplots. The consensus
	  dot plot is now independent (new default: no alifold consensus
	  dot plot).]

	fix strict semantics for anchor constraints
        fix compatibility '--keep-sequence-order' with anchor constraints

	1.9.2pre2
	mlocarna: write ps files (aln.ps, alirna.ps and if probabilistic,
          alidot.ps) from alifold call on result alignment to the
          results output directory;
          use alifold options --aln --color --mis
	fix mlocarna: find pw-aligner and pw-aligner-p executables in PATH

1.9.1 (2017-01-22)
	improve help and man pages for locarna, locarna_p, sparse;
	  refactor code for help text (string map for help text)
	  write text inserts for man pages, which are autogenerated from help
	fix bug in reading stockholm anchors
	remove parameters min_am_prob and min_bm_prob from locarna
	  and sparse CLIs;
	  they are useful only for locarna_p
	introduce strict semantics for anchor constraints
	  and make default (see mlocarna --relaxed-anchors)
	fix exparna_p output
	add mlocarna option to realign; support 'consensus'
	  constraint specifications

============================================================
=== 2016

1.9.0 (2016-Dec-26)
	add mlocarna option to load (default) configuration from file
	add mlocarna option to read anchor constraints from
	  bed-format specification
	add option --maxBPspan (analogous to ViennaRNA's maxBPspan)
	activate penalized option for mlocarna
        update documentation of mlocarna
	update reliability-profile.pl: suppress too verbose output;
	  improve behavior of subseq option
	Tests:
	    introduce mlocarna test with comparison to reference results
	      -- generate reference results with make gen-test-results
	    add stockholm writing test
	Bug fixes:
	    catch empty sequence case for alifold
	    fix error message concerning max-diff-aln in mlocarna
	    fix mlocarna bug: write stockholm also in probabilistic mode
	    fix mlocarna error handling when running multithreaded
	    fix doxygen/docu generation
1.8.12 (2016-Dec-1)
	Add checks: multi-threaded mlocarna, locarnate
	Fix severe problem with threads in mlocarna, which caused hangs
	Fix mlocarna with sparse (precomputation of inloop probs)
	Update VRNA/C11 configuration (adapts automatically; remove --enable-STDC )
	Require ViennaRNA >=2.3.1
	Improved options help
	Cleanup some files in the repository and distribution
1.8.11 (2016-Aug-15)
	Add configure flag --enable-STDC; set default to C11 (RNAlib compatibility)
	Fix output order of reliable structures in mlocarna
	Migrate to new vrna api; fix pf_scale bug
1.8.10  (2016-Jul-15)
	Improve input checking in mlocarna
	Increase API version to 1.5
	Wrap long alifold consensus output in mlocarna
	Add consensus structure in locarna output, selectable types mea|alifold|none
	Add optional stockholm output to mlocarna
	Introduce quiet switch for locarna, locarna_p, sparse, and exparna_p
	Code cleanup in driver programs
	Handle sequence name clashes by systematic renaming
	Read stockholm format
	Factorize common code in locarna, locarna_p and sparse (MainHelper)
	Add stockholm support input and output to locarna
        Fix bug occuring with empty input sequences
	Call alifold with /best/ parameters (from perl /and/ c++)
	Fix locarnate (compatibility to current locarna); add unit test

1.8.9   (2016-21-04)
	improve configuration
	improve ubuntu packaging
	fix anchor constraint check in mlocarna fasta input
	allow ribofit for mea -- e.g. for probabilistic; this used to require ribosum

1.8.8   (2016-15-04)
	adapt to and require ViennaRNA >=2.2.4
	fix all static linking
	link binaries statically to libLocARNA by default;
	otherwise use --enable-dynamic-binaries
	fix & clean up code (after cppcheck static analysis)
	prepare for rpm packaging

============================================================
=== 2015

1.8.7	(2015-11-12)
	prepare for Ubuntu packaging
	fix man pages
	  - update generation (add missing man pages)
	  - fix program names
	  - improve/fix help/man of binaries and locarnate
	clean exploc_p (get rid of "in"-mechanism)
	fix problems in tests (make check) w/o enable-debug
	remove wrong MultipleAlignment format check
	remove locarna.pl from distribution (functionally replaced by binary)
1.8.6   (2015-10-31)
	remove unused parameter "width" from locarna_rnafold_pp
	Increase API version to 1.4
	Get rid of locarna.hh
	In clustal(-like) alignment output, adapt formatting to long names
	Improve libRNA config, in cases where pkg-config does not work:
	allow compiling without libgomp, if libgomp is unavailable and
	is not used by libRNA
1.8.5a
	Fix behavior in case structure constraints + local folding (see 1.8.2)

1.8.5   (2015-10-10)
	allow empty input sequences/alignments and fix related problems
	fix score of local alignment w/ empty input sequences

1.8.4   (2015-10-6)
	fix potential overwriting of parameters in classes Aligner*,
	which was observed only with gcc-5.2
	fix bug that crashed printing string options in verbose mode
1.8.3
	improve portability for easier installation on recent MacOS X:
	compile without openmp; handle VRNA w/o pkgconf file
	fix c++11 warnings; fix incompatibility with libc++
	fix incompatibility with clang (now used by MacOS X); fix warnings of clang
	remove g++ warnings
1.8.2
        change semantics w.r.t. constraints + local folding:
	    constraints turn off local folding
        reformat change log
	support generating doxygen documentation from
	    distribution by make doxygen-doc
        penalized alignment
        experimental galaxy wrapper generation
1.8.1
	implement ribofit
	Bugfix in OMatrix: incorrect address calculation
	Bugfix: LocARNA crashed while writing the result pp file if
	alignments of zero length are computed with options local file
	output and alifold consensus dp (alifold workaround)
	bugfixes (OMatrix, alifold len 0 bug)
	implement slide rule and conflict rule for f1 and mcc calculation;
	also use default minimal base pair length 3 in class
	ConfusionMatrix; class interface changes slightly

============================================================
=== 2014

1.8.0
	Remove absolute path dependencies in scripts. This changes the
	behavior, since paths are not fixed at compile time. For
	example, the Vienna RNA programs are located via PATH environment
	variable.
	Require linking to VRNA. Remove configure options. Disallow
	renaming of Vienna RNA tools RNAfold, etc.; expect them in path.
	Always compile SPARSE/ExpaRNA-P. Don't pass mlocarna script
	through configure anymore.
	Add option --sparse to mlocarna
	Add rnafold-temperature option to mlocarna
	Use rnafold temperature and parameter files for alifold
	Warn if used with alifold-consensus-dp
	Add unit tests for mlocarna calls (standard, prob, sparse)
	Align alifold structure to alignment in mlocarna output
	Add Example gcvT.fa for SPARSE
	sparse: --special-gap-symbols option added (default is false)

1.7.17
	max-bps/uil/bpil-length-ratio for SPARSE/ExparnaP
        Second type of stacking terms: new-stacking
	Add heuristic to restrict maximum number of "significant" base
	pairs: max-bps-length-ratio
	Add max-diff restriction at arc match ends: --max-diff-at-am
	Restructure parameter passing to Aligner* classes: use "named
	argument" idiom
1.7.16
        ExpaRNA-P rename of tools
1.7.15
	Fix bug concerning iterative alignment and alignment evaluation
	Rename locarna_X to exparna_p
	ExpaRNA-P code "publication ready"

1.7.14
	Handle inconsistencies due to anchor constraints in conflict
	with other constraints/heuristics, e.g. max-diff: 1) accept -inf
	pairwise similarities for guide tree construction; 2) clear
	consensus anchor strings with duplicate names


============================================================
=== 2013

Jan 2013
	Fix bug. Quotes in fasta-names caused failure when
	generating pps via locarna_rnafold_pp in mlocarna.
	(1.7.3.1)

        Resolve rnalib dependency. New configure option with-sparse
	is now required to compile with ExpARNA-P and SPARSE functionality.
	(1.7.5)

Mar 2013
	Merge in new sparsification related code.
	Added fasta input check in mlocarna.
	(1.7.6)
	Small bug fixes
	Fix memory leaks
	Prepare alignment evaluation functionality
	Code cleanup/refactorizations
	(1.7.6.9)
	Introduce configuration header config.h
	Fix man page dependency problem

May/Jun 2013
	Make sure that make check and make distcheck work
	Split RnaData into RnaData and RnaEnsemble
	Introduce new version of pp format (2.0)
	Read/write of inloop probabilities
	Cleaner separation of reading/writing of alignments/probability data v.s. computation;
	  in particulare remove I/O from Alignment class
	Cleaner handling of gaps, alignment edges, and gap symbols in I/O
	New option --stopwatch (in locarna*) to turn on detailed internal timing
	Change class Sequence to be a mere interface to MultipleAlignment that allows operator [] for column access
	Make constraints optional part of multiple alignments; make write/readable with the alignment in clustal and pp format
	Remove options anchorA, anchorB from locarna and locarna_X
	Support anchor and structure annotation in MultipleAlignment
	RnaEnsemble constrains the folding by structure annotation of
	Multiple Alignment (if given)
	(Release 1.7.7)
Jul 2013
	Support precomputing in loop probabilities for SPARSE
	Fixed reading of PP 2.0
	(Release 1.7.8)
Sep 2013
	LocARNATE: new code, improvements
	Exparna-P: Suboptimal traceback and improvements
	Change default behavior of mlocarna for sequence-local alignment: proceed
	with only-local subalignments; options local-progressive and
	global-progressive control behavior, where --global-progressive
	reactivates the previous one.
	(Release 1.7.9)
Oct 2013
	Newick bugfix
	Small modifications for library use (e.g. for carna)
	(Release 1.7.10)
Nov 2013
	Improve max-diff heuristic (without reference alignment): make
	symmetric and always allow sufficiently large deviation
	(Release 1.7.11)
	Fix bug in locarna_rnafold_pp (reading clustalw from stdin)
	Fix bug concerning structure constraints
	Update format conversions in mlocarna to pp 2.0 format
	Support for fixed structure constraints (directly in C++)
	(Release 1.7.12)
	Fix bug that compromised LocARNA-P w/ anchor-constraints in 1.7.12
	In-loop support for fixed structure constraints
	(Release 1.7.13)
	Bugfix: computation of consensus anchor constraints could fail; now resolve
	name clashs by selecting lexicographically smaller name.
	(Release 1.7.13.1)

============================================================
=== 2012
Jan 2012
	fix bugs in reliability plotting and "fitting"
	(1.6.2.3)
	New tool locarna-mea for computing the max. expected accuracy structure
	from a dot plot
	(1.6.2.4)
	New features for pp2dot script
	New script for generating average pp-files
	In combination, generate nice colored dot plots;
	used first for the output of the carna server
	(1.6.3)
Mar 2012
	Merge with recent Exparna-P/locarna_X code
	(1.7)
	New classes for infinite integers (this is used for scores,
	which can be -infty, i.e. undefined). The new mechanism automatizes
	normalization of infinity using the type system and avoids wrong
	usage by the type system. Consequently, it is more flexible. It avoids
	a bug in normalized alignment and helps to clean up the Exparna-P code.
	(1.7.1)
Apr/May 2012
        Add reading of score matrix in mlocarna
	Fix bug in probabilistic mode, which did not allow '#' in sequence names
	Fix bugs in output of score matrix
	Fix drawdplin
June 2012
	Fix bug in trace controller
	(1.7.2)
	Add locarna_n code, alpha status
Aug 2012
	Fix a bug related to use of trace controller (max-diff) with free
	endgaps.
	Fix autodetection of input multiple alignment file format,
	i.e. FASTA vs. CLUSTAL.
	Change interface of scoring such that gapA (gapB) depends on only
	positions in sequence A (B), resp.
	(1.7.2.1)
	Major improvements of the RnaData class and its interface
	Some clean up
	(1.7.2.5)
	Some bug fixes, support for graph kernel guide tree
	(1.7.2.6)
	Include graph kernel guide tree support in mlocarna
	(1.7.2.7)
	Some cleanup, release.
	Fix bug (missing initialization) in RnaData
	(1.7.3)


============================================================
=== 2011

Jan 2011
	Alignment in limited deviation to a reference alignment
	program deviation computes deviation of alignment to reference
	Deactivate max-diff-aln for --probabilistic/locarna_p
	(Version 1.6)

Feb 2011
	Restructure code
	library libLocARNA is generated and is used as library by executables

	Fix name normalization bug in mlocarna.in
	(Version 1.6.1)
Mar 2011
	Doxygen compiles without warning and produces useful documentation
	of the library

	Vienna RNA library is now required for compilation and will be linked

	Locarna accepts clustal files as input and then computes base pair
	probabilities via pf_fold of the Vienna RNA lib. Currently this is
	limited to single sequence clustal files.
	Implement reading of mfasta files (still switched off).

Apr 2011
	Implement several alignment comparison measures (and use in locarna_deviation) (EXPERIMENTAL)

	Make linking to Vienna librna configurable, default=off! Activate
	by calling ./configure with --enable-librna.

	New strategy for consensus dot plot generation: employ RNAalifold
	-p.  Enable via mlocarna's option --alifold-consensus-dp Note: the
	default consensus dot plot computation seems to be flawed! The new
	tool pp2dot allows to visualize consensus dot plots (by converting
	pp to Vienna-like dot plot postscript files) and should help to
	improve the default strategy (otherwise we are going to replace
	it!)

	mlocarna accepts via --tree-file a super-tree as guide tree and
	automatically projects to the taxa in the input.

	Allow quotation in newick trees (using Text::ParseWords)
	and use quotations when generating newick trees

May 2011
	Fix a problem with compiling on case-insensitive file systems (generate 	locarna.bin instead of locarna executable in src, rename at install)

	add alifold-consensus-dp option for mlocarna

Aug 2011: Add code for 'locarna_X'

Sep 2011: Adding Exparna-P code for "in loop" probabilities

Oct 2011: pre-release 1.6.2

Nov 2011:
	Add mlocarna options (pw-aligner and pw-aligner-p) to run
	specified binaries in place of locarna and locarna_p. This can be
	used to plug in compatible programs like carna

	Bug fix; compilation without linking libRNA was broken.
	release (1.6.2)

Dec 2011
	Bug-fixes: treefile regexp, LARGE_PF name clash mit Vienna package
	(1.6.2.1)
	add script to translate to normalized names for mlocarna

	Add options pw-aligner-options and pw-aligner-p-options, to mlocarna to pass option strings to the pairwise
	aligner.  This is useful in combination with specifying
	non-standard pairwise alignment programs.

	Support generation of pp files from dp2.ps and dp.ps files when
	skipping dot plot computation with --skip-pp (keep name for
	legacy).  This allows the combine user-defined dotplots with
	anchor constraints from the mfasta input file.

	Support fixed structures (with pseudoknots) in the fasta input
	of mlocarna as structure constraint string with tag #FS
	All base pairs in the fix structure receive a probability of 1.
	(1.6.2.2)

============================================================
=== 2010

Jan 2010
	new tool Utils/reliability-profile.pl generates nice
	profile plots from mlocarna --probabilistic output directories

	stacking turned off, unless exp-prob option used

	(locarna-1.5a)

Mar 2010
	Add normalized local alignment, proof of concept
	(locarna-1.5.1)
	Combine normalized alignment and kbest
	Introduce option better to enumerate suboptimal solution
	better than given threshold
	--kbest and --better can be used together
	(locarna-1.5.2)
	Fix build in separate build directory

May 2010
	Introduce new representation of fasta data
	Major restructuring/refactorization of mlocarna.in and MLocarna.pm
	Move many functions of mlocarna.in to packages and
	introduce several new packages to group functions thematically
	(locarna-1.5.3)

	Resolve a bug that made LocARNA handle Ts as unknown
	characters. LocARNA now automatically transforms Ts to Us in input
	sequences. The bug did not affect input sequences without Ts. For
	matchs involving Ts, LocARNA wrongly used an ad-hoc score instead
	of the ribosum score for matches involving 'U', as one would
	expect.

Oct 2010
	Add EdgeController: adds feature to constrain (max-diff-match)
	alignment relative to a given alignment.  Change handling of
	max-diff-match in case of unequal length: instead of relaxing
	constraint, change constraint to |i*(lenB/lenA)-j|<=max-diff
	Add multiple alignment class to support construction of EdgeController.

Nov 2010
	Change Copyright to GPL v2 and update README

	rename max-diff-match to max-diff heuristic.

	replace EdgeController by TraceController use the max-diff delta
	( TraceController ) to restrict alignment of paired and unpaired
	positions (not only ends of arcs) in Aligner. Semantics is given by
	restriction of alignment cuts/matrix cells!

============================================================
=== 2009

Jan 2009 (v1.42)
	iterative alignment using SCI as optimization criterion

Feb 2009 (v1.4.4alpha)
	cleanup mlocarna code
	cleanup mlocarna output (inclusive output modes -v, --moreverbose)
	improve reliability computation
	multi-threaded mlocarna, new option --cpus <n>: use n threads
	more structure for mlocarna output to file system (distribute
	files to subdirs)
	introduce --pf-scale parameter to locarna_p and mlocarna

	precompute exp base match similarity and gap cost for partition
	function => significant speed up of locarna_p
	change handling of max_diff: guarantee at least |lenA-lenB|
        improve outside algorithm in locarna_p (reduce sizes of Mrev-matrices)
	=> with prior optimization massive speedup of locarna_p

	add probability filtering after cbt
	further improvement of outside (cheaper computation of certain
	Mprime entries)
	iteration with reliable structure as constraints
	(option --it-reliable-structure)

	support for non-threaded perl

Mar 2009
	fix some problems with the option parsing
	(e.g. now -p=0.1 is correct and -p=a throws an error)
	fix bug in initialization for structure locality
	change semantics of constraints in the context of locality:
	anchor constraints (i,j) now enforce that edge (i,j) is part
	of the local alignment (for sequence and structure locality)
Apr 2009
	add missing options to mlocarna, fix bug in locarnate (thanks to Wolfgang)
	fix bug with sharing/threads in mlocarna (v1.4.6)
	locarna_p computes probabilities for matching fragments
May 2009
	clean manpage of mlocarna
Jun 2009
	offer large data type "long double" for partition function
	computation.  this is available when configuring through option
	--enable-large-pf. Use this in case of long alignments, where the
	partition function exceeds the range of type "double". Although
	--pf-scale sometimes provides a workaround, for multiple alignment
	of large sequences it is often the only viable choice.

Jul 2009
	add free endgaps via option --free-endgaps "----", for locarna
	gaps at all for ends can be allowed for free independently.
	For mlocarna, --free-endgaps will allow free end gaps at any end.

Sep 2009
	fixed serious bugs concerning stacking: due to these bugs,
	mlocarna did not profit from stacking and locarna could get wrong
	results with stacking turned on.

	Change base pair filtering by probability for stacking: ignore
	stacking probability, filter only by base pair probability.

	(locarna-1.4.9alpha)

============================================================
=== 2008
Feb 2008
	remove bug in anchor constraints
	Ribosum-85-60 compiled in
	changed default parameters to something reasonable

Mar 2008
	remove bug in rna_data.cc reading dp.ps, v 1.2.4

Jun 2008
	change char * to std::string in options module
	(the g++-compiler does not like it anymore :))

Jul 2008
	integrate locarnate - a tool for multiple alignment
	that uses locarna in combination with tcoffee
	(Version 1.3)

Aug 2008
	partition function version of locarna (locarna_p)
	experimental support for multiple alignment using
	  basematch probabilities and probabilistic
	  consistency transformation
        (Version 1.3.2)

	mlocarna can write basematch probabilities for plotting
	plotting of basematch probs (Utils/plot-bmprobs)

	mlocarna now correctly accepts input trees in newick-format that
	are terminated by ";". However, it does not enforce the ";"-termination
	mlocarna now writes the result.tree in ";"-terminated newick-format

	use rounding (instead of truncate) in scoring module, when
	converting from double to score_t. This fixes some inconsistency
	between 32/64bit and is the correct thing to do anyway

Oct 2008
	improve speed up gained from using anchor constraints

Nov 2008 (v1.4)
	add probabilistic scoring with consistency transformation
	with structural scoring in progressive alignment steps

	change options of mlocarna for probabilistic/mea-type alignment


============================================================
=== 2007
Sept 2007 (1.0alpha)
	refactoring; new classes Scoring, RnaData, ...
	preparations for better scoring:
	reading Ribosum-Data, new class Ribosum
	computing match probabilities in sequence alignment (Gotoh):
	   	Implemented methods: pairHMM, partition function, local pf
		new class MatchProbs
	improve option parser: introduce sections and section hiding
	integrate new scoring scheme: maximum expected accuracy
	significant speed-up due to re-organization of the recursion
	equations:
	        redefine D to already contain the score contribution of
		the arcmatch. This reduces these computations by orders of
		magnitude!

Nov 2007
	add constraints to pairwise and multiple alignment. This means
	for locarna: integrate anchor constraints
	for mlocarna: read and pass structure constraints to RNAfold -p,
	              read and pass sequence constraints to locarna
        The pp-format is redefined in order to pass constraint information from
	mlocarna to locarna.
	New class for representing and calculating with infinite scores
	changed default sequ-local=on to off
	increased min_prob in mlocarna.pl

	bug fix in computation of consensus probs

	rewrite noLP
	add (pseudo)affine gap penalties
	make mea working
	change default output width to 120
	ribosum scoring for classic score
	change handling of options in mlocarna

	mlocarna learns iterative refinement
	mlocarna learns conistency based transformation

Dec 2007
	true affine gap cost (implemented using additional vectors E and F)
	implemented stacking (v_1_2alpha)
	removed bugs in traceback
	cleaned options
	include version name in output (v_1_2_1a)
	add man pages
	add Ribosum85-60 matrix in distribution
	avoid writing to global /tmp directory (v_1_2_2a)
	avoid potential file name conflicts in mlocarna
	accept duplicate (or not prefix unique) names in mfasta input


============================================================
=== 2006

Jan 2006: add support for aligning alignments
	(used for multiple progressive alignment)

Aug 2006: lessen memory consumption of locarna.
	In particular important in case of
	scanning (target against genome)

	Add some options/features that are useful for scanning
	option --kbest
	option --max-diff-am
	option --ungappedA
	option --local-output
	handling of nucleotide-symbol N for unknown in input


Oct 2006: add support for stacking alignment, not finished
May 2006 (0.991): small changes, rename mlocarna-p to mlocarna


============================================================
=== 2005

	Mai 2005: global alignment
June 2005: extension to local alignment (sequence+structure locality),
	no_lonely_pairs option
Nov 2005: command line options
Dez 2005: recognize and read dot.ps files (in add to formerly used pp-files)
