jDip

jDip version 0.95 [May 2003]

- New Features:
    + Drag-and-Drop can be used to enter orders (Colin Jacobs)
    + Edit mode improvements (Colin Jacobs)
    + Animate mode allows turn-by-turn animation of the map
    + Influence setting in View menu shows all occupied/last-occupied 
      provinces by power
    + Order format (e.g., abbreviations of provinces, coasts, etc.) can be
            set and adjusted in Preferences
    + Help System added (F1 to get help generally, or about specific windows).
            Note that Help text is not yet complete, and not all windows
            have specific help.
    + New variants (with complete, detailed maps)
            + SailHo! Crowded
            + Hundred3.1 [H31]
            + Hundred3.2 [H32]
    + New variants (with very spartan grid-maps) added:
            + Asia
            + Modern (with and without Wing units)
    + A new type of unit, the Wing unit, is now optionally available for 
      any variant.
    + Games now saved as compressed XML, and incompatible with previous 
      versions (sorry!)
    + Improved order parsing
            + Some common misspellings added
            + Even more variations of orders are now legally accepted
    + improved command-line parsing and new command-line options (such 
            as enabling logging, getting the version, and setting the variant 
            plugin path)
    + Java Webstart is now supported
    + Waive orders are no longer supported. 
    + Better support for Mac OS X-specific features, which have not yet
            been tested. These may be disabled via the "-noosx" command 
            line parameter. Comments from Mac users are very much desired!
    + Save Game and Variant file format documentation
    + Started scattered localization in French.
- GUI changes / improvements:
    + "Reports" menu added; report items were previously under "View" menu.
    + Removed "Validate XML files" from preferences (could cause buggy behavior
            when enabled); it is now a command-line option instead.
    + Improved text rendering quality in many places.
    + Improved error dialogs (text and formatting)
    + Shortcut changes (control R = resolve, control E = results)
    + New startup splash screen (Joeri Clayes)
- Bug Fixes:
    + Fixed: TestSuite now uses "variant" directory, so it actually works
    + Fixed: Remove orders drawn in wrong area
    + Fixed: Retreat orders drawn in wrong area
    + Fixed: No text displayed in game-end dialog
    + Fixed: Formatting and display issues in Status report
    + Fixed: Remove order results displayed negative units to remove
    + Fixed: View settings (e.g., Show Units) were not disabled during
             map loading, and could result in an inconsistent menu / actual 
             drawing state if selected.
    + Fixed: If a required variant was missing, there was a program
             error. Now, an informative error message is displayed.
    + Fixed: Handling of uncaught AWT exceptions, for easier end-user debugging
    + Fixed: 1898 now starts in Spring, 1898 with fixed positions
    + Fixed: SVG private XML namespace well-formedness issues
    + Fixed: If no move orders (or no units), adjudicator would emit paradox
             messages (although no paradox existed).
    + Fixed: supply center for Portugal wasn't drawn on topological map
    + Fixed: Confusing error message about DefineState orders
    + Fixed: Creating a Dislodged unit on the first turn caused an exception
    + Fixed: Occasional display bugs when entering/exiting Highlight Unordered
             units mode 
- Core changes:
    + Multiple Performance enhancements to core adjudication routines,
      for optimal speed in automated adjudicators. This results
      in a 15-30% performance increase from version 0.85, the 
      previously fastest version. This release will now become 
      the new baseline performance release.
    + JUnit tests added for non-GUI code (Mike Rosseel)
    + Much faster Position class, and position class API changes
    + New field and changes to Position and Position.ProvinceData classes
    + Province class API changes
    + Improved Path.getMinPath() algorithm
    + Phase class API changes to support YearType
    + YearType class added to Phase (to support negative, or "BC", years)
    + Reduced adjudicator String creation
    + Improved API documentation
    + Assertions enabled in ANT "Run" target
    + dip.misc.Convert to help convert Judge files to jDip XML adjacency format
    + dip.misc.Log class can now log to a file in addition to stdout
    + jcmdline (jcmdline.sf.net) is now used to parse command line options
    + New Coast constant (Coast.WING, aka Coast.TOUCHING) added
    + Coast.TOUCHING (Coast.WING) created automatically from adjacency graph
    + Coast.TOUCHING used for for Path.getMinPath() and Province.isTouching()
    + New Unit.Type: WING
    + New validation tests added (wing.txt, 19 cases) for Wing units
    + New validation test harness for OrderParser created
    + Utils.SimpleFileFilter is now in its own class (dip.misc.SimpleFileFilter)
    + CSS stylesheets can be--and now are--used in JEditorPane instances
    + Many new ANT targets: webstart, test, performance, and junit targets
