## Release Notes

### Kindlegen version 2.3 build 36043

    	   - Supported new CSS media types to provide distinct styles to mobi and KF8.
    	   - Improved image quality for comics and children's books.
    	   - Dual cover image fix for reflowable book.

    	Check the latest release notes and known issues at http://www.amazon.com/kindlepublishing

### Kindlegen version 2.2 build 35621

    	   - Bug Fixes from previous versions of kindlegen.

### Kindlegen version 2.1 build 35388

    	   - Added support for Children's Book and Comics.
    	   - Bug Fixes from previous versions of kindlegen.

### Kindlegen version 2.0 build 34608

    	   - Kindlegen is extended to create enhanced mobi with support for HTML5/CSS3.

### Kindlegen version 1.2 build 33307

    	   - Added support to accept page numbers for a book through NCX pageLists or page-map xml.
    	   - Changed default encoding of the generated books to "utf-8". To encode the book in Win-1252 use the command line option "-western".
    	   - Added support for Latin language (ISO-639-1 code: la).
    	   - Added support for AAC file format as audio/video source.
    	   - Bug fixes from older version of Kindlegen.

### Kindlegen version 1.1 build 99

    	   - This update provides minor enhancements and bug fixes.

### Kindlegen version 1.1 build 98

    	   - Added support for image sizes up to 128KB. Images larger than 128KB will automatically be readjusted to meet this new limit.
    	   - Added support for video and audio multimedia within Kindle content.
    	   - Fixed bugs with NCX handling in certain cases.

### Kindlegen version 1.0 build 87

    	   - Kindlegen is now supported in Mac

### Kindlegen version 1.0 build 86

###

###

###

###

###

###

###

###

###

###

###

###

###

###

###

###

###

###

###

###

###

###

###

###

###

###

###

###

###

###

###

###

###

###

###

###

###

###

###

###

###

###

###

###

###

###

###

###

###

###

###

###

###

###

###

###

###

###

###

###

###

###

###

###

###

###

###

###

###

###

###

###

###

###

###

###

###

###

###

###

###

###

###

###

###

###

###

###

###

###

###

###

###

###

###

###

###

###

###

###

###

###

###

###

###

###

###

###

###

###

###

###

###

