3.0
---

- Bounced version numbers for release.

- Minor changes in Installer script.


2.96
----

- Added ARexx command QUITFORCE to avoid the "ARexx scripts are still
  running" problem.

- Earlier versions crashed violently if no GUI module could be
  initialized - fixed.

- MUI.MiamiGui, MUIMWB.MiamiGui: fixed a dangling-busy-pointer bug
  when the dialer finished in iconified state.

- GTLayout.MiamiGui: Killing the GUI while other windows besides the
  main window (e.g. dialer) were open caused a crash - fixed.

- Really added new version of miamisocks.library this time.

- Added new icon in NewIcons style.

- Installer now sets AppIcons and (for NewIcons) default
  ASCII/AmigGuide icons correctly.


2.95
----

*** This is the first complete Miami package after 2.1p (not just an
*** incremental upgrade), and should be considered a "trial run" for
*** the 3.0 release. Please test the installation script, and have
*** a look at the new manual.

- The internal process "Miami Downtown" is no longer displayed in the
  list of processes that keep Miami open.

- Hopefully fixed some problems with a busy pointer not being
  removed.

- Miami, MiamiInit, MiamiRegister: Default values for "ENV:MIAMI/GUI"
  did not work correctly.

- miamisocks.library: Fixed an Enforcer in the DCC hack.


2.94f
-----

- Some changes to HDLC input state machines to make FCS error counts
  more accurate.

- Added workaround for NSD re-open bug in hydra.device.

- Another workaround for hydra.device: write requests are now only sent
  to the device one at a time. This appears to improve throughput, at
  least on the author's machine...

- GTLayout.MiamiGui: IP address types for SANA-II interfaces were
  displayed incorrectly.

- miamisocks.library: minor changes

- Miami, #?.MiamiGui, MiamiInit: Locale changes

- #?.MiamiGui: The state of menu item checkmarks did not survive GUI
  switches and some other events.

- Miami, MiamiInit, MiamiRegister: added support for ENV:Miami/GUI
  to define the default GUI.


2.94e
-----

- Fixed some problems with iconify/deiconify during dialing.

- Interrupting the dialer early would not always hang up the line.

- Miami, MiamiSysCtl: Added option to disable Path MTU Discovery.

- MiamiInit: Initialization of ISDN boards should work now.

- MiamiInit, MiamiRegister: Added ToolType "GUI" and support for
  different GUI engines.

- MiamiRegister: Rearranged some texts for compatibility with
  GTLayout engine.

- GTLayout.MiamiGui: MTU for serial interfaces was not set
  correctly.

- GTLayout.MiamiGui: Status messages did not contain modem speed
  and did not survive "Kill GUI".

- GTLayout.MiamiGui: Pressing a function key in the dialer when
  dial buttons were disabled caused an Enforcer hit.

- GTLayout.MiamiToolsGui: added to the distribution.


2.94d
-----

- Workaround in NSD check code to prevent Enforcer hits from
  Semaphores with trashed name field.

- Minor changes in device access code hoping to track down an
  incompatibility.

- Appicon/menu were not displayed if "kill gui on startup" was
  enabled. Should be fixed now.

- MiamiInit: another attempt to get the init string for ISDN
  boards and TAs right...

- MiamiInit: &C1 is now always added to the init string.

- MiamiInit: Added ToolType PACKETDEBUG.

- GTLayout.MiamiGui: Changed layout for compatibility with newer
  V43 versions of gtlayout.library.

- GTLayout.MiamiGui: Removed a trailing menu bar label in the
  settings menu.


2.94c
-----

- Corrected dial suffix when importing MiamiInit V3 settings.

- Hostnames were not imported correctly from MiamiInit V3.

- Slight change in iconify/kill-gui code for compatibility with GUIs
  that do not support iconify (e.g. GTLayout).

- Fixed an Enforcer hit that occured when taking PPP/SLIP offline.

- Added ToolType "GUI" to specify the GUI engine at startup
  (overriding the preferences).

- MiamiInit: Corrected rts/cts part of init string for Tornado/Trust
  modems.

- MiamiInit: Added some modems and Ethernet boards to the list.

- MiamiInit: An initialization problem with ISDN boards (diag code
  100) should be fixed now.

- MUI.MiamiGui: Minor change to MS-CHAP check.

- GTLayout.MiamiGui: added to the distribution. Requires
  gtlayout.library V40 or higher (from Olaf Barthel's "term"
  distribution).


2.94b
-----

- MiamiInit: Devices which only support a single unit were opened
  with unit -1 instead of 0 -- fixed.


2.94a
-----

- Added sysctl option "dns.cache.split" to separate DNS caches for
  gethostbyname() and gethostbyaddr(). With this option enabled
  gethostbyaddr() only uses DNS PTR queries, not information from
  earlier DNS A queries.

- Changed default Commodities input expression for compatibility
  with old versions of AmigaOS.

- Reenabled NSD-based device verification if NSDPatch is installed.

- Fixed an Enforcer hit in UDP-chargen service.

