Jmol History

## List of changes to Jmol:

Contributors:

> MTH = Miguel Howard (miguel@jmol.org)
> EW = Egon Willighagen (egonw@sci.kun.nl)
> TD = Tim Driscoll (driscoll@molvisions.com)
> NV = Nicolas Vervelle (nvervell@club-internet.fr)
> ST = Simon Tyrrell (smt40@cam.ac.uk)
> OS = Oliver Stuker (revilo@oc38.uni-paderborn.de)
> RK = Rene Kanters (rkanters@richmond.edu)
> RH = Bob Hanson (hansonr@stolaf.edu)
> JR = Jan Reichert (jr@imb-jena.de)
> FD = Fabian Dortu (fabian.dortu@wanadoo.be)
> BS = Bradley A. Smith (bradley@baysmith.com)
> DG = Dan Gezelter (gezelter@openscience.org)
> CS = Christoph Steinbeck (steinbeck@ice.mpg.de)
> TG = Tom Grey (t.grey@ic.ac.uk)
> CF = Charles Fulton (fultoncr@ucarb.com)
> MB = Mike Beachy (beachy@alum.mit.edu)
> HG = Hugo Garcia (elhugo@objectchemistry.org)
> MM = Matthew Meinek (mmeineke@nd.edu)
> JJ = Jochen Junker (jochen.junker@yale.edu)
> CR = Christian Ribeaud (christian.ribeaud@genedata.com)
> JRK = Jonathan C. Rienstra-Kiracofe (jrienst@emory.edu)
> CR2 = Carl Resnikoff (carl@resnikoff.net)
> AS = Agustí Sánchez (asanc@users.sourceforge.net)
> CPY = Chih-Peng Yang (cpyang@siraya.net)
> RG = Rajarshi Guha (rxg218@psu.edu)
> TIM = Tache Ionut Madalin (madalin@notme.org)
> FL = Friedmann Lívia (semper_fi@galamb.net)
> IS = Ivo Sarak (ivo@vendomar.ee)
> CPN = Clodoaldo Pinto Neto (clodoaldo.pinto@gmail.com)
> PV = Peter Vanwing (gagaman@gmail.com)
> AH = Angel Herráez (angel.herraez@uah.es)
> TOHW = Toby White (tow21@cam.ac.uk)

### jmol-10.??

- Altered CmlReader.java adapter to allow cml input to applet by reading DOM nodes from the browser. (TOHW)
- Completed much of the CdkJmolAdapter: PDB properties are now supported, and ChemSequence/ChemModel is mapped to AtomSetCollection/AtomSet. (EW)
- Added reading of input structures from Mopac files. (EW)
- Added Folding@Home (folding.stanford.edu) current.xyz files reader. (NV)
- Added Unicode support in scripts. (MTH)
- Added rendering of mesh surfaces.
- Added rendering of polyhedrals. (MTH)
- Added Drag-and-Drop to the application for JVM 1.5 and better. (ST)
- Added the DADMLBrowser plugin allowing retrieving chemical information from the internet by queries on indices and URIs like dadml://any/pdbid?1CRN. (EW)
- Added support for Spartan '04 smol files. (EW)
- Added substructure command for SMILES pattern matching. (NV)
- Dutch, Estonian, Hungarian, Portuguese, Romanian translations of Folding@Home webpage. (PV,IS,FL,CPN,TIM)
- Spanish translation of Application, Applet and website. (AH)
- Estonian translation of Application and Applet. (IS)

### jmol-10

- Rearchitected and reimplemented Jmol core (MTH)
- Architected and implemented org.jmol.g3d graphics rendering engine for high-performance 3D rendering of molecules without hardware support (MTH)
- Architected and implemented org.jmol.viewer core data structures (MTH)
- Architected and implemented support for protein secondary structures (MTH)
- Rearchitected and reimplemented file io system (MTH)
- Architected org.jmol.api.JmolAdapter api to separate file IO from graphics rendering (MTH)
- Wrote org.jmol.adapter.smarter.Resolver to provide automatic identification of file types (MTH)
- Implemented most file types within org.jmol.adapter.smarter, including xyz, mol, pdb, cif/mmCif, gaussian, jaguar, shelx, etc. (MTH)
- Wrote Jmol.js JavaScript library to facilitate development of web applications. (MTH)
- Wrote JmolAppletControl mechanism to support browsers without JavaScript (MTH)
- Extended and ensured portability of core JmolApplet to web browsers with Java 1.1, including Netscape 4.7 and Internet Explorer on both Win32 and Mac OS 9 (MTH)
- CmlReader, CdkModelAdapter, cdk integeration, wiki, general project administration (EW)
- Provided significant support and testing in the areas of polymer definitions, web application development, JavaScript, and Mac OS X portability. (TD)
- French translation, code cleanup, JavaDoc, readers (NV)
- AtomSetChooser mechanism, improved Gaussian reader, implemented NWChem reader (RK)
- Assistance in areas of multiple models, insertion codes, polymer definitions, applet testing (JR)
- wiki.jmol.org (OS)
- Interactive scripting tutorial, applet testing (RH)