- Miscellaneous:
    + File-format incompatibility with all prevous versions. Games are now
      saved as gzip compressed XML, instead of a proprietary binary format.
      All future versions will also save files as compressed XML, and
      cross-version compatibility should be considerably improved.

jDip version 0.90 [February 2003]

- New features:
    + Rudimentary order drawing!
    + Persistent Undo/Redo! All orders, edits, and resolves may be undone, 
      even across multiple saves.
    + Orders can now be hidden on a per-power basis
    + New view option: Highlight units without orders (not all maps support 
      this feature)
    + Small drags (< 5 pixels) are now interpreted as clicks; this 
      improves perceived responsiveness
    + Splash screen at startup
    + Support for convoyable coasts (used in Ancient Med variant)
    + Concept of 'borders' added, which can enhance/restrict/condition 
      orders and allow more variant support
    + Added 2 new variants: "Crowded 1898" and "Shift Around".
    + Support (using a non-topological grid map) for Ancient Med and Loeb9 
      variants. Note that Loeb9 is not fully supported in this release.
- GUI changes / improvements:
    + GUI order input now respects order checking options settings
            This enables/disables real-time checking of order legality
    + GUI order input now respects convoyable coasts
    + GUI order input now has better checking of support orders
    + GUI order input now respects Borders (if applicable)
    + Improved text formatting in order list
    + Full internationalization support for status bar text
    + Faster open/save dialog performance
    + Custom cursor used for bad order input; now consistent across platforms
    + Filenames are suggested when saving and exporting
    + ESC key will always abort the GUI entry of an order
    + Improved ability to cancel orders with mouse
    + Improved order status and prompting in statusbar messages
    + Improved traditional map thumbnail image
    + Improved show/hide supply centers option
    + New error messsage indicating if there is a version incompatibility
            when opening save game (.jdip) files.
    + Property table in Help|About now non-focusable
    + Game & Player info moved to View menu, and dialog made larger.
    + Standard variant is now the default in the New Game dialog
    + Multiple-Order input now properly handles pasted orders with (* *)
      style Judge order notes
    + Status, Results, and Info dialogs now non-modal
    + Improved Results and Status dialog content formatting
    + Misc. dialog size adjustments
    + Renamed "Order Validation" to "Order Checking" in menus and dialogs
    + During render (drawing) events, the right-corner of the Status bar
      will display "Rendering"
- Bug fixes:
    + Fixed: TestSuite was not using defined RuleOptions
    + Fixed: Armies occasionally had coastal destinations in the order list 
    + Fixed: Orders are now rechecked when Order Checking Options have changed.
    + Fixed: Supply center / Order highlighting display bugs
    + Fixed: Game Web Address not being saved in Game & Player Info dialog
    + Fixed: Directories were not shown in Open & Save dialogs
    + Fixed: Most-recently-used file list bugs
    + Fixed: Accelerator/shortcut key issues
    + Fixed: Galicia not clickable on detailed Standard map
    + Fixed: Select All in some dialogs didn't always highlight
    + Fixed: Many scrolling bugs
- Core changes:
    + Private XML namespace added to variant SVG files for more 
      sensible customization
    + API Documentation improvements and updates
    + Build.xml "Clean" and "Install" targets added (Mike Rosseel).
            "Install" target requires downloading the IzPack installer
    + DATC test case maps now are in a separate variant file (testVariants.zip)
    + Significant refactoring
            - judge.parser.OrderParser renamed to JudgeOrderParser
            - dip.order.Orderable interface created
            - dip.order.Order implements Orderable interface
            - Order subclasses have better method abstraction
            - renamed Order method getSourceUnit() to getSourceUnitType()
            - dip.gui.order package created for GUI Order input and order drawing
            - OrderFactory is now a true Factory. All orders must be created 
                    through an OrderFactory.
            - OrderParser now performs Order parsing.
- Miscellaneous:
    + Test cases added for Ice variant (DATC secion 12)
    + Test cases added for Convoyable coasts (DATC section 13)
    + Test cases added for Chaos variant (DATC section 15)
    + Test cases added for 1898 variant (DATC section 16)
    + Saved games are not compatible with previous version (version 0.86).
    + Order drawing will continue to improve throughout subsequent versions,
      both in style and in speed.
    + Difficult passable borders, used in some variants (e.g., Loeb9) are
      not yet supported.
    + For those requiring rapid adjudication (no GUI), please note that 
      version 0.85 remains the baseline perfomance release. This version has an 
      approximately 7-8% performance deficit compared to version
      0.85. Performance optimizations will be addressed in future versions.