- Major code reorganizations. Now one single, consistent set of
  C header files and global symbol tables is finally used for all
  sources and utilities, in sync with MiamiSDK 2.21.

- Enabled full compiler optimizations.

- Miami should now react more quickly to "Cancel" while talking
  to the modem.

- GUI initialization is now done later during startup, so the
  GUI choice can be loaded from the settings file.

- MUI.MiamiGui: Made main listview default object.

- MUI.MiamiGui: Reactivated options on the "Windows" page.

- MiamiInit: added to distribution. This is a completely new,
  program, and incorporates the functionality of the old
  "MiamiInit" and "MiamiInitSANA2" into a single program, plus
  many new features. Changes include:

  - Added support for external user interface engines (MUI,
    and upcoming: GTLayout, ClassAct).
  - Updated modem list to include ISDN TAs and 56k modems.
  - Added support for ISDN (TAs and boards), with built-in
    lists of modes and init strings.
  - Added board lists for Ethernet/Arcnet/etc.
  - Added support for cable modems and ADSL modems.
  - Added support for parallel port connections and nullmodem
    connections.
  - Improved support for accessing LANs.
  - Much more flexible handling of DNS: DNS can be disabled
    completely or set to "LAN mode" (not allowing access to
    root servers). DNS verification can be skipped, and results
    from verification can be ignored.
  - MiamiInit now knows about screenmode restrictions, speed
    restrictions and driver restrictions on the built-in
    serial port, checks for them, and tells the user about
    expected problems, if necessary.
  - Added Miami's built-in serial port driver for registered
    users.
  - Added workarounds for problems that some modems have with
    the CD and RTS/CTS lines and default settings for them.
    (This affects Zoom and Multitech modems, for instance.)
  - Improved DNS detection/configuration in SANA-II mode.
  - Added "Skip" option to allow the user to bypass some checks
    in the configuration phase (e.g. "RArp" if no RArp server
    is present).
  - Added support for DHCP.
  - Added hostname check.
  - Now defaults "Use login dialog" to off, because of the
    growing number of "smart PPP servers".
  - Customized dialer layout for nullmodem and dialing without
    login dialog.
  - Resynchronized all protocols (PPP, SLIP, DHCP, DNS etc.)
    with their implementations in Miami 2.94a.


2.93c
-----

internal version, not publically released


2.93b
-----

- 2.93a was missing the new version of MUI.MiamiGUI, which is
  why all texts were wrong. This archive corrects this error.


2.93a
-----

- Added several PPC support functions to miami.library and
  miamipcap.library to simplify access to Miami from PPC-native
  clients, and bumped version number to 12.

- Changed several structures used in miami.library and
  bsdsocket.library for natural alignment in a PPC kernel, and
  added new access functions for those structures. Old access
  functions are still binary-compatible with AmiTCP/IP and old
  software, but will not work with PPC versions.

- Added workaround for AbortIO() bug in a4066.device.

- Bug fix: ping packets arriving during interface negotiation
  should no longer cause spurious errors.

- MiamiNetStat: increased with of "destination" column in "-r"
  output by 2 characters.

- MiamiMRouteD, MiamiNetStat, MiamiArp, MiamiRoute: new versions
  with new structure alignment.


2.92h
-----

- MiamiRegister: fixed a problem with non-blocking connect()s
  through SOCKS.

- Several workarounds for possible problems with AbortIO(),
  caused by bugs in bscisdn.device and HyperCOM drivers.

- Fixed a bug that could cause lockups with the built-in serial
  driver if Miami was taken offline while traffic was sent across
  the serial line.


2.92g
-----

- Configured hotkey values are now active immediately after
  loading settings.

- Changed the delimiter for service ranges in the IP filter from
  "-" to "/" to avoid a conflict with service names containing a
  "-" character.

- Bounced miami.library to v11 and added many advanced API functions
  from Posix.1g and RFC-2133.

- Host name checks are now case-insensitive.

- The accept() in inetd is now non-blocking to avoid a race
  condition when the client quits prematurely.

- Fixed a problem with multiple requesters appearing simultaneously.

- A few changes to the DHCP timing.


2.92f
-----

* This release uses new TCP kernel code and is rather experimental.
  Please test TCP connections in all variations: locally, to and
  from remote machines, with T/TCP enabled and disabled, and with
  T/TCP-compliant and -non-compliant clients and servers, and report
  any unusual effects (lockups, crashes, panics etc.).

- Several additional performance optimizations.

- Fixed an Enforcer hit when going online with Ethernet (caused by
  a bug in the TCP pipe adjustment introduced in 2.92e).

- Resynchronized TCP implementation with FreeBSD 2.2.5.

- Allowed "," in Database->Socks->Command


2.92e
-----

- Modem init strings are now only sent without flow control if
  sending them with flow control fails.

- Built-in serial driver now uses SetIntVector() instead of patching
  interrupt vectors directly, to avoid crashes under heavy DMA use.
  This change may be temporary.

