summaryrefslogtreecommitdiff
path: root/CHANGELOG.md
blob: 384add7ab8e0547e506172af986138ff444a302f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
# ChangeLog

## 2.2.1 (07/13/2015)

### New features

### Changes

### Bugs fixed

* [**Aaron Lasseigne**](https://github.com/AaronLasseigne):
  Thanks for fixing my bad .travis.yml
* [**Kouhei Sutou**](https://github.com/kou):
  Numerous circular argument reference fixes, method redefined, assigned but unused warnings,
  superclass mismatch warnings, etc.
* Fixed uninitialized variable when using C-ext.
* Fixed README require
* Fixed superclass mismatch in rbx when using C-ext.
* Lots of rubocop fixes, and added rubocop to travis

## 2.2.0 (04/30/2015)

### New features

* Bad UTF8 exceptions now display the invalid token
* `validate_utf8: false` will sanitize output and produce valid UTF8-clean JSON

### Changes

* Ruby 1.8.7 support dropped.

## 2.1.0 (04/20/2015)

### New features

* StringIOs are now encoded to strings
* Added `:unique_key_checking` flag to parser that will raise on repeated hash keys
  (commonly edit mistakes in long JSON documents).

### Changes

* Includes its own dlopen extension
* C extension should operation without ffi

## 2.0.0 (03/17/2015)

### Changes

* Dropped the `ffi-yajl/json_gem` monkeypatch compatibility layer completely.  The deprecation
  warning has been in there for months now and all the work to remove it from chef and ohai
  has been done in all the latest releases.

## 1.4.0 (02/17/2015)

### New features

* Implement :validate_utf8 (on by default) which can be set to false to suppress validation

### Bugs fixed

* [**Elan Ruusamäe**](https://github.com/glensc):
  include status code for Unknown Error
* [**Tyler Vann-Campbell**](https://github.com/lrdcasimir)
  Fix check for windows? on cygwin and get dll name right
* Correctly throw useful invalid UTF-8 error exception

## 1.3.1 (11/24/2014)

### Bugs fixed

* fixes using Objects as Hash keys

## 1.3.0 (11/22/2014)

### New features

* [**Jason Potkanski**](https://github.com/electrawn):
  Cygwin detection

### Changes

* warn on fallback to ffi when yajl-ruby is loaded (ffi-yajl and yajl-ruby use incompatible yajl c-libs)
* warn when we don't use the c ext on MRI or RBX (ffi is currently much slower than the c-ext)
* further bumped the libyajl2-gem pin to ~> 1.2 (required for the cygwin users)
* fix minimum libyajl2-gem version to ~> 1.1 (ffi-yajl >= 1.2.0 with libyajl2-gem 1.0 fails on windows)
* allow the c-ext to load on ruby 1.8.7

### Bugs fixed

* fixes using Arrays and Hashes (and true/false/nil) as Hash keys
* fixes bare object parsing in issue #2 and #6
* fixes parsing nil object to not coredump the MRI ruby VM (issue #15)

## 1.2.0 (10/09/2014)

### Changes

* Encoding Object will no longer blindly call .to_json().  It will first check if the Object supports a .to_json() method
and if it does not it will call .to_s().  This prevents NoSuchMethod errors when not using the JSON gem.  

### Bugs fixed

* C extension was broken on windows due to libyajl.so being renamed to yajl.dll which has been reverted in
  libyajl2-gem.
* Change Config to RbConfig for FFI-based dlopen for non-DL/non-Fiddle fallback.

## 1.1.0 (08/26/2014)

### New features

* Support encoding Date, Time and DateTime objects

### Bugs fixed

* Fixed Rubinius on at least Ubuntu 14.04 and Mac
* [**Lennart Brinkmann**](https://github.com/lebrinkma):
  remove `-Wl,--no-undefined` if ruby mkmf.rb adds it in the CFLAGS because we do not directly link against `-lyajl`

## 1.0.2 (08/09/2014)

### Bugs fixed

* fixed opts chaining issue in the encoder that was breaking pretty printing in knife
* changed default :allow_comments to true (considered a regression against yajl-ruby compatibility)

## 1.0.1 (07/17/2014)

* No ChangeLog entries for this version or earlier, check the commit logs