• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1<document xmlns="http://maven.apache.org/changes/1.0.0"
2    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3    xsi:schemaLocation="http://maven.apache.org/changes/1.0.0 http://maven.apache.org/plugins/maven-changes-plugin/xsd/changes-1.0.0.xsd">
4    <properties>
5        <title>YAML 1.1 parser and emitter</title>
6        <author email="public.somov@gmail.com">Andrey Somov</author>
7    </properties>
8    <body>
9        <release version="1.18-SNAPSHOT" date="in Mercurial" description="Maintenance">
10            <action dev="asomov" type="update" issue="332">
11                Add example for issue 332 (2016-02-24)
12            </action>
13            <action dev="asomov" type="update">
14                Build SnakeYAML for different JDKs with docker without building images (2016-02-22)
15            </action>
16            <action dev="asomov" type="update">
17                Update plugin versions (2016-02-19)
18            </action>
19        </release>
20        <release version="1.17" date="2016-02-19" description="Maintenance">
21            <action dev="maslovalex" type="fix" issue="318" due-to="Rog Sigal">
22                Use Thread.currentThread.getContextClassLoader in Class.forName instead of default one (2016-02-15)
23            </action>
24            <action dev="asomov" type="update" issue="329">
25                Add parameters to POM to change distribution server (2016-02-03)
26            </action>
27            <action dev="asomov" type="update" issue="326">
28                Relax some of the modifiers to make integration easier (2016-02-02)
29            </action>
30            <action dev="maslovalex" type="update" issue="310">
31                Make use of private/protected constructors for Scalars and 'immutable' objects.
32                Added 'src/test/java8' for Java8 specific tests (requires -Pwith-java8-tests) (2016-01-07)
33            </action>
34            <action dev="asomov" type="update" issue="320">
35                Better support to customise BaseConstructor. Make 'composer' field and constructDocument()
36                method protected (2015-10-03)
37            </action>
38            <action dev="asomov" type="fix" issue="306">
39                Better UUID support (2015-09-23)
40            </action>
41            <action dev="asomov" type="add">
42                Use Polyglot Maven: add support for YAML POM (2015-09-10)
43            </action>
44            <action dev="asomov" type="fix" issue="314">
45                Provide ability to customize anchor names (2015-08-25)
46            </action>
47        </release>
48        <release version="1.16" date="2015-08-18" description="Maintenance">
49            <action dev="asomov" type="fix" issue="308">
50                Provide Docker image for testing under different Java 8 (2015-06-19)
51            </action>
52            <action dev="asomov" type="fix" issue="302">
53                Convert binary byte[] to String when it matches the JavaBean property (2015-05-26)
54            </action>
55            <action dev="asomov" type="update">
56                The source code migrated to Bitbucket. Old commits (older then 6 years) have
57                been removed. (2015-05-20)
58            </action>
59            <action dev="asomov" type="fix"  issue="212">
60                Fix a typo in an error message in ScannerImpl (2015-05-19)
61            </action>
62            <action dev="asomov" type="fix"  issue="209">
63                Do not print special characters in the error message (2015-04-16)
64            </action>
65            <action dev="asomov" type="fix"  issue="199">
66                Evaluate implementations for duplicate mapping keys.
67            </action>
68        </release>
69        <release version="1.15" date="2015-02-19" description="Maintenance">
70            <action dev="asomov" type="update">
71                Apply FindBugs and PMD recommendations (2015-02-16)
72            </action>
73            <action dev="asomov" type="update">
74                Added split lines option to DumperOptions to allow line splitting to be disabled. (2015-02-08)
75            </action>
76            <action dev="asomov" type="update">
77                Use Maven 3 and update plugin versions (2015-02-05)
78            </action>
79            <action dev="asomov" type="update"  issue="205">
80                Add test to clarify iOS emoji character in the surrogate range (2015-02-03)
81            </action>
82            <action dev="asomov" type="fix"  issue="201">
83                Fix grammar error in exception message (2014-11-18)
84            </action>
85        </release>
86        <release version="1.14" date="2014-08-29" description="Maintenance">
87            <action dev="maslovalex" type="fix"  issue="197">
88                Load JavaBean with fields using custom constructors (2014-08-18)
89            </action>
90            <action dev="asomov" type="fix"  issue="192">
91                Drop support for "Value Key Language-Independent Type" and '=' a standard character (2014-05-22)
92            </action>
93            <action dev="maslovalex" type="fix"  issue="191">
94                Improve error message for invalid YAML document (2014-05-21)
95            </action>
96            <action dev="asomov" type="fix"  issue="188">
97                Improve error message for invalid YAML document (2014-03-26)
98            </action>
99            <action dev="asomov" type="fix"  issue="183">
100                Support Number class (2013-11-07)
101            </action>
102             <action dev="asomov" type="fix"  issue="182">
103                Double.POSITIVE_INFINITY applied to float fields (2013-11-07)
104             </action>
105        </release>
106        <release version="1.13" date="2013-08-29" description="Maintenance">
107             <action dev="asomov" type="fix"  issue="178">
108                OSGi: Specify version for exported packages (2013-06-27)
109             </action>
110             <action dev="asomov" type="fix"  issue="177">
111                Improve error report while parsing a JavaBean (2013-05-14)
112             </action>
113              <action dev="Jordan" type="fix"  issue="135">
114                Arrays of primitives are now fully supported (2013-04-16)
115             </action>
116             <action dev="asomov" type="fix"  issue="174">
117                Duplicate anchors in an input document should not be an error (2013-04-03)
118             </action>
119             <action dev="asomov" type="fix"  issue="172">
120                Using a locale with minimum number fraction digits breaks anchor generation (2013-03-30)
121             </action>
122             <action dev="asomov" type="fix"  issue="171">
123                Use more generic generics in BaseRepresenter (2013-03-30)
124             </action>
125        </release>
126        <release version="1.12" date="2013-03-02" description="Maintenance">
127             <action dev="asomov" type="update">
128                The build is using JDK 1.6 (2013-03-02)
129             </action>
130             <action dev="asomov" type="fix"  issue="169">
131                Make Constructor.typeDefinitions protected to be more flexible (2013-02-18)
132             </action>
133             <action dev="asomov" type="remove">
134                Remove file AUTHORS because it does not reflect the actual situation (2012-11-09)
135             </action>
136             <action dev="asomov" type="update">
137                Improve the error message when a TAB character starts a token (2012-11-06)
138             </action>
139        </release>
140        <release version="1.11" date="2012-09-29" description="Maintenance">
141             <action dev="asomov" type="fix"  issue="158">
142                Fix issue 158: improve support for 32-bit characters (UTF-16 surrogate pairs) (2012-09-29)
143             </action>
144             <action dev="asomov" type="fix"  issue="146">
145                Fix issue 146: empty tags should not force explicit document start (2012-09-29)
146             </action>
147             <action dev="asomov" type="fix"  issue="156">
148                Fix issue 156: setSkipMissingProperties fails for non-scalar values (2012-09-05)
149             </action>
150             <action dev="asomov" type="fix"  issue="155">
151                Fix issue 155: SnakeYAML must always eat its own food - a YAML document created by itself must
152                be read without exceptions (2012-09-04)
153             </action>
154             <action dev="asomov" type="update"  issue="154">
155                Fix issue 154: Add option to skip missing properties when deserializing YAML into Java object (2012-07-25)
156             </action>
157             <action dev="asomov" type="update">
158                Add a test for issue 150 (2012-06-17)
159             </action>
160             <action dev="asomov" type="update">
161                Add a test for issue 151 (2012-06-14)
162             </action>
163             <action dev="asomov" type="fix">
164                Fix issue 149: Directives are no longer lost between documents (2012-06-10)
165             </action>
166             <action dev="asomov" type="update">
167                Refactor: use Version enum instead of Array of Integers.
168                This is done to simplify fixing issue 149 (2012-06-09)
169             </action>
170             <action dev="asomov" type="fix">
171                Add tests for issue 148  (2012-06-07)
172             </action>
173             <action dev="asomov" type="fix">
174                Fix issue 147: Serialized representation of character U+FFFD causes exception on deserialization  (2012-06-05)
175             </action>
176             <action dev="asomov" type="fix">
177                Fix issue 145: exception.getMessage() must show the line number as exception.toString() does (2012-04-03)
178             </action>
179             <action dev="maslovalex" type="fix">
180                Fix issue 144: improve type inference for Compact Object Notation (2012-03-16)
181             </action>
182             <action dev="maslovalex" type="add">
183                Improve Android support
184             </action>
185        </release>
186        <release version="1.10" date="2012-02-08" description="Maintenance">
187             <action dev="asomov" type="update">
188                Fix issue 141: TimeZone is configurable in DumperOptions (2012-02-03)
189             </action>
190             <action dev="asomov" type="update">
191                Refactor with PMD: minor non-functional improvements (2012-01-28)
192             </action>
193             <action dev="asomov" type="update">
194                Refactor with PMD: Avoid unused method parameter 'index' in
195                Serializer and Emitter (2012-01-28)
196             </action>
197             <action dev="asomov" type="update">
198                Refactor with PMD: Composer - Avoid unused method parameter 'index' in
199                'Composer.composeNode(Node parent, Object index)''. It was used
200                in PyYAML for kind of XPath for YAML, but it was not imported from PyYAML (2012-01-28)
201             </action>
202             <action dev="asomov" type="update">
203                Refactor Emitter: the SPACE mutable static field could be changed by malicious code or by accident.
204                Boxed value is unboxed and then immediately reboxed (2012-01-28)
205             </action>
206             <action dev="asomov" type="remove">
207                Refactor with FindBugs: remove unused ScalarAnalysis.allowDoubleQuoted (2012-01-28)
208             </action>
209             <action dev="asomov" type="update">
210                Refactor with FindBugs: do not rely on default encoding (2012-01-28)
211             </action>
212             <action dev="asomov" type="update">
213                Refactor: apply FindBugs recommendations (2012-01-28)
214             </action>
215             <action dev="maslovalex" type="fix">
216                Fix issue 139: merge should use last key in map (2012-01-24)
217             </action>
218             <action dev="asomov" type="fix">
219                Fix issue 136: tabs are allowed in plain scalars. This is a deviation from PyYAML (2012-01-11)
220             </action>
221             <action dev="asomov" type="add" issue="138">
222                Expose internal data of ReaderException (2012-01-06)
223             </action>
224             <action dev="asomov" type="fix" issue="137">
225                Respect supplementary characters (2012-01-06)
226             </action>
227             <action dev="asomov" type="add">
228                Use http://mercurial.selenic.com/wiki/EolExtension to force LF  as line separator
229                for all operating systems (2011-12-20)
230             </action>
231             <action dev="asomov" type="add">
232                Add a test for issue 136 (2011-12-14)
233             </action>
234              <action dev="asomov" type="remove">
235                Deprecate the DumperOptions.calculateScalarStyle() method because it was introduced as a quick
236                fix for issue 29. Now it should not be required at all (because of the fix for issue 66),
237                or it should be implemented in the Representer (in RepresentString) (2011-10-10)
238             </action>
239             <action dev="asomov" type="fix">
240                Fix issue 66: literal scalar style is used by default for multiline scalars (2011-10-10)
241             </action>
242             <action dev="asomov" type="add">
243                An example added: how to dump multiline literal scalars (2011-10-04)
244             </action>
245             <action dev="asomov" type="add">
246                An example added: how to dump recursive object for issue 133 (2011-09-14)
247             </action>
248             <action dev="asomov" type="add">
249                A test added for issue 132 (2011-09-13)
250             </action>
251             <action dev="asomov" type="update">
252                Finish 1.9 release (2011-08-15)
253             </action>
254        </release>
255        <release version="1.9" date="2011-08-15" description="Introduce Yaml.loadAs() and Yaml.dumpAs() methods">
256            <action dev="asomov" type="update">
257                Add a test to prove that SnakeYAML is not affected by the problem reported for libyaml
258                at http://pyyaml.org/ticket/196 (2011-07-28)
259            </action>
260            <action dev="asomov" type="fix" issue="128">
261                Since timestamp contains ':' characters it is dumped with single quoted scalar style
262                in the flow context. The single quoted scalar style causes to dump the explicit tag.
263                In the block context the plain scalar can be used and the tag is not required. It may cause
264                unpredictable behaviour if the tag is required. See the comments in JodaTimeExampleTest (2011-07-25)
265            </action>
266            <action dev="asomov" type="fix" issue="130">
267                Fix scientific notation inconsistency in the YAML 1.1 specification:
268                scalar '8e-06' should be parsed as a Double (2011-07-24)
269            </action>
270            <action dev="asomov" type="remove" issue="127">
271                Do not allow to override BaseRepresenter.representData(Object data) because
272                users should instead implement Represent interface (2011-07-21)
273            </action>
274            <action dev="asomov" type="remove" issue="124">
275                Deprecate DumperOptions.explicitRoot (2011-07-20)
276            </action>
277            <action dev="asomov" type="add" issue="124">
278                Add Yaml.dumpAs(Object, Tag.MAP, FlowStyle) and Yaml.dumpAsMap(Object) methods. JavaBeanDumper is marked as deprecated (2011-07-16)
279            </action>
280            <action dev="asomov" type="add" issue="127">
281                Add example to show how to dump a custom class (2011-07-12)
282            </action>
283            <action dev="asomov" type="add" issue="129">
284                Add Yaml.serialize(Node) low level method to the public API (2011-07-14)
285            </action>
286            <action dev="asomov" type="add" issue="129">
287                Add Yaml.represent(Object) low level method to the public API (2011-07-14)
288            </action>
289            <action dev="asomov" type="add" issue="125">
290                Add support for Maven 3 via 'm3' profile (2011-07-10)
291            </action>
292            <action dev="asomov" type="remove" issue="124">
293                Remove deprecated JavaBeanParser (2011-07-05)
294            </action>
295            <action dev="asomov" type="remove" issue="124">
296                Remove redundant JavaBeanDumper.classTags set (2011-07-03)
297            </action>
298            <action dev="asomov" type="add" issue="124">
299                Add Yaml.loadAs() methods. JavaBeanLoader is marked as deprecated (2011-07-03)
300            </action>
301            <action dev="asomov" type="remove" issue="124">
302                Remove TypeDescription.root property to prepare issue 124. This is a minor backwards incompatible change.
303                Now instead of setting as root, the TypeDescription must be passed to the Contructor's constructor
304                to be taken as the root definition (2011-07-03)
305            </action>
306            <action dev="asomov" type="fix" issue="121" due-to="Jaromir">
307                Fix: close files in tests to avoid a possible file handle limit (2011-06-09)
308            </action>
309            <action dev="asomov" type="fix" issue="116" due-to="Jim Peterson">
310                Fix: Improved support for empty JavaBeans (2011-06-09)
311            </action>
312            <action dev="asomov" type="fix" issue="112" due-to="Lethargish">
313                Fix: Improved support for parameterised types in collections (2011-05-25)
314            </action>
315            <action dev="asomov" type="fix" issue="115" due-to="elkniwt">
316                Fix: parameterised JavaBeans fail to load and dump because they are treated as Maps (2011-05-16)
317            </action>
318            <action dev="asomov" type="fix" issue="114" due-to="gileadis">
319                Fix: Do not remove root tags of JavaBeans when it is not explicitly requested (2011-04-20)
320            </action>
321            <action dev="asomov" type="fix" issue="111" due-to="JordanAngold">
322                Fix: Long escaped tag URI sequences throw BufferOverflowException (2011-03-03)
323            </action>
324            <action dev="asomov" type="fix" issue="110" due-to="dmitry.s.mamonov">
325                Fix: introduce a package for external libraries and move there the 64Coder
326                and the Google's URL encoder (2011-02-24)
327            </action>
328            <action dev="asomov" type="fix" issue="109" due-to="cjalmeida">
329                Fix: ancient years must be dumped with leading zeros (2011-02-19)
330            </action>
331            <action dev="asomov" type="remove" due-to="JordanAngold">
332                Remove unused code in Constructor: Modifier.isAbstract() is not needed any more (2011-02-18)
333            </action>
334            <action dev="JordanAngold" type="fix" issue="108">
335                Enum's name property shall be dumped instead of the 'toString()' output (2011-02-16)
336            </action>
337        </release>
338        <release version="1.8" date="2011-02-15" description="Performance improvement">
339            <action dev="asomov" type="add">
340                Add example to howto Wiki:
341                How_to_substitute_object_in_YAML_document_with_a_custom_object (2011-01-27)
342            </action>
343            <action dev="asomov" type="update">
344                When the YAML document to be loaded is provided as String parse it directly
345                without making a Reader first (2011-01-23)
346            </action>
347            <action dev="asomov" type="fix" issue="106">
348                Immutable data structures in StreamReader allow to share the same buffer for all
349                the Mark instances. It makes 'withMarkContext' setting redundant (2011-01-19)
350            </action>
351            <action dev="maslovalex" type="update" issue="100">
352                Merge JavaBean properties when an explicit tag is provided (2011-01-11)
353            </action>
354            <action dev="asomov" type="update" issue="99">
355                Add an example for escaping line breaks in binary content (2011-01-03)
356            </action>
357            <action dev="asomov" type="update" issue="97">
358                Propose a solution for JavaBeans to support SortedSet property when it is encoded
359                as a sequence (2010-11-24)
360            </action>
361            <action dev="asomov" type="update" issue="59">
362                Simplify the way how the order of JavaBean properties is specified. Introduce
363                PropertyUtils.createPropertySet() method to be overridden when a specific order
364                is expected (2010-11-23)
365            </action>
366            <action dev="maslovalex" type="fix" issue="95">
367                Fix: Loading of generic collections with Array parameter(s). (2010-11-16)
368            </action>
369            <action dev="asomov" type="update" issue="94">
370                Add ChangeRuntimeClassTest as an example how to change a class for a global tag (2010-11-05)
371            </action>
372            <action dev="asomov" type="update">
373                Inner objects in Constructor become protected to be more flexible when Constructor
374                is expended (2010-10-03)
375            </action>
376            <action dev="asomov" type="update" issue="91">
377                Apply www.snakeyaml.org domain name (2010-09-20)
378            </action>
379            <action dev="asomov" type="fix" issue="90">
380                Move Base64Coder into another package to keep a separate copyright statement.
381                Base64Coder is left unchanged (2010-09-19)
382            </action>
383            <action dev="asomov" type="fix" issue="69">
384                Iterable should not be serialised as sequence (2010-09-16)
385            </action>
386            <action dev="asomov" type="update">
387                Introduce 'fast' Maven profile to quickly build cobertura reports (2010-09-16)
388            </action>
389            <action dev="asomov" type="update" issue="89">
390                Fix: Specify plugin versions in POM (2010-09-15)
391            </action>
392            <action dev="maslovalex" type="fix" issue="88">
393                Fix: Custom tag erased when referenced from generic collection (2010-09-15)
394            </action>
395            <action dev="asomov" type="update">
396                Minor refactoring in Emitter to improve performance: save calls to Constant.has() (2010-09-13)
397            </action>
398            <action dev="maslovalex" type="update">
399                Minor refactorings in Emitter to improve performance: create less Strings [r9185e0b3] (2010-09-10)
400            </action>
401            <action dev="asomov" type="update" issue="79">
402                Introduce LoaderOptions to be able to specify configuration while loading (2010-09-03)
403            </action>
404            <action dev="asomov" type="fix" issue="81">
405                Representer.representJavaBeanProperty() is given the wrong tag. Instead of the property tag,
406                the tag for the JavaBean itself is provided. (2010-09-01)
407            </action>
408            <action dev="asomov" type="update">
409                Rename JvmDetector into GenericsBugDetector (2010-08-31)
410            </action>
411            <action dev="asomov" type="fix" issue="80" due-to="SebastienRainville">
412                Fix: Timestamp is not parsed properly when milliseconds start with 0 (2010-08-24)
413            </action>
414            <action dev="maslovalex" type="update" issue="79">
415                Context for error reporting consumes a lot of resources (2010-08-21)
416            </action>
417            <action dev="asomov" type="remove">
418                Cleanup unused code in deprecated Loader and Dumper (2010-08-13)
419            </action>
420        </release>
421        <release version="1.7" date="2010-08-12" description="Simplify public API (drop Loader and Dumper)">
422            <action dev="asomov" type="update">
423                Eclipse does not run JUnit 4 tests when they are launched for the whole project (2010-08-11)
424            </action>
425            <action dev="maslovalex" type="update" issue="55">
426                Share PropertyUtils if not explicitly set in Constructor or Representer
427                (BeanAccess.FIELD works properly when JavaBean is identified by a root tag) (2010-08-11)
428            </action>
429            <action dev="asomov" type="update">
430                Create 1.7 Release Candidate 1 (2010-08-11)
431            </action>
432            <action dev="asomov" type="update" issue="77">
433                Simplify public API: Drop Dumper (2010-08-06)
434            </action>
435            <action dev="asomov" type="update" issue="77">
436                Simplify public API: Drop Loader (2010-08-05)
437            </action>
438            <action dev="asomov" type="update" issue="75" due-to="jon.p.hermes">
439                Add examples to create scalars that match custom regular expression:
440                CustomImplicitResolverTest, CustomBeanResolverTest (2010-08-03)
441            </action>
442            <action dev="asomov" type="fix" issue="74" due-to="Kevin Menard">
443                Do not use redundant tags for arrays which are JavaBean properties. (2010-07-21)
444            </action>
445            <action dev="asomov" type="update">
446                RecursiveSetTest proves that it is possible to construct a recursive set (2010-07-20)
447            </action>
448            <action dev="asomov" type="add" issue="73" due-to="birnbuazn">
449                Provide sequence support for loading java.util.Set. Also provide an example
450                to serialise a java.util.Set as a sequence. (2010-07-19)
451            </action>
452            <action dev="asomov" type="add" issue="72" due-to="birnbuazn">
453                Support java.util.Collection as a parent for List and Set (2010-07-09)
454            </action>
455            <action dev="maslovalex" type="add" issue="55" due-to="birnbuazn">
456                Allow direct field access bypassing setters and getters. Empty constructor
457                is required to support 2-step construction (2010-07-02)
458            </action>
459            <action dev="asomov" type="update" issue="69">
460                Serialise Iterator and Iterable as sequences (2010-06-25)
461            </action>
462            <action dev="asomov" type="update" due-to="maslovalex">
463                Change error message when 'No suitable constructor with N arguments found for class' (2010-06-23)
464            </action>
465            <action dev="asomov" type="add" due-to="Antony Stubbs">
466                Add JodaTime example (2010-06-04)
467            </action>
468            <action dev="asomov" type="add" issue="67" due-to="Manuel Sugawara">
469                Add possibility to create a Tag out of an URI (2010-05-31)
470            </action>
471            <action dev="asomov" type="update">
472                URLDecoder.decode() does not fail when UTF-8 is invalid. Use
473                CodingErrorAction.REPORT to implement the failure (2010-05-21)
474            </action>
475            <action dev="maslovalex" type="update">
476                Fix generic collections which contain other collections (2010-05-18)
477            </action>
478            <action dev="asomov" type="fix" issue="67" due-to="Manuel Sugawara">
479                Fix: java classes containing non-ASCII characters in names are
480                incorrectly encoded (2010-05-14)
481            </action>
482            <action dev="asomov" type="fix" issue="65" due-to="lerch.johannes">
483                Fix: add checks for null arguments for JavaBeanDumper (2010-04-27)
484            </action>
485            <action dev="asomov" type="add">
486                Add a test to see how stack trace is serialised (2010-04-27)
487            </action>
488            <action dev="asomov" type="fix" issue="64" due-to="maxim.moschko">
489                ClassCastException in Representer when working with ParameterizedType (2010-04-25)
490            </action>
491            <action dev="asomov" type="update">
492                Improve toString() method for Node. Since scalars cannot be recursive
493                they can be printed (2010-04-15)
494            </action>
495            <action dev="maslovalex" type="fix" issue="63" due-to="Udo">
496                Refactor the way arrays are constructed (2010-04-15)
497            </action>
498            <action dev="asomov" type="fix" issue="62">
499                Add examples for dumping custom values for !!bool and !!null (2010-04-13)
500            </action>
501            <action dev="asomov" type="fix" issue="61">
502                Fix: ClassCastException when dumping generic bean (2010-04-11)
503            </action>
504            <action dev="asomov" type="fix" issue="59">
505                Provide an example for changing JavaBean properties order (2010-04-01)
506            </action>
507            <action dev="asomov" type="fix" issue="60">
508                Provide example for skipping null and empty collections (2010-03-29)
509            </action>
510            <action dev="asomov" type="fix" issue="58" due-to="jeff.caulfield">
511                JavaBeanDumper.dump throws NullPointerException on list property
512                with null element (2010-03-23)
513            </action>
514            <action dev="asomov" type="fix" issue="56" due-to="DZeiss">
515                Make constructors in SafeConstructor public (2010-03-16)
516            </action>
517            <action dev="asomov" type="update" due-to="David Bernard">
518                Releases and snapshots are available in the Sonatype Maven repository.
519                https://docs.sonatype.org/display/Repository/Sonatype+OSS+Maven+Repository+Usage+Guide
520            </action>
521            <action dev="obastard" type="fix" issue="53" due-to="obastard">
522                Enhancement for a pretty format that combines BLOCK and FLOW (2010-03-03)
523            </action>
524            <action dev="asomov" type="fix" issue="50" due-to="sualeh.fatehi">
525                Unable to dump JavaBean that inherits from a protected base class (2010-03-02)
526            </action>
527            <action dev="asomov" type="update">
528                Format source (2010-03-01)
529            </action>
530            <action dev="asomov" type="update">
531                Use Token.ID and Event.ID instead of just ID (2010-03-01)
532            </action>
533            <action dev="asomov" type="update">
534                Issue 50 fails in Eclipse but works with Maven (2010-03-01)
535            </action>
536        </release>
537        <release version="1.6" date="2010-02-26" description="introduce Tag class">
538            <action dev="asomov" type="update">
539                Release Candidate 2 is available (2010-02-24)
540            </action>
541            <action dev="asomov" type="fix" issue="47" due-to="obastard">
542                Don't dump read-only properties by default. DumperOptions gets a setting to
543                include read-only JavaBean properties.
544                This is no backwards compatible change (2010-02-19)
545            </action>
546            <action dev="asomov" type="fix" issue="49" due-to="obastard">
547                Support GregorianCalendar. Due to Daylight Saving Time parsing the timestamp with
548                a TimeZone cannot determine the exact time (2010-02-19)
549            </action>
550            <action dev="asomov" type="fix" issue="51" due-to="johann.Werner">
551                Some Unicode characters are wrongly replaced by \x{fffd} during
552                double quoted style dump (2010-02-15)
553            </action>
554            <action dev="asomov" type="fix" issue="48" due-to="obastard">
555                Introduce representJavaBeanProperty() method in Representer. The method
556                can be overridden to simplify custom JavaBean representation (2010-02-12)
557            </action>
558            <action dev="asomov" type="update">
559                Release Candidate 1 is available (2010-02-01)
560            </action>
561            <action dev="asomov" type="add">
562                Representer.representJavaBean() returns MappingNode (2010-01-26)
563            </action>
564            <action dev="asomov" type="add">
565                Add example of serialising static fields  (2010-01-26)
566            </action>
567            <action dev="asomov" type="add">
568                Add example of serialising java.io.File as scalar node for issue 46  (2010-01-25)
569            </action>
570            <action dev="asomov" type="update">
571                Refactor: introduce Chomping to avoid using null as value for Boolean.
572                Stay in line with Scala port where null is not allowed (2010-01-19)
573            </action>
574            <action dev="asomov" type="update">
575                Refactor: use Event.ID enum instead of classes (2010-01-15)
576            </action>
577            <action dev="asomov" type="update">
578                Refactor: use Token.ID enum instead of classes (2010-01-15)
579            </action>
580            <action dev="asomov" type="update">
581                Refactor: use generic classes for DirectiveToken (2010-01-14)
582            </action>
583            <action dev="asomov" type="update">
584                Refactor: rename Reader to StreamReader to avoid name conflict with java.io.Reader (2010-01-13)
585            </action>
586            <action dev="asomov" type="update">
587                Refactor: use StringBuilder instead of StringBuffer (2010-01-12)
588            </action>
589            <action dev="asomov" type="update">
590                Refactor: introduce Constant class to share String constants (2010-01-12)
591            </action>
592            <action dev="asomov" type="update">
593                Keep Tag.equals(String) to simplify transition to Tag class (2010-01-08)
594            </action>
595            <action dev="asomov" type="update">
596                Refactor: introduce Tag instead of Tags. Nodes use Tag class instead of String (2010-01-05)
597            </action>
598            <action dev="asomov" type="fix" issue="42" due-to="Artem">
599                BaseConstructor shall give more flexibility to choose a constructor at runtime (2010-01-08)
600            </action>
601            <action dev="asomov" type="update">
602                Refactor: introduce TagTuple instead of String[] (2010-01-04)
603            </action>
604            <action dev="asomov" type="fix" issue="40" due-to="sitrious">
605                Ignore tags when they are compatible with the runtime class (2010-01-04)
606            </action>
607            <action dev="asomov" type="add">
608                Add example to ignore unknown tags (2009-12-08)
609            </action>
610            <action dev="asomov" type="add">
611                Add Ruby example (2009-12-08)
612            </action>
613            <action dev="asomov" type="update">
614                Do not omit the tag for JavaBean properties when the tag is explicitly defined (2009-12-08)
615            </action>
616            <action dev="asomov" type="fix" issue="38" due-to="gchpaco">
617                Fix ID format for numbers over 999 (2009-12-05)
618            </action>
619            <action dev="asomov" type="fix" issue="29" due-to="grignaak">
620                Allow separate option in DumperOptions for long strings (2009-11-16)
621            </action>
622            <action dev="asomov" type="add">
623                JavaBeanDumper: add possibility to define a custom Representer (2009-11-25)
624            </action>
625            <action dev="asomov" type="fix" issue="36">
626                Introduce multi contructors (tag prefix). A family of tags may be processed
627                by a single constructor (2009-11-25)
628            </action>
629            <action dev="asomov" type="update">
630                Refactor BaseConstructor: simplify second step for recursive structures (2009-11-25)
631            </action>
632            <action dev="asomov" type="add">
633                Add FilterPropertyToDumpTest to show how to filter JavaBean properties (2009-11-24)
634            </action>
635            <action dev="asomov" type="add">
636                Add FilterClassesConstructorTest to show how to filter created classes (2009-11-16)
637            </action>
638            <action dev="asomov" type="update" due-to="Stefan">
639                Improve JavaDoc (2009-11-12)
640            </action>
641            <action dev="asomov" type="add">
642                Add Velocity example (2009-11-03)
643            </action>
644            <action dev="asomov" type="update">
645                Refactor: rename Tuple to RecursiveTuple and hide it inside BaseConstructor (2009-11-03)
646            </action>
647        </release>
648        <release version="1.5" date="2009-10-30" description="Improve usage of generic collections in JavaBeans">
649            <action dev="asomov" type="fix" issue="27" due-to="Polyglot Maven team">
650                Extend Resolver to support custom implicit types (2009-10-27)
651            </action>
652            <action dev="asomov" type="update">
653                Performance improvement: use ArrayStack instead of Stack which extends Vector (2009-10-20)
654            </action>
655            <action dev="asomov" type="fix" issue="25" due-to="Benjamin Bentmann">
656                Improve usage of generic collections: while type erase makes no difference between
657                Class&lt; Foo&gt; and Class&lt; Bar&gt; at runtime, the information about generics is still
658                accessible via reflection from Method/Field. (2009-10-19)
659            </action>
660            <action dev="asomov" type="update">
661                Fix ConstructYamlObject: support recursive objects. Introduce 'resolved'
662                property for Nodes. This property supposed to help to distinguish explicit tag
663                from the resolved tag (2009-10-19)
664            </action>
665            <action dev="asomov" type="update">
666                Refactor: use rootTag instead of rootType (for Class) in BaseConstructor. This is done to
667                solve the priority problem: normally explicit tag has more priority then runtime class but
668                for the root tag it is the other way around (2009-10-19)
669            </action>
670            <action dev="asomov" type="fix" issue="24" due-to="shrode">
671                Line numbers reported in Exceptions are Zero based, should be 1 based (2009-10-12)
672            </action>
673            <action dev="asomov" type="fix" issue="21" due-to="ashwin.jayaprakash">
674                Support arrays of reference types as JavaBean properties (2009-09-22)
675            </action>
676            <action dev="asomov" type="fix" issue="17" due-to="jcucurull">
677                Respect root tag for sequences (2009-09-04)
678            </action>
679            <action dev="asomov" type="fix" issue="18" due-to="creiniger">
680                SafeRepresenter respects custom tags for standard Java classes where standard tag has
681                more then one Java implementation available (Long, List, Map, Date etc) (2009-09-03)
682            </action>
683            <action dev="asomov" type="add">
684                Add possibility to define a custom Class Loader. (2009-09-01)
685            </action>
686            <action dev="asomov" type="fix">
687                Fixed an obscure scanner error not reported when there is no line break at the end
688                of the stream. The fix is imported from PyYAML 3.09 {ticket 118} (2009-08-31)
689            </action>
690            <action dev="asomov" type="fix" issue="16" due-to="infinity0x">
691                Cache JavaBean class properties. Tests show that the loading has become a few percents faster (2009-08-31)
692            </action>
693            <action dev="asomov" type="add">
694                Introduce ArrayStack to use push() and pop() instead of standard (and too verbose)
695                'remove(size()-1)'  (2009-08-27)
696            </action>
697            <action dev="asomov" type="fix" issue="14" due-to="infinity0x">
698                Fix: ArrayList is more efficient than LinkedList  (2009-08-26)
699            </action>
700        </release>
701        <release version="1.4" date="2009-08-26" description="better support for loading immutable objects">
702            <action dev="asomov" type="update">
703                Apply Apache License Version 2.0 (2009-08-14)
704            </action>
705            <action dev="asomov" type="fix" issue="13" due-to="infinity0x">
706                Provide javadocs link to Sun Java API (2009-08-10)
707            </action>
708            <action dev="asomov" type="add">
709                Build 1.4 Release Candidate 1 (2009-08-07)
710            </action>
711            <action dev="asomov" type="add">
712                Introduce Tags.getGlobalTagForClass() to simplify tag generation in custom constructors (2009-08-06)
713            </action>
714            <action dev="asomov" type="update">
715                Refactor: introduce ImplicitTuple (2009-08-06)
716            </action>
717            <action dev="asomov" type="fix" issue="11" due-to="infinity0x">
718                Fix: create a Java instance with the following priority to choose the class:
719                Explicit tag -> Runtime class (defined in JavaBean) -> implicit tag  (2009-08-06)
720            </action>
721            <action dev="asomov" type="fix" issue="9" due-to="wwagner4">
722                Fix: Bean with no property cannot be instantiated. This is implemented via better
723                support for immutable objects. Custom Constructor may be used when there are more
724                then 1 way to create an instance (2009-08-04)
725            </action>
726            <action dev="asomov" type="add">
727                Deliver possibility to load immutable instances with no global tags. Reflection for
728                constructor arguments is used to get the runtime classes (2009-08-04)
729            </action>
730            <action dev="asomov" type="update">
731                Use more informative error message when a JavaBean property cannot
732                be created (2009-08-02)
733            </action>
734            <action dev="asomov" type="update">
735                Refactor: Constructor is rewritten. Do not overwrite methods from BaseConstructor.
736                Instead introduce ConstructScalar, ConstructSequence, ConstructMapping (2009-07-31)
737            </action>
738            <action dev="asomov" type="update">
739                Change Maven repository path: groupId='org.yaml', artifactId='snakeyaml' (2009-07-31)
740            </action>
741            <action dev="asomov" type="fix" issue="10" due-to="derrick.rice">
742                Fix: dump omits JavaBean class name when used with an alias (2009-07-28)
743            </action>
744            <action dev="asomov" type="add">
745                Generate sources and Javadoc (2009-07-27)
746            </action>
747            <action dev="asomov" type="update">
748                Node does not have the value. It is delegated to the non-abstract classes (2009-07-27)
749            </action>
750            <action dev="asomov" type="add">
751                Extends JavaBeanDumper to allow skipping global tags inside type-safe collections.
752                Introduce method setMapTagForBean() (2009-07-22)
753            </action>
754            <action dev="asomov" type="add">
755                Add ConstructEmptyBeanTest to test JavaBean construction with no
756                properties in the YAML document(2009-07-22)
757            </action>
758            <action dev="asomov" type="remove">
759                Refactor: redesign tag management for JavaBeans in Representer.
760                Drop dynamic root tag concept (2009-07-22)
761            </action>
762            <action dev="asomov" type="remove">
763                Remove unused TypeDescription in Representer (2009-07-21)
764            </action>
765            <action dev="asomov" type="update">
766                Use NodeTuple instead of Node[] for mappings (2009-07-21)
767            </action>
768            <action dev="asomov" type="add">
769                Introduce JavaBeanLoader and JavaBeanDumper. Deprecate JavaBeanParser (2009-07-21)
770            </action>
771            <action dev="asomov" type="fix" issue="8" due-to="Alan Gutierrez">
772                Fix: Representer was keeping state between invocations (2009-07-21)
773            </action>
774        </release>
775        <release version="1.3" date="2009-07-20" description="complete support for recursive objects">
776            <action dev="asomov" type="fix" issue="6" due-to="infinity0x">
777                Fix: values returned by System.identityHashCode() are not guaranteed to be unique (2009-07-14)
778            </action>
779            <action dev="asomov" type="add">
780                Add a simple test for Java Generics (BirdTest). Unfortunately it shows that some JVM
781                implementations do not recognise classes for JavaBean properties at runtime.
782                It leads to unnecessary global tags. See http://code.google.com/p/snakeyaml/wiki/Documentation#Generics
783                for details (2009-07-13)
784            </action>
785            <action dev="asomov" type="fix" issue="5" due-to="infinity0x">
786                Fix: set the "cause" field for MarkedYAMLException (2009-07-10)
787            </action>
788            <action dev="maslovalex" type="fix" issue="1">
789                Fix: Recursive objects are now fully supported (2009-07-09)
790            </action>
791            <action dev="asomov" type="add">
792                Add support for BigDecimal as a JavaBean property (2009-07-07)
793            </action>
794            <action dev="asomov" type="update">
795                Improve test coverage for Constructor. Allow construction of JavaBeans
796                with only setter without the corresponding getter (2009-07-07)
797            </action>
798            <action dev="asomov" type="add">
799                Add a test to check the proper report for IOException (2009-07-03)
800            </action>
801            <action dev="asomov" type="fix" issue="3" due-to="infinity0x">
802                Fix: represent proper tags for JavaBeans when they are not the root of the YAML
803                document but a member of a collection (2009-07-03)
804            </action>
805            <action dev="asomov" type="update">
806                Refactor: run PMD and apply some of the recommendations (2009-06-18)
807            </action>
808            <action dev="asomov" type="add" issue="1">
809                Create an issue for Recursive objects to be remembered (2009-06-08)
810            </action>
811            <action dev="asomov" type="update">
812                Migrate project hosting from Assembla to Google code (2009-06-08)
813            </action>
814            <action dev="asomov" type="fix" due-to="Magne">
815                Fix: null as a JavaBean property was not handled properly (2009-06-04)
816            </action>
817            <action dev="asomov" type="update">
818                Validate changes.xml file (2009-05-25)
819            </action>
820            <action dev="asomov" type="fix" due-to="Magne">
821                Fix ticket 40 in Assembla: getting an error when javabean contains java.sql.Timestamp fields (2009-05-25)
822            </action>
823        </release>
824        <release version="1.2" date="2009-04-27" description="expose low-level API">
825            <action dev="asomov" type="add">
826                Add 'Yaml.parse()' method which return Events to support low level YAML processing (2009-04-20)
827            </action>
828            <action dev="asomov" type="add" due-to="Bob Jalex">
829                Introduce LineBreak.getPlatformLineBreak (ticket 5 in Assembla) (2009-04-18)
830            </action>
831            <action dev="asomov" type="update" due-to="Bob Jalex">
832                 Rename LineBreak.LINUX to LineBreak.UNIX (ticket 5 in Assembla) (2009-04-18)
833            </action>
834            <action dev="asomov" type="add">
835                Add 'Yaml.compose()' methods which return Nodes to support YEdit (2009-04-17)
836            </action>
837            <action dev="asomov" type="update">
838                Refactor: rename enums in DumperOptions to make the names consistent (2009-04-07)
839            </action>
840            <action dev="asomov" type="update">
841                Refactor: use Character instead of char primitive for style in Emitter (2009-04-07)
842            </action>
843            <action dev="asomov" type="add">
844                Add possibility to parse all scalars as Strings (2009-03-30)
845            </action>
846            <action dev="asomov" type="update">
847                Merge changeset 347 from PyYAML (2009-03-30)
848            </action>
849            <action dev="asomov" type="fix">
850                Respect DumperOptions with a custom Representer (2009-03-18)
851            </action>
852            <action dev="asomov" type="fix">
853                Represent TAB as '\t' instead of '(9' in the error message (2009-03-17)
854            </action>
855        </release>
856        <release version="1.1" date="2009-03-14" description="improve performance and test coverage">
857            <action dev="asomov" type="add">
858                Introduce JavaBeanParser (2009-03-14)
859            </action>
860            <action dev="asomov" type="add">
861                Introduce DumperOptions.Version enum (2009-03-13)
862            </action>
863            <action dev="asomov" type="add">
864                Introduce DumperOptions.LineBreak enum (2009-03-10)
865            </action>
866            <action dev="asomov" type="update">
867                Use byte[] for binary type. (2009-03-09)
868            </action>
869            <action dev="asomov" type="update">
870                Restore Regular Expressions in Resolver. Ragel gives only 5% performance increase.
871                Fix a bug in Resolver with expanded regular expressions which caused the
872                performance problem. (2009-03-06)
873            </action>
874            <action dev="asomov" type="add">
875                Better Spring support: it is now possible to create a constructor with a String
876                as the class name. (2009-03-05)
877            </action>
878            <action dev="asomov" type="update">
879                Throw an exception when the same Loader or Dumper instance is shared between
880                different Yaml instances. Because they are statefull it is not Thread-safe. (2009-03-05)
881            </action>
882            <action dev="asomov" type="add">
883                Add possibility to set a meaningful name for Yaml instance to be shown in toString(). (2009-03-05)
884            </action>
885            <action dev="asomov" type="update">
886                Refactor: declare classes which are not expected to be extended as final. (2009-03-04)
887            </action>
888            <action dev="asomov" type="update">
889                Refactor: use 'final' keyword to identify immutable fields. (2009-03-04)
890            </action>
891            <action dev="asomov" type="update">
892                Refactor: do not use 'final' keyword for local variables. (2009-03-04)
893            </action>
894            <action dev="asomov" type="fix">
895                Fix: respect implicit resolvers with 'null' as a first character. (2009-03-02)
896            </action>
897            <action dev="asomov" type="update">
898                Refactor: use Character instead of String as a key for implicit resolvers. (2009-03-02)
899            </action>
900            <action dev="asomov" type="add">
901                Use Ragel instead of Regular Expressions for implicit types. (2009-03-02)
902            </action>
903            <action dev="asomov" type="fix" due-to="Christophe Desguez">
904                Fix ticket #4 (in Assembla): java.sql.Date not handled. (2009-02-28)
905            </action>
906             <action dev="asomov" type="add">
907                Introduce DumperOptions.DefaultFlowStyle enum (2009-02-24)
908            </action>
909            <action dev="asomov" type="add">
910                Introduce DumperOptions.DefaultScalarStyle enum (2009-02-24)
911            </action>
912            <action dev="asomov" type="update">
913                Refactor: use 'switch' with Enum instead of multiple 'if' statements to distinguish nodes (2009-02-19)
914            </action>
915            <action dev="asomov" type="update">
916                Refactor: use Enum instead of String as NodeId (2009-02-19)
917            </action>
918        </release>
919        <release version="1.0.1" date="2009-02-18" description="implement Enum support">
920            <action dev="asomov" type="fix">
921                Do not emit anchors for Enum (2009-02-18)
922            </action>
923            <action dev="asomov" type="fix">
924                Enum as a JavaBean property (when the Enum class is implicitly defined) does
925                not need tags for both loading and dumping (2009-02-17)
926            </action>
927            <action dev="asomov" type="fix">
928                Enum is emitted as a scalar node (2009-02-17)
929            </action>
930            <action dev="asomov" type="fix" due-to="James Nissel">
931                Enum is parsed as a scalar node or as a JavaBean property (2009-02-17)
932            </action>
933            <action dev="asomov" type="update">
934                Refactor: for performance ScannerImpl.stalePossibleSimpleKeys() does not copy key Set (2009-02-10)
935            </action>
936            <action dev="asomov" type="update">
937                By default allowUnicode=true. If it is necessary to escape Unicode use
938                DumperOptions.setAllowUnicode(false) (2009-02-09)
939            </action>
940            <action dev="asomov" type="add">
941                Implement allowUnicode setting (to escape Unicode characters on non UTF-8 terminals) (2009-02-09)
942            </action>
943            <action dev="asomov" type="add">
944                Add possibility to specify tags for dumping (2009-02-09)
945            </action>
946            <action dev="asomov" type="update">
947                Rename getExpRoot to getExplicitRoot to conform with
948                standard JavaBean naming convention (2009-02-09)
949            </action>
950            <action dev="asomov" type="update">
951                Rename explictStart and explicitEnd to standard setters to conform with
952                standard JavaBean naming convention (2009-02-09)
953            </action>
954            <action dev="asomov" type="fix">
955                Add possibility to specify a line break (2009-02-09)
956            </action>
957        </release>
958        <release version="1.0" date="2009-02-06" description="final 1.0 release">
959            <action dev="asomov" type="add">
960                Deliver first release (2009-02-06)
961            </action>
962        </release>
963    </body>
964</document>
965