Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
Unreleased
0.7.16 - 2018-04-16
Fixed
- Fix screenshots in stereo mode.
- Clear selection correctly during reset.
- Fix quoted quotes (
"\""
) processing in scripts. - Keep string values as quoted strings in script.
- Prevent
VERSION
setting field from appearing in script and URL. - Add delimiter between mode and reps name in result of list command
- Fix abnormal mouse zooming leading to negative scale
- Support
Mouse Wheel + Shift
for cliplane tuning in Firefox and Opera - Fix text wrapping of a selector on Representation panel.
0.7.15 - 2018-03-26
Fixed
- Fix a crash when a non-integer unit index is set.
- Fix message about current unit after try to change.
- Use default gradient color for the case of no temperature/occupancy.
- Use average temperature and occupancy for residue coloring.
- Use
groupId
as a sequence index for MMTF.
0.7.14 - 2018-03-12
Added
- Add GitHub and EPAM urls to the demo app menu.
Fixed
- Fix copyright year in docs and in the menu.
- Fix source maps location in the minified build.
- Do not rebuild QS and CS surface modes when the menu is opened/closed.
- Workaround a crash in three.js when rendering empty geometry with wireframe.
Internal
- Migrated to Webpack 4, updated other dependencies.
0.7.13 - 2018-02-19
Added
- Add basic support for HTC Vive controllers in VR.
Changed
- Replace Gulp with direct NPM scripts (#32).
0.7.12 - 2018-02-05
Added
- Add
Miew#exportCML()
method to retrieve a CML contents (including modified atom coordiantes) if a CML file was loaded. - Add a secondary structure assignment routine (#30):
Miew#dssp()
method anddssp
script command. Available from UI too.
Changed
- Automatic bonding uses a faster approach (voxel grid).
Fixed
- Fix a crash in library when TextMode is used.
- Fix a couple of bugs with parameters of surface modes in UI.
0.7.11 - 2018-01-17
Fixed
- Fixed a loading error in IE11 when a relative URL is used.
- Fixed an FBX export.
- Renamed files and classes to match and fixed other code smells found by SonarCloud.
0.7.10 - 2017-12-25
Added
- Add more unit tests for loaders.
- Add WebVR stereo mode (still in PoC stage).
Changed
- Refactor loaders API and switch to the new way of loader auto detection.
- You may load electron density data by PDB ID using prefixed notation, e.g. “ccp4:3C9L” (the full list of prefixes is pdb, cif, mmtf, ccp4). In the case the prefix is omitted, it is a “pdb”.
- Another prefix is “pc” (or “pubchem”) which allows loading a compound from PubChem database, e.g. “pc:serotonin”.
- Otherwise, the source string is assumed to contain a URL, either absolute or relative to the current page location.
Fixed
- Fix loading electron density presets from a server.
0.7.9 - 2017-12-11
Added
- Add an
ImmediateLoader
for loading structures from pre-fetched data. - Add loader unit tests.
Changed
- Sequence colorer uses white color as default for files where “sequence” is not applicable.
- CML files are parsed with default temperature of 0 and default chain id
' '
(space). - Support different line endings in PDB format: LF, CR+LF, CR.
- Refactor parsers API and switch to the new way of parser auto detection.
Loader#load()
now returns a promise.- Process a request to abort the parsing stage in a base class.
- Changed appearance of the terminal window to make it conform to the overall style and to avoid attempts to click on transparent areas.
Deprecated
- Deprecated old
io.parsers
methods andParser.canParse()
, replaced them with alternatives. - Callbacks in loading methods should be avoided, please use promises.
Fixed
- Fix a crash in water bonding hack.
- Limit the number of representations correctly.
- Fix parser unit tests.
0.7.8 - 2017-11-27
Added
- Show the chain/molecule information when pick mode is set to chain/molecule.
Fixed
- Fix a crash during typing in the Load panel introduced with the previous release.
- Fix a hangup caused by uppercase letters in terminal commands.
- Fix a picking near the terminal window border.
- Fix incorrect formatting in terminal (upgraded jquery.terminal to v1.10.1).
- Fix surface parameter values in UI. Now they are not global and belong to a mode instance as they should be.
- Fix useless assignments in the code.
0.7.7 - 2017-11-20
Demo application was accidentally broken in this release. Hotfix is available in 0.7.7+hotfix and later releases.
Added
Parser#parseSync()
- a synchronous method for parsing.- Unit tests for the
Parser
class.
Changed
Parser#parse()
now returns a promise.
Deprecated
- Callbacks in parsing methods should be avoided, please use promises.
Fixed
- Fix a crash at non-protein molecules which contain a lone residue.
- Fix the context menu appearing when you move the molecule using right mouse button.
- Fix UI scale on mobile devices.
- Fix molecule offset on mobile devices.
- Fix theme changes from the terminal.
- Fix
Parser.checkDataTypeOptions()
, it shouldn’t accept a file with a matching extension if the explicitly given type is different. - Fix the incorrect error message about currently supported file types in the
Load
UI Panel.
0.7.6 - 2017-11-13
Changed
- Upgrade three.js to r87.
- Log errors as console errors instead of normal text.
- Refactor and rename private methods. Make loading pipeline implementation easier to understand. Public API should not be affected (yet).
Deprecated
- Camera panning API should not be used.
Removed
- Remove old profiling methods.
Fixed
- Fix a 100% crash in animation.
- Change float texture format to RGBA32F which should be available if
OES_texture_float
extension is present. Firefox should be able to display volumetric data now. - Check for floating point render target support, which is required for volumetric rendering. Note that the support is not available on iOS devices.
- Re-render and re-calculate the center after a file was unloaded.
- Fix warnings during shader compilation on iOS.
- Fix component movement during editing.
0.7.5 - 2017-10-30
Added
- Display a lone residue in Cartoon-like modes.
- Add Deuterium (D), Tritium (T) atoms and heavy water (DOD) residue.
- Add
miew
global variable in the demo app. - Add an automatic lookup for a container using
#miew-container
id or.miew-container
class. - Add and index page for examples. It can be accessed at
/examples/
url. - Start adding e2e tests for API.
Deprecated
- Old-fashioned atom labels are hidden from the UI and should not be used Use Text Mode instead.
- The
MIEWS[]
global array should not be used in the demo app, use a singlemiew
variable.
Fixed
- Fix a crash in IE due to a read-only style assignment.
- Fix a crash in Text Mode with the fog turned off.
- Fix a crash in MMTF parser for NMR models.
- Fix the fog update and reorder updating other visual attributes.
- Fix Temperature coloring in the case when min equals max.
- Sort labels in Text Mode by distance to the camera (only roughly, using z-index CSS property).
- Hide text labels behind the camera.
- Assign radius of 1 to unknown atoms.
- Use the default preset when auto detection is off (
autoPreset=0
). - Fix the version number in a demo built by Travis CI: ‘-mod’ suffix should not appear anymore.
0.7.4 - 2017-10-16
Added
- Add e2e tests with golden images using Selenium WebDriver. Run
npm run e2e
orgulp test:e2e
, then examine the results withgulp show:e2e
. - Recognize pi-helices in PDB files (class 3) and color them dark violet.
Fixed
- Fix unlit geometry (Lines Mode, Lines Objects) rendering for IE and Edge.
- Fix clipping of electron density volumes.
- Fix
build all
script command when autobuild is disabled. - Fix the current material highlight in UI when changing it from the terminal.
- Fix the
list
script command when a missing rep is specified. - Prevent ‘s’ key from appearing in the terminal when it is closed.
- Fix screenshots in case when the height is greater than the width.
- Fix curved surfaces on iPad and similar hardware, choose appropriate shader precision automatically.
Changed
- Use webpack dev server for
npm start
command.
0.7.3 - 2017-10-02
Added
- Add functional tests for parsing PDB, CIF, MMTF, PubChem, CCP4.
- Add automatic deployment to a tomcat server via SSH.
Changed
- Mark GLY residue as a
nonpolar
one. - Extract PDBStream as a separate module.
- Specify supported browsers list explicitly in
package.json
. - Use
env
Babel preset as recommended by authors. - Configure webpack to produce multiple chunks for better caching.
- Upgrade to Yarn v1.0.2, update other dependencies.
Fixed
- Fix parsing of CCP4 files with symmetry operations stored.
- Fix parsing of CCP4 files from a typed array.
- Take volumetric data into account when calculating a bounding box and centering on the screen.
- Fix volume faces and add a plane for correct volumetric rendering during zoom.
- Resolve some minor issues found by Sonar.
- Make NPM package public.
0.7.2 - 2017-09-19
Added
- Add integration with online services: Travis CI, AppVeyor, Coveralls, CodeClimate, SonarCloud, BitHound.
- Add automatic tagged version deployment to NPM.
- Add a code of conduct.
Changed
- Use Jmol secondary structure colors for DNA and RNA, shades of pink instead of light gray.
- Change
rep <idx>
command behavior in the case when the specified representation is missing. - Use
babel-polyfill
to support ES6 features (Promises andNumber.isNaN
at the moment). The polyfill is not included in the library build, use any implementation you’d like. - Upgrade to jQuery 3.
- Update dependencies to the latest supported versions.
0.7.1 - 2017-09-06
Changed
- Update dependencies to the latest supported versions.
- Move the project to GitHub.