jDip version 0.86 [November 2002]

- Core changes:
    + Tightened specs/implementation for Coast.normalize()
    + Parser can now accommodate power names with hyphens
    + Subtle i18n ResourceBundle loading bug fixed
    + Updated build.xml
    + StatusBar now has an optional ProgressBar
    + Significant changes to GUI classes for mode (e.g., edit, review) handling
    + RuleOptions serialization bug fix
- GUI changes / improvements:
    + "Revert" is now "Best Fit".
    + "Best Fit" to window automatically occurs when map is loaded
    + Map Info changed to Variant Info in menu
    + Improved text/layout in New Game dialog
    + Changing & loading maps no longer causes window resizing
    + Size of order-entry panel now constant
    + Convoyed-move validation option off by default
    + Progress Bar now shown when loading maps
    + Faster open/save file dialog performance
    + User is now clearly informed when victory conditions have been met
- Bug fixes:
    + Parser fix with coasts and hyphenated Move orders
    + Parenthetical coast parsing bug fix
    + Fixed two ^S menu options
    + Fixed Baltic Sea unit placement on Detailed map
    + Fixed bug with victory conditions during move phase
- New features:
    + New vector-based map ("Traditional") (Joe Campbell)
    + SailHo! (version 2) Variant added
    + Pure Variant added
    + Chaos Variant added
    + Rule Options tab in New Game dialog
    + "Build" Rule option (e.g., chaos rules, etc).
    + Rule options displayed in Variant info.
    + Dutch translation started (Mike Rosseel)
- Miscellaneous:
    + N/A

jDip version 0.85 [October 2002]

- Core changes:
    + Performance & style optimizations to non-GUI core classes
    + Added versioning to some classes which were forgotten about previously....
    + Considerable adjudicator/adjudicator core classes performance optimizations
    + Assertions now used in many core classes: enable assertions when debugging!
    + Tool plugin management via dip.tool package
    + Core changes in SVG DOM render classes
    + Simplified SVG Map format, especially positioning metadata
    + SVG metadata parsing code now simpler and more robust
    + SVG settings can allow supply centers symbols to change colors 
      with changed ownership
    + SVG maps can specify zoom amount and min/max zoom limits
    + Reorganized resources to better support internationalization
    + More internationalization support
    + Build.xml updates, auto-build of variant file packs. ANT 1.5 or 
      later is now required.
    + Variant packs may end with "Variant.zip" as well as "Variants.zip"
      (and .jar or .zip is acceptable)
    + Added RuleOptions class to enable future rule options
- GUI changes / improvements:
    + View previous turn results menu shortcut is ^T
    + Improved Save Changes dialog
    + "Gentler" zoom/pan; now defaults to 20% increments
    + Topological map has improved simple units
    + Improved Topological Map layout
    + "Selected Orders Only" menu option removed from View
    + Considerably improved mouse support in GUI map
    + Scrollbars added to metadata notes
    + Improved status/ajudication result dialog titles
    + Adjustments and Dislodged units now reported in Turn Status summary
- Bug fixes:
    + Revalidate order menu shortcut is now ^D instead of ^R (conflicted with
      Results menu item)
    + Fixed multiple-order-entry dialog result text message
    + Fixed debug text written to stdout for convoy orders entered via GUI 
    + Fixed TestSuite memory leak 
    + Fixed map XML validation issues
    + Fixed New Game dialog map selection thumbnail list and scrolling problems
    + Fixed il8n resource localization bugs
    + Fixed order entry bug using "->" for moves without whitespace before
      the "->"
    + Fixed history-menu update bug post edit mode
    + Fixed all known adjudicator bugs
- New features:
    + TestSuite now supports variants.
    + Drag-and-Drop support: drag files (.jdip or judge files) to be opened
    + Plugin interface for add-on tools [that can do almost anything!] 
      now supported
    + Ability to change map view (View | Select Map) [if multiple maps are 
      available]
    + Key shortcuts for View and Order mode; (but not edit mode), when 
      mouse is over map
    + New Map: "Simple" Standard map [Vector based]
    + New Map: "Detailed" Standard map [Bitmap & Vector based]
- Miscellaneous:
    + Users that need rapid (tens of thousands of orders per second)
      adjudication (for use in, say, developing computer "AI" opponents) 
      will see a tremendous performance improvement in this release.
    + Saved games from version 0.83 should be compatible with this release.
    + An early vector-based version of the SailHo! variant is now available
      as a separate download
    + Targetted Future Features: Order Drawing, New Variants, Renderer 
      speed improvements
    + Only the Windows installer has been tested; please let me know how 
      the installer works on other platforms

