summaryrefslogtreecommitdiff
path: root/ACE/NEWS
diff options
context:
space:
mode:
authorWilliam R. Otte <wotte@dre.vanderbilt.edu>2006-07-24 15:50:30 +0000
committerWilliam R. Otte <wotte@dre.vanderbilt.edu>2006-07-24 15:50:30 +0000
commit7a52d43a162b23d9e85e7b955e9b2c8e9caf550e (patch)
tree66a84b20d47f2269d8bdc6e0323f338763424d3a /ACE/NEWS
parent0e49389337be86641451a5c36c24bf742fe97523 (diff)
downloadATCD-7a52d43a162b23d9e85e7b955e9b2c8e9caf550e.tar.gz
Repo restructuring
Diffstat (limited to 'ACE/NEWS')
-rw-r--r--ACE/NEWS744
1 files changed, 744 insertions, 0 deletions
diff --git a/ACE/NEWS b/ACE/NEWS
new file mode 100644
index 00000000000..fa839de9833
--- /dev/null
+++ b/ACE/NEWS
@@ -0,0 +1,744 @@
+PLANNED MAJOR CHANGES "SOMETIME IN THE FUTURE" (i.e., exact beta not known)
+===========================================================================
+
+PLANNED MAJOR CHANGES TARGETED FOR ACE-5.5.3
+====================================================
+
+. (Remedy) VxWorks 6.3 support
+
+USER VISIBLE CHANGES BETWEEN ACE-5.5.2 and ACE-5.5.3
+====================================================
+
+
+. Changed the prototype(s) for ACE::debug () to return (and take) a
+ bool. This is consistent with the original intent for this
+ feature. If you have been using it like 'ACE::debug () > 0' or
+ 'ACE::debug (1)', you may have to rebuild ACE.
+
+. (OCI) An assembler (within a C source file) based implementation for SPARC
+ of atomic operations suitable for use with the
+ ACE_Atomic_Op<ACE_Thread_Mutex, long> and
+ ACE_Atomic_Op<ACE_Thread_Mutex, unsigned long> specializations has
+ been added. Currently, it can only be enabled by setting the
+ atomic_ops_sparc make macro to 1 when using the GNUACE build system with
+ the Solaris SunCC compiler. It should be noted that this requires the
+ -xarch=v8plus (or higher) be added to the CFLAGS make macro or the
+ assembler code will not compile.
+
+. The ACE_Message_Queue_Ex_N<class ACE_MESSAGE_TYPE, ACE_SYNCH_DECL> class
+ is new, contributed by Guy Peleg <guy dot peleg at amdocs dot com>.
+ ACE_Message_Queue_Ex_N<class ACE_MESSAGE_TYPE, ACE_SYNCH_DECL> is
+ similar to ACE_Message_Queue_Ex in that the object queued is a
+ template parameter. However, ACE_Message_Queue_Ex_N allows the
+ enqueueing and dequeueing of multiple chained objects at once. This
+ wasn't added to ACE_Message_Queue_Ex because the chained object
+ functionality requires the ACE_MESSAGE_TYPE class to have a
+ ACE_MESSAGE_TYPE *next (void) const method, analogous to
+ ACE_Message_Block::next(), to follow the chain and this would
+ probably break existing applications using ACE_Message_Queue_Ex.
+ The ACE_wrappers/tests/Message_Queue_Test_Ex.cpp test has an example of
+ how to use the new class.
+
+. The selector and comparator function pointer arguments to ACE_OS::scandir()
+ and ACE_Dirent_Selector are now marked as extern "C" to enforce their
+ use with a C RTL function. User code that defines functions which are
+ passed as the selector or comparator arguments which are not declared
+ extern "C" may generate compile warnings. To resolve this, add extern "C"
+ to the function's signature. See ACE_wrappers/tests/Dirent_Test.cpp for
+ an example.
+
+. To address a problem in the ACE string interface that prevented
+ substring or character searches in very large strings (e.g. greater
+ than the maximum value of an ssize_t type) from being correctly
+ reported to the caller, the find(), rfind() and strstr() methods now
+ return an unsigned integer (size_t) instead of a signed one
+ (ssize_t). Affected classes include:
+
+ * ACE_CString
+ * ACE_WString
+ * ACE_TString
+ * ACE_NS_WString
+
+ Unless you have been explicitly using -1 instead of npos when
+ comparing the return value of find(), rfind() and strstr(), and/or
+ assigning the return value to ssize_t you should not see any
+ difference. A new size_type typedef has been added to the ACE string
+ class to aid developers. This typedef is analogous to the standard
+ C++ string::size_type typedef.
+
+ The ACE_String_Base<>::strstr() documentation and the default
+ rfind() argument erroneously referred to -1 instead of npos. Those
+ instances have been corrected.
+
+ To summarize, a "no position" condition is denoted using the npos
+ constant, not -1. It can be referred directly by scoping it with the
+ appropriate string class (e.g. ACE_CString::npos, ACE_WString::npos,
+ etc).
+
+. Changing the shared library extension for hpux ia64 to ".so". On
+ HP-UX 11i Version 1.5 the naming scheme is lib*.sl for PA and
+ lib*.so on IPF.
+
+. The return type of "ACE_Refcounted_Auto_Ptr::null (void) const" changed
+ from int to bool. It's possible values, true and false, have not changed.
+
+. TTY_IO now accepts "none" as a valid parity value. Due to this change
+ 'parityenb' member is now deprecated and will be removed in the future.
+ The users of TTY_IO class should change their code to use only 'paritymode'
+ member for parity control and leave 'parityenb' unchanged (it is
+ enabled by default in class constructor).
+
+USER VISIBLE CHANGES BETWEEN ACE-5.5.1 and ACE-5.5.2
+====================================================
+
+. Added support for:
+ - VxWorks 6.2 for the rtp model using pthread support
+ - OpenVMS 8.2 for Alpha
+
+. Removed code and configurations that provided support for:
+ - Visual C++ 6.0 and 7.0
+ - Chorus
+ - pSOS
+ - KAI C++ on all platforms
+
+. Explicit template instantiation support has been removed. This effectively
+ removes support for Sun Forte 6 and 7 which required explicit template
+ instantiation to build ACE reliably.
+
+. Added support for multiple independent Service Repositories through
+ configuration contexts called "Gestalt". Full backwards compatibility
+ is maintained through the existing ACE_Service_Config static methods,
+ while direct individual repository access is enabled through instances
+ of the new ACE_Service_Gestalt class. ACE_Service_Config has changed to
+ a specialization of ACE_Service_Gestalt and is only responsible for the
+ process-wide configuration.
+
+. To support dynamically-sized ACE_Log_Record messages, the netsvcs
+ logging components now use ACE CDR encoding and transfer mechanisms
+ inspired by the examples in Chapter 4 of the C++NPv1 book.
+ The client and server logging daemons in ACE 5.5.2 and forward will
+ not interoperate with those in previous ACE versions.
+
+. Added a wrapper for the sendfile API (ACE_OS::sendfile()).
+
+. Added support for netlink sockets on Linux.
+
+. Added a new method, ACE_Task::last_thread(). This method returns the thread
+ ID (ACE_thread_t) of the last thread to exit from the ACE_Task object.
+ Users checking to see if a thread is the last one out (for example, to know
+ when to perform cleanup operations) should compare the current thread ID to
+ the return value from last_thread(). This is a change from the previously
+ recommended practice (C++NPv2, page 189) of comparing the return value of
+ thr_count() with 0.
+
+. Changed the first argument to ACE_OS::strptime() to be 'const' which
+ matches its usual usage in POSIX strptime(). This change allows users to
+ pass const strings in - a common use case.
+
+. Made part of the file support in ACE 64bit but we have some places where
+ 32bit types are used, this could lead to some conversion warnings which
+ will be addressed in the near future, but getting everything 64bit
+ compliant is a lot of work.
+
+USER VISIBLE CHANGES BETWEEN ACE-5.5 and ACE-5.5.1
+====================================================
+
+. Added support for the --enable-symbol-visibility configure option
+ to the autoconf build infrastructure instead of solely relying on
+ feature tests to enable/disable symbol visibility support. This
+ avoids build problems with icc, etc.
+
+. Added support for the --enable-fl-reactor configure option to the
+ autoconf build infrastructure to build the ACE_FlReactor library.
+
+. Added support for the --enable-qt-reactor configure option to the
+ autoconf build infrastructure to build the ACE_QtReactor library.
+
+. Added support for the --enable-xt-reactor configure option to the
+ autoconf build infrastructure to build the ACE_XtReactor library.
+
+. Fixed a bug that would cause timer IDs from ACE_Timer_Heap to be
+ improperly duplicated under certain conditions (Bugzilla #2447).
+
+. Fixed ACE_SSL_Context::private_key(), context(), and dh_params() methods
+ to allow retrying a file load after a failed call.
+
+. Fixed ACE_SSL_Asynch_Stream so it can be instantiated; also moved the
+ declarations for ACE_SSL_Asynch_Read_Stream_Result,
+ ACE_SSL_Asynch_Write_Stream_Result, and ACE_SSL_Asynch_Result classes
+ to the ace/SSL/SSL_Asynch_Stream.h file so applications can see them.
+
+USER VISIBLE CHANGES BETWEEN ACE-5.4.10 and ACE-5.5
+====================================================
+
+. Added a platform macros option "templates=manual", currently only
+ applies to AIX 5.3 with XL 7 compiler. It allows the user to tell the
+ compiler to set -qnotempinc and -qnotemplateregistry and works well
+ in static builds.
+
+. ACE and its tests compile error free with GCC 4.1 pre release.
+
+. ACE_Recursive_Thread_Mutex::get_nesting_level() fixed for 64-bit Windows
+ XP on amd64/EM64T hardware.
+
+. Many build-time fixes for Windows Mobile 5 and Windows PocketPC 2003 using
+ Visual Studio .NET 2005 (VC8).
+
+. Added support for the --enable-tk-reactor configure option to the
+ autoconf build infrastructure to build the ACE_TkReactor library.
+
+USER VISIBLE CHANGES BETWEEN ACE-5.4.9 and ACE-5.4.10
+====================================================
+
+. Fixed a bug in ACE_Timer_Heap_T::cancel().
+
+. Improved ACE_Time_Value support for boundary conditions.
+
+. Fixed problems with operator placement delete on certain C++ compilers.
+
+. Fixed a bug with the ACE_SPIPE_Acceptor on Windows.
+
+. Correctly set sockaddr_in.sin_len and sockaddr_in6.sin6_len on
+ platforms that have these fields.
+
+. Avoided problems with namespace pollution for max() macros.
+
+. Many fixes for ACE_LACKS* and ACE_HAS* macros for autoconfig.
+
+USER VISIBLE CHANGES BETWEEN ACE-5.4.8 and ACE-5.4.9
+====================================================
+
+. Added dozens of new ACE_LACKS and ACE_HAS defines which are used to
+ simplify the ACE_OS layer
+
+. Constructors of ACE_Time_Value have been made explicit to prevent
+ implicit conversions.
+
+. Added a shutdown() method to ACE_Barrier. The new method aborts the
+ wait by all threads.
+
+. Changed the behavior of ACE_Message_Queue::enqueue_head() and
+ enqueue_tail(). If the enqueued message block has other blocks
+ chained to it via its next() pointer, the entire chain of blocks
+ will be enqueued at once.
+
+. Improved the support for high-resolution timers with
+ ACE_Timer_Queue_Adapter.
+
+. Make it possible to disable file caching in JAWS.
+
+. Improved ACE_Pipe implementation so that it uses localhost to avoid
+ firewall problems.
+
+. Added Unicode support to the Service Configurator.
+
+USER VISIBLE CHANGES BETWEEN ACE-5.4.7 and ACE-5.4.8
+====================================================
+
+. Improved IPv6 support
+
+. Improved 64bit portability
+
+. TTY_IO overhaul
+ - Improved documentation.
+ - It is now possible to request infinite timeout in portable manner.
+ This can be achieved by setting negative value to readtimeoutmsec.
+ - Various bugs fixed and portability issues resolved.
+
+. Subset ACE for TAO and TAO Services
+
+. Support for Intel C++ 9.0 on Windows and Linux
+
+. Support for Microsoft Visual Studio 2005 (aka VC8) for Win32 as well
+ as the Windows CE platforms Pocket PC 2003 and Windows Mobile 5.
+ Solution/project files are generated with an appended "_vc8" for
+ Win32 and "_WinCE" for the CE platforms. See
+ ACE_wrappers/docs/CE-status.txt for more information.
+
+. Completed implementation of ACE_Dev_Poll_Reactor using the Linux epoll
+ facility; tested on Red Hat Enterprise Linux 4.
+
+. The in-memory size of an ACE_RB_Tree will be smaller due to rearranged
+ placement of pointers.
+
+. Added an optimization to CDR stream to ignores alignment when marshaling
+ data. Use this new ACE_LACKS_CDR_ALIGNMENT compile-time option only
+ when the ACE_DISABLE_SWAP_ON_READ macro is enabled. This new option
+ requires ACE CDR engine to do both marshaling and demarshaling, and
+ when this option is enabled the encoded streams are no longer
+ compliant with the CORBA CDR specification.
+
+. Developed Feature Oriented Customizer (FOCUS) tool to enable
+ specialization of middleware frameworks such as Reactor and Protocol
+ framework. FOCUS provides an XML based transformation engine, where
+ the transformations to specialize the components are captured in XML
+ file and a weaver specializes the code.
+
+. Added support for unrolling ACE_OS::memcpy copy loop where
+ applicable to improve performance. Autoconf tests empirically
+ determine whether loop unrolling is at least 10% better than default
+ version.
+
+. Added support for an ACE "versioned" namespace. When enabled, ACE
+ library sources will be placed within a namespace of the user's
+ choice or a namespace of the form ACE_5_4_7 by default, where
+ "5_4_7" is the ACE major, minor and beta versions. The default may
+ be overridden by defining the ACE_VERSIONED_NAMESPACE_NAME
+ preprocessor symbol. Enable overall versioned namespace support by
+ adding "versioned_namespace=1" to your MPC default.features file.
+
+USER VISIBLE CHANGES BETWEEN ACE-5.4.6 and ACE-5.4.7
+====================================================
+
+. Support for shared libraries with VxWorks
+
+. Support for Solaris 10 on x86 with Sun Studio 10 (C++ 5.7).
+
+. Extended ACE_OS::event_xxx implementation to support platforms
+ having either PThread support with Process Shared condition
+ variables or POSIX semaphores with named (process shared)
+ semaphore support or using the new FIFO based semaphores.
+
+. ACE_OS::closesocket() no longer calls ACE_OS::shutdown() on any platform
+ while closing the socket. It previously called ACE_OS::shutdown() on
+ HP-UX. Removing this call fixes the fork-and-close programming paradigm
+ that's common to many networked applications.
+
+. RMCast
+ - Support for message fragmentation. This will allow
+ for messages larger than 64K.
+ - Support for flow control.
+ - Timed recv() in RMCast::Socket.
+ - Per-instance configurable protocol parameters (e.g., message
+ retention time, NAK timeout, etc).
+
+USER VISIBLE CHANGES BETWEEN ACE-5.4.5 and ACE-5.4.6
+====================================================
+
+. Updated RMCast to include
+ - Reactor-compatible interface.
+ - Message unavailability reporting.
+ - Protocol documentation.
+
+. Added support for 64bit Visual Age on AIX
+
+. Improved g++ 4.0 support. A number of RTTI related problems have been
+ fixed.
+
+. Smaller footprint.
+
+. Fixed memory leaks ACE_DLL and ACE_Log_Msg classes.
+
+. The ACE::ICMP_Socket and ACE::Ping_Socket classes were moved out of
+ the ACE namespace and "flattened" to ACE_ICMP_Socket and
+ ACE_Ping_Socket to be consistent with the rest of ACE.
+
+. ACE_INET_Addr::set_address() - fixed a possible struct member
+ alignment issue when building an IPv4-mapped IPv6 address.
+
+. Added a new ACE::wild_match() function to match a string based on
+ wildcards.
+
+. Added efficient overloads for string concatenation to the
+ ACE_String_Base class.
+
+. Added support for the use of pthread_getschedparam on MacOS X.
+
+. Fixed an issue with static initialization of TSS related classes on
+ static builds for Windows.
+
+USER VISIBLE CHANGES BETWEEN ACE-5.4.4 and ACE-5.4.5
+====================================================
+
+. Remove special handling in the Thread Specific Storage(TSS) code
+ that released the TSS key for ACE_TSS<TYPE>. ACE_TSS<TYPE> has
+ been changed to explicitly free the TSS key when necessary.
+
+. On Win32 systems: detect thread termination via a hook in DLLMain
+ for ACE.dll. This allows cleanup of TSS objects for non-ACE threads
+ that use ACE functions. The most common case was threads that used
+ ACE logging. Formerly any TSS objects created by these threads would
+ be leaked.
+
+. Added support for GNU G++ 4.0. The x.4.5 beta takes advantage of
+ g++ 4.0's symbol visibility. This feature is conceptually similar
+ to MS Windows "__declspec(dllexport)" DLL functionality. Using this
+ new g++ feature results in substantially improved ACE/TAO/CIAO
+ shared library binaries. A subset of the improvements include the
+ following:
+
+ * The number of unnecessarily exported DSO/DLL symbols is
+ greatly reduced, resulting in faster program start times.
+ * Smaller footprint.
+ * Improved performance since run-time indirection of internal
+ symbols is no longer needed.
+
+ No changes to the ACE/TAO sources were necessary to support this
+ feature since the required visibility attributes were hidden behind
+ the various "*_Export" macros (formerly only useful for MS Windows
+ DLLs) used throughout ACE/TAO.
+
+. The ACE_Reactor destructor will now call close() on the referenced reactor
+ implementation. This assures that all handlers are notified before the
+ ACE_Reactor object that's most likely referenced in these handlers is
+ invalid. Although this should not be a user-visible change, it did catch
+ some ACE tests off guard destroying reactor implementations and ACE_Reactor
+ interfaces in the wrong order, so it may come up in the field as well.
+ When using dynamically allocated reactor implementations, do not destroy
+ the implementation object before the ACE_Reactor interface object. Use of
+ the ACE_Reactor constructor's delete_implementation argument (with a value
+ of 1) is recommended when dynamically allocating reactor implementations.
+
+. Improved performance of HTBP by not requiring a lookup of peer hostname.
+
+. Added new ACE_SizeCDR stream which allows one to calculate size of the
+ representation without writing anything.
+
+. Number of improvements in RMCast, reliable multicast implementation.
+
+USER VISIBLE CHANGES BETWEEN ACE-5.4.3 and ACE-5.4.4
+====================================================
+
+. The ace-config script has been replaced by pkg-config metadata files
+ which are installed in ${prefix}/lib/pkgconfig by the automake build.
+
+. Remove ACE_OS::gets() implementation. While this ACE implementation
+ of gets() did not contain the security holes that all standard
+ gets() implementations have, keeping it around only serves to foster
+ confusion since (1) some may incorrectly assume that this
+ ACE-specific gets() implementation has the same holes as standard
+ ones, and (2) invoking it with a default size argument so that it
+ looks like a standard gets() call results in behavior that is
+ different from the standard. Use ACE_OS::fgets() instead.
+
+. Removed ACE_Unbounded_Set_Ex, this gave the false idea that it had
+ thread safe iterators. Use ACE_Unbounded_Set instead
+
+. Improved VxWorks support for static libraries. Shared libraries do cause
+ several known problems which will be fixed in the x.4.5 release.
+
+. Removed the usage of the ACE_x_cast macros, we are using the C++ casts
+ from now on. The ACE_x_cast macros are deprecated and will be removed
+ after the x.5.1 release
+
+. Some improvements in autoconf support; better detection of available
+ OS and compiler features.
+
+. Fixed bugs in ACE TSS emulation
+
+USER VISIBLE CHANGES BETWEEN ACE-5.4.2 and ACE-5.4.3
+====================================================
+
+. Improved Cygwin 1.5.12 support, 90% of the tests now succeed
+
+. Improved OpenVMS support.
+
+. Added ability to use fltk with Cygwin/MinGW
+
+. Added ACE_INT64 that defines a native 64 bit type.
+
+. Added 'q' as usable specifier for ACE_Log_Msg to print out int64 bit number.
+
+. Added better support for Intel C++ compilers.
+
+. Improved HPUX support.
+
+. Added a new directory ("ACE_wrappers/protocols/ace") for new protocols
+ that are not directly components of ACE, but are relate to ACE and
+ defined a new protocol, HTBP (Hypertext Tunneling, Bidirectional
+ Protocol) providing ACE_Acceptor/Connector/Stream semantics over a
+ connection owned by an HTTP proxy. Test cases in
+ ACE_wrappers/tests/HTBP provide examples of use.
+
+. Performace enhancement in TP_Reactor's handle_timer_events method [Bug
+ 1971].
+
+. Various changes to permit ACE to execute on HP NonStop platform (e.g
+ support for its pthreads version).
+
+. Updated HP NonStop configuration files (config-tandem-nsk).
+
+. The "ACE" pseudo-namespace is now a true C++ namespace. Transitional
+ pseudo-namespaces that were only meant to be used internally by ACE,
+ such as "ACE_Sock_Connect", no longer exist.
+
+. ACE_CDR::Boolean type is now a true C++ "bool" on all platforms except
+ MSVC++ 6. We plan to deprecate MSVC++ 6 support sometime after the
+ x.5 release of ACE+TAO+CIAO, so we recommend you start migrating to a
+ later version of MSVC++.
+
+. More GNU g++ 3.4.x fixes.
+
+. Added ICMP and "ping" socket support.
+
+. Added mkstemp() emulation.
+
+. Fixed problem on Linux < 2.5.47 platforms where equality comparison of
+ two logically equal sockaddr_in structure instances would incorrectly
+ fail.
+
+. Support for wide characters has been improved on non-Windows
+ platforms.
+
+. A number of Windows CE problems have been fixed.
+
+. ACE's loading of DLLs (for example, as a result of loading synamic
+ services) has been changed to use the native OS's facilities for
+ locating the DLL instead of searching LD_LIBRARY_PATH (or its
+ equivalent) then loading the DLL using a full pathname. This restores
+ enforcement of a platform's loading and security policy. To use the
+ old DLL locating method, add ACE_MUST_HELP_DLOPEN_SEARCH_PATH to your
+ config.h file before building ACE.
+
+. A number of errors in the APG example programs have been corrected.
+
+. Select_Reactor and Priority_Reactor performance improved. [Bug 1890]
+
+. Wide-char functionality on POSIX (Linux, etc.)
+
+. TSS memory leak fixes [Bug 1542]
+
+. Ported to HPUX 11i v2 on Itanium
+
+. Added code to ACE for platform RedHat AS 3.0 on Opteron.
+
+. Changed ACE::crc32() family of functions to NOT fold in the length of
+ the string/buffer/iovec into the CRC.
+
+
+USER VISIBLE CHANGES BETWEEN ACE-5.4.1 and ACE-5.4.2
+====================================================
+
+. Support for g++ 3.4.1.
+
+. All ACE Makefiles, project files, etc, are now generated by OCI's
+ "MakeProjectCreator" (MPC) tool. Makefiles and project files for
+ commonly used configurations have been pre-generated and distributed
+ with the beta(s). Please see:
+
+ $ACE_ROOT/ACE-INSTALL.html
+
+ for information on how to use MPC with ACE.
+
+. Improved Doxygen documentation.
+
+. Reduced header file dependencies, which should speedup compilation
+ and help minimize static footprint.
+
+. ACE now requires support for the following standard C++ features:
+
+ - "bool" keyword
+
+ - "mutable" keyword
+
+ - "explicit" keyword
+
+ - C++ casts (e.g. static_cast<>, reinterpret_cast<>, dynamic_cast<>
+ and const_cast<>)
+
+ If you're using a compiler that does NOT support these features
+ please contact Steve Huston <shuston@riverace.com> for support.
+
+. Changed the select()-based reactor implementations to scan for
+ broken handles to remove based on the registered handles, not on
+ event handlers. This allows for bad handles to be removed from the
+ reactor even if the event handler doesn't implement get_handle() the
+ way we expect.
+
+. Support for Pthreads native recursive mutexes was added. This
+ capability is specified to ACE_OS::mutex_init() as an optional
+ argument, lock_type. To fix confusion from an earlier attempt to add
+ this functionality, the meaning of the old 'type' argument to
+ ACE_OS::thread_mutex_init() is changed. It previously combined the
+ scope and type. Now it is just the type (e.g. recursive), as the
+ scope is inherent in the method used. For clarification on
+ ACE_HAS_RECURSIVE_MUTEXES, it means that the platform is capable of
+ them, not that they always are, as one would expect. However, before
+ Pthreads had recursion added, it was never optional. Now it is.
+
+. Initial support for new Linux sys_epoll() interface in
+ Dev_Poll_Reactor. The obsolete Linux /dev/epoll interface is no
+ longer supported.
+
+. Improved Cygwin support.
+ - Threading works without problems.
+ - Problems with shared memory, process shared mutexes, multicast and
+ some other small things still exist.
+
+. New OpenVMS port.
+ - This is for the latest version of OpenVMS with all available ECOs
+ applied. Basic stuff works without problems. Advanced features
+ still need some work.
+
+. Usage of ASYS_INLINE is deprecated in ACE. Use ACE_INLINE instead.
+
+. All inline source files now end in ".inl". The previous ".i"
+ extension is generally used for preprocessed C sources.
+
+. Autoconf support has been improved and fixed on a number of
+ platforms, including the BSD variants (e.g. FreeBSD). It is still
+ not the preferred way to configure most platforms, but it is ready
+ for wider testing. Please report any problems found to
+ ace-bugs@cs.wustl.edu.
+
+. A number of fixes were made to quiet compile errors and warnings on
+ 64-bit Windows.
+
+. For builds on AIX using Visual Age C++, the make rtti option default
+ was changed to 1, enabling RTTI by default.
+
+. ACE_Service_Repository::remove() has a new, optional argument that
+ can receive the service record pointer for the removed service. If
+ the pointer is returned to the caller, it is not deleted. If the
+ pointer is not returned to the caller (the default) it is deleted
+ (this is the historic behavior).
+
+. The tutorials in ACE_wrappers/docs have been removed. They were not
+ being maintained and caused confusion in a number of cases. Now that
+ there are complete examples that match the printed books (C++NPv1,
+ C++NPv2, APG), the older tutorials are no longer useful. Please see
+
+ $ACE_ROOT/examples/C++NPv1/
+ $ACE_ROOT/examples/C++NPv2/
+ $ACE_ROOT/examples/APG/
+
+ for the source code of the examples in those books.
+
+. ACE_String_Base::fast_clear() is a new method which sets the string
+ length to 0. Doesn't release string-allocated memory, but if the
+ memory was externally supplied, it is no longer referenced from the
+ string object.
+
+. A true C++ "bool" is now used as the CDR stream boolean type, if
+ supported by the compiler.
+
+. Renamed AIX 5L configuration header from config-aix5.1.h to
+ config-aix-5.x.h.
+
+. All C++ equality, relational and logical operators now return bool
+ instead of int, as is the norm for modern C++.
+
+. Added new ACE_OS::realpath() implementation. Contributed by Olli
+ Savia <ops at iki dot fi>
+
+
+USER VISIBLE CHANGES BETWEEN ACE-5.4 and ACE-5.4.1
+====================================================
+
+ACE
+---
+
+. Fixed "make install" support in ACE+autoconf configurations.
+
+. Fixed autoconf support on Solaris.
+
+. Corrected invalid `aux' directory (on MS Windows) found in ACE
+ distribution.
+
+. ACE/TAO build now without problems with MinGW and all ACE tests run
+ now without problems
+
+. Added some more support for the new CBuilderX Preview compiler, this
+ is not 100% ready yet because the compiler is still a preview and
+ has its own problems.
+
+. Added Visual SlickEdit 8.1 MPC template
+
+. Added workaround for compile problems in Borland Release builds
+
+. Cygwin 1.5.9 is now supported
+
+. Tests for IPV6 have been added
+
+. Implement lstat() so that it'll use stat() on platforms that don't
+ support lstat().
+
+. Problems related to ACE_Event_Handler usage in WFMO_Reactor was
+ fixed.
+
+. A wrapper for rmdir () has been added.
+
+. Threads spawned in thread-per-connection mode never inherited the
+ priority. This problem was fixed and this fix is consistent with the
+ C++ NPV* books.
+
+. Fixed memory leaks with ACE_String_Base::resize ()
+
+. Enable the usage of native recursive mutexes for the implementation
+ of ACE recursive mutexes on Linux.
+
+. The ACE Proactor framework can now be enabled for AIX 5.2. Since AIO
+ functionality is not run-time enabled by default on AIX 5.2, the ACE
+ Proactor code is not built by default on AIX. To enable it, the
+ config.h file must contain #define ACE_HAS_AIO_CALLS before
+ including the config-aix-5.1.h file.
+
+. The ACE_POSIX_CB_Proactor implementation is now built on all
+ platforms except LynxOS.
+
+
+USER VISIBLE CHANGES BETWEEN ACE-5.3.6 and ACE-5.4
+==================================================
+
+ACE:
+---
+. Added a new makefile commandline flag, static_link, that can be
+ used to force static linking when static_libs_only is turned on. It
+ uses the new STATIC_LINK_FLAG variable and is currently only
+ implemented for for GNU ld, i.e., it adds the "-static" option to
+ LDFLAGS. It's turned off by default since using it causes the
+ footprint to go up by almost 1 MB on Linux, since it links all the
+ system and compiler .a files, but can be turned on if users
+ want/need to use it, by enabling both static_libs_only and static_link.
+
+
+. Added macros ACE_USES_GPROF which enables users to use gprof in a
+ multithreaded environment with ACE libs.
+
+. Added a new functor template class, ACE_Malloc_Lock_Adapter_T,
+ that's used by ACE_Malloc_T as a factory for the ACE_LOCK template
+ parameter, and allows the use of locking strategy classes, like
+ ACE_Process_Semaphore and ACE_Thread_Semaphore that don't have a
+ satisfactory ctor taking a single required ACE_TCHAR* parameter, to
+ be adapted to work with ACE_Malloc_T.
+
+. The source code examples from "The ACE Programmer's Guide" book by
+ Huston, Syyid, and Johnston, are now located in
+ $ACE_ROOT/examples/APG.
+
+. Support for GNU autoconf is now in ACE. Please see ACE-INSTALL.html
+ for details.
+
+. Fixed problems that prevented ACE from being compiled on LynxOS
+ 4.0.0.
+
+. Fixed compilation error which prevented ACE from being compiled when
+ ACE_COMPILE_TIMEPROBES was set to 1.
+
+. Preliminary support for Tandem NSK has been added.
+
+. Lots of bug fixes with TLI and XPG5. Please see $ACE_ROOT/ChangeLog
+ for details.
+
+. Fixed ACE_OS::event_timedwait() and ACE_OS::event_wait() so that
+ they use a while loop around the ACE_OS::cond_[timed]wait() calls to
+ avoid problems with spurious wakeups, etc.
+
+. ACE's wrapper around getipnodebyname() and getipnodebyaddr () has
+ been made go through the IPv4-only case on ACE_WIN32. Since Windows
+ IPv6 implementation doesn't offer support (at thistime) for
+ getipnodebyname() the code has been changed to use the IPV4 part of
+ the code.
+
+. Install with Borland C++ of ACE library fixed
+
+ACEXML:
+-------
+
+. Fixed memory leak in ACEXML parser.
+
+. Fixed implementations of rewind() in all the CharStreams. They were
+ broken previously.
+
+. Fixed bugs in the parser associated with incorrect handling of PE
+ References for keywords.