20130501
- Ribbon Generator: schema upgrade runs automatically during startup.
- Ribbon Generator: ensure default preferences are created during login.

20130417
- Ribbon Generator: add job settings management.

20130416
- Ribbon Generator: add support for word-combined spacing, for use when
   justification just won't work any other way.
- Dependencies: New hyphenation engine should permit hyphenation of wide
   (ie, non-ASCII) characters.

20130410
- Ribbon Generator: added Preferences tab.
- Ribbon Generator: new preferences for default MCA sort lists.

20130405
- Ribbon Generator: allow width adjustment in 0.5 unit increments.

20130401
- Caster: Fix a stack trace error when accessing the preferences page.

20130318
- Ribbon Generator: added new application info page with information
   useful for troubleshooting efforts.

20130305
- Ribbon Generator: make line code display on soft proof a dialog rather
   than a tooltip that scrolls off the screen.

20130302
- Ribbon Generator: re-enable unit shift in ribbon generator and mca editor.
- Ribbon Generator: sort mca list in case insensitive fashion.
- Ribbon Generator: when using unit shift, fixed spaces are available for
   either width available for their mca position.
- Ribbon Generator: update available sorts list to include real dipthongs 
  and proper quotation marks.

20121231
- Ribbon Generator and Caster Control: update to new version of Web and 
   Cocoa frameworks.