### jmol-9

- Activated a plugin architecture for CDK plugins. (EW)
- Fixed a number of IO bugs (closes #783663, #823957 and #826934) (EW)
- Fixed run target in Ant build.xml. (EW)
- Added feedback on memory usage to statusbar. (EW)
- Added reader and writer for HIN (HyperChem) format (RG)
- Added help button in script window. (EW)
- Added license item in help menu. (EW)
- Fixed calculation of unit cell angles in crystal property box (closes #865393 and #863644). (EW)
- Fixed reading of unit cell angles from ShelX files. (EW)

### jmol-8

- Made detection of MDL mol files more flexible, allowing v2000 with lower case too. (EW)
- Auto-decompress gzipped files. (MTH)
- Corrected documentation to state that J2SE 1.4 is required (closes #769822). (EW)
- Implemented a script command history. (AS)
- Fixed ReaderFactory buffer.reset() problem (closes #799963) (MTH)
- Fixed reading of CML2 style crystal data (closes #792091), and detection of CML files without the XML declaration. (EW)
- Repaired Recent Files, add double Click to select, fixed window Title. (MTH)
- Added a --help option to the command line. (EW)
- Added JmolAppletProxy to allow applets to fetch remote files. (MTH)
- Added Chinese GUI translation. (CPY)
- Added CIF/mmCIF reader with minimal features. Reads unit cell parameters, and atomic coordinates, but not space group symmetry operations (effectively only P1 correctly). (EW)

### jmol-7

- Reimplementation of rebonding algorithm using BST. (MTH)
- Added VASP reader. (FD)
- Added Gaussian 03 reader. (JRK)
- Fixed reading of frequencies in Jaguar 4.2.77 output files (bug #749430). (EW)
- Fixed reading of frequencies in AcesII output files (bug #740967). (EW)
- Added new window option (feature #743640). (CR2)
- Fixed reading of some ABINIT output files (feature #746494). (FD)
- Fixed some JavaDoc. (EW)

### jmol-6

- Reimplementation of rendering with perspective depth support and performance improvements. (MTH)
- Moved IO classes into separate package. (EW)
- Moved rendering classes into separate package. (MTH)
- Jmol is now based on CDK (Chemistry Development Kit). (EW)
- Added Spanish translation. (MTH)
- Display speed can be displayed in milliseconds and in frames per second. (EW)
- Reimplementation of scripting functinality with support for most RasMol/Chime scripting commands. (MTH)

### jmol-5

- Internationalized Jmol and added Dutch translation. (EW)
- Fix for reading some of MOPAC 2002 files. (Files without a blank line after the coordinates.) (BS)
- Fix reading of large PDB files. Multiple models are read into separate frames. (BS)
- Improved reading of PDB atom types by using element from first two columns of atom name. (BS)
- Temporary removal of defective parsing CONECT fields by PDB reader. Once fixed, the feature will be reinstated. (BS)
- Crystal properties dialog, and unit cell visualization has been added. (FD)
- ABINIT energy data reading is added. (FD)
- Added reader for ShelX97 files containing a crystal structure. (EW)
- Translated the Jmol GUI into Spanish. (MTH)
- Fixed the PropertyGraph. Data is no longer duplicated on reopening the dialog and data of previous file is deleted when opening a new one. (EW)
- Fixed NullPointerException in deleting atom, and bug in determining wether the ChemFrameRenderer should update its cache. (EW)

### jmol-4

- Reading of MOPAC 97 and 2002 files. Formerly, only MOPAC 7 files worked. (BS)
- Jmol can now also read files in non-CML with the command "jmol <filename>". (feature #555462). (EW)
- The PDB reader now also parses CONECT fields and implements Rasmol's perception of bond orders. (EW)
- Atoms can now also be colored by their partial atomic charge. (feature #552476) (EW)
- Addition of a ABINIT reader. (FD)
- PDF export. (feature #533212) (BS)

### jmol-3

- Export of BMP and PNG images. (CR)
- Rendering of multiple bonds. (BS, JJ)
- Scaling of vector arrowheads by magnitude which shows significant vectors more clearly. (BS)
- Fixed bugs 547574 and 548591. (BS)
- Adjustable scaling of vector length from -2.0 to 2.0 times length. (BS)
- Import of Ghemical MM files. (EW)
- Automatic file type determination used for all loading of files. (BS)

### jmol-2

- Relicensed as LGPL.
- Simplified interface by combining toolbars and removing unimplemented menu items. (BS)
- Improved interface to POV-Ray. (MM)
- Fixed vector rendering. (BS)
- MDL file reader. (JJ)
- Fixed reading certain GAMESS and Dalton files. (bug #529999)
- Major update CML import.

### jmol-1.2

- Fixed line separator for XYZ output. (bug #519101)
- Added rudimentary PDB output. (bug #519100)

### jmol-1.1

- Bugfix release
- Fixed PDB reading. (bug #496332)
- Fixed jmol script to work on Solaris. (bug #425925)
- Added workaround for precompiled Jmol on Solaris. (bugs #426229, #508364)
- Removed infinite loops. (bug #426679)
- Fixed problems with file type setting
- Added cancel button to RecentFiles dialog
- Bond computation is now really setable. (bug #431146)

### jmol-1

- Reads output files from Jaguar, Dalton, MOPAC, and Gaussian 90/95. (BS)
- Migrated development to SourceForge.net
- New versioning scheme
- Maintenance

### jmol-0.6.1

- Many minor bugfixes (DG)
- Progress on JmolApplet (TG,BS)
- JmolFileFilter (TG)
- Bug fix in Animate (DG)
- Splash screen now has a status line (TG)
- DisplaySettings no longer used as static (BS)
- CMLReader replaces CMLFile (BS)
- Fewer dependencies on jmol.home property (BS)

### jmol-0.6

- New ChemFileReader/ReaderFactory architecture(BS)
- Can now read files from the following ab initio quantum chemistry programs: GAMESS, Gaussian92, Gaussian94, Gaussian98, Amsterdam Density Functional (ADF), Advanced Concepts in Electronic Structure II (ACES2)(BS)
- Animation of pre-computed Normal Mode Vibrations via the Extras -> Vibrate command(BS)
- Entirely new distance, angle, and dihedral measurement architecture(DG)
- Choice of smoother animation using interpolated frames (EW)
- Wireframe rotation code and menu choices(TG,DG)
- Jmol console to capture stdout and stderr(CF,BS)
- DisplaySettings moved out of various classes and into a single class (BS)
- Split of AtomType functionality into BaseAtomType(BS)
- Test Classes for various other classes(BS)

### jmol-0.5

- Numerous small bug fixes.(DG)
- FileSaver, XYZSaver and CMLSaver classes are new. You can now save the current structure to either XYZ or CML formats.(DG,EW)
- Package name is now org.openscience.jmol.(DG)
- Modifications to the CML parsing routines to use the new CML-1999-05-15.dtd (EW)
- DTD resolver that allows us to embed the current DTD in the jar file. (DG)
- Rewrite of file-I/O routines. They all implement ChemFile now. (DG)

### jmol-0.4

- Jmol can now parse Chemical Markup Language (CML) files thanks to E.L. Willighagen(EW)
- Many internal changes in the AtomType JTable supporting classes to reverse some stupid decisions I made early on. (DG)
- AtomTypeTable now stores the AtomType information as a resource (DG)
- Changes in AtomTypeTable headers to support multiple line headers (DG)
- StatusBar is now a 3-wide set of JLabels that post more useful information (DG,CS)
- Swing 1.1.1 Beta 2 (HTML labels if we want to use them)(DG)

### jmol-0.3

- PhysicalProperties (Charges, NMRShieldings, Vectors, etc.) can be set by the file readers. Christoph Steinbeck asked for this originally when he wrote GaussianFile. It was a good idea, and was worth the extensive rewrite. (DG)
- Swing 1.1.1 Beta 1 (fixes some annoying bugs for Java 1.1 users) (DG)
- The GaussianFile class has been updated to read general Gaussian files (not just G98) and to automatically compute chemical shifts using stored ab initio values for tetramethyl silane's chemical shift. (CS)
- Some bug fixes.(DG)
- Shaded bonds that look like cylinders. Well, at least they look a little bit like cylinders. End caps would be a nice addition, but I've been a bit busy lately.(DG)
- FileTyper and ImageTyper accessories for JFileChooser make choosing file types more sensible than just using the filename filter. These classes were rationalized after 0.2 had already been released. They also listen to the JFileChooser to try to guess what kind of file you just selected (only if UseFileExtensions is set).(DG)

### jmol-0.2

- Many internal changes.
- Jmol has moved to a new home. I've been working on a web site called "The OpenScience Project", and have registered a domain for it, so Jmol is the first of the software projects that is housed at www.openscience.org (DG)
- Christoph Steinbeck contributed a new input filter for Gaussian 98 log files, complete with a parser for NMR chemical shifts.(CS)
- The file readers now subclass a more general (but very simple) ChemFile class. This should make addition of other file readers easier.(DG)
- File Type selection is no longer dependent on the file's extension. You can select a "*.jnk" file and explicitly tell Jmol what kind of file it is when opening the file. (DG)
- There is a strange interaction between fillPolygon in jdk1.2 and the X server under Solaris x86. (And circles under jdk1.2 look lumpy on many architectures.) I've built a workaround into Jmol which involves talking directly to the Graphics2D object underlying the display panel to set some Rendering hints. This workaround has the benefit of making some really nice pictures when you want high quality (but lower speed). If you have jdk1.2, turn on AntiAliasing in the Preferences to see the difference. An unfortunate side effect is that you now need the jdk1.2 classes to compile (but not run) Jmol. (DG)
- A Jpeg encoder has been added. The JpegEncoder and its associated classes are Copyright (c) 1998, James R. Weeks and BioElectroMech. This software is based in part on the work of the Independent JPEG Group.(DG)
- Build process now uses a Makefile.(DG)
- The Makefile now has the ability to create javadocs of the source code.(HG)

### jmol-0.1.1

- Removed the extra double-buffering that resulted from not understanding that Swing components are automatically double-buffered. This resulted in substantial performance improvements.(DG)
- Fixed some depth strangeness in the drawn atom sizes.(DG)
- Fixed the bonds so that they render more realistically as the molecule is being rotated. End caps for the bonds are still in progress.(DG)
- Reordered the toolbar buttons and added a button for molecule deformations that will eventually do something useful. (DG)

### jmol-0.1

- There are some major new features, so the minor version number has been incremented. (DG)
- Atom Types are now editable using "Atom Properties" in the Edit Menu. This added a large chunk of interface code to do the JTable and cell editors and column sorters. The edited atom types are saved in the .jmol directory under the user's home directory.(DG)
- The Preferences dialog now saves preference info in the .jmol directory under the user's home directory.(DG)
- Reorganization of classes into a jar file.(DG)
- An atom selection mechanism now is working.(DG)
- Reorganization of source: BondTypeTable is gone, BondType is now replaced by Bond. Many other changes for new AtomTypeTable. (DG)
- Silly little Splash screen, but it makes startup feel faster when there is something popped up on the screen almost immediately.
- There is now a "Front" item in the View menu. The View menu actions are not intuitive yet, so they will be changing in a future version. Don't get used to them.(DG)
- There is a new "fast forward" button in the Animate dialog that takes the animation to the last frame.(DG)
- The Rewind, FastForward, Next, and Previous buttons in the Animate dialog now stop the animation when they are pushed. (DG)
- Swing version incremented to 1.1

### jmol-0.0.4

- Now using swing-1.1beta3, with all of the associated package name changes from com.sun.java.swing to javax.swing (DG)
- Fixed bug in jmol.bat script (DG)
- "What's New" menu item in "Help" menu displays a dialog with the contents of this file (DG)
- "doc" subdirectory, empty for now, but it's the thought that counts (DG)

### jmol-0.0.3

- Image encoders courtesy Jef Poskanzer were used to export GIF and PPM files (DG)
- New "Display" Menu with submenus for atoms, bonds, and labels (DG)
- New Icons courtesy Dean Jones were used whenever possible (DG)

### jmol-0.0.2

- Atom Labels (DG)
- multi-frame XYZ file-reads (DG)
- Animation (DG)
- Preferences dialog (DG)

### jmol-0.0.1

- Everything (DG)
- Sensible polygon vertexes for QuickDraw Bonds (MB)
- single-frame XYZ file reads (DG)