3.4 - 2023-05-17
================

  - UNDO buffer sizes have been increased, allowing for more UNDO steps.

  - Quitting a game while its waiting for a keypress (like a MORE prompt)
    should not longer result in the next loaded game skipping past its first
    such "wait for keypess" prompt.

  - (Linux) The QTads AppImage is now based on Ubuntu 18.04 and will no longer
    work on Linux distros older than that.

  - (Linux) The QTads AppImage no longer requires libfuse to be installed.


3.3 - 2022-05-19
================

No user-visible changes since 3.2. The main reason for this release is
to provide ARM builds for Linux (arm64 and arm32v7.)


3.2 - 2021-09-25
================

  - Fixed a regression in 3.1 where the volume of MIDI music was too low.


3.1 - 2021-09-16
================

  - Fixed sound not working correctly anymore after canceling a sound with a
    crossfade.

  - Fixed a Unicode parsing issue that could result in broken text matching due
    to miscompilation on some systems resulting from C++ undefined behavior.
    This could have all sorts of weird side effects, like verbs, nouns, etc,
    not getting recognized, HTML tags not working, and anything in-between.

  - Fixed lower-case conversion assuming the text is always UTF-8, even though
    this is usually not true in Tads 2 games. This could in some cases cause
    issues for non-ASCII Tads 2 games. Now the proper text codec is used.

  - Fixed "unnamed" (from the point of view of Tads) temporary files being
    created in the OS root directory (and thus usually failing since the user
    doesn't have filesystem permission to write there.) Now those files will be
    created in the proper, OS-configured directory for temp files.

  - Various bugfixes in the audio engine. Due to this, FluidSynth 2.x is now
    required for MIDI support. Ubuntu 20.04 ships it. 18.04 does not.

  - The Linux AppImage binary had a broken online update check on some systems.
    This was due to an incompatibility caused by the AppImage bundling a copy
    of OpenSSL 1.0 (from Ubuntu 16.04) and using that copy unconditionally.
    We now bundle 1.1 but don't use it if the system already provides it. We
    only use it on old distros that only provide OpenSSL 1.0. This is necessary
    because 1.0 and 1.1 are incompatibile with each other; an application built
    using 1.1 won't run with 1.0 and vice versa.

  - A C++17 compiler is now required. GCC 5.4 (Ubuntu 16.04) is the oldest GCC
    version that is verified to still be able to build QTads.


3.0 - 2020-02-15
================

  - Improved audio engine:

    Game audio is now streamed directly from the game and decoded in real-time
    rather than all of it being extracted and decoded in advance. This
    eliminates the delay and memory use spike in games with long audio tracks.

    Resampling quality is improved and the engine will now correctly apply
    resampling (if needed) in all cases. Previously, certain sample rates could
    cause resampling to be skipped, resulting in audio that plays at the wrong
    speed.

    MIDI music is now rendered using an internal synthesizer (FluidSynth) and
    thus it no longer matters whether or not the operating system supports
    MIDI.

  - Fixed font rendering issues on Windows, improved font quality of bold and
    italics.

  - Fake bold is now used on macOS when the selected font does not have a bold
    variant (like Monaco.)

  - The maximum text width of the game's main window is now configurable (set
    to 70 characters by default. This only applies to the main window. Banner
    windows created by the game are not affected.

  - Fixed an issue that prevented games from applying custom colors to links.

  - The interpreter now restores the old window position on startup, not just
    the size.

  - You can now press the END key (or whatever shortcut the system uses for
    jumping to the end of a text line or document) during MORE prompts to jump
    straight to the bottom of the text, bypassing further prompts.

  - Fixed an issue where the interpreter sometimes failed to set custom fonts
    requested by the game.

  - Added config dialog button for restoring default settings.

  - The "Typewriter" font setting now allows selecting proportional fonts. Many
    typewriter fonts don't identify themselves as fixed-width. Lift the
    restriction so that they can be selected.

  - Fixed a possible crash when clicking on an in-game URL and the default
    browser on Windows is set to Microsoft Edge.

  - Improvements for high DPI displays.

  - Fixed not being able to close some dialog windows on Windows.

  - HTTPS links in games are now supported.

  - Improved random number generator.

  - "OS time" is now properly reported with nanosecond precision instead of
    milliseconds.

  - The choice for which fonts to use by default (if no font settings exist
    yet) is now deferred to the OS. Previously, common font names for each OS
    were hardcoded for each font type.

  - TADS VM code fixes and a workaround for dynamic compilation crashes.

  - Building the interpreter now requires at least C11, C++14 and Qt 5.5 or
    newer.

  - It's now possible to build the interpreter without audio support:

      qmake -config disable-audio

  - The project has moved from sourceforge to github. New homepage:

      https://realnc.github.io/qtads

    New project page:

      https://github.com/realnc/qtads

    The sourceforge project is still there, but only serves as a mirror.

  - QTads is now licensed under the GPL version 3 or later.


2.1.7 - 2016-01-21
==================

  - The TADS virtual machines have been updated to 2.5.17/3.1.3

  - Added support for Mac OS X high resolution (retina) displays.

  - The interpreter will now try to detect whether a game is stuck in an
    infinite loop when quitting.  This should avoid the situation where the
    QTads window is closed, but a process is still running in the background,
    consuming CPU cycles.

  - Selecting text with the mouse is now supported, as is drag&drop of text to
    and from the game window.  Furthermore, you can paste the current word
    under the mouse cursor instead of selecting it by holding down the "Ctrl"
    key ("Command" key on the Mac) while double clicking.  This behavior can be
    disabled in the configuration dialog in the "Misc" section.

  - On Mac OS X, the main window should now properly get focus again when
    closing a dialog.

  - Text-grid banner windows should now be able to correctly show their
    background color instead of always using black.

  - Printing a table without any cells in it will no longer result in the
    screen getting "stuck" and failing to update.

  - Fixed a problem with the online update check, which would result in a
    a connection error, or sometimes an application crash. Thanks to Denis
    Pokataev for finding and fixing the crash case.

  - Added Ctrl+F command history search. It finds previous commands that begin
    with the same text as the text that is currently to the left of the input
    caret. If multiple matches are found, repeatedly pressing Ctrl+F will cycle
    through all matches. Thanks to tetzank for the patch.


2.1.6 - 2013/01/01
==================

  - Fixed a problem where the interpreter was not able to create savegames on
    some systems. The problem occured most notably on MS Windows, but in
    general affected all systems where it's possible to have absolute paths
    that don't start with a path seperator ('/' or '\').

  - File handling should now be fully internationalized. File paths and
    filenames (saved games, transcripts, game files, etc.) should now work in
    any language on all systems.

  - The TADS 3 VM no longer produces the same sequence of random numbers every
    time the interpreter is launched.

  - For those of you who like to build QTads from source, you can now build it
    against Qt 5. The released binaries will still be using Qt 4 though, since
    it's well tested.


2.1.5 - 2012/09/02
==================

  - The TADS virtual machines have been updated to 2.5.16/3.1.2.


2.1.4 - 2012/08/06
==================

  - The TADS virtual machines have been updated to 2.5.15/3.1.1.

  - QTads now comes with an application icon for Mac OS X and Windows.
    On OS X, it also registers the file types it can open and provides
    icons for them.

  - On rare occasions, games that present GUI dialogs to the user would
    not recognize which button was clicked.  This has been fixed.


2.1.3 - 2012/03/29
==================

  - Fixed a bug where games could not create new files and would print a
    "file operation prohibited by user-specified file safety level" error,
    even if the file was being created in the game's directory and the
    write permission setting in the configuration dialog was set to permit
    that.

  - Some fonts ("Garamond Premier Pro" for example) could cause the interpreter
    to crash or fall back to the Helvetica font.  This should no longer occur.

  - The application should now no longer crash on Windows XP systems.

  - A problem where games were unable to find their data files has been fixed.

  - MIDI music looping should now work on Mac OS.  Previously, MIDI tracks
    would only play once, even when the game intended them to play forever.

  - Under some circumstances, the application would still prompt for
    confirmation when quitting or restarting a game even if confirmation
    was disabled in the preferences.  This has been corrected.


2.1.2 - 2011/12/29
==================

  - The TADS virtual machines have been updated to 2.5.15/3.1.0.
    Note that QTads cannot run WebUI games (yet) because the "tads-net"
    function set is not implemented yet.  For the time being you can run
    WebUI games with FrobTADS.

  - A "soft scrolling" option is now available in the configuration dialog.
    When enabled, output from the game will scroll-in line by line instead of
    all at once.

  - On Mac OS X, text positioning could be off by a few pixels in some
    circumstances.  This should now no longer occur.

  - An error dialog is now displayed when trying to open a file that is not a
    Tads game.  Previously, the error message was displayed on stdout.

  - When running in KDE, it is not possible anymore to move the interpreter
    window by simply clicking somewhere inside the game window where no text
    has been printed yet.  The game window is never really "empty", so this
    kind of "window grabbing" should have not been allowed to begin with.

  - The confirmation dialog that appears when trying to restart or quit a game
    can now be disabled via newly introduced configuration dialog options.

  - File I/O safety levels can now be configured seperately for read and write
    access.

  - An online update check is now performed when the application starts.  The
    behavior is configurable via new configuration dialog options.


2.1.1 - 2011/02/18
==================

  - When the interpreter needs to scale an image, it can now use bilinear
    filtering.  This results in smoother images (without filtering, scaled
    images can appear pixelated or have other scaling artifacts).  However, the
    configuration dialog provides an option to disable filtering, since it also
    makes scaled images appear less sharp.

  - The "Game Information" metadata viewer now supports and displays cover art
    images (as specified by the Treaty of Babel.)  Also, the list of recognized
    names and values (like "Genre", "Headline", "Forgiveness", etc) should now
    be complete.

  - The list of recently played games now behaves a bit smarter; it will use
    the actual name from the game's meta data (if available) rather than the
    path/filename, and will also try to avoid duplicate entries (which can
    happen when symbolic links are used in the path and/or filename.)

  - Fixed a bug that resulted in games using the wrong font in some places.
    "Six Stories" is one example; it would previously use a wrong font for
    input, titles and statusbar.

  - It is now possible to use the main game font as input font through a new
    option found in the configuration dialog.

  - The file I/O safety level feature of the VM is now configurable through the
    configuration dialog.

  - The interpreter now correctly responds to game queries about whether
    graphics, audio and hyperlinks are currently enabled or disabled.
    Previously, the interpreter would always report that these features are
    enabled, making it impossible for games to adapt their behavior (for
    example "Six Stories" alters its behavior according to whether graphics and
    sound are enabled in the interpreter preferences.)

  - Fades and crossfades are now correctly advertised as being supported.
    Previously, the interpreter wrongly responded with "not supported" when a
    game was querying about it.

  - Fixed a rare crash that occured while entering non-latin characters.


2.1.0 - 2011/02/01
==================

  - Page-pauses (aka "MORE" prompts) are now occurring when the game displays
    more content that will fit in the window.

  - Banners can now have borders.  Note that borders are controlled by the
    game; it's not a feature that can be switched on or off by the player.

  - Banners now correctly take margins into account when calculating sizes.
    This fixes the banner at the bottom in "Walker & Silhouette" for example.

  - The interpreter will no longer allow scrolling in banners unless the game
    allows it.

  - Text rendering is now faster and performs less drawing operations.

  - The interpreter is now able to perform on online check for new versions
    through the "Help->Check for Updates" menu item.

  - Some GUI elements were changed to better comply with various "Human
    Interface Guidelines" on several platforms.  This includes changes in the
    menus as well as using sheets for some dialogs on Mac OS X.

  - On the Mac, running a game by dropping its file on the QTads icon is now
    supported.

  - When the VM requests input from the player, the maximum allowed length of
    input is now taken into account.  Previously, the interpreter would allow
    input to be much longer than what the VM accepts and the extra characters
    were simply truncated.

  - Renamed the Digital Sound/MIDI Music sound options.  They were misleading.
    The "Enable MIDI Sound" option did not control MIDI but rather the
    background sound layer, which is not restricted to MIDI.

  - The interpreter will now correctly disable keyboard cursor blinking if
    needed (for example when blinking has been disabled in the operating
    system's settings.)  Furthermore, blinking will only occur for as long as
    the interpreter window has focus.

  - The last entered directory for the "Open New Game" dialog is now remembered
    between sessions.


2.0.2 - 2011/01/13
==================

  - In games that use background images, there was a visual glitch in the part
    of the background image near the vertical scrollbar.  This has been fixed.

  - You can now drag&drop TADS game files into the application window to load
    them into the interpreter.

  - Clicking on a banner window no longer results in not being able to compose
    accented characters (or other characters requiring "dead keys".)

  - Text grid banners should now have the correct foreground/background color
    (light gray/black) when a game doesn't explicitly set them.

  - Games are now able again to display dialog windows with buttons.

  - A crash at exit that occured on some systems after running games that play
    MIDI music has been fixed.


2.0.1 - 2010/10/10
==================

  - A new "Restart Current Game" menu option has been added.

  - Digital sound fade-in, fade-out and cross-fades are now fully supported on
    all operating systems.  I think...

  - MP3 and WAV sounds that use "odd" sampling rates should now play correctly.
    Previously, they sometimes were playing at double speed.

  - Input of non-ASCII characters for languages that use compose keys ("dead
    keys") should now work correctly for TADS 3.

  - A memory leak during unloading of MP3 and WAV sounds has been fixed.

  - Decoding of long MP3s on Windows should not take several millenia anymore.

  - A new configuration option was introduced that allows for selecting the
    character set encoding to be used when playing TADS 2 games.  Previously,
    the interpreter was treating TADS 2 games the same as TADS 3 ones, which
    wouldn't work correctly with games that use characters outside the ASCII
    range.

  - When built on Linux with Qt 4.6 or newer, appropriate icons from the
    desktop environment's current theme will be used for the various menu
    items.

  - A sane set of default fonts and sizes is now used on Mac and Windows.
 
  - Sometimes the interpreter would not scroll down to the bottom when opening
    TADS 2 games.  This should no longer be occuring.


2.0 - 2010/09/28
================

QTads 2 is a new major version, bringing multimedia capabilities (HTML Tads)
and is based on Qt version 4 (4.4 and newer).  Some stuff had to go during
the rewrite of major parts of the code.  This was necessary in order to
decrease the initial porting effort and to release something that works
within a reasonable time frame.  I'm hoping to bring everything back bit by
bit as development progresses.


1.9 - 2009/06/24
================

  - A bug where HTML character entities would appear in the window title has
    been fixed (for example QTads would display "Lydia&rsquo;s Heart" instead
    of "Lydia's Heart".)

  - The "Recent Games" list no longer displays games that are no longer
    accessible (due to deletion or file permissions or other factors.)

  - Fixed some visual glitches in the main window and status line.


1.8 - 2009/05/27
================

  - Updated the Tads virtual machine to version 2.5.14/3.0.18.1

  - Fixed Unicode filename problems.  Running games from directories that
    contain Unicode characters as well as saving and loading gamestates in
    such directories should work now.

  - Fixed a compilation problem on BSD systems.

  - Fixed a display problem with Tads 2 games that use non-latin characters
    and don't make use of character mapping files.  The system's local
    character encoding will now be used by default for Tads 2.  Russian games
    for example that are written in the CP1251 character set using the "RTADS"
    libraries will now display correctly if the system's character set is also
    CP1251 ("ru_RU.CP1251" in Linux for example; note that "ru_RU.UTF-8" won't
    work since the character set must match the one of the game.)

    Tads 2 games should really use mapping files though; this is just a
    work-around to allow for those that don't to display correctly.


1.7 - 2008/03/31
================

Wow, over 3 years since the last update :P

  - Updated the Tads virtual machine to version 2.5.10/3.0.15.3

  - The amount of turns the player can UNDO in Tads 3 games has been
    increased.  In previous versions, the player could only UNDO a few
    turns (about 6 or so; it varies by game).  Now you can undo more
    than 100 turns.  Note that there's an upper-limit of turns that the
    player can UNDO (255) imposed by the T3 VM.

  - Fixed some non-working shortcuts in the configuration dialog.

  - QTads is now able to parse the meta-information resource embedded in
    a game (Tads 2 as well as Tads 3).  For this, a new menu entry has
    been added ("Game->Game Information").  HTML code in the meta-info
    tags (if it exists) is supported and displayed correctly.

  - Fixed compilation errors with recent compilers.

  - The interpreter will now correctly restore the window coordinates
    and size of the previous session even when starting in fullscreen
    mode.  Changing from fullscreen to windowed mode will now use the
    geometry that was set in the previous session before entering
    fullscreen mode.

  - The "File Open" dialog will now correctly show both Tads 2 as well
    as Tads 3 games.


1.6c - 2004/12/15
=================

Due do a stupidity-related mistake, version 1.6 wouldn't compile nor run
with versions lower than 3.3 of Qt.  The problem was in the user
interface files (forms/*.ui); they were saved in the new Qt Designer 3.3
format, which is *so* not compatible with prior versions.  This problem
has been fixed in this release.  Another quite important change is the
compile-time detection of the system's endianess (big vs little endian).
QTads should now run almost everywhere (at least I hope it does).

  - Fixed compilation problems with Qt versions lower than 3.3.

  - The system's endianess now shouldn't matter when compiling QTads.

  - Enhanced the way icons are loaded.  In previous versions, they
    didn't use the alpha channel for transparency effects, resulting in
    pixelized and blocky appearance.  This has been fixed.  (You can now
    find the icons in the images/ directory.  They won't get installed,
    but will be embedded into the executable at build time.)


1.6 - 2004/11/21
================

I feel like I'll never implement that darn Tads 3 banner-support!  I
tried it -- really -- but the implementation was chaotic, buggy, didn't
work most of the time, and who knows what else.  All I can say is that
I'm still working on it.  Help is *really* more than welcome, as my Real
World life changed completely in the last few months.  No, it's not
marriage (thank God); not imprisonment; didn't die either.  It's worse:
I'm a student now!  (And probably will remain in this state for the next
five years, give but not take a few.  And if you're curious about what
I'm studying, it's "information and communication systems engineering",
which is kind of a funny coincidence since the impression I had about
software engineers wasn't the most flattering one.)

  - QTads now has text-color support for Tads 3 games (foreground only).
    For example, "I Must Play" (an IF-Comp 2004 entry) is playable in
    color.

  - A non-bug (long story; don't even ask) caused transcript files to
    be saved in UTF-8 encoded Unicode.  This has been fixed; transcript
    files will now use the system's local character set.  Furthermore,
    the bug where Tads 2 transcripts contained spurious 01 bytes among
    the text has been fixed.

    Mac OS X will still use UTF-8, since, as it happens, that's the
    "native" character set on this system.  Same goes for modern Linux
    systems that use UTF-8 for everything (SuSE 9.1, for example).

  - The clock's state is now preserved between sessions.

  - The TadsVM file I/O safety levels are now supported and can be
    adjusted in the configuration dialog.  There are 5 safety levels:

      0: Safety mechanism disabled; unlimited read/write access.
      1: Read everywhere, write to current (game's) directory only.
      2: Reading/writing is only allowed in the current directory.
      3: Read in current directory only; no writing allowed.
      4: Completely disable file I/O.

    The default level is 2.  This change doesn't affect the saving and
    restoring of games, since safety levels only apply to file I/O
    initiated by the game, not by the VM.

  - In Mac OS X, the interpreter's title bar got hidden behind the menu
    bar on start-up (when QTads was started for the first time).  This
    has been fixed; now the OS decides where to put the window.

  - Fixed another bug where game-text could be modified by the player.
    I really need to replace the default input-handlers offered by Qt,
    since this kind of bug keeps showing up and the work-arounds create
    quite a mess in the sources (yeah, OK, they're already a mess, but
    that's no reason to ignore the problem).

  - The context menu ("right-click menu") now pops up even when the
    click was inside the left/right margin, and the menu and tool bar
    don't have a context menu anymore; the tool bar can be hidden/shown
    using the game-window's context menu ("Show/hide toolbar").
    Furthermore, the items in the context menu now have accelerators;
    F1 to show/hide the menu bar, F2 for the tool bar, and F3 for the
    scroll bar.

  - The most important change: new icons!  They're also smaller than the
    previous ones (16x16 instead of 22x22).

  - Added some German translations that were missing.

  - Updated the Tads virtual machine to version 2.5.9/3.0.8.

  - Other minor fixes and enhancements here and there.


1.5 - 2004/06/04
================

Guess what?  Still no Tads 3 banners.  ("Avalon" anyone?)  At least we
have plenty of bug-fixes and enhancements.  The most important addition
is the timed input-event support; "The Recruit" (an IF Comp 2003 entry
by M. Sousa and R. Sherwin) is now playable and won't crash anymore.

IMPORTANT: The T3 VM is known to crash with some versions of the GNU
Compiler (3.3.x and maybe 3.4.x).  This seems to be either a problem
with GCC's optimizer, or with T3's code.  Probably the former.  When
QTads aborts with a segmentation fault or similar, add the
"-fno-strict-aliasing" option to the CFLAGS and CXXFLAGS variables when
building the interpreter (see the INSTALL file for details).

  - QTads now fully supports timed input-events.  It works 100% with
    Tads 2 games; Tads 3 timed *input* (as opposed to timed input
    *events*, which are available now) is still not implemented.  Let's
    hope for one of the next versions.

  - In Mac OS X, the Carbon Preferences mechanism is now used to store
    the settings.  (Linux and other Unices will still use the
    "$HOME/.qt/qtadsrc" file.

  - Soft scrolling can now be disabled.  Default is enabled.

  - Fixed a bug where it was necessary to click on the "Open new game"
    button twice if a game was specified as a command-line argument.

  - Drag&dropping text inside the game window was broken (game text was
    being overriden).  This has been fixed.

  - Fixed a text-redraw bug when the current text-alignment was
    changed.

  - In previous versions, it wasn't possible to scroll the text with
    the PageUp/PageDown keys if the game had stopped running, and it
    was possible to modify game-text when using them.

  - PageUp/PageDown now also works when in a "more" prompt.

  - File-extension recognition didn't work.  The game extension
    (.gam or .t3) can be omitted now.

  - The warning dialog that said "The QTDIR environment variable is not
    set ..." is no more.  If Qt's translation-files can't be found,
    QTads will silently fall-back to the default English versions.

  - The Tads 3 version and copyright information at the start of a game
    won't appear anymore.

  These changes don't affect functionality:

  - In Mac OS X, the application is now called "QTads" instead of
    "qtads", since capitalization of program names seems to be
    considered a Good Thing (ugh!)

  - Added a manual page (qtads.6.gz).  This won't get installed or
    anything; it's mainly for the Debian package (maintained by Daniel
    Schepler), since Debian considers the lack of a man page to be a
    "bug".


1.4 - 2004/05/13
================

(This version was never officially released, mainly due to lack of
time; at the time the release could be made, v1.5 was already waiting
to be tarballed and sourceforged.)

The good news is that this version introduces support for Mac OS X.  A
big "thank you" to Matt Herberg, who also is the maintainer of the Mac
OS X distribution and co-developer, and Curt Siffert.  Thanks guys!

The bad news is that we still don't have Tads 3 banner support.  I hope
we'll have it in the next version.

  - Added Mac OS X support.

  - Fixed a bug where files requested by the game could not be accessed
    if the interpreter was not started from the game's directory.  For
    example, you can now put the registration key-file of "Losing Your
    Grip" (regkey.txt) in the same directory as the game itself, and
    the game will find it.

  - Prompting for a game to run at startup is now optional; it can be
    enabled/disabled in the configuration dialog.

  - The directory where the documentation is installed no longer has a
    version number attached.  Every time you install a new version of
    the interpreter, the new documentation will simply replace the
    older files.  Opinions differ if this is better or worse, but I
    think it's somewhat awkward to having to delete the old directory
    manually after installing a new version.

  - Updated the Tads virtual machine to version 2.5.8/3.0.6p.


1.3a - 2003/09/28
=================

Oops, I did a mistake in the last release; the "Recent Games" menu was
behaving very weird (newly loaded games didn't show up until QTads was
restarted).  This release only fixes this bug; nothing else.


1.3 - 2003/09/26
================

Although this version lacks enough changes to justify a new release, I
nonetheless decided to release it because of the upcoming IF
competition (http://www.ifcomp.org).

  - Added a "Recent Games" menu.  (Was about time this got added.)

  - Fixed a bug where the mouse cursor was staying invisible when it
    shouldn't (when the window was losing keyboard focus, for example).

  - Enhanced the documentation in the sources, since several people
    have found QTads' code quite useful.  (Where "several" is any
    number between 1 and 2.)

  - Updated the Tads virtual machine to version 2.5.8/3.0.6k.


1.2 - 2003/08/10
================

  - QTads now supports italic text.  Previously, the <em> tag was
    rendered in bold, and <i> was ignored; both are now rendered in
    italics (as in HTML TADS).  Furthermore, the <strong> tag is now
    recognized and rendered in bold italics ("strong emphasis").

  - Every pair of ASCII dashes ("--") is now replaced with a
    typographical em-dash in Tads 2 games (Tads 3 games don't need
    this, since they already display em-dashes on their own).  This is
    useful for games that don't make use of the "&mdash;" Multimedia
    Tads character entity, or make the false assumption that character
    entities are not supported in text-only interpreters.  This feature
    can be enabled/disabled in the configuration dialog, and it works
    only in Tads 2 games.  (Tip: Try it with "Worlds Apart.")

  - Fixed two cosmetic bugs in the command history.

      1) When using the up/down key to cycle through the previous
         inputs, they were displayed using the game window's font
         settings, not the user input settings.

      2) The current command is not saved in the history anymore if it
         is the same as the previous one.

  - Fixed the (hopefully) last remaining bugs where it was possible to
    modify game-text.  (Leif Huhn provided this fix.)

  - Added "Help->Version Information" menu.

  - Changed some icons.  I hope you like them.

  - The documentation has been restructured.

  - Updated the Tads virtual machine to version 2.5.8/3.0.6j.


1.1 - 2003/05/28
================

The QTads homepage has moved from Tripod to SourceForge.  The new
location is: http://qtads.sourceforge.net (the old page at
http://members.lycos.co.uk/realnc/qtads still exists, but contains
nothing except a pointer to the new location).  If you had links to the
old site, please update them.

  - QTads now uses Unicode when running Tads 3 games.  This means that
    Multimedia TADS character entities like typographical (``curly'')
    quotes and dashes of different lengths (en- and em-dashes) are
    displayed correctly.  The only limitation is that the font you use
    must support these characters; most fonts out there support them,
    but I saw a few ones that don't.

  - QTads is also able to display typographical quotes and dashes in
    Tads 2 games.  Note that this feature must be supported by the game
    itself; if the game simply prints out a normal (") quote instead of
    a typographical one, QTads can do nothing about it.  See the TIPS
    file for a list of games that use typographical quotes instead of
    normal ones.

  - Support for Tads 2 character mapping files has been added.  QTads
    now provides mapping files for every ISO 8859 (known as ISO Latin)
    character set that Tads 2 is able to use (located in the charmaps/
    subdirectory).  Note that QTads doesn't provide (or need) mapping
    files for Tads 3 games, since it uses Unicode.

  - QTads can display curly apostrophes in every game.  This can be
    disabled in the configuration dialog.

  - The "Curly quotes" setting in the configuration dialog has been
    implemented.


1.0 - 2003/05/05
================

This is the first "stable" version of QTads (not that the previous one
was unstable or something).

  - User input can now be displayed in any combination of bold, italic
    or underline.

  - Added a clock that keeps track of how much time a game is running.

  - Added internationalization support and translated everything to
    German.  (Hmm, no Greek yet.)  This also includes support for
    translations of the Qt library itself (as documented in the INSTALL
    file now).

  - Ctrl+C (Copy), Ctrl+V (Paste) and similar shortcuts are working
    now.  (In earlier versions, the selection got removed as soon as
    Ctrl was pressed.)

  - QTads doesn't eat up CPU cycles when idle now, which means you can
    let it run in the background and it won't slow the system down.
    In earlier versions, QTads was using about 30% of CPU time on my
    system when idle; now it uses only 0.1%.  (Christophe Antoine
    provided this fix.)

  - Fixed the fix of the fix of the statusline.  (It's obvious that I
    can't code.)  It should not word-wrap without need now and not
    resize its height the first time it prints something.

  - Fixed Tads 2 doublespacing problems.  Note that the new T3 VM
    doesn't support doublespacing anymore; it's handled by the game
    file itself.  This means that older games (compiled with earlier
    Tads 3 versions) will never use doublespacing while new ones will
    always use it, no matter how QTads is configured.  This raises a
    problem I don't know how to fix; doublespacing in block-justified
    text doesn't work as it should.  This is a bug in Qt's text
    renderer.

  - Fullscreen-mode is saved when quitting QTads.

  - Millisecond precision is now supported when the VM asks QTads for
    the elapsed time (os_get_sys_clock_ms()).


1.0 beta - 2003/03/21
=====================

This is the first public release of QTads.

  - Theme support added.
    A "theme" is a set of preferences (colors, margins, fonts, etc)
    that can be saved and then activated at runtime.  The themes can be
    edited in the configuration dialog and then activated using the new
    Display->Theme menu.

  - Fixed a bug where QTads was trying to restore a saved game when
    loading Tads 3 games and failed with a message saying that "this
    interpreter can't restore [...]"

  - Tads 3 text rendering is more "smooth" now.  This fixes the
    "scrolling in steps" problem.

  - Changed the frame around the game window.  This fixes some visual
    bugs related to margins.

  - Fixed a bug in the statusline where both parts of it (text and
    score) were equally wide, no matter how much text they contained.

  - Further reduced the statusline's height.

  - The makefile's "dist" target should now be able to create a working
    source archive of QTads.

  - Improved dependency tracking in the project file.  All files should
    correctly be recompiled, no matter how deep the dependency-nesting
    is in each case.  This eliminates the problem where a
    "touch tads2/os.h" (or similar) was required in order to achieve a
    recompilation.

  - The PageUp and PageDown keys can now be used to scroll up or down.

  - Added a few more keyboard shortcuts (like restoring, restarting,
    saving, scrolling, etc) and documented them in a new dialog
    (Help->Shortcuts).


1.0 alpha 3 - 2003/03/17
========================

This version was a private beta-testing release.

The main change in this version is the included T3 VM.  It's a bit
difficult to test QTads with Tads 3 games, since only a few have been
released.  The games I tested with are:

  * The Tads 3 Library Sample Game (Mike Roberts)
  * Forever Always (Iain Merrick)
  * Eric's Gift (Joao Mendes)
  * The Demon's Eye, 2003/03/01 (Guilherme De Sousa, not released yet)
  * Lost In Somewhere (my own WIP, not released yet)

QTads lacks banner-support, so the library sample game is
semi-functional in QTads.  I hope to add banners in the next version.
Note that Tads 3 doesn't use HTML for banners.  It uses an API, so
banners can be implemented even in non-HTML interpreters.

As far as I know, at the time of this writing QTads is the only X11
non-KDE interpreter with Tads 3 support!  Wheee... :)

Overview of changes:

  - Basic support for Tads 3 games.

  - Restructured source directory layout.
    QTads is now built from and in the distribution's root directory,
    not tads2/qt.


1.0 alpha 2 - 2003/03/14
========================

This version was a private beta-testing release.

QTads has got a homepage: http://members.lycos.co.uk/realnc/qtads/
This is now the main distribution point for new versions.

Thanks to the betatesters (listed in the interpreter's "About" dialog),
this version has many improvements over the previous one.  The list
below includes the most visible and/or useful changes.

  - Now compiles with GCC 2.95.x.
    Tested with 2.95.3.

  - Fixed a bug in the random-number generator.
    Games that make heavy use of random numbers should now behave as in
    most other interpreters.

  - Fixed a few bugs that allowed the user to modify game text.

  - The game window no longer performs a top-to-bottom scroll when
    exiting the configuration dialog.

  - The "Doublespace" option in the configuration dialog is now saved
    when quitting QTads.

  - "About" dialog.
    "No program should be without one! [sic]"

  - More menus as well as a toolbar have been added.
    QTads is now almost useable! ;)

  - Fixed a compilation problem in src/missing.cc.
    Some systems were unable to compile QTads because a system-header
    #include was missing.

  - Window position and size are now preserved between QTads sessions.
    If this doesn't work as expected, please report it (some window
    managers are broken, but I can include special code for them; if I
    know how they behave, that is).

  - Text rendering is now less noticeable.
    This eliminates the delay when switching to bold text and back.

  - The "Top" and "Bottom" margins are no more.
    Most people found them annoying.  The rest (including me)
    considered them useless toys.

  - The DEBUG variable has been removed from the project file.
    To compile the debug version of QTads, the BUILD variable must be
    used.  Like this:

        qmake BUILD=debug

    The default is "BUILD=release".

  - QTads now builds successfully on systems that lack the
    single-threaded Qt library.
    The project file now uses the threaded library by default, since
    that's the one KDE is using.  If the threaded lib cannot be found,
    the single-threaded lib will be used.

  - The game window's context menu (also known as "right-click menu")
    has been removed completely.
    It didn't work anyway.  I hope to fix this in the next version.
    Suggestions as what the menu should contain (or not) are welcome.

  - Improved configuration dialog design (more compact).
    This includes a fix that prevents the preview from growing too
    large when selecting huge font sizes.

  - Command editing (including history) optimized to the speed of
    light.
    This should lower QTads' system requirements a bit; try it on a P60
    or similar.

  - QTads now prompts for a game when none has been specified in the
    command line.

  - A nicely formatted message is now shown when the current game ends.

  - It is no longer possible to close the application without the game
    being notified.
    Previously, it was possible that the TADS VM was still executing
    although the window has been closed, requiring the user to do a
    Ctrl+C or send a kill-signal.

  - It is no longer possible to choose a unit for the margin values.
    Values are now always in pixels.  Being able to choose between
    "characters" and "pixels" was, more or less, a useless feature.

  - Command-line options have been removed.
    Since the default command-line options of the TADS VM were a bit
    wacky to handle, they have been removed completely.  I'll implement
    native options in the next version.  The only option still
    recognized is the game's filename.

  - Statusline: decreased the height, disabled text-selection, and
    changed appearance (a bit more flat).

  - Typing text while the mouse cursor is inside the game's text will
    hide the mouse cursor.  Just move it to make it visible again.

  - Lots of other things not worth mentioning here.


1.0 alpha - 2003/02/01
======================

This version was a private beta-testing release.