jDip version 0.83 [September 2002]

- Core changes:
    + Revised core Undo/Redo support manager
    + il8n support of undo/redo menu text
    + New result type: TimeResult (a time-stamped, time-localized text 
      result message)
    + New result type: DislodgedResult (for creating dislodged results
      w/defined retreat locations)
    + Changed how order resolution is flagged in TurnState
    + Batik 1.5b4b libraries included
    + Serializable object versioning added for *all* serialized objects
      and subclasses
    + Updated code documentation in several places
    + Core Judge input parsing modules complete.
- GUI changes / improvements:
    + If a file in the most-recently-used file list does not exist, 
      it is now grayed out.
    + Dislodged checkbox in Edit mode now disabled if Supply center selected.
    + View Result menu item disabled when no adjudication results are available.
    + Order sorting buttons have an improved layout, and toggle indication.
    + Order list is now always sorted
    + Edit mode improved: better visual indication and revalidation of
      orders with each edit
    + Edit/Review/Game End indicator now on status bar for less visual
      disruption between modes
    + Edit mode: must first remove an existing unit before a new unit 
      can be placed in the same province
- Bug fixes:
    + 1898 variant XML configuration file fixed; now identical to Ken Lowe 
      judge 1898 variant.
    + Fixed XML variant parser bug involving supply center ownership/
      home-power-ownership.
    + Adjudication during adjustment phase with no orders for any power 
      resulted in no result creation, and subsequent GUI confusion with 
      respect to resolution status 
    + Fixed bug in Phase.java, leading to incorrect phase advancement
      in saved games.
    + Fixed bug in Position.java leading to incorrect power elimination
    + Fixed bugs w/parsing in Coast.java and Map.java; Map.parseLocation()
      is now more robust
    + Fixed rapid clicking in edit mode created improper/duplicate edits
    + Fixed World.java getPreviousTurnState() & getNextTurnState() bugs
    + Fixed subtle bug in Location.java and updated documentation
    + Fixed filename / gamename titlebar display bugs
- New features:
    + Support for reading Judge History files, and creating an entire 
      game and game history
    + Support for reading Judge Game Listing files (creates a starting phase)
    + Advanced Undo/Redo: all orders, edit mode changes, and adjudication 
      (order resolution) changes are undoable
    + Clear most-recently-used file list option in preferences.
    + "Save Copy As..." command added (saves game to another file, without 
      changing currently open file).
    + If a power does not use all available builds, unused builds are noted
      in the adjustment adjudication results.
    + "View | Previous Turn Results" allows viewing adjudication results
      from previous turn, if available.
    + Adjudication Complete timestamp now created
- Miscellaneous:
    + Saved games from 0.80 are not compatible. However, the file format
      should now be stable and quite future-proof from this version on, 
      barring any major changes to the save game format. Older files will 
      be automagically upgraded when read in by future versions.
    + Mouse Clicking: if experiencing trouble registering mouse clicks, make
      sure that the mouse is not moving (at all!) when clicking; all 
      moves-with-clicks are interpreted as a Drag and not a Click. An attempt
      to fix this will be made in a future version. Drag-and-drop of units 
      may also be supported in a more distant future version.

jDip version 0.80 [August 2002]

- Core changes:
    + Improved XML Variant and Adjacency format
    + New Variant plugin system, that actually works
    + ANT build file included
    + Support for game Metadata
    + Batik 1.5b3 included
    + TestSuite uses new Variant plugin system
- GUI changes / improvements:
    + Larger status bar
    + Larger adjudication results window
    + Added Credits panel in About dialog
    + Adjudication results brought up by default
    + Menu cleanup
    + Game Name / Filename frame title display changes
    + System properties in About dialog are now sorted alphabetically
    + New Game dialog fixes/improvements
- Bug fixes:
    + Edit mode menu item remains checked if new game started/loaded while
      in edit mode
    + Fixed unit placement for Galicia & Prussia on topological map
- New features:
    + Game/Player metadata editor (Edit | Game & Player Info...)
- Miscellaneous:
    + Started Judge History/Game information parsing; much code has
        been written & tested; estimate this feature is 75-80% complete. 
    + Adjudicator errors noticed; this is due to a code regression; 
        this will be remedied in the next release. The same error exists
        in the released 0.75 version as well. This should only affect 
        adjudication in unusual situations.
    + WARNING: Old save games are not compatible with this version.
        Save game format will freeze nearer to the 1.0 release.

Version 0.75 [June 2002]

First public release