- Some modifications to reverse-DNS host name lookup.

- Increased priority of interface task from 5 to 10, and priority
  of kernel task from 4 to 8 to prevent DOS handlers from
  preempting Miami, which would cause SANA-II packet loss during
  bulk transfers.

- Some minor changes to improve the performance of bulk data transfers.

- Modified the old "TCP-ACK-Hack" to be compatible with T/TCP, and
  reenabled it, to automatically ack every packet with the PUSH bit
  set during bulk data transfers, regardless of TCP window settings.
  This improves performance when receiving TCP bulk data.

- Built-in serial device options integrated into the GUI. Using
  the string "builtin" is no longer necessary (or possible).

- Increased the TCP pipe sizes for local Ethernet routes from
  16 kB to 32 kB.

- Added MiamiSysCtl to beta archive.


2.92d
-----

- The WAITCONNECT bug supposedly fixed in 2.92c should now
  really be fixed :-/

- Added ARexx command "GETCONNECTTIME" to return the number of
  seconds since the modem returned the CONNECT message.

- Miami should now react more quickly to the "Cancel" gadget
  when resetting the modem.

- serial devices are now opened without flow control when resetting
  the modem. This should help with misconfigured Multitech modems
  and probably some others.

- The file name for PPP logging is now saved in the settings file.

- Enabled built-in serial device handler. This feature is HIGHLY
  EXPERIMENTAL and probably buggy, i.e. expect it to crash, burn
  and destroy your Amiga and your modem :-). To choose this
  driver type "builtin" as the device name (without ".device").

- The status message is now maintained and changed even when the
  GUI is killed, and preserved across GUI changes.

- Rewrote large portions of the iconify code. Many of the old
  bugs (iconify/deiconify messing things up during dialing)
  should be fixed.

- Killing the GUI or reopening a killed GUI during dialing or
  when requesters are open should work much better now. This
  feature is still highly experimental though.

- The hangup and LCP-TermReq code should now be more tolerant
  to flow control problems.

- Changed the label "On Startup" to the more meaningful
  "Kill GUI on Startup". The old text dates back to a very early
  alpha version of Miami V3 when the whole page was called "Iconify"
  instead of "GUI".

- "Save as Default" now always saves settings in "Miami:".

- Added protection from the Internet attack program "land.c"
  (which forges IP addresses and port numbers to exploit a
  vulnerability in almost all existing TCP implementations).

- MiamiSocks: Fixed a bug in the DCC workaround.

- MiamiSocks: Added a workaround for a compatibility problem with
  Voyager 2.92.

- MiamiRegister: Upgrades from ppp.device via First Virtual were
  not processed correctly.

- MiamiTCPDump: Added option "-A" ("-xA" creates ASCII output
  in addition to hex).


2.92c
-----

- Miami no longer hangs when an ARexx quit script is configured and
  RexxMast is not running.

- Fixed a bug in the WAITCONNECT dialer command that could
  cause strings other than "CONNECT" to trigger a match.

- MiamiRegister: Added a retry option to another requester.

- MiamiRegister: Changed the messages in two misleading requesters.

- Added some functions to miami.library and miamipcap.library to
  support MiamiRemind.

- Added GUI iconify option to "active offline" event.

- When importing a config from MiamiInit the option "down when
  offline" now defaults to "on" for dynamic IP addresses, to
  prevent problems with YAM hanging during a connect().

- Changes on the Socks page now affect *new* clients immediately.

- Added MUI bubble help for the GUI page.

- Status messages are no longer cleared when switching between
  GUI pages or killing the GUI.

- Fixed signal handling in miamibpf.library and miamipcap.library
  for custom abort signals.

- Added MiamiRemind to distribution. See MiamiRemind.doc for more
  information.


2.92b
-----

- minor changes in MiamiRegister and miamisocks.library

- Miami now moves its screen/window to front and activates it
  during double-start and Cx-Show even if Miami is deiconified.

- MUI.MiamiGui now closes the public screen during iconify if no
  other windows are open.

- GUI->"Show icon" and GUI->"Show menu" are now enabled by default.

- MiamiRegister: increased TCP timeouts to avoid premature
  disconnects.


2.92a
-----

- required "Miami:" assign, and replaced all occurences of
  "PROGDIR:" with "Miami:".

- disabled "verify DNS" for broadcast networks.

- bounced catalog version to 10.

- modified the broken-NT workaround for LCP option 0 for better
  compatibility with yet another broken PPP server (ITK Suprimo).

- changed library priorites to 1.

- added proper error message if the "Miami:" assign does not exist.

- registered version now requires keyfile version 3.


2.91c
-----

MiamiRegister release only:

- corrected a misleading error message if 'QuickUpgrade' failed
  between the first and the second step.

- added a note regarding version 3 keyfiles and Miami 2.x.


2.91b
-----

MiamiRegister release only. Completely rewritten since 2.1p.


2.91a
-----

first new beta release. Lots of changes since 2.1p. Many parts
completely rewritten.


2.1p
----

previous release version
