20140529
- Punch: try not to block when connecting to a non-responsive interface.
- Punch: detect write errors when communicating with the interface.

20140527
- Ribbon Generator: Nicer layout of ribbon settings page.
- Ribbon Generator: Include some job information on soft proof page.

20140506
- Ribbon Generator: Support the pneumatic low space mechanism.
- Ribbon Generator: Support specifying a maximum space size when 
    quadding (but which is not used when adding a fixed amount of
    space to a line.)

20140324
- Ribbon Generator: Swap location of "caster trip spaces" so that 
   they're easier to remove from the end of the line.

20140313
- Ribbon Generator: Added line unit display on generator page.
- Ribbon Generator: Added clickable lables for radios and checkboxes.

20140213
- Ribbon Generator: Mould "over-extension" is now just a warning.

20140130
- Ribbon Generator: added response compression, which should greatly 
    speed up soft proof display.
- Caster: GTK caster app is at full feature parity with OSX Caster app.

20131227
- Ribbon Generator: Added groundwork for multiple column layouts.

20131223
- Ribbon Generator: fix a few regressions caused by space-to command.

20131208
- Ribbon Generator: When using combined spaces, add space to the
    correct sort being cast.
- Framework: Use a bundled framework load (dojo) to speed loading.

20131227
- MCA Editor: Fix for unit width validation over 9.5

20131119
- Caster Controller: New ribbons from recent code already
    includes the unit system type in the line length, so no
    need to include the word "pica".
- Ribbon Generator: Fixed a bug that sometimes caused words on
    the beginning of a line to lose their style information.
- Ribbon Generator: Fixed a bug that would cause letters to be
    lost when trying to hyphenate words that already contain 
    hyphens (which aren't sent to the hyphenation engine but
    need to keep their existing hyphens). 

20131110
- MCA Editor: Add "Save and Close" button, "Save" now 
    returns to the MCA editor screen.
- MCA Editor: Allow <Escape> and <Enter> as shortcuts for 
   "Cancel" and "OK" in the MCA editor. Note that <Escape>
   only works when you're not editing one of the text fields.
- MCA Editor: Format the sort width a bit more nicely.
- MCA Editor: When editing an empty position, the "matrix type"
   is changed to "Sort", in order to ease MCA completion.

20131107
- RibbonGenerator: fix caster trip option so that it now works.
- RibbonGenerator: add <stN> command that inserts fixed space
   until the line is at N units. Useful for simple tables.

20130918
- RibbonGenerator: improve standalone performance by
   spawning RibbonGenerator server in child process. Also,
   failures during startup are logged in Console.
- RibbonGenerator: tight lines on partial words no longer
   add incorrect sorts to the line.

20130911
- MCA Editor: add printable PDF view.
- Ribbon Generator: remove windows UTF8 byte order mark (BOM)
   from ribbon input, which was causing suprious "invalid
   activator" warnings.
- Ribbon Generator: allow ribbon configs to be re-saved.
- MCA Editor: allow shared MCAs to be downloaded and printed.

20130908
- Caster Controller: Resized screen and buttons for ease of 
   use in foundry.
- Caster Controller: Pin Control is now a drawer, and has an 
   easy access button on the main screen.
- Caster Controller: Forward/Backward/Beginning buttons are 
   always enabled once a ribbon is started.
- Caster Controller: Added Start Pump/Stop Pump and Deliver 
   line buttons.
- Caster Controller: Added new preference (on by default) 
    that enables automatic stopping/starting of the pump when
    the ribbon is started and stopped.
- Caster Controller: Added "Lines in Job" drawer that shows 
    the lines in the job, with the current line highlighted.
- Caster Controller: Fixed an "off by 1" error that caused 
    the user interface to suggest the ribbon was 1 line 
    longer than it actually was.

20130830
- Ribbon Generator: add Small Caps to punctuation 
   substitution list and expand punctuation subset.
- Ribbon Generator: check that mould blade isn't drawn too far.
- Ribbon Generator: fix caster trip option (add to actual last
   line.)

20130826
- Ribbon Generator: ensure at least one justifying space
   is present on a line when quadding out, in order to 
   ensure that the line can be completely quadded.
- Ribbon Generator: add 'Pad Margins' option that places
   a single quad at each end of a line, in order to ease
   transport of the finished type. Note that this reduces
   the length of type set on the line by the same amount.
- Added a new command: <allowtightlines></allowtightlines>
   that enables the use of combined space lines in lieu 
   of hyphenating a given line(s).

20130825
- Ribbon Generator: added "Go Back" button to Soft Proof
- Ribbon Generator: add hanging punctuation option. Note
   that this reduces the length of type set on the line by
   the amount of the hanging punctuation (usually the width
   of the smallest punctuation mark.)

20130814
- Stopbar Editor: added delete option for standalone tool.
- Ribbon Generator: added <nohyphenation></nohyphenation>.
- Ribbon Generator: generator remembers styles applied to individual
   sorts during hyphenation.
- Ribbon Generator: add ability to use custom hyphenation 
   rules (a new preference).

20130701
- Ribbon Generator: add more set widths.

20130613
- Ribbon Generator: add a popup describing formatting control codes.
- Ribbon Generator: add a popup describing soft proof symbols.

20130528
- Ribbon Generator: give soft proof line numbers more room to breathe.

20130522
- Ribbon Generator: try to place widest spaces at end of quadded lines.

20130508
- Ribbon Generator: add justifying and fixed space warnings in MCA editor.

20130502
- Ribbon Generator: add database backup button.

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