###

    	   - Kindlegen is now supported in Linux
    	   - Improved image compression algorithm
    	   - Support for Macintosh encoding
    	   - Fixed NCX related issues
    	   - Added a feature to insert a missing image if there is a image tag that points
    	     to a image that doesn't exists

    	   Developed from Mobigen 6.2 build 43

    Mobigen versions
    V 6.2 build 43
    	  - bug fix: Books built with the option -s2 with mobigen version 6.2 build 42 could not be uploaded into ebookbase.

    V 6.2 build 42
    	  - bug fix: NCX table of content does not generate anymore a wrong default lookup index.
    	  - bug fix: numeric HTML entities are converted properly in western ebooks.
    	  - bug fix: XHTML files are now parsed as HTML content instead of TEXT content.
    	  - bug fix: repaired CSS transformations: they could lead to non-closed tags, without an impact on HTML formatting.
    	  - new: added verbose mode switch. Non verbose output by default.
    	  - new: preparsing of <pre> tag to make it work in Reader.
    	  - new: wrapping of monospaced font style into <tt> tags to make monospaced fonts work in Readers that do not have <font face=> support.
    	  - new: NCX metadata extensions

    V 6.2 build 41
    	  - bug fix: only the first list of illustrations was built in the ebook table of content.
    	  - change: table of content file format version requirement has been changed.

    V 6.2 build 40
    	  - bug fix: fixed nested ordered list numbering in structured tags.
    	  - change: complex unicode ligatures are now always converted by mobigen.

    V 6.02 build 39
    	  - change: improved ebook cover support.
    	  - added support of NCX table of contents files.
    	  - bug fix: mobigen crashed when a CSS left margin was specified but no left indent.

    V 6.01 build 38
    	  - bug fix: text was left aligned if left margin was set to 0em.

    V 6.01 build 37
    	  - change: better ebook cover support in epub files.

    V 6.01 build 36
    	  - bug fix: some files were embedded in the book although not used.
    	  - change: removed -jpeg option and added opposite option -gif.
    	  - change: mobigen exit code is now standard: 0 for OK, 1 for warning, 2 for error.

    V 6.01 build 35
    	  - added capability to build an eBook using an epub file as source.

    V 6.01 build 34
    	  - added version of the creator software in the generated ebook.
    	  - bug fix: some bad combinations of <ol> and <li> tags would make mobigen crash. This has been fixed.

    V 6.01 build 33
    	  - bug fix: index strings (idx:string or format) were not stored properly if total size exceeded 64K.
    	  - added French spell correction.

    V 6.0 build 32
    	  - bug fix: missing images files do not create a random image in the ebook anymore.
    	  - change: JPEG images are cleaned before building the ebook file.

    V 6.0 build 31
    	  - added german and italian spell correction (mobigen can now build English,
    	    German, Spanish and Italian dictionaries with embedded spell correction.

    V 6.0 build 30
    	  - change: the biggest of the MS image cover guide items is taken as the cover
    	    if the embedded cover is not specified

    V 6.0 build 29
    	  - bug fix: <STYLE> tag in an HTML file was not always parsed correctly.
    	  - bug fix: Cover images are aligned on a four byte boundary.
    	  - change: source HTML files that are in UTF-8 are now checked.
    	    Invalid UTF-8 is refused and not built.
    	  - added support for ordered lists.
    	  - added support for new content output type:
    	  - application/x-mobipocket-subscription-feed
    	  - application/x-mobipocket-subscription-magazine
    	  - change: MS thumbimage covers guide items are detected and removed.

    V 6.0 build 28
    	  - added <EmbeddedCover/> tag in <x-metadata> : this tag sets the cover image that is embedded in the book

    V 6.0 build 27
    	  - added command line -jpeg option to support jpeg images natively in the book.

    V 5.0 build 26
    	  - bug fix: the image conversion would sometimes produce images slightly too
    	    big for the maximum record size. This would show a warning about a record
    	    being too big for Palm devices
    	  - added -releasenotes command line option

    V 5.0 build 25
    	  - added support for fully sorted Korean scripts (Hangul)

    V 5.0 build 24
    	  - fixed bug in the unicode ranges table

    V 5.0 build 23
    	  - fixed bug in the binary encoding of entry position information

    V 5.0 build 22
    	  - added missing encoding when adding anchor. It was avoiding internal href
    	    links to match correctly in some cases

    V 5.0 build 21
    	  - General Punctuation unicode range has been cut into 2 ranges:
    	    General Punctuation - Windows 1252
    	    General Punctuation - other than Windows 1252
    	    to fine tune the font signature computing
    	  - the unicode range analyzer does not take into account some spaces and
    	    control codes anymore

    V 5.0 build 20
    	  - added new UNICODE ranges to make more characters recognized as nonorder
    	    significant punctuation or symbols in indexes
    	  - modified the SQL LIKE algorith so that it does not take non-significant
    	    characters into account at all

    V 5.0 build 19
    	  - bug fix in Phonetizer (would crash on long words)
    	  - better reporting of warnings
    	  - added flag in special features field in file mobi header to turn off
    	    language detection hacks when lang= attributes are used in the HTML

    V 5.0 build 18
    	  - removed -readerpro option
    	  - limited -vouchers=n to 6 vouchers minimum
    	  - changed executable name to mobigen
    	  - changed generated file extension to .mobi
    	  - metadata is now added into Extra Header Data and not to first text record
    	    (with some space left for additional metadata)
    	  - changed Japanese ordering of small and large versions of hiragana and
    	    katakana (they are now ordered as distinct characters)
    	  - fixed ordering bug in UNICODE indexes

    V 5.0 build 17
    	  - bug fix: when building from an HTML file, the first frame of the first
    	    frameset was dropped from the publication

    V 5.0 build 16
    	  - bug fix: in books that are not dictionaries but that do have a language,
    	    the language of indexes was set to LID_NEUTRAL. Tt is now set to the language of the book

    V 5.0 alpha 15
    	  - prcgen now analyses UNICODE character usage and writes a font signature
    	    into the extra header data section of the book. The file format version
    	    of the book is not affected

    V 5.0 alpha 14
    	  - experimental Japanese sorting tables

    V 5.0 alpha 13
    	  - uses ExtraHeaderData to store short dictionary name so that books using it
    	    are not forced to FFV_7
    	  - warning: all books using the short dictionary name must be rebuilt

    V 5.0 alpha 12
    	   - recompile after all Jeremie's Reader 5.0 code checkin

    V 5.0 alpha 11
    	  - added support for spell correction in UNICODE books

    V 5.0 alpha 10
    	  - fixes a bug related to framesets declared just after the body tag.

    V 5.0 alpha 9
    	   - bug fix in the code that removes empty <a> tags

    V 5.0 alpha 8
    	  - empty <a> tags are removed

    V 5.0 alpha 7
    	  - added support for the <DictionaryVeryShortName> metadata in the OPF

    V 5.0 alpha 6
    	  - better version minimisation for UNICODE documents

    V 5.0 alpha 5
    	  - implemented <idx:key exact=yes>

    V 5.0 alpha 4
    	  - embedding table is usually not built, unless there are ASP pages or audio
    	    files

    V 5.0 alpha 3
    	  - additional support for LIKE optimisations in UNICODE + support for JUMP
    	    feature in UNICODE (default lookup key in header)

    V 5.0 alpha 2
    	  - added support for LIKE in UNICODE

    V 5.0 alpha 1
    	  - supports <idx:key scriptable=yes> and therefore key access in formats and
    	    javaScript

    V 5.0 alpha
    	  - generating indexes in UNICODE, new file format is FFV_7

    V 4.8.9n
    	  - better spell correction tables in English
    	  - much better spell correction tables in Spanish

    V 4.8.9m
    	  - added -regserver and -unregserver calls to (un)register the Type Library,
    	    the registration is only useful for developping PRCGen plug-ins.
    	    Previously, the Type Library was registered automatically at each run
    	    which prevented PRCGen from running without admin rights

    V 4.8.9l
    	  - Better CSS parsing: lengths are parsed correctly with their units and
    	    and values are converted with units supported by the Reader
    	  - CSS attribute margin is parsed properly

    V 4.8.9k
    	  - free command line version parsing and command line info are coherent
    	  - in free version, C2 compression code is not even built
    	  - bug fixes in command line parsing

    V 4.8.9j
    	  - bug fix: output encoding was not retrieved properly and therefore ignored
    	  - All URLs (<ITEM href=> in OPF <A href=> <IMG src=>) are properly URL
    	    decoded when read and URL encoded when set. URLs in HTML are also HTML
    	    decoded / encoded properly when needed
    	  - Properly parse and convert font-size CSS style (pt px % or em)

    V 4.8.9i
    	  - added audio spine feature: if audio files are referenced from spine a
    	    default start guide item is generated making audio.show

    V 4.8.9h
    	  - bug fix: build_parameters.xml is not in UTF16 anymore -> some conversions
    	    are needed otherwise all dependencies are rebuilt at all times

    V 4.8.9g
    	  - bug fix: publication with no HTML files (but only audio or images) would not pen
    	  - added embedding of Ogg Vorbis audio files

    V 4.8.9f
    	  - bug fix: building a single HTML file would produce an invalid PRC
    	    (BODY tag would be missing)

    V 4.8.9e
    	  - bug fix: to version 4.8.9d, body would be removed from slave frames in
    	    external HTML files
    	  - bug fix: child documents items in OPF don't need an ID to be valid

    V 4.8.9d
    	  - bug fix: cover page was added as extra content to the first HTML file so
    	    that links to this file would point to the cover image instead

    V 4.8.9c
    	  - use _tprintf instead of printf in main

    V 4.8.9b
    	  - added application/vnd.mobipocket-franklin-ua-game output mime type for
    	    ua-specific games that will not work on any other platform
    	  - better conversion of input files (avoid character loss if character has
    	    no coding in target encoding of publication by introducing entities)

    V 4.8.9a
    	  - bug fixes in ASP compilation

    V 4.8.8y
    	  - added the content-type attribute to output tag of <x-metadata> taking
    	    its value from the MIME types of the different input files we can convert to
    	    PRC, i.e:
    	      text/x-oeb1-document
    	      application/x-mobipocket-subscription,
    	      image/???,
    	      application/msword,
    	      application/vnd.ms-excel,
    	      application/vnd.ms-powerpoint,
    	      text/plain,
    	      text/html,
    	      application/vnd.mobipocket-game

    V 4.8.8x
    	  - the font-family attribute in CSS is applied (using a <FONT FACE=> tag)

    V 4.8.8w
    	  - image files can now be put directly in the manifest and spine and appear in
    	    the main flow
    	  - metadata are converted to the publication encoding before they are ouput in
    	    the book
    	  - kill reader and emulator if target file is locked

    V 4.8.8v
    	  - switched to EBOOK_UNICODE

    V 4.8.8u
    	  - bug fix: embed BMP of 16 colors without converting them
    	  - bug fix: delete trailing bytes in PRCFile
    	  - bug fix: use FFV_3 if there are indexes for images otherwise embed_base
    	    is wrong in Reader

    V 4.8.8t
    	  - changed the image processing library for better performance

    V 4.8.8s
    	  - added TOC plugin
    	  - the index building system now decodes HTML entities

    V 4.8.8r
    	  - changes for the FREE version
    	  - new compile handles new operator in Javascript

    V 4.8.8q
    	  - the XSL transformation uses TransformNode instead of TransformNodeToObjbecjt,
    	    this allows XSL output to be HTML and not XML anymore.

    V 4.8.8p
    	  - bug fix: in HTML parser, the encoding of an automatically generated form
    	    name was wrong when form name was missing

    V 4.8.8o
    	  - corrected some CSS error handling
    	  - now a page break is added at the end of each HTML file in the OPF to be
    	    Microsoft Reader OEB compliant
    	  - added a -shell option for better Windows Explorer + Mobi Emulator integration
    	  - in case of ASP parsing error, the PRC is not build anymore
    	  - added a non documented feature: when putting a .css file in PRCGEN it
    	    generates a dump.css in same folder with parsed CSS, to allow debugging
    	  - added a new FREE build FREE with no encryption support for the free PRC SDK

    V 4.8.8n
    	  - fixed bug introduced by UNICODE build, indexes built from independent
    	    children or simple children could not be reached anymore
     (version number not changed)
    	  - added better error reporting for mismatched external subentries

    V 4.8.8m
    	  - bug fix: removed memory leaks introduced in 4.8.8h
    	  - introduced a mechanism the fix incomplete paths on the command line

    V 4.8.8l
    	  - added several warning regarding problems with embedding media/texts
    	  - added flatten-dynamic-dir=yes in x-metadata/output option to ignore
    	    paths of embedded files keeping their names (which must be unique though);
    	    this help solving situations where some images are outside of OPF folder
    	  - added asp-as-binary=yes in x-metadata/output so that ASP may be built
    	    as byte code (faster but may get incompatible with reader updates, but OK
    	    for OEM/embedded readers/products)

    V 4.8.8k
    	  - added spell correction
    	  - modified index ordering: spaces are now significant characters

    V 4.8.8j
    	  - all the known scripts are parsed with the reader javascript parser so that
    	    warnings are output for invalid scripts

    V 4.8.8i
    	  - headers of ASP have been updated to match what is generated by Interdev
    	  - missing codepage is just a warning now

    V 4.8.8h
    	  - bug fixes in encoding convertions in cssparser.cpp encoding of source CSS is
    	    determined properly
    	  - generated HTML for CSS styles is in the destination encoding
    	  - minor modifications in image processing classes

    V 4.8.8g
    	  - fixed a bug where documents enumerated through get_manifest_item(order)
    	    always got first document (no impact but on embedded media and ASP)

    V 4.8.8f
    	  - bug fix: in UNICODE when building from an HTML file, default encoding used is
    	    the one from the HTML and is used for the title encoding

    V 4.8.8e
    	  - downgraded maximum size of all records to 63Ko (old limit was too high)
    	    (this new limit has no impact on images which where already limited to that)

    V 4.8.8d
    	  - fixed a bug making all OPF UTF-8 if no encoding was specified, thus building books in UTF-8

    V 4.8.8c
    	  - XSL dependencies checking as been improved:
    	      if any plugin returns a .xsl as a dependency, its xsl:import/xsl:include
    	        are scanned by XmlMake
    	      XSL dependencies checker is put in common code so that using tens of time
    	        same XSL searches dependencies once

    V 4.8.8b
    	  - changed the format of trailing bytes for position information
    	   !!! This is serious enough for us to change the FFV file format
    	   before releasing any books using scriptable entries because
    	   unfortunately, the Reader 4.8 that has been released supports FFV_6
    	   with the wrong trailing bytes format. !!!

    V 4.8.8
    	  - prcgen is now built in unicode
    	  - now supports <output encoding= /> in <x-metadata> section, to specify the
    	    exact output encoding (windows-1252 and utf-8 only supported, everything
    	    else than that is transformed to utf-8)

    V 4.8.7b
    	  - added support for named inflections through <idx:infl> tag

    V 4.8.7
    	  - added ASP and embedded objects index
    	  - added -lowpriority

    V 4.8.6
    	  - better statistics reporting at the end of the build
    	  - fixed ASSERTion failed bug with fencing info in trailing bytes

    V 4.8.5c
    	  - bug fix: in <SELECT> tags, default value was not computed if there was no
    	    selected attribute found on any option; value was not decoded from HTML
    	   TODO decoding works only for Western (based on indexes code)
    	  - added warnings if SELECT multiple is used

    V 4.8.5b
    	  - added several checks of javascript code (global function) to avoid crashes of prcgen
    	  - added a constraint on global function (must be prefixed with f_) to avoid
    	    DOM problem later.

    V 4.8.5
    	  - added the <x-metadata><DefaultLookupIndex> field in the .OPF
    	    (used to define the index used for lookup)

    V 4.8.4b
    	  - mbp:persistent is handled by prcgen on <FORM> tag
    	    (to make forms saved in settings)
    	  - improved the computation of is_reachable on frameset

    V 4.8.4
    	  - mbp:auto-submit is handled by prcgen (to make enter key validate a form if
    	    in a text field)

    V 4.8.2
    	  - bug fix: it was possible to have closing/opening frameset with exactly the
    	    same position. bug occured when a sub-frameset of a necessary frameset
    	    was actually not AND had exactly the same position as an opening frameset
    	  - changed form must have unique name from error to warning, generating a
    	    random name and replacing this name in indexes and in content

    V 4.8.1
    	  - added basic CSS 1.0 support (by generating HTML tags corresponding to CSS)
    	  - added Microsoft OPF support:
    	    page break after each HTML file,
    	    add non spine manifest HTML files at the end of the spine,
    	    generate cover image at the beginning of the spine, based on custom MS guide items
    	    suppress other MS specific guide items

    V 4.8.0
    	  - new index tagging syntax:
    	      <idx:entry name=>    (instead of type=)
    	      <idx:key name=>      (instead of type=)
    	      <idx:key value=>     (instead of key=)
    	      <idx:orth value=>    (instead of orth=)
    	      <idx:gramgrp value=> (instead of gramgrp=)
    	  - more database functions added: <idx:subentry> and <idx:string>
    	  - <mbp:pagebreak crossable=no> is now handled through trailing bytes

    V 4.7.7
    	  - added javascript global function index

    V 4.7.6
    	  - current entry information apended to text records => switch to FFV_6
    	  - non-crossable page breaks are also appended to text records
    	  - all PRCs generated with FFV_6 must be encrypted through NEW VERSIONS of
    	    DRM software

    V 4.7.5
    	  - added ability to append .PDB files through manifest items
    	    (application/x-pilot)	you must add them too in the spine if the order of
    	    insertion in final PRC file
    	  - added guard record (allows to checks for file truncation)

    	   tbr
    	  - disable C++ execption handling in PRCGEN.exe in image handling classes
    	    (would cause JPEG images to be completely black)

    V 4.7.4
    	  - bug fix: problem related to loading files by chunks of more than 32MB
    	    (probably a bug of Windows)

    V 4.7.3
    	  - bug fix: indexes would not be stripped from child files in some rare cases
    	  - bug fix: removed an infinite loop (+infinite memory alloation) if a string
    	    pool exceeded 64k.

    V 4.7.2
    	  - added user-selection attribute to slave-frames so that some frames can
    	    contain selectable content (generally not useful, but some publishers put
    	    content in frames)

    V 4.7.1
    	  - show error message for missing images only once, for bad links too
    	  - do not encrypt any more trailing bytes of text records when HuffDic activated
    	    so that reader works.
    	  - updated forms to save all but positional info for in slave-frames forms
    	  - detect forms with same name and refuses to build
    	  - if errors are detected during parsing (preventing generation of the file)
    	    build stops before compression

    V 4.7.0
    	  - changed version to match the release of Reader 4.7
    	  - added start type item in guide to start eBook at a given url / javascript
    	    action

    V 4.6.11
    	  - name and id attributes are not removed anymore if an href or onclick
    	    attribute is also found in the tag. Using name or id is the standard
    	    HTML mechanism for naming links and using them in Javascript. Therefore,
    	    the reader needs these attributes.

    V 4.6.10
    	  - fixed bug preventing frames declared in a (unnecessary) file frameset when
    	    using the filename.htm link
    	  - bug fix: prevent multiple framesets at same filepos
    	  - note: detected some problem if the outer frameset is non crossable, and not
    	    the inner frameset. It cannot be coded ==> problem does not occur because it
    	    could only happen for file auto-frameset and this one is always crossable
    	    for now

    V 4.6.9
    	  - UTF8 trailing bytes were ignored when aligning records, so that following
    	    record were potentially badly aligned (crash on PocketPCs)

    V 4.6.8
    	  - bug fix: non crossable attribute was ignored due to optimizations

    V 4.6.7
    	  - added reader pro restriction, fixed some small bug in FDST record writing

    V 4.6.6
    	  - added layout reuse and unreachable frameset rejection code, it does not
    	    change file format but may greatly reduce size of frame layout/content
    	    records.

    V 4.6.5
    	  - better error reporting on save failure in apply-xsl plugin
    	  - bug fix: in books with only mbp:sections
    	    (frameset info not saved => non crossable ignored)

    V 4.6.4
    	  - prc was always generated in FFV5, as soon as there was one frame (because of
    	    the auto-breadth parameter always set to true)

    V 4.6.3
    	  - huffdic compression temporary file bug fixed (which was probably causing
    	    other bugs)

    V 4.6.2
    	  - added support for basic support of UTF8, no indexes yet

    V 4.6.1
    	  - added tests and error reporting on write errors to temp file during Huffman
    	    codes output