CHANGES IN VERSION 1.30.0
------------------------

NEW FEATURES

o New parameters in featureCounts() to give more control on the size of overlap between read and feature - 'nonOverlap' and 'nonOverlapFeature'.

o New parameter in featureCounts() to specify the path where files containing counting results for each read are saved - 'reportReadsPath'.

o New parameter in align() and subjunc() to allow reads in the mapping output to have the same order as in the FASTQ file - 'keepReadOrder'.

o Reduce running time in outputting BAM files in align() and subjunc() via saving data to disk with multi threads.

o Annotation file (eg. GTF, SAF or VCF annotation) in featureCounts(), align(), subjunc() and exactSNP() can be provided as a gzipped file.

o Tilda ('~') is allowed to be included in file names provided to functions. 

o Improve running time of featureCounts for the processing of BAM files generated by some other aligners and the Picard tool.



CHANGES IN VERSION 1.28.0
------------------------

NEW FEATURES

o New functions: promoterRegions() and txUnique().

o New parameter in featureCounts() for counting long reads - 'isLongRead'.

o New parameter in featureCounts() for counting reads by read groups - 'byReadGroup'.

o New parameter in featureCounts() for requiring minimum fraction of overlapping bases in each feature - 'fracOverlapFeature'.

o Assignment results for each read can be added to the provided SAM/BAM files by featureCounts ('reportReads' option).

o Align() and subjunc() produce a mapping summary including percentages of uniquely mapped reads, multi-mapping reads and unmapped reads.



CHANGES IN VERSION 1.26.0
------------------------

NEW FEATURES

o Gene annotation can be provided to align() and subjunc() to improve exon junction detection.

o Improve sanity checking for input and output data for align(), subjunc() and featureCounts().

o Resolve inconsistency between runs for align() and subjunc() when more than one CPU thread is used.



CHANGES IN VERSION 1.24.0
------------------------

NEW FEATURES

o New parameters in featureCounts() function: `fracOverlap' and `tmpDir'.

o FeatureCounts can now perfrom fractional counting for both multi-mapping reads and multi-overlapping reads via its `fraction' parameter.

o Depreciate `PE_orientation' parameter in featureCounts.

o In-built annotation for hg38(GRCh38) is added to the package.

o Improved reporting of mapping quality score (MQS) for align() and subjunc() functions.

o Improved efficiency of exactSNP() function when calling SNPs from data with very high sequencing depth.

o Improved documentation and screen output.



CHANGES IN VERSION 1.22.0
------------------------

NEW FEATURES

    o featureCounts() is able to count reads of up to 250kb long.

    o A parameter `juncCounts' is added to featureCounts() function to report counts for exon-exon junctions in RNA-seq data.

    o A parameter `nonSplitOnly' is added to featureCounts() function to count non-split alignments only.
	
    o Improved parsing of gzipped fastq files in align() and subjunc() aligners.

    o Improved screen output and error reporting for align(), subjunc() and featureCounts().



CHANGES IN VERSION 1.20.0
------------------------

NEW FEATURES

    o Fast sorting of input bam files in featureCounts.

    o Fractional counting of multi-mapping reads in featureCounts.

    o Detection of complex indels in Subread and Subjunc aligners. 

    o Including more candidate locations in read re-alignment step to improve mapping performance.

    o New formula for mapping paired-end reads that takes into account paired-end distance, number of subread votes and number of mismatched bases.



CHANGES IN VERSION 1.16.0
------------------------

NEW FEATURES

    o Subread aligner (align function) can accurately map micro RNA (miRNA) sequencing reads. A full index without gaps should be built for the reference genome before mapping miRNA-seq reads.

    o Subjunc requires the number of consensus subreads to be at least 30 percent of the total number of extracted subreads when reporting hits for exonic reads. This improves the mapping accuracy of such reads.

    o Reads are allowed to be extended in featureCounts.

    o Minimum required number of overlapped bases can be specified when assigning reads to features in featureCounts.

    o By default, Subread and Subjunc aligners do not allow more than three mismatches in the reported alignments. This however can be tuned via the `maxMismatches' parameter.

    o A number of bug fixes.



CHANGES IN VERSION 1.14.0
------------------------

NEW FEATURES

    o featureCounts automatically re-orders paired end reads if they were sorted by chromosomal locations in the input. It can also deal with read pairs in which only one end was included in the input.

    o featureCounts is more robust in processing different variants of GTF/GFF annotation files.
	
    o Subjunc can detect exon-exon junctions which are located at the start or end of reads. It can detect non-canonical junctions ('reportAllJunctions' option) in addition to canonical junctions, and it can also be used to detect chimerism in both RNA-seq and gDNA-seq data.
		
    o Both align (Subread aligner) and subjunc now take gzipped FASTQ files and outputs BAM files in their default settings. They accept multiple input files as well.

	o Breakpoint locations are reported along with mapping location of each fusion read in SAM/BAM files, using tags including CC(chromosome name), CP(mapping position), CG(CIGAR string) and CT(strand).
	
    o A full index (no gaps) can be built for a reference genome to further speed up read mapping. 

    o qualityScores() and propmapped() functions were rewritten.

    o Bug fixes.


CHANGES IN VERSION 1.12.0
------------------------

NEW FEATURES

    o Added a number of new features to featureCounts read summarization function, including reordering of reads in BAM files to make reads from the same pair be adjacent to each other, support for chromosome aliases and output of complete annotation data for counting results from meta-feature level summarization.

    o It is described in more details in the Users Guide on how featureCounts program summarizes reads.

    o Improved short indel detection for both Subread (align function) and Subjunc aligners. This was achieved by building a consensus indel table and by realigning the reads. Discovered indels are reported in the output in addition to the read mapping results. 

    o Support for detection of long indels (up to 200bp) was added in Subread. When the specified value of `indels' argument is greater than 16, Subread will automatically perform read assembly to detect long insertions and deletions.
	
    o Subread and Subjunc can now take FASTQ/FASTA, SAM and BAM files as input and output mapping results in both SAM and BAM formats.

    o Subjunc now directly operates on raw read data (it previously took Subread output as input), thus reducing running time by nearly half.

    o Subjunc can be instructed to output uniquely mapped reads. Hamming distance and mapping quality scores can be used to break ties when more than one best location was found.

    o More options were added to exactSNP program. Its documentation was also greatly improved.

    o A number of bug fixes.


CHANGES IN VERSION 1.10.0
------------------------

NEW FEATURES

    o Rsubread package can now run on Mac OS X operating systems.

    o Major updates to the function 'featureCounts', a general-purpose read summarization function.


CHANGES IN VERSION 1.8.0
------------------------

NEW FEATURES

    o Fine-tuning of read alignment function (align) and exon-exon junction detection function (subjunc).

    o Major update to SNP calling algorithm (now use Fisher' exact tests to call SNPs).

    o More efficient implementation for removing duplicated reads (eg. supporting multi-threads and using less memory).



CHANGES IN VERSION 1.6.0
------------------------

NEW FEATURES

    o Significant improvement on the exon-exon junction detection (subjunc function). 

    o Calling SNPs using a simple allele fraction approach (callSNPs function) . 

    o Removing duplicated reads (removeDupReads function). 

