lib_xtcp change log
===================

7.0.1
-----

  * FIXED:  Wrong application-note link descriptions in README.

7.0.0
-----

  * CHANGED: Updated LwIP stack to version 2.2.1, now a submodule.
  * CHANGED: Updated lib_xtcp API to be closer to posix sockets API.
  * CHANGED: Ported example to xcore.ai Ethernet development board
    XK-ETH-316-DUAL
  * CHANGED: Support for hardware test platform moved into library.
  * REMOVED: uIP TCP/IP stack support.

  * Changes to dependencies:

    - lib_ethernet: 4.0.1 -> 4.1.0

    - lib_locks: 2.3.1 -> 2.3.2

    - lib_logging: 3.3.1 -> 3.4.0

    - lib_otpinfo: Removed dependency

    - lib_random: 1.3.0 -> 1.3.1

    - lib_xassert: 4.3.1 -> 4.3.2

6.2.0
-----

  * ADDED: CMake support
  * FIXED: Many compiler warnings.
  * CHANGE: Removed 'smi_if i_smi' and 'phy_address' parameters from both
    xtcp_uip and xtcp_lwip functions. The smi_if now only links the smi
    component with the PHY driver.
  * CHANGED: Documentation updated

  * Changes to dependencies:

    - lib_ethernet: 3.0.0 -> 4.0.1

    - lib_gpio: Removed dependency

    - lib_locks: 2.0.0 -> 2.3.1

    - lib_logging: 2.0.0 -> 3.3.1

    - lib_otpinfo: 2.0.0 -> 2.2.1

    - lib_random: 1.0.0 -> 1.3.0

    - lib_xassert: 2.0.0 -> 4.3.1

6.1.0
-----

  * CHANGE: Added a header xtcp_stack.h with defines XTCP_STACK_LWIP or
    XTCP_STACK_UIP depending on which XTCP stack is being used.
  * CHANGE: Updated the tests and examples to build against the new XTCP
    library.
  * FIXED: Events are now routed to the correct XTCP interface.
  * FIXED: A possible double-free when closing a connection.

  * Changes to dependencies:

    - lib_random: Added dependency 1.0.0

6.0.1
-----

  * FIXED: The uIP stack now respects a fixed IP configuration.

6.0.0
-----

  * CHANGE: Unified the branches of uIP and lwIP as the backend of the XTCP
    stack. The default is uIP. To change the stack, define XTCP_STACK in your
    makefile to be either UIP or LWIP. Then, instead of calling xtcp(...), call
    either xtcp_uip(...) or xtcp_lwip(...) respectively.
  * CHANGE: The interface between the client and server is now event-driven
    rather than polling.
  * CHANGE: Channels have been replaced by interfaces as communication medium
    between client and server.
  * REMOVED: The following xtcp_event_types: XTCP_PUSH_DATA, XTCP_REQUEST_DATA,
    XTCP_POLL, XTCP_ALREADY_HANDLED
  * CHANGE: The fields of packet_length and client_num have been added to the
    xtcp_connection_t structure.
  * REMOVED: xtcp_connection_t no longer has a xtcp_connection_type_t field.
  * REMOVED: The ability to pause a connection
  * REMOVED: The ability to partially acknowledge a packet
  * REMOVED: Support for IPv6
  * REMOVED: the ability to send with an index. This functionality is easily
    replicated with a call to send() with the pointer of the array index
    location, i.e. &(data[index]).
  * REMOVED: Support for XTCP_EXCLUDE_* macros which reduced functionality in
    order to save code size
  * FIXED: Problem where ethernet packets smaller than 64 bytes would be
    incorrectly padded with uIP.

  * Changes to dependencies:

    - lib_crypto: Removed dependency

5.1.0
-----

  * ADDED: Support for using lib_wifi to provide the physical transport

5.0.0
-----

  * ADDED: Port of LwIP TCP/IP stack

  * Changes to dependencies:

    - lib_crypto: Added dependency 1.0.0

4.0.3
-----

  * ADDED: Support to enable link status notifications

4.0.2
-----

  * CHANGE: uIP timer.h renamed to uip_timer.h to avoid conflict with xcore
    timer.h
  * CHANGE: Update to source code license and copyright

4.0.1
-----

  * CHANGE: MAC address parameter to xtcp() is now qualified as const to allow
    parallel usage
  * RESOLVED: Fixed issue with link up/down events being ignored when SMI is not
    polled within XTCP

4.0.0
-----

  * CHANGE: Moved over to new file structure
  * CHANGE: Updated to use new lib_ethernet

  * Changes to dependencies:

    - lib_ethernet: Added dependency 3.0.0

    - lib_gpio: Added dependency 1.0.0

    - lib_locks: Added dependency 2.0.0

    - lib_logging: Added dependency 2.0.0

    - lib_otpinfo: Added dependency 2.0.0

    - lib_xassert: Added dependency 2.0.0


Legacy release history
----------------------

3.2.1
-----

  * Changes to dependencies:

    - sc_ethernet: 2.2.7rc1 -> 2.3.1rc0

      + Fix invalid inter-frame gaps.
      + Adds AVB-DC support to sc_ethernet

3.2.0
-----
  * Added IPv6 support

3.1.5
-----
  * Fixed channel protocol bug that caused crash when xCONNECT is
    heavily loaded
  * Various documentation updates
  * Fixes to avoid warning in xTIMEcomposer studio version 13.0.0
    or later

  * Changes to dependencies:

    - sc_ethernet: 2.2.5rc2 -> 2.2.7rc1

      + Fix buffering bug on full implementation that caused crash under
      + Various documentation updates

3.1.4
-----
  * Updated ethernet dependency to version 2.2.5

3.1.3
-----
  * Updated ethernet dependency to version 2.2.4
  * Fixed corner case errors/improved robustness in DHCP protocol handling

3.1.2
-----
  * Fixed auto-ip bug for 2-core xtcp server

3.1.1
-----
  * Minor code demo app fixes (port structures should be declared on
    specific tiles)

3.1.0
-----
  * Compatible with 2.2 module_ethernet
  * Updated to new intializer api and integrated ethernet server

3.0.1
-----

   * Updated to use latest sc_ethernet package

3.0.0
-----
   * Fixed bugs in DHCP and multicast UDP
   * Updated packaging, makefiles and documentation
   * Updated to use latest sc_ethernet package

2.0.1
-----

   * Further memory improvements
   * Additional conditional compilation
   * Fix to zeroconf with netbios option enabled

2.0.0
-----

   * Memory improvements
   * Fix error whereby UDP packets with broadcast destination were not received
   * An initial implementation of a TFTP server

1.3.1
-----

   * Initial implementation

