##Ratio.js Release Notes##
Project Page: https://github.com/LarryBattle/Ratio.js
@Version: 0.4.1 - 10/10/2014
- Bug Fix: Ratio.gcd() now returns the correct value for when one input is 0.
- Bug Fix: Ratio.gcd() now returns the first argument for when one of the arguments is 0.
- Note: Ratio.gcd() will now return the first element if the argument.length is < 2.
- Bug fix: fixed corrupted .gitignore
- Enhancement: npm run format now formats gulpfile.js and all js files in ./test.
- Enhancement: Switched from jake to gulp
- Enhancement: Added npm run build to build new releases
- Enhancement: Added npm run lint to run jshint on ./lib/Ratio-beta.js
- Enhancement: Added npm run format to format js in ./lib
- Project Structure: Switched from MIT and GPL 3 license to only MIT license.
- Project Structure: The dist folder will now contain the release files
- Project Structure: ./lib/Ratio-beta.js will now contain the latest edge release of Ratio.js
@Version: 0.4 - 4/21/2013
- Added a logo for Ratio.js, located at
images/ratiojs-logo.png
- Added
Ratio.getStandardRatioArray()
- Added:
Ratio.prototype.numerator()
Issue 37 - Added:
Ratio.prototype.denominator()
Issue 37 - Bugfix: Issue 43, Subtraction modifies subtrahend Ratio object
- Bugfix: Issue 41, Ratio object visibility
- Bugfix: issued 35 Ratio.parse("0 a/b").toString() returns -a/b
- BugFix: Issue 38 Reexamine Ratio.regex
- Deprecated
Ratio.prototype.reduce()
, renamed to toRatio.prototype.simplify()
. - Deprecated the instance properties
.numerator
and.denominator
. They are now functions. This helps to hide implemtation. - Note: The instance
.divSign
will soon be deprecated.
@Version: 0.3.11 - 12/18/2012
- Added:
.gitignore
- Added:
devDependencies
to.\package.json
- Added:
Ratio.prototype.isNaN()
- Bugfix:
Ratio.prototype.deepEquals
now comparesthis.divSign
andthis.alwaysReduce
. - Bugfix: Issue 33,
Ratio.parse(0,0).reduce().toString()
now returns0/0
. - Updated: documentation.
@Version: 0.3.10 - 12/10/2012
- Added:
.\dev\jake removeMin
, removes old min files in.\lib
. - Added:
vendors
andvendors/qunit
. This makes it's easier to develop offline. - Added:
Ratio.simplifyENotation()
. - Bug Fix:
index.html
now shows the latest version of Ratio.js. - Buf Fix:
test\Ratio-benchmark.html
now points to the ratio benchmark script. - Updated: Corrected examples in documentation.
- Updated: Increase the iterations for the benchmarks to 10,000
- Updated:
Ratio.prototype.valueOf()
to useRatio.simplifyENotation()
@Version: 0.3.9 - 12/7/2012
- Updated: Build script to change the main scripts location for dependent pages.
- Added: Calculate PI user case test and additional constant testcases.
@Version: 0.3.8 - 12/6/2012
- Added: Three new constants.
Ratio.MAX_PRECISION
,Ratio.MAX_VALUE
, andRatio.MIN_VALUE
. - Removed: The vendor folder. Qunit will be downloaded from the qunit CDN link. Also YUI wasn't used.
- Renamed:
Ratio.getTypeGuess
toRatio.guessType()
- Updated: Documentation text.
@Version: 0.3.7 - 12/6/2012
- Renamed:
lib/Ratio.js
andlib/Ratio.min.js
files to include the version number at the end of the file names. - Changed: node example to point to
package.json
instead oflib\Ratio.js
. - Added:
Ratio.random()
@Version: 0.3.6 - 12/5/2012
- Added:
Ratio.prototype.floor()
,Ratio.prototype.ceil()
,Ratio.prototype.makeProper()
. - Bug Fix: Ratio.getTypeGuess() now accepts ratio string as "Infinity/x", where x is a numeric value, as a fraction.
- Bug Fix: The reduced ratio form of 0/x, where x is any non-zero, is 0/1.
- Bug Fix: All methods can be called without arguments without an error being thrown.
- Test cases were restructured and updated.
@Version: 0.3.5.1 - 11/14/2012
- Renamed the
docs
folder todoc
- Changes all
docs
references todoc
@Version: 0.3.5 - 11/2/2012
- Added:
Ratio.regex.*
to store all complex regular expressions. - Added:
Ratio.getCombinedRatio()
.
- Changed: The `Ratio` object is now wrapped inside a closure to provided support for "user strict".
- Changed: General methods with arguments now accept the same parameters. The methods are as followed.
Ratio.prototype.add()
Ratio.prototype.descale()
Ratio.prototype.divide()
Ratio.prototype.multiply()
Ratio.prototype.pow()
Ratio.prototype.scale()
Ratio.prototype.subtract()
- Fixed: "`b`" was global.
- Fixed: testcases removing the closure wrapper and "use strict".
- Removed: node.js test script. Use browser instead to view test results.
- Removed: `Ratio.prototype.approximateTo()` and merged it with `Ratio.prototype.toQuantityOf()`.
- Updated: Documentation
- Updated: README.md examples and removed refernces to `type`.
- Updated: Passed JSHINT wiht 4 warnings.
- Updated: testcases
@Version: 0.3.4 - 10/30/2012
- Conformed to node.js module standards. issue page
- Added test script to
package.json
. - Removed the
type
property from Ratio instances. Ratio.getTypeGuess()
andRatio.parseToArray()
is more fuzzy when parsing fractions and mixed number.
@Version: 0.3.3 - 10/25/2012
- Changed documentation to point to
Ratio.prototype.reciprocal
instead ofRatio.prototype.flip
. - Refactored the Ratio prototype to an object literal to save space.
- Updated readme.md to
require("lb-ratio")
for node installation example.
@Version: 0.3.2 - 10/21/2012
- Pushed to the npm repository under the name
lb-ratio
. - Added
Ratio.prototype.reciprocal
to point toRatio.prototype.flip
- Added
demo\node-test-Ratio.js
for testing node.js. - Bug Fix: Ratio has be been exported to the
module
directly. issue page - Updated documentation to fix format issue with the examples and provided more details on
Ratio.parse()
- Built documentation with YUIDocjs version
0.3.29
.
@Version: 0.3 - 10/15/2012
- Added:
Ratio.prototype.toQuantityOf
, picks the best approximate ratio within a given list of quantities(units) to estimate with. - Bug fix:
Ratio.prototype.approximateTo()
now returns a clone if an argument isn't passed. - Changed:
Ratio.prototype.approximateTo()
to only accept numbers.
@Version: 0.2.9 - 10/14/2012
- Bug fix: Passed true to all the
this.valueOf()
references to force all values to be numeric. - Bug Fix:
Ratio.parseToArray()
failed for mixed numbers where the faction had a negative value issue ticket - Refactored:
Ratio.prototype.findX
andRatio.prototype.approximateTo
- Updated testcases
- Build script how updates the version in
readme.md
@Version: 0.2.8 - 10/12/2012
- Added Ratio.js in the
demo
folder. - Added
Ratio.prototype.approximateTo
to approximate values to new fraction with a given denominator. - Changed the export object for node.js so that Ratio is the export object instead of exporting an object that points to Ratio.
- Added testcase for
Ratio.prototype.approximateTo
.
@Version: 0.2.7
- Added
Ratio.prototype.correctRatio()
to simplify the Ratio constructor. - Refactored
Ratio.getNumeratorWithSign()
@Version: 0.2.6
- Added detailed testcases for
.toLocaleString()
. - Removed
.toRaw()
- Updated testcases to use
.toString()
instead of.toRaw()
- Passed more testcases for
.toLocaleString()
@Version: 0.2.5
- Default value for Ratio.parse() is now
NaN
instead of 0/1 - Note that null, true and false are treatied as numbers.
- Improved Ratio.prototype.equals() to support all numeric types.
- Added: Ratio.prototype.deepEquals() for a strict comparison check.
- Added: Document comments for YUI-DOCS
- Updated: testcases.
@Version: 0.2.4
- Ratio.parse now supports mixed numbers.
- Changed the behavior of the Ratio constructor.
- Default values Ratio().toRaw() === "0/1"
- Supplied input for the numerator or denominator will eval to NaN if not a number.
- Default values Ratio().toRaw() === "0/1"
- Added: Ratio.getTypeGuess(), used to simplify the parsing functions.
- Deleted: Ratio.parseENotation(), Ratio.parseNumber(), and Ratio.parseDecimal()
- Updated Ratio.parseToArray() to include all the delete parsing functionality.
- Updated documentation.
@Version: 0.2.3
-
Changed the overall folder scripts to make it smaller and easier to understand.
-
Updated: Build script,
dev/jakeFile.js
. Read the source for the requirements.
Build script features:- Updated version information in Ratio.js
- Minimize Ratio.js to Ratio.min.js
- Updated documentation using YUI Docs.
* Added: `Ratio.prototype.flip()`
* Added: `Ratio.prototype.toMixedNumber()`
@Version: 0.2.2
- Added:
jakefile.js
for automation. - Replaced
doc
folder with output from yuidoc.
File: tests\Ratio_testcases.html
- Feature: Allow for
src\Ratio.js
andsrc\Ratio.min.js
to be tested without reloading or editing the page.
File: .\jakefile.js
- Feature: Added a compress option to create Ratio.min.js
- Feature: Added a documentation option to create the doc folder.
Folder: .\metrics\
- Added: Simple metrics cases for Ratio.js.
Folder: .\vendor\YUI
- Added: Will be used for metrics.
@Version: 0.2.1
File: "release notes.md"
- Added: "release notes.md" to keep track of changes.
File: src/Ratio.js
* Added: Ratio.prototype.findX.
File: test/js/Ratio_testcases.js
* Added: tests for Ratio.prototype.getPrimeFactors.
* Added: tests for Ratio.prototype.findX.
* Enhancement: Added more tests for scientific notation compatibility.
File: test/Ratio.js_testcases.html
* Added: UTF-8 as the character set.
File: vendor/qunit/
* Upgraded to qUnit 1.9.0pre.
@Version: Version <= 0.2
Refer to the change log in git for release notes of previous version.