You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

161 lines
5.4 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# JSON 3 Releases
## 3.3.2
### 2014-06-22
* Test the minified version on Travis [Issue #35].
* Add a change log and contribution guidelines [Issue #55].
* Include the minified version in the npm package [Issue #59].
* Simplify `bower.json`.
## 3.3.1
### 2014-04-08
* Reduce the Bower package size by lazily downloading the Closure Compiler [Issue #54].
* Make `JSON3.noConflict()` idempotent [Issue #56].
* Improve AMD `define` pragma detection before minifying.
* Support [`node-webkit`](https://github.com/rogerwang/node-webkit) and web workers.
## 3.3.0
### 2014-01-20
* Export a `JSON3` global in browsers and JavaScript engines.
* Add `JSON3.noConflict()` and `JSON3.runInContext()` [Issue #50].
* Add a post-minification step to remove multiple IIFE wrappers.
* Optimize `quote`.
## 3.2.6
### 2013-10-25
* Add Travis CI integration.
* Support [Bower](http://bower.io/), [Component](https://component.github.io/), [Jam](http://jamjs.org/), and [Volo](http://volojs.org/).
* Test with Node, PhantomJS, RingoJS, Rhino, and Narwhal on Travis.
* Simplify exports.
* `stringify()` optimizations.
* Add a `?minified` query parameter to the browser harness for testing the minified version [Issue #35].
* Detect trailing comma and trailing decimal extensions in Rhino 1.7R3-R4 [Issue #46].
## 3.2.5
### 2013-06-14
* Use `object.hasOwnProperty(prop)` instead of `Object#hasOwnProperty.call(object, prop)` when iterating over host objects [Issue #18].
* Minification improvements; avoid munging the AMD `define` pragma [Issue #22; PR #25].
* Use character codes instead of strings in `lex()`. Optimize for valid source strings [Issue #23; PR #27].
* Support Adobe ExtendScript [Issue #29].
* Handle serializing ExtendScript host objects that throw exceptions [Issue #30; PR #31].
* Support Browserify and RequireJS by exporting for CommonJS and AMD [PR #33].
* Use square bracket character access in `parse`. Add a `charIndexBuggy` flag.
* Add a benchmark suite.
## 3.2.4
### 2012-10-11
* Change the export order to prefer `module.exports`, `exports`, and then `define` [PR #14].
* Avoid conflating duplicate properties and circular references [Issue #15].
* Export `parse` and `stringify` globally even if an AMD loader is present [PR #17].
* Isolate the feature tests into a `has()` function for [`has.js`](https://github.com/phiggins42/has.js) compatibility [Issue #19].
## 3.2.3
### 2012-07-13
* Prototype <= 1.6.1 compatibility [Issue #8].
* `stringify()`: Iterate over whitelisted properties in order [Issue #12].
* Correctly detect trailing commas in array literals.
## 3.2.2
### 2012-05-05
* Correctly detect native `parse()` implementations in AMD loaders and CommonJS environments [Issue #9].
* `parse()`: Use `delete` instead of `Array#splice()` when removing elements from traversed arrays [Issue #10].
* Detect `parse()` number grammar extensions in IE 9 [Issue #11].
## 3.2.1
### 2012-04-26
* Reduce the file size by removing parse error strings [Issue #5].
* Fall back to the native `stringify()` and `parse()` implementations in AMD loaders and CommonJS environments [Issue #6].
* Use the correct global object when exporting for browsers and JavaScript engines.
* Support building on Windows by using `zlib` instead of shelling out to `gzip`.
* Switch to the Closure Compiler for generating the minified version.
* [`r.js`](http://requirejs.org/docs/optimization.html) compatibility.
* Safari < 2.0.2 and Opera >= 10.53 support.
## 3.2.0
### 2012-04-15
* Override native `stringify()` implementations to work around date serialization bugs.
* Ensure the date serialization tests pass in all time zones [Issue #3].
* Add a workaround for buggy `Date#getUTC{FullYear, Month, Date}` implementations in Opera > 9.64 [Issue #4].
* Ensure Firefox <= 11.0 serializes negative years as six-digit extended years.
* Ensure Safari <= 5.1.5 serializes milliseconds correctly.
* Add a Node-based build script.
* Vendor all dependencies.
* Opera 7.54u2 support.
## 3.1.0
### 2012-03-22
* Switched to `bestiejs` organisation
* Added support for a list of properties as the `filter` argument for `JSON.stringify`
* Fixed Firefox 4 and 4.0.1 allowing non-standard extensions to `JSON.parse`
## 3.0.0
### 2012-03-20
* Renamed `JSON3` to `JSON`
* Removed `JSON3.Version`
* Added minified version of library
* Created a [GitHub Project Page](http://bestiejs.github.io/json3)
* Preserved alphanumeric order when iterating over shadowed properties on objects
## 0.8.5
### 2012-03-16
* Avoided relying on native functions `Math.abs`, and `isFinite`, and native constructors `String`, `Number`, `Object`, and `Array`
* Fixed AMD export logic
## 0.8.0
### 2012-03-15
* Renamed `Prim` to `JSON3`
* Added `JSON3.Version`
* Added support for AMD lodaers as the `"json"` module
* Added feature tests for native `JSON` implementations
* Added string coercion for the `source` argument in `JSON3.parse`
* Fixed the date serialization routine in `JSON3.stringify`
## 0.5.0
### 2012-02-18
* Fixed `Prim.stringify`s handling of the `width` argument
* Added Microsofts [ES5 Conformance Tests](https://es5conform.codeplex.com/) to the test suite
## 0.2.0
### 2012-02-17
* Added `Prim.stringify` for serializing values
* Renamed `Prim.Escapes` to `Prim.Unescapes`
* Disallowed unescaped tab characters in strings passed to `Prim.parse`
## 0.1.0
### 2012-02-16
* Initial release of Prim