Releases: davidbkemp/jsqubits
Updated dev libs
Runtime javascript has not changed.
This release just has an updated set of dev dependencies for linting and testing.
Put Complex constants back into Complex
- Put Complex constants back on Complex
- Put roundToZero and ALL on QSTATE
- Keep all the constants on the top level Qubits object to hopefully make it backward compatible with 2.0.0
This seems more sensible that having a constants object. Ideally they would actually be static constants on the classes but Safari doesn't support them yet.
Unfortunately, they aren't really constants anymore. i.e. there is nothing stopping a client from changing their values.
roundToZero was never actually meant to be a constant. i.e. it is something that you should be able to configure.
Moving from Travis to Github actions. Not sure what is going on with Travis.
I think this is backwards compatible with version 2.0.0
Only support ES modules
For this release:
- the javascript can now be used directly in modern browsers and Node version 15.
- no longer support CommonJS modules. To use v2.0.0 you need to import the code as an ES module using
import
. See the README.md for more details on usage. - moves static
Complex
constantsZERO
,ONE
,SQRT2
, andSQRT1_2
fromComplex
to the top levelQubits
object.
This is because Safari does not yet support static constant class declarations. Note after making this release I have figured out a work around. Perhaps they can be restored in a subsequent release.
Documentation update
README now includes links to TypeScript repos.
Published to npm
This is what was published to npm as version 1.1.0
It includes the ES6 re-write.
It should be backwards compatible with version 1.0.x.
To use a release you will need to install Node.js and run
npm install
Very minor changes
- Improved approach to checking parameter types.
- Minor documentation updates
To use a release you will need to install Node.js and run
npm install
Various bug and documentation fixes
Mostly addressing various es-lint errors and warnings.
Update documentation on how to run the examples.
I am still not happy with the impact of the ES6 migration, but the documentation updates might help.
NOTE: If you down load this release, you will still need to run
npm install
Version 1
Formatting of states has changed and so may break existing clients.
Support array of bit indexes as a measure() parameter
QState.measure() can now take an array of bit indexes.
Added support for require.js and bower.js
Added support for loading via require.js.
May cause problems with existing usages, but only if they are already using require.js.
Also added bower.json to allow installation via bower.