root/trunk/spec/changes.dbk

Revision 7, 65.9 KB (checked in by oren, 8 months ago)

April 06, 2008 draft.

Implemented by YamlReference? 0.9.

Contains new productions, new examples, all the changes collected throughout
the last 3 years, and of course JSON compatibility.

Line 
1<?xml version="1.0"?>
2<!DOCTYPE appendix
3  PUBLIC "-//OASIS//DTD DocBook V4.2//EN"
4         "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
5
6<book>
7  <title>Change Log For The YAML 1.0 Specification</title>
8  <subtitle>Last Updated On 2005-01-18</subtitle>
9
10  <chapter>
11    <title>Changes From The 28 Dec 2004 Draft</title>
12
13    <variablelist>
14      <varlistentry>
15        <term><para>
16          Break Syntax Chapter
17        </para></term>
18        <listitem><para>
19          As proposed by Rich Morin.
20        </para></listitem>
21      </varlistentry>
22
23      <varlistentry>
24        <term><para>
25          Nit Fixes
26        </para></term>
27        <listitem><para>
28          A lot of nits detected by Rich Morin, Tichy Braoo and Alexis Layton.
29        </para></listitem>
30      </varlistentry>
31
32      <varlistentry>
33        <term><para>
34          Broken Links
35        </para></term>
36        <listitem><para>
37          Several broken links detected by Tichy Braoo.
38        </para></listitem>
39      </varlistentry>
40
41      <varlistentry>
42        <term><para>
43          Break Syntax Chapter
44        </para></term>
45        <listitem><para>
46          To several smaller chapters.
47        </para></listitem>
48      </varlistentry>
49
50    </variablelist>
51  </chapter>
52
53  <chapter>
54    <title>Changes From The 15 Mar 2003 4th Last Call Draft</title>
55
56    <variablelist>
57      <varlistentry>
58        <term><para>
59          Boolean canonicals
60        </para></term>
61        <listitem><para>
62          Change to
63          <quote><userinput>y</userinput></quote>/<quote><userinput>n</userinput></quote>.
64          Remove
65          <quote><userinput>+</userinput></quote>/<quote><userinput>-</userinput></quote>
66          from examples and the bool type definition. This should have been
67          done a while back (when a plain value could no longer be
68          <quote><userinput>-</userinput></quote>).
69        </para></listitem>
70      </varlistentry>
71
72      <varlistentry>
73        <term><para>
74          Time-less dates
75        </para></term>
76        <listitem><para>
77          Changed to 00:00:00Z instead of 12:00:00Z.
78        </para></listitem>
79      </varlistentry>
80
81      <varlistentry>
82        <term><para>
83          Renamed <userinput>!special</userinput> to
84          <userinput>!yaml</userinput>
85        </para></term>
86        <listitem><para>
87          Better reflects the intent.
88        </para></listitem>
89      </varlistentry>
90
91      <varlistentry>
92        <term><para>DocBook format</para></term>
93        <listitem><para>
94          To allow for easier media retargeting. Support HTML and PDF (using
95          XEP).
96        </para></listitem>
97      </varlistentry>
98
99      <varlistentry>
100        <term><para>Fix production bugs</para></term>
101        <listitem><para>
102          Prevent header/trailer from appearing as content - Thanks to Robin
103          Green for catching this one.
104        </para></listitem>
105      </varlistentry>
106
107      <varlistentry>
108        <term><para>
109          Change <quote>Serialization</quote> back to <quote>Document</quote>
110        </para></term>
111        <listitem><para>
112          By popular demand.
113        </para></listitem>
114      </varlistentry>
115
116      <varlistentry>
117        <term><para>Implicit/explicit indentation</para></term>
118        <listitem><para>
119          Allow leading empty lines, and indented content lines to start with a
120          <quote><userinput>#</userinput></quote> character.
121        </para></listitem>
122      </varlistentry>
123
124      <varlistentry>
125        <term><para>
126          Changed <quote><userinput>taguri:</userinput></quote> to
127          <quote><userinput>tag:</userinput></quote>
128        </para></term>
129        <listitem><para>
130          As per the updated tag URI RFC.
131        </para></listitem>
132      </varlistentry>
133
134      <varlistentry>
135        <term><para>YAML Processor</para></term>
136        <listitem><para>
137          Used the term <quote>(YAML) processor</quote> instead of parser,
138          loader etc. This avoids forcing preconcieved notions on system
139          architecture to affect the semantics.
140        </para></listitem>
141      </varlistentry>
142
143      <varlistentry>
144        <term><para>Rearranged and renamed node/value productions</para></term>
145        <listitem><para>
146          Hopefully this would increase production readability.
147        </para></listitem>
148      </varlistentry>
149
150      <varlistentry>
151        <term><para>Hungarian explained</para></term>
152        <listitem><para>
153          Add a note explaining the production prefixes.
154        </para></listitem>
155      </varlistentry>
156
157      <varlistentry>
158        <term><para>Status</para></term>
159        <listitem><para>
160          Changed to release candidate.
161        </para></listitem>
162      </varlistentry>
163
164      <varlistentry>
165        <term><para>Allow inline collection form in complex keys</para></term>
166        <listitem><para>
167          Reusing the productions from the *-in-seq form.
168        </para></listitem>
169      </varlistentry>
170
171      <varlistentry>
172        <term><para>Allow omitting complex and flow keys values</para></term>
173        <listitem><para>
174          Allows for a nicer set notation.
175        </para></listitem>
176      </varlistentry>
177
178      <varlistentry>
179        <term><para>
180          Allow implicit single pair maps in flow sequences
181        </para></term>
182        <listitem><para>
183          Allows for a nicer ordered map connection.
184        </para></listitem>
185      </varlistentry>
186
187      <varlistentry>
188        <term><para>Major re-write of model and intro chapters</para></term>
189        <listitem><para>
190          Add figures, rephrase, make more readable.
191        </para></listitem>
192      </varlistentry>
193
194      <varlistentry>
195        <term><para>URI escaping</para></term>
196        <listitem><para>
197          Gone.
198        </para></listitem>
199      </varlistentry>
200
201      <varlistentry>
202        <term><para>Empty plain scalars</para></term>
203        <listitem><para>
204          Are forbidden as keys and as flow sequence entries.
205        </para></listitem>
206      </varlistentry>
207
208      <varlistentry>
209        <term><para>Trailing commas</para></term>
210        <listitem><para>
211          Are allowed in flow collections and following ... line. Empty lines
212          ending with a specific line break are now treated as comments even
213          if following a block scalar.
214        </para></listitem>
215      </varlistentry>
216
217      <varlistentry>
218        <term><para>Folding and Chomping</para></term>
219        <listitem><para>
220         Rules have been massively simplified.
221        </para></listitem>
222      </varlistentry>
223
224      <varlistentry>
225        <term><para>Examples</para></term>
226        <listitem><para>
227         Completely new examples set, with highlights associating parts of the
228         characters stream with specific productions.
229        </para></listitem>
230      </varlistentry>
231
232      <varlistentry>
233        <term><para>Productions</para></term>
234        <listitem><para>
235         Re-work almost all productions in the syntax section, together with
236         examples.
237        </para></listitem>
238      </varlistentry>
239
240      <varlistentry>
241        <term><para>Sam&#8217;s corrections</para></term>
242        <listitem><para>
243         Incorporated minor wording issues (thanks to Sam Vilain).
244        </para></listitem>
245      </varlistentry>
246
247      <varlistentry>
248        <term><para>
249          YAML 1.1
250        </para></term>
251        <listitem><para>
252          New directive syntax, %TAG directives, patched indentation rules,
253          moved !!str, !!seq and !!map to the repository. Hopefully this is the
254          last "global" change.
255        </para></listitem>
256      </varlistentry>
257
258      <varlistentry>
259        <term><para>
260          Index
261        </para></term>
262        <listitem><para>
263          Replace all internal links with index entries. It is simply amazing
264          how much work is expressed in this short sentence.
265        </para></listitem>
266      </varlistentry>
267    </variablelist>
268  </chapter>
269
270  <chapter>
271    <title>Changes From The 24 Jan 2003 3rd Last Call Draft</title>
272
273    <variablelist>
274      <varlistentry>
275        <term><para>Implicit header</para></term>
276        <listitem><para>
277          Was changed to <quote>---</quote> instead of <quote>---
278          %YAML:1.0</quote>.
279        </para></listitem>
280      </varlistentry>
281
282      <varlistentry>
283        <term><para>Implicit document</para></term>
284        <listitem><para>
285          Now allows all collection styles, not only block collections.
286        </para></listitem>
287      </varlistentry>
288
289      <varlistentry>
290        <term><para>Block sequence indentation</para></term>
291        <listitem><para>
292          Wording, productions and examples fixed to allow for more
293          human-friendly interpretation of <quote>-</quote> as indentation.
294        </para></listitem>
295      </varlistentry>
296    </variablelist>
297  </chapter>
298
299  <chapter>
300    <title>Changes From The 31 Oct 2002 2nd Last Call Draft</title>
301
302    <variablelist>
303      <varlistentry>
304        <term><para>BNF productions</para></term>
305        <listitem><para>
306          Were renamed with a hungarian-like prefix notation and reformatted so
307          that cut-and-paste from HTML would yield proper results.
308        </para></listitem>
309      </varlistentry>
310
311      <varlistentry>
312        <term><para>Vocabulary instead of language</para></term>
313        <listitem><para>
314          The term <quote>vocabulary</quote> better describes the intent of
315          sub-domains of yaml.org (for type families).
316        </para></listitem>
317      </varlistentry>
318
319      <varlistentry>
320        <term><para>Seq-in-seq</para></term>
321        <listitem><para>
322          Was added (similar to map-in-seq).
323        </para></listitem>
324      </varlistentry>
325
326      <varlistentry>
327        <term><para>Throwaway indicator</para></term>
328        <listitem><para>
329          Changed from <quote><userinput> # </userinput></quote> to
330          <quote><userinput> #</userinput></quote>.
331        </para></listitem>
332      </varlistentry>
333
334      <varlistentry>
335        <term><para>Directive indicator</para></term>
336        <listitem><para>
337          Changed from <quote><userinput>#</userinput></quote> to
338          <quote><userinput>%</userinput></quote>.
339        </para></listitem>
340      </varlistentry>
341
342      <varlistentry>
343        <term><para>Anchors and directive names</para></term>
344        <listitem><para>
345          Can be any non-space flow char.
346        </para></listitem>
347      </varlistentry>
348
349      <varlistentry>
350        <term><para>Flow values</para></term>
351        <listitem><para>
352          May start on a following line.
353        </para></listitem>
354      </varlistentry>
355
356      <varlistentry>
357        <term><para>
358          Special <quote><userinput>-</userinput></quote> plain value
359        </para></term>
360        <listitem><para>
361          Is canceled (ambiguous with next-line flow). Therefore the
362          <userinput>-/+</userinput> Boolean implicits are gone as well.
363        </para></listitem>
364      </varlistentry>
365
366      <varlistentry>
367        <term><para>Language-independent types</para></term>
368        <listitem><para>
369          Corrected date indicators.
370        </para></listitem>
371      </varlistentry>
372
373      <varlistentry>
374        <term><para>Integers and floats</para></term>
375        <listitem><para>
376          Added sexagesimal (base 60) format (using
377          <quote><userinput>:</userinput></quote>) for time (and degrees).
378        </para></listitem>
379      </varlistentry>
380
381      <varlistentry>
382        <term><para>Nulls</para></term>
383        <listitem><para>
384          Removed the <quote><userinput>Undef</userinput></quote> possibility.
385        </para></listitem>
386      </varlistentry>
387
388      <varlistentry>
389        <term><para>Merge</para></term>
390        <listitem><para>
391          Changed from <quote><userinput>&lt;=</userinput></quote> to
392          <quote><userinput>&lt;&lt;</userinput></quote>.
393        </para></listitem>
394      </varlistentry>
395    </variablelist>
396  </chapter>
397
398  <chapter>
399    <title>Changes From The 01 sep 2002 1st Last Call Draft</title>
400
401    <variablelist>
402      <varlistentry>
403        <term><para>Brian&#8217;s wording fixes</para></term>
404        <listitem><para>
405          Spelling and minor re-wording.
406        </para></listitem>
407      </varlistentry>
408
409      <varlistentry>
410        <term><para><userinput>#TAB</userinput> was removed</para></term>
411        <listitem><para>
412          Tabs are now completely banned from indentation.
413        </para></listitem>
414      </varlistentry>
415
416      <varlistentry>
417        <term><para>Escaping of type family name</para></term>
418        <listitem><para>
419          The interaction between <quote><userinput>\</userinput></quote> and
420          <quote><userinput>%</userinput></quote> escaping has been clarified
421          in a better way.
422        </para></listitem>
423      </varlistentry>
424
425      <varlistentry>
426        <term><para>Zero explicit indentation</para></term>
427        <listitem><para>
428          Is now allowed for top level nodes.
429        </para></listitem>
430      </varlistentry>
431
432      <varlistentry>
433        <term><para>Moved language-independent types out of the spec.</para></term>
434        <listitem><para>
435          Only !map, !seq and !str are in it now.
436        </para></listitem>
437      </varlistentry>
438
439      <varlistentry>
440        <term><para>Changed implicit types</para></term>
441        <listitem><para>
442          No longer require (). Implicit empty string is !null. Changed nil to
443          undef. These changes depend on a resolution to the implicit typing
444          issues; hence all the separate type documents are not in <quote>last
445          call</quote> status. Yet.
446        </para></listitem>
447      </varlistentry>
448
449      <varlistentry>
450        <term><para>Changed NULL escape</para></term>
451        <listitem><para>
452          From \z to \0.
453        </para></listitem>
454      </varlistentry>
455
456      <varlistentry>
457        <term><para>
458          Changed <quote><userinput>-</userinput> entry</quote> indentation
459        </para></term>
460        <listitem><para>
461          Consider the <quote><userinput>-</userinput></quote> to be
462          indentation, but not the following spaces.
463        </para></listitem>
464      </varlistentry>
465
466      <varlistentry>
467        <term><para>
468          Changed format separator to <quote><userinput>#</userinput></quote>
469        </para></term>
470        <listitem><para>
471          This makes transfer methods into URI-references (allow fragments).
472          Type families are URIs (without fragments).
473        </para></listitem>
474      </varlistentry>
475
476      <varlistentry>
477        <term><para>Mutability == collection</para></term>
478        <listitem><para>
479          Make all collections mutable and all scalars immutable. This
480          simplifies generic tools and the native model.
481        </para></listitem>
482      </varlistentry>
483
484      <varlistentry>
485        <term><para>Re-ordered sections</para></term>
486        <listitem><para>
487          Moved information models to the end.
488        </para></listitem>
489      </varlistentry>
490
491      <varlistentry>
492        <term><para>Graph implicit types</para></term>
493        <listitem><para>
494          Allow types to remain unknown (implicit) all the way up to and
495          including the graph model; allow implicit collection types.
496        </para></listitem>
497      </varlistentry>
498
499      <varlistentry>
500        <term><para>Graph implicit types</para></term>
501        <listitem><para>
502          Allow types to remain unknown (implicit) all the way up to and
503          including the graph model; allow implicit collection types.
504        </para></listitem>
505      </varlistentry>
506    </variablelist>
507  </chapter>
508
509  <chapter>
510    <title>Changes From The 10 Jul 2002 Draft</title>
511
512    <variablelist>
513      <varlistentry>
514        <term><para>Status</para></term>
515        <listitem><para>
516          Was changed to <quote>Last Call</quote>. At long last.
517        </para></listitem>
518      </varlistentry>
519
520      <varlistentry>
521        <term><para>Implicit strings</para></term>
522        <listitem><para>
523          May begin with a <quote><userinput>/</userinput></quote> to allow
524          paths to be unquoted.
525        </para></listitem>
526      </varlistentry>
527
528      <varlistentry>
529        <term><para>Removed the <userinput>//</userinput> special keys.</para></term>
530        <listitem><para>
531          They conflict with the new implicit string format. What to replace
532          them with, if anything, is still TBD.
533        </para></listitem>
534      </varlistentry>
535
536      <varlistentry>
537        <term><para>Example fixes</para></term>
538        <listitem><para>
539          Minor nits were wrong in some examples (4.3.1, 4.6.4, 4.6.5, 4.6.7).
540        </para></listitem>
541      </varlistentry>
542
543      <varlistentry>
544        <term><para>
545          Renamed <quote>public</quote> type families to <quote>global</quote>
546        </para></term>
547        <listitem><para>
548          This better conveys the intent.
549        </para></listitem>
550      </varlistentry>
551
552      <varlistentry>
553        <term><para>Separated changes</para></term>
554        <listitem><para>
555          As of this draft, changes are in a separated document.
556        </para></listitem>
557      </varlistentry>
558
559      <varlistentry>
560        <term><para>Repaginated draft</para></term>
561        <listitem><para>
562          The previous pagination was nice but it was very wasteful of pages.
563          In the spirit of keeping the spec small, page breaks were moved,
564          reducing the printed size by 10 pages or so.
565        </para></listitem>
566      </varlistentry>
567    </variablelist>
568  </chapter>
569
570  <chapter>
571    <title>Changes From The 06 Jul 2002 Draft</title>
572
573    <variablelist>
574      <varlistentry>
575        <term><para>Table of content</para></term>
576        <listitem><para>
577          Was enhanced to specify page numbers as well as links. Also, entry
578          3.1.4 was missing.
579        </para></listitem>
580      </varlistentry>
581
582      <varlistentry>
583        <term><para>Section 1.2, paragraph 7</para></term>
584        <listitem><para>
585          Remove the sentence about indentation being used for multiple
586          documents (it isn&#8217;t).
587        </para></listitem>
588      </varlistentry>
589
590      <varlistentry>
591        <term><para>Syntactical problems</para></term>
592        <listitem><para>
593          Using <quote>an flow</quote> (leftover from the global substitute)
594          and various other minor fixes.
595        </para></listitem>
596      </varlistentry>
597
598      <varlistentry>
599        <term><para>Renamed <quote>nested</quote> to <quote>block</quote></para></term>
600        <listitem><para>
601          In all the wording. This makes the wording match the productions.
602        </para></listitem>
603      </varlistentry>
604
605      <varlistentry>
606        <term><para>Cleaned canonical formats</para></term>
607        <listitem><para>
608          In some cases, the canonical format was a subset of another format,
609          rather than being an implicit format on its own. This is allowed, and
610          is now explicit in the format definition. Also fixed the string
611          formats to satisfy the requirement that a value would only match one
612          implicit or explicit format.
613        </para></listitem>
614      </varlistentry>
615    </variablelist>
616  </chapter>
617
618  <chapter>
619    <title>Changes From The 30 Jun 2002 Draft</title>
620    <variablelist>
621      <varlistentry>
622        <term><para>Printing</para></term>
623        <listitem><para>
624          Should be much improved. Explicit page breaks were added and some
625          reorganization was done so that breaks should reflect logical chunks.
626          At least in A4 and Letter pages size on IE6 :-)
627        </para></listitem>
628      </varlistentry>
629
630      <varlistentry>
631        <term><para>Productions 94 and 98</para></term>
632        <listitem><para>
633          Now reflect the correct indentation policy for map-in-seq.
634        </para></listitem>
635      </varlistentry>
636
637      <varlistentry>
638        <term><para>Productions 129 and 130</para></term>
639        <listitem><para>
640          Were renamed to <quote>folded-paragraph</quote> and
641          <quote>folded-text-line</quote> to better reflect the intent.
642        </para></listitem>
643      </varlistentry>
644
645      <varlistentry>
646        <term><para>
647          The <quote><userinput>...</userinput></quote> <quote>pause</quote>
648          marker
649        </para></term>
650        <listitem><para>
651          Was added as per the discussions in the mailing list. This added two
652          productions.
653        </para></listitem>
654      </varlistentry>
655
656      <varlistentry>
657        <term><para>Examples</para></term>
658        <listitem><para>
659          Some examples were re-worked as part of the re-organization.
660          Hopefully for the better. The XML example was removed.
661        </para></listitem>
662      </varlistentry>
663    </variablelist>
664  </chapter>
665
666  <chapter>
667    <title>Changes From The 25 Jun 2002 Draft</title>
668
669    <variablelist>
670      <varlistentry>
671        <term><para>Printing enhancements</para></term>
672        <listitem><para>
673          Add page-break in many locations for better printing, make table of
674          contents two columns.
675        </para></listitem>
676      </varlistentry>
677
678      <varlistentry>
679        <term><para>Terminology</para></term>
680        <listitem><para>
681          <para>
682            Change <quote>block scalar</quote> to <quote>literal
683            scalar</quote>, change <quote>in-line</quote> to
684            <quote>flow</quote>. This allows for two sorts of mechanisms, the
685            <quote>block</quote> mechanism and the <quote>flow</quote>
686            mechanism. Within block are literal and folded scalars; within flow
687            are plain, single, and double. This involved a few global
688            substitutions which will probably introduce error, those are:
689          </para>
690
691          <itemizedlist>
692            <listitem><para>s/in-line/flow/</para></listitem>
693            <listitem><para>s/nest-/blk-/</para></listitem>
694            <listitem><para>s/line-/flow-/</para></listitem>
695            <listitem><para>s/flow-feed/line-feed</para></listitem>
696            <listitem><para>s/flow-separator/line-separator</para></listitem>
697            <listitem><para>s/flow-break-char/line-break-char</para></listitem>
698            <listitem><para>s/flow-break/break</para></listitem>
699          </itemizedlist>
700        </para></listitem>
701      </varlistentry>
702
703      <varlistentry>
704        <term><para>Preview Re-structuring</para></term>
705        <listitem><para>
706          Restructure the preview section for general readability.
707        </para></listitem>
708      </varlistentry>
709
710      <varlistentry>
711        <term><para>Production Changes</para></term>
712        <listitem><para>
713          Minor change to the comment-break production
714        </para></listitem>
715      </varlistentry>
716    </variablelist>
717  </chapter>
718
719  <chapter>
720    <title>Changes From The 14 Jun 2002 Draft</title>
721
722    <variablelist>
723      <varlistentry>
724        <term><para>Use (word) instead of .word for <quote>enums</quote></para></term>
725        <listitem><para>
726          This is going to be our generic way to handle implicits that
727          otherwise would be taken to be strings.
728        </para></listitem>
729      </varlistentry>
730
731      <varlistentry>
732        <term><para>
733          Change <quote>word</quote> format names to <quote>english</quote>
734        </para></term>
735        <listitem><para>
736          More correctly reflects their semantics.
737        </para></listitem>
738      </varlistentry>
739
740      <varlistentry>
741        <term><para>Canonical Booleans</para></term>
742        <listitem><para>
743          Change canonical Booleans to <userinput>+/-</userinput>. Had to
744          make a special case to allow <quote><userinput>-</userinput></quote>
745          in unquoted values to do it. This doesn&#8217;t apply to keys, but using
746          the English format there makes more sense anyway. This allows
747          canonical boolean to be implicit.
748        </para></listitem>
749      </varlistentry>
750
751      <varlistentry>
752        <term><para>Add (null)/(nil)</para></term>
753        <listitem><para>
754          In addition to <userinput>~</userinput>, consistent with booleans.
755        </para></listitem>
756      </varlistentry>
757
758      <varlistentry>
759        <term><para>Unify date/time</para></term>
760        <listitem><para>
761          Merge them into timestamp (and rename it to <quote>time</quote>).
762        </para></listitem>
763      </varlistentry>
764
765      <varlistentry>
766        <term><para>Relax string regexp</para></term>
767        <listitem><para>
768          Anything starting with a <quote>text</quote> character
769          (<quote><userinput>-</userinput></quote>, letter or digit),
770          except for int/flt/time.
771        </para></listitem>
772      </varlistentry>
773
774      <varlistentry>
775        <term><para>Change space escapes</para></term>
776        <listitem><para>
777          <quote><userinput>\ </userinput></quote> is now a space,
778          <quote><userinput>\-</userinput></quote> is now NBSP.
779        </para></listitem>
780      </varlistentry>
781
782      <varlistentry>
783        <term><para>Allow repeated <userinput>#</userinput></para></term>
784        <listitem><para>
785          To begin throwaway comments.
786        </para></listitem>
787      </varlistentry>
788
789      <varlistentry>
790        <term><para>Renamed the three chomping variants</para></term>
791        <listitem><para>
792          To <quote>strip</quote>, <quote>clip</quote> (default) and
793          <quote>keep</quote>.
794        </para></listitem>
795      </varlistentry>
796
797      <varlistentry>
798        <term><para>Changed in-line folding</para></term>
799        <listitem><para>
800          To allow empty lines to represent line feeds and to preserve specific
801          line breaks. The WIKI feature isn&#8217;t included as it depends on
802          indentation.
803        </para></listitem>
804      </varlistentry>
805
806      <varlistentry>
807        <term><para>Changed simple style</para></term>
808        <listitem><para>
809          To reflect the new restrictions (keys can&#8217;t span; in-lines can&#8217;t have
810          <quote><userinput>, </userinput></quote> and <quote><userinput>:
811          </userinput></quote>; for top-level values, anything goes except
812          comments. Comments can no longer be interleaved in such scalars.
813        </para></listitem>
814      </varlistentry>
815
816      <varlistentry>
817        <term><para>
818          Make <quote><userinput>?</userinput></quote> into a space separator
819        </para></term>
820        <listitem><para>
821          No reason not to. It was always followed by a space anyway.
822        </para></listitem>
823      </varlistentry>
824
825      <varlistentry>
826        <term><para>Renamed scalar styles</para></term>
827        <listitem><para>
828          Rename <quote>plain</quote> to <quote>block</quote> and
829          <quote>simple</quote> to <quote>plain</quote>. As a result of the
830          above it isn&#8217;t that simple any more <userinput>:-)</userinput> and
831          having both <quote>plain</quote> and <quote>simple</quote> was
832          confusing. Reverting to <quote>block</quote> more accurately reflects
833          the semantics, freeing <quote>plain</quote> for the unquoted style.
834        </para></listitem>
835      </varlistentry>
836
837      <varlistentry>
838        <term><para>Renamed productions</para></term>
839        <listitem><para>
840          To make the document more printer-friendly. The main change was to
841          rename <userinput>nested-</userinput> to
842          <userinput>nest-</userinput> and
843          <userinput>inline-</userinput> to
844          <userinput>line-</userinput>. The latter is particularly painful,
845          but there was no other good choice.
846        </para></listitem>
847      </varlistentry>
848
849      <varlistentry>
850        <term><para>Float round-tripping</para></term>
851        <listitem><para>
852          Added a warning that float values may not round-trip exactly due to
853          the use of native float data types.
854        </para></listitem>
855      </varlistentry>
856    </variablelist>
857  </chapter>
858
859  <chapter>
860    <title>Changes From The 27 May 2002 Draft</title>
861    <variablelist>
862      <varlistentry>
863        <term><para>Provide mailing list URL</para></term>
864        <listitem><para>
865          So that its address would be clear even from the printed version.
866        </para></listitem>
867      </varlistentry>
868
869      <varlistentry>
870        <term><para>Line Processing section</para></term>
871        <listitem><para>
872          Was renamed <quote>Space processing</quote>.
873        </para></listitem>
874      </varlistentry>
875
876      <varlistentry>
877        <term><para>Document productions</para></term>
878        <listitem><para>
879          Were cleaned up and now allow comments before the header line.
880        </para></listitem>
881      </varlistentry>
882
883      <varlistentry>
884        <term><para>Printing</para></term>
885        <listitem><para>
886          Many tweaking to ensure printing doesn&#8217;t clip the comments of the
887          productions tables.
888        </para></listitem>
889      </varlistentry>
890
891      <varlistentry>
892        <term><para>Float format</para></term>
893        <listitem><para>
894          Extended to allow for infinity and not a number.
895        </para></listitem>
896      </varlistentry>
897
898      <varlistentry>
899        <term><para>Block indicators</para></term>
900        <listitem><para>
901          Changed to <userinput>|</userinput>, <userinput>&gt;</userinput> and
902          <userinput>\</userinput> (without the leading
903          <userinput>|</userinput>).
904        </para></listitem>
905      </varlistentry>
906
907      <varlistentry>
908        <term><para>Information model</para></term>
909        <listitem><para>
910          Whole section was re-worked to accommodate the latest decisions in
911          the mailing list. Leaf and branch are now renamed to collection and
912          scalar; keyed and series are renamed to mapping and sequence.
913        </para></listitem>
914      </varlistentry>
915
916      <varlistentry>
917        <term><para>Multi-line in-lines</para></term>
918        <listitem><para>
919          Are now allowed, including multi-line in-line scalars.
920        </para></listitem>
921      </varlistentry>
922
923      <varlistentry>
924        <term><para>Limit implicit strings</para></term>
925        <listitem><para>
926          To word and space characters only.
927        </para></listitem>
928      </varlistentry>
929
930      <varlistentry>
931        <term><para>Unreserve <userinput># % ^</userinput></para></term>
932        <listitem><para>
933          No need to reserve them - they can&#8217;t be used as first characters in a
934          simple value anyway because there&#8217;s no implicit type using them.
935          Unreserving them allows them to be used in implicit types in the
936          future.
937        </para></listitem>
938      </varlistentry>
939
940      <varlistentry>
941        <term><para>Modify folding</para></term>
942        <listitem><para>
943          To preserve line breaks around more-indented and specific empty
944          lines.
945        </para></listitem>
946      </varlistentry>
947
948      <varlistentry>
949        <term><para>Spell checking</para></term>
950        <listitem><para>
951          Run the whole document throught Word for spell checking.
952        </para></listitem>
953      </varlistentry>
954
955      <varlistentry>
956        <term><para>Model chart</para></term>
957        <listitem><para>
958          Changed to use style sheet in a more dependable way, and now reflects
959          the fact the native and generic models <quote>are one</quote> in some
960          respects.
961        </para></listitem>
962      </varlistentry>
963
964      <varlistentry>
965        <term><para>Wording for String</para></term>
966        <listitem><para>
967          Changed to reflect the fact
968          <quote><userinput>-</userinput></quote> isn&#8217;t a word character.
969        </para></listitem>
970      </varlistentry>
971
972      <varlistentry>
973        <term><para>Chomp control</para></term>
974        <listitem><para>
975          Was added (<quote><userinput>-</userinput></quote> for chomp,
976          <quote><userinput>+</userinput></quote> for keep).
977        </para></listitem>
978      </varlistentry>
979
980      <varlistentry>
981        <term><para>Escaped nested style</para></term>
982        <listitem><para>
983          Was removed. It is redundant due to <quote>..</quote> spanning lines.
984        </para></listitem>
985      </varlistentry>
986    </variablelist>
987  </chapter>
988
989  <chapter>
990    <title>Changes From The 28 Apr 2002 Draft</title>
991    <variablelist>
992      <varlistentry>
993        <term><para>Explicit Syntax</para></term>
994        <listitem><para>
995          Explicit notation is now required for empty scalars. This reverts the
996          change in the previous draft.
997        </para></listitem>
998      </varlistentry>
999
1000      <varlistentry>
1001        <term><para>No alternate style for collections.</para></term>
1002        <listitem><para>
1003          Map and seq can now only be written in keyed and series style.
1004        </para></listitem>
1005      </varlistentry>
1006
1007      <varlistentry>
1008        <term><para>Comments</para></term>
1009        <listitem><para>
1010          Are now allowed to trail lines except for inside multi line text.
1011          Comments (explicit and implicit) may trail multi-line text values as
1012          long as they are less indented.
1013        </para></listitem>
1014      </varlistentry>
1015
1016      <varlistentry>
1017        <term><para>URI Scheme</para></term>
1018        <listitem><para>
1019          Is now correctly limited to word characters.
1020        </para></listitem>
1021      </varlistentry>
1022
1023      <varlistentry>
1024        <term><para>Trailing comma</para></term>
1025        <listitem><para>
1026          Is no longer allowed in in-line collections.
1027        </para></listitem>
1028      </varlistentry>
1029
1030      <varlistentry>
1031        <term><para>Simple char</para></term>
1032        <listitem><para>
1033          Production 170 fixed to prohibit in-line indicators after a space
1034          indicator, or two space indicators followed by a space.
1035        </para></listitem>
1036      </varlistentry>
1037
1038      <varlistentry>
1039        <term><para>Base64 Format</para></term>
1040        <listitem><para>
1041          Was listed as <quote>canonical</quote>. Fixed to
1042          <quote>explicit</quote>.
1043        </para></listitem>
1044      </varlistentry>
1045
1046      <varlistentry>
1047        <term><para>Time intro examples</para></term>
1048        <listitem><para>
1049          Used the wrong format
1050        </para></listitem>
1051      </varlistentry>
1052
1053      <varlistentry>
1054        <term><para>Production fixes</para></term>
1055        <listitem><para>
1056          Correct minor problems (missing <quote>(n)</quote>, improper handling
1057          of spaces in in-line collections, missing
1058          <quote><userinput>|</userinput></quote>, etc.)
1059        </para></listitem>
1060      </varlistentry>
1061
1062      <varlistentry>
1063        <term><para>Integer and Float formats</para></term>
1064        <listitem><para>
1065          Now ignores any <quote><userinput>,</userinput></quote> inside the
1066          value. This required making <quote><userinput>,</userinput></quote>
1067          into a space separator.
1068        </para></listitem>
1069      </varlistentry>
1070
1071      <varlistentry>
1072        <term><para>Boolean</para></term>
1073        <listitem><para>
1074          Is now a type of its own.
1075        </para></listitem>
1076      </varlistentry>
1077
1078      <varlistentry>
1079        <term><para>Ptr</para></term>
1080        <listitem><para>
1081          Was removed. Will probably be a Perl-specific type.
1082        </para></listitem>
1083      </varlistentry>
1084
1085      <varlistentry>
1086        <term><para>Leaf styles</para></term>
1087        <listitem><para>
1088          Were simplified to only 6 (3 nested and 3 in-line).
1089        </para></listitem>
1090      </varlistentry>
1091    </variablelist>
1092  </chapter>
1093
1094  <chapter>
1095    <title>Changes From The 07 Apr 2002 Draft</title>
1096    <variablelist>
1097      <varlistentry>
1098        <term><para>Document Separator</para></term>
1099        <listitem><para>
1100          Is now restricted to <quote><userinput>---</userinput></quote>. BOM
1101          is allowed if encoding does not change. Production 49 has been
1102          corrected accordingly, and the reference to the obsolete
1103          <userinput>non-alias_node</userinput> was corrected.
1104        </para></listitem>
1105      </varlistentry>
1106
1107      <varlistentry>
1108        <term><para>In-series keyed</para></term>
1109        <listitem><para>
1110          This special case (production 93) has been restricted to in-line leaf
1111          keys without any properties. This minimizes lookahead in parsers.
1112        </para></listitem>
1113      </varlistentry>
1114
1115      <varlistentry>
1116        <term><para>Inline leaf</para></term>
1117        <listitem><para>
1118          Now allows an empty unquoted value (production 163).
1119        </para></listitem>
1120      </varlistentry>
1121    </variablelist>
1122  </chapter>
1123
1124  <chapter>
1125    <title>Changes From The 10 Mar 2002 Draft</title>
1126
1127    <variablelist>
1128      <varlistentry>
1129        <term><para>Anchors for aliases</para></term>
1130        <listitem><para>
1131          Are now forbidden.
1132        </para></listitem>
1133      </varlistentry>
1134
1135      <varlistentry>
1136        <term><para>Timestamp format</para></term>
1137        <listitem><para>
1138          Fixed a problem with the regexp. Allow both a valid ISO8601 format
1139          (using <quote><userinput>T</userinput></quote>) and a space separated
1140          format (for readability).
1141        </para></listitem>
1142      </varlistentry>
1143
1144      <varlistentry>
1145        <term><para>Productions</para></term>
1146        <listitem><para>
1147          Break node productions to smaller bits.
1148        </para></listitem>
1149      </varlistentry>
1150    </variablelist>
1151  </chapter>
1152
1153  <chapter>
1154    <title>Changes From The 20 Feb 2002 Draft</title>
1155
1156    <variablelist>
1157      <varlistentry>
1158        <term><para>YAC 22</para></term>
1159        <listitem><para>
1160          The <userinput>#TAB</userinput> directive is now required to allow
1161          tabs in indentation.
1162        </para></listitem>
1163      </varlistentry>
1164    </variablelist>
1165  </chapter>
1166
1167  <chapter>
1168    <title>Changes From The 16 Feb 2002 Draft</title>
1169
1170    <variablelist>
1171      <varlistentry>
1172        <term><para>Corrected examples</para></term>
1173        <listitem><para>
1174          Floating point numbers in all examples now start with
1175          <quote><userinput>0</userinput></quote>.
1176        </para></listitem>
1177      </varlistentry>
1178
1179      <varlistentry>
1180        <term><para>Wording improvements</para></term>
1181        <listitem><para>
1182          In various places.
1183        </para></listitem>
1184      </varlistentry>
1185
1186      <varlistentry>
1187        <term><para>Empty line indentation</para></term>
1188        <listitem><para>
1189          Is now be <userinput>indent(&lt;=n)</userinput> instead of the
1190          previous <userinput>indent(n)?</userinput>
1191        </para></listitem>
1192      </varlistentry>
1193    </variablelist>
1194  </chapter>
1195
1196  <chapter>
1197    <title>Changes From The 10 Feb 2002 Draft</title>
1198
1199    <variablelist>
1200      <varlistentry>
1201        <term><para>YAC 20</para></term>
1202        <listitem><para>
1203          The yaml: scheme has