Build 2026-03-26
	General Changes/Features
	-	The Sequence Blocks window now imports and exports the database to XML format.  This will prevent issues with the database not being recognized as valid as can happen in the previous serialized data version.
	-	Information on changes, bug fixes, etc... will be entered in this document instead of through the About menu.
	-	PLOTJ instances have an additional public function getMapImage() that returns a BufferedImage object of the current map in the window.  This can be used to automate saving files as
		custom documents using FileWriter plugins.
	-	Feature Presets are now available.  These can be made through the Liraries > Manage Feature Presets menu item.  Presets can be used to quickly set properties for a feature in the
		New Feature or Edit Feature windows.
	-	Redundant and unimplemented menu items in the feature popup menu have been removed
	-	Selecting features that are genbank type 'cds' before opening up the edit sequence window results in the window showing the appropriate
		reading frame by default.  This includes antisense coding sequences.
	-	Selecting the reading frames to display now shows the correct antisense reading frames using standard numbering conventions.

	FileConverter Plugin Related changes
	-	There are no longer public FileReader/FileWriter implementations,  FileWriter/Reader/Converter plugins should be subclassed from one of three classes listed below and
		should be instanced using the no-argument constructor which should call the super(String fileExtension, String fileDescription) constructor.
			plot.AbstractFileConverter A basic starting class for FileConverter plugins that can both read and write a custom format.
			plot.AbstractFileReader A basic starting class for FileConverter plugins that can read but not write a custom format.
			plot.AbstractFileWriter  A basic starting class for FileConverter plugins that can write but not read a custom format.
	-	There is no longer a separate folder for FileConverter plugins.  FileConverter plugins should be placed in their own sub-folder of the Plugins folder just like any other plugin.
		Additional dependencies they use should likewise be included in the same sub-folder.
	-	FileConverter plugins can now be dragged and dropped into the PLOTJ window to be loaded like standard plugin .jar files.
	-	The ProjectDocument class (the main object that is displayed and manipulated in pLOT) has additional functions to access information on the documents contents as described below:
			getEnzymeMixes() returns an ArrayList of clones of the Enzyme Mixes in the ProjectDocument.  These items can be manipulated and disposed without altering the document and are intended for FileConverter plugin creation.
			addEnzymeMix(EnzymeMix e)

			getEnzymeFilters() returns an ArrayList of clones of the Enzyme Filters in the ProjectDocument.  These items can be manipulated and disposed without altering the document and are intended for FileConverter plugin creation.
			addEnzymeFilter(EnzymeFilter e) Adds an EnzymeFilter to the ProjectDocument.  If the ProjectDocument is displayed in a PLOTJ window, the map will be updated.

			getSelectedEnzymes() returns an ArrayList of clones of Enzymes in the ProjectDocument that are selected for display on the map.  These items can be manipulated and disposed without altering the document and are intended for FileConverter plugin creation.
			addSelectedEnzyme(String enzymeName) Adds an enzyme as selected for display on the map (if it is present in the sequence). The name is not case-sensitive.  Nothing will happen if the enzyme does not exist in the pLOT database or is already added to the document.

	-	The public XML_Document class which can load and save XML documents and is intended to help with plugins that are used for creating and saving databases in XML format.
	-	The public PLOT_XML class has been added allowing you to convert a number of the classes pLOT uses internally to and from XML.  This allows for creation of
		standardized formats for custom databases, etc... 
	-	pLOT FileConverter Plugins have been changed to return Object rather than GenbankFileReader.GenBankFile as the class for the loadFile(java.io.File file) function.
		Object classes that are currently recognized are the GenbankFileReader.GenBankFile (for backward compatibility) and the plot.ProjectDocument classes.

	- Custom Feature Presets (selectable in the New/Edit Feature window) are now available.  An editor can be called up from the Library Menu item and the database will be saved as an xml file in the Config folder.
		User presets will be loaded automatically at startup.


	Bug Fixes
	-	A bug that resulted in some features not being copied and pasted correctly has been fixed.  This would manifest as a pasted sequence not including the features of incorrectly assigning their
		coordinates as past the length of the sequence and showing the feature as having zero length on the map.