- Ribbon Generator: added support for indents, regular and hanging.

  syntax:

  <indentN> where N is a positive or negative integer indicating
  the number of units to indent. Negative numbers trigger hanging
  indentation.

  Note: In order for the first line of text to honor indentation commands,
  the indentation command should appear before any settable text (and thus
  before the line is actually started, otherwise it will take effect on the 
  next line.

  Note: When pagebreaks are in play (ie, line length has been specified,) 
  this will force a blank line between headers and the top of the next 
  paragraph on the next page.

20121129
- Ribbon Generator: moved mca errors and available sorts to icons, in order
   to save screen real estate.

20121128
- Ribbon Generator: moved description box to a tooltip dialog, in order to
   save screen real estate.

20121115
- Caster Control: re-enable "Jump to Line" functionality.
- Ribbon Generator: confirm addition of Italian and Spanish hyphenation
  dictionaries.
- Caster Control: deal with windows line endings better.
- Ribbon Generator: more complete solution to "minimum justification code",
  which should be re-enabled now.

20121112
- Ribbon Generator: move MCA problems to a popup with icon.

20120902
- Caster Control: Make debounce a preference setting, variable between 0ms 
  and 55ms.
- Caster Control: Fix release of Preference window on close, which caused 
  the app to crash the second time the window was closed.

20120819
- Ribbon Generator: Show codes for a given line by hovering over line number
  when viewing soft proof.

20120520
- Ribbon Generator: MCA and Wedge lists are now paged for easier access.

20120505
- Ribbon Generator: include Hyphenation engine again.
- Caster Control: Add 25ms of debounce to cycle sensor.

20120225
- Ribbon Generator: fix for problem where in an alphabet change around a 
  word that would break a line causes an extra justifying space to be placed 
  on the line.

20120112
- MCA editor: hopefully emit useful session information when no MCA is provided
- MCA editor: fix for ampersands, quotation marks and other special characters.
- Ribbon Generator: fix some problems with login
- Ribbon Generator: eliminate double encoding of UTF-8 specials, which was 
   causing garage characters on ribbon preview.

20120112
- MCA editor should now properly allow ampersands and similar marks to be
   set as matrix elements.

20111028
- Matrix editor uses a less intrusive popup mechanism that shouldn't run off 
   the page.
- MCA Description is now displayed and may be edited by clicking on the text.
- Available Mats can now be "floated".
- Both MCA Description and Available Mat boxes can be "folded up" to take less
   screen real estate.
- MCA Save button will be disabled until a change is made, making it easier to
   determine if you've done anything to an MCA
- Drag and Drop is now available within the MCA. In addition to dragging mats
   from the available mat list, you can now drag and drop mats between positions
   within the matcase. Dragging a mat (a) onto another mat (b) will delete the
   mat you've dropped onto (b). Blue and Yellow coding in the MCA does not 
   yet follow when you use DnD.
- The Available Mats list will update itself when "floated" or "unfloated".
  
20110827
- made some changes in the Ribbon Generator GUI for consistency: buttons, etc.
- fix an error thrown when creating new MCAs.
- fix for some characters (such as + signs) not being saved correctly in MCAs.

20110802
- Ligatures should now be applied to hyphenated word-parts.
- Fixed some bugs surrounding spaces at end or beginning of lines as well as 
    truncated single-syllable words when hyphenating.

20110620
- Fix a problem starting the standalone ribbon generator the first time
- Apply a new layout to the UI

20110601
- IMPORTANT: New standalone versions of the ribbon generator and caster 
     controller are available and support Mac OSX 10.6 (Snow Leopard) only. My 
     only pre 10.6 computer died last month, so it will be practically 
     impossible to make the new tool available to non-intel Mac users. I can 
     still fix most kinds of bugs in the existing software, but I recommend 
     upgrading when possible.
- Each user gets private storage for mats and stopbars. Initially a copy of 
    all stopbars and matcases will be copied into each user's private area. 
    Each user may then delete any unwanted items.
- A user may mark a stopbar or matcase as "public", which allows them to be 
    seen and copied (but not modified) by other users.
- Stopbars and matcases may be downloaded to your own computer for safekeeping
     or manual modification (for experts only!)
- Stopbars and matcases can be imported from files on your local computer 
    (such as those exported from the standalone ribbon generator). Note that 
    you must make sure that any stopbar referenced by a matcase is already 
    loaded into the system before importing the matcase. failure to do so will
    result in an error.
- New ribbon generator option to treat lower and upper case characters as 
    equal when using small-caps
- New ribbon generator  option to allow substitution of roman punctuation 
    when setting italics and the italic alphabet is missing punctuation
- Soft proof will display sorts whose widths have been adjusted from the 
    standard wedge width on a colored background with an overbar above the sort.
- Caster Control and Ribbon Generator apps have a new "check for updates" 
    feature.

20110413
- standalone apps are now generated via build scripts for consistency
- caster control app now has preference for permanent cycle sensor install

20110405
- standalone ribbon generator stores logs in ~/Library/Application Support.

20110301
- ribbon generator: sort mcas and wedges alphabetically
- ribbon generator: add larger set widths
- ribbon generator: display adjusted width casts with an overscore in soft 
    proof
- ribbon generator: sort out hyphenation a little better (unnatural line 
    breaks in particular)

20110104
- standalone ribbon generator seems to work now; stores data in 
    ~/Library/Application Support, and copies fresh db if not present.

20100923
- ribbon generator: added <setpagenumber n> command.
- ribbon generator: added <romanpagenumber> and <lowercaseromanpagenumber> commands.

20100907
- mca editor: added bold elements to drag-n-drop.

20100823
- ribbon generator: added <pagebreak> command
- ribbon generator: added option to omit hyphen when using non-standard line breaks
    (useful for generating fonting e-ribbons.)

20100820
- ribbon generator: display bold and small caps in a more 
    illustrative style within "soft proof".
- ribbon generator: offset colors of adjacent fixed spaces within "soft proof"
    in order to visualize space sizes when quadding.
- ribbon generator: header and footer support - set line length in the ribbon
    generator and use the <header></header><footer></footer>, <eheader></eheader>,
    <efooter></efooter>, <oheader></oheader>, <ofooter></ofooter> commands to
    specify head and footer definitions for all pages, even and odd pages, respectively.
- ribbon generator: added <pagenumber> command to insert current page number.

20100817
- ribbon generator: add option to trip caster with long line
    at end of the job.

20100722
- ribbon generator: only allow adjustment of 1 unit for JS when
    working with set sizes larger than 12.
- ribbon generator: allow non-standard hyphenation, useful when
    generating "font" ribbons.

20100630
- ribbon generator: treat carriage returns a line feeds (no more
    mysterious justifying spaces at the beginning of lines)
- identified problem in hyphenation engine that drops trailing 
    periods from hyphenated words.

20100602
- caster controller: fix errors when using manual pin control before
    loading a ribbon file.
- caster controller: "all on" and "all off" buttons work properly with
    cycle sensor override.

20100505
- caster controller: add cycle status indicator

20100504
- ribbon generator: display set text up to point of error when problem occurs.
- ribbon generator: <sN> command will accept any number of units and will assemble the
     required number of fixed spaces to reach the total requested.
- ribbon generator: cast fixed spaces on the line in the order provided by the
     quadding algorithm rather than sorting them by size. This should keep the mould 
     cooler when quading using 9 and 18 unit spaces.

20100423
- caster controller: add current line to display 
- caster controller: add "jump to line" feature

20100422
- caster controller: add "force valves on" button to manual pin control

20100415
- x/0 justifications should really be x-1/15.

20100413
- added French hyphenation dictionary
- alter error message for "off-length line" to more accurately describe the problem

20100412
- MCA editor displays mats with a width different than that supplied by the default wedge
  in yellow.
- added hyphenation dictionaries for dutch and german.
- added option to disable hyphenation completely.

20100401
- Enabled Unit Shift and Unit Adding

20090916
- added ability to select minimum justification code (3/8 default)
- added list of identified problems to MCA design view
