summaryrefslogtreecommitdiff
path: root/ACE/NEWS
diff options
context:
space:
mode:
Diffstat (limited to 'ACE/NEWS')
-rw-r--r--ACE/NEWS1616
1 files changed, 1616 insertions, 0 deletions
diff --git a/ACE/NEWS b/ACE/NEWS
new file mode 100644
index 00000000000..be8ad5bf32c
--- /dev/null
+++ b/ACE/NEWS
@@ -0,0 +1,1616 @@
+USER VISIBLE CHANGES BETWEEN ACE-5.7.9 and ACE-5.8.0
+====================================================
+
+. There are two new ACE_Time_Value methods for getting and setting millisecond
+ values to/from ACE_UINT64 values:
+
+ ACE_UINT64 ACE_Time_Value::get_msec () const
+ void ACE_Time_Value::set_msec (const ACE_UINT64 &ms)
+
+ The former is a replacement for the existing msec(ACE_UINT64&) methods that
+ are "getter" methods whose signatures look confusingly like "setters". See
+ Bugzilla #3336 for the history behind this change.
+
+ The latter is for consistency and clarity.
+
+. Added ACE INet addon library for Inet protocol clients (and possibly
+ servers at some point) like http://, ftp:// etc.
+ The library implements standard C++ iostream wrapper classes for
+ ACE Svc_Handler and Reactor based input/output handling, URL classes
+ and protocol handler classes.
+ NOTE: This is work in progress! There is no guarentee that the API
+ won't change in the next few releases.
+ Protocol handling is currently restricted to client side download
+ requests for HTTP and FTP.
+ Handling for upload requests should be added in the near future as well
+ as HTTP Basic Authentication.
+
+USER VISIBLE CHANGES BETWEEN ACE-5.7.8 and ACE-5.7.9
+====================================================
+
+. ACE's default makefiles (traditional ACE/GNU, not autoconf/automake)
+ now support installation with "make install".
+ Please see the ACE-INSTALL.html file for instructions.
+
+. Support for the ARCH make variable has been enhanced to apply to executables
+ (in addition to libraries and object files), and the ARCH feature has been
+ integrated into the MPC-generated makefiles (to work with MPC's requires
+ and avoids features).
+
+USER VISIBLE CHANGES BETWEEN ACE-5.7.7 and ACE-5.7.8
+====================================================
+
+. ACE now uses GCC builtin Atomic instructions for short,
+ unsigned short, long, unsigned long, int, unsigned int,
+ and bool. This makes our Atomic_Op around 7 times faster
+
+. ACE Service Configuration Framework now process first service
+ configuration files and then command-line directives. Thus if
+ application uses both service configuration files and command-line
+ directives then the command-line directives may override results of
+ directives in the configuration files. At the same time if the
+ application uses only the default svc.conf file and command-line
+ directives then the directives from svc.conf can not override
+ results of the user provided command-line directives.
+
+. ACE_Dev_Poll_Reactor now dispatches notifications in only one thread at
+ a time. This brings notification handling more in line with behavior in
+ other Reactor implementations.
+
+USER VISIBLE CHANGES BETWEEN ACE-5.7.6 and ACE-5.7.7
+====================================================
+
+. Integrated fix for bug 3104 and regression test for
+ interval timers.
+
+. Added support for GCC builtin Atomic instructions which
+ are enabled with GCC >= 4.1 for PPC32/PPC64/IA64
+
+. Improved autoconf support for debian
+
+. Added support for -mcpu and -mtune. Add TCPU=.. to your
+ environment/platform_macros.GNU to specify you cpu and
+ than add cpumodelflag=1 and/or tunemodelflag=1. Using
+ this with IBM Cell increased the performance significantly
+
+USER VISIBLE CHANGES BETWEEN ACE-5.7.5 and ACE-5.7.6
+====================================================
+
+. Added support for iPhone/iPod Touch/iPad. The following
+ environment variables are needed:
+
+ IPHONE_TARGET, should be set to either SIMULATOR or
+ HARDWARE. Set to HARDWARE if you want to deploy
+ on the iPhone/iPod Touch/iPad device.
+
+ IPHONE_VERSION, should be set to 3.1.2 or 3.2. One can
+ set the version to any future or past versions, but
+ only 3.1.2 and 3.2 have been tried.
+
+ Note that one has to compile ACE/TAO statically as
+ it is believed that the iPhone OS does not support
+ dynamic loading of external libraries. The usual
+ procedure of cross compiling ACE/TAO applies
+ (such as setting HOST_ROOT environment variable).
+
+. Added support for Embarcadero C++ Builder 2010
+
+. Added option to print a given ACE_Time_Value in the log
+ message instead of system supplied timestamp as in %T
+ and %D.
+ The option is implemented as a variant of the %D/%T
+ options by using the '#' flag character like '%#D' or
+ '%#T'. When using this flag an ACE_Time_Value pointer is
+ expected in the argument list supplied with the log message.
+ This fixed Bugzilla #3221.
+
+. Fixed problems with ACE_INET_Addr::is_multicast() on
+ little endian platforms. This fixed bugzilla #3729.
+
+. Added compilation support for VxWorks 6.8, no runtime
+ testing has been performed
+
+USER VISIBLE CHANGES BETWEEN ACE-5.7.4 and ACE-5.7.5
+====================================================
+
+. Added MacOSX Snow Leopard support
+
+. Added strsignal() wrapper
+
+. Improved LynxOS support
+
+. Updated Interix port
+
+. Fixed MinGW compilation problems
+
+USER VISIBLE CHANGES BETWEEN ACE-5.7.3 and ACE-5.7.4
+====================================================
+
+. ACE_CDR::consolidate now returns an int, 0 is ok, -1 is failure
+
+. Fixed a bug in the realclean feature of the GNU makefiles
+
+. Improved Sun Studio for Linux support
+
+. Improved OpenBSD support
+
+USER VISIBLE CHANGES BETWEEN ACE-5.7.2 and ACE-5.7.3
+====================================================
+
+. C++ Builder 2009 Update 3 is the only C++Builder that is supported, older
+ and newer compilers are not supported anymore
+
+. Made final changes for the CEGCC port
+
+. Added a set of tests to validate C++ compiler and the stl implementation
+ they ship.
+
+. HP-UX PARISC aCC < 3.80 are deprecated and can't be used anymore. Upgrade
+ to aCC 3.80 or newer
+
+USER VISIBLE CHANGES BETWEEN ACE-5.7.1 and ACE-5.7.2
+====================================================
+
+. Borland C++ makefiles aren't shipped anymore as part of the release
+ but have to be generated by the user
+
+. Refactored gperf to have its own shared library so that we can reuse
+ that in TAO
+
+. Added support for SuSE Enterprise 10
+
+. ACE_Configuration_Heap::open() now returns -1 with errno EBUSY if it is
+ called multiple times. Previous versions would allow multiple calls to
+ open() but leak resources.
+
+USER VISIBLE CHANGES BETWEEN ACE-5.7.0 and ACE-5.7.1
+====================================================
+
+. Added support for Sun Studio 12 Update Pack 1
+
+. Fixed compile problems when using Windows CE x86 release mode
+
+. Fixed compile problems for FreeBSD
+
+USER VISIBLE CHANGES BETWEEN ACE-5.6.9 and ACE-5.7.0
+====================================================
+
+. Added support for the VxWorks vxAtomicLib which is available with VxWorks 6.6
+ and newer. If you don't want to use this library undef ACE_HAS_VXATOMICLIB
+ in your config.h file
+
+. Added support for C++ Builder 2009 Update 3
+
+. Added support for ACE/TAO using the CEGCC project
+
+. Added support for upcoming Fedora 11 and OpenSuSE Factory
+
+USER VISIBLE CHANGES BETWEEN ACE-5.6.8 and ACE-5.6.9
+====================================================
+
+. Removed Borland/CodeGear C++ Builder 2007 support. If you'd like to
+ fund this support please let us know.
+
+. Removed VxWorks 5.5.x, 6.2, and 6.3 support. If you'd like to fund
+ this support please let us know.
+
+. Improved Unicode support.
+
+. Added support for the native Windows Vista and Windows Server 2008
+ condition variables. These has to be enabled at compile time, and when
+ enabled the application can only run on Vista or Server 2008. Add
+ ACE_HAS_WTHREADS_CONDITION_VARIABLE to your config.h file to enable
+ these
+
+. Fixed a bug when trying to read a file of 1 byte when unicode is
+ enabled
+
+. Improved the Windows CE port
+
+. Fixed several Klocwork reported issues
+
+. Added support for MinGW 3.15
+
+. Added support for Incredibuild, which is an MSVC++ feature that
+ optimizes compiles via distributing builds.
+
+USER VISIBLE CHANGES BETWEEN ACE-5.6.7 and ACE-5.6.8
+====================================================
+
+. Added a new function ACE::isdotdir() which determines if a specified
+ pathname is "dot dir" (ie. "." or ".."). ACE::isdotdir() is significantly
+ faster than pair of strcmp() calls.
+
+. Last micro release that is maintained for Borland/CodeGear C++
+ Builder 2007 and Intel C++ on Windows.
+
+. Fixed crash when ACE thread tries to inherit the logging attributes
+ from non ACE threads.
+
+. Fixed many small compile and test errors that occur on some platforms.
+
+. Fixed log output formatting on some platforms.
+
+. Bugs fixed: 2748, 3164, 3480, 3494, 3502, 3541, 3542, 3544, 3557.
+
+USER VISIBLE CHANGES BETWEEN ACE-5.6.6 and ACE-5.6.7
+====================================================
+
+. Changed the automake build's feature test for a "usable" config
+ to warn on failure instead of exiting with an error. This should
+ make it easier to diagnose configure failures, as the script will
+ now generate a config.h file even when the test fails.
+
+. Removed borland MPC template, use the bmake template from now
+
+. Added Windows Mobile 6 support and improved the WinCE port
+
+. Removed BCB6 and BCB2006 support
+
+. Added BCB2009 MPC template
+
+. Updated stat struct on Windows CE to match the stat struct on other
+ platforms so that application code can be written portable
+
+. Added new ACE_OS wrappers: raise, atof, atol, isblank, isascii,
+ isctype, and iswctype
+
+. Added ACE_OS wrapper for narrow-char version of strtoll.
+
+. ACE_OS wrappers for wide-char versions of strtol, strtoul,
+ strtoll, and strtoll.
+
+. Added Visual Studio 2010 (vc10) support
+
+. Added a new feature for the "Traditional Make" build facility to allow
+ building for multiple architectures out of a single source directory.
+ To use this facility, set the ARCH make variable. The ARCH value will be
+ used to add a subdirectory layer below the source directory where the
+ traditional .shobj, .obj, etc. directories will be placed.
+
+. Added support for HP-UX 11iv3 on Integrity using aC++
+
+. ACE (and TAO) can now be built using GNU make and the Microsoft Visual C++
+ compiler and linker. See include/makeinclude/platform_win32_msvc.GNU for
+ more details.
+
+. Added support for FC10
+
+USER VISIBLE CHANGES BETWEEN ACE-5.6.5 and ACE-5.6.6
+====================================================
+
+. Added an option to the ACE_Process_Options class to use a wchar_t
+ environment buffer on Windows.
+
+. A new configure option, --enable-rcsid, was added to the autoconf build.
+ This is used to embed RCS IDs in object files.
+
+. A new method was added: void ACE_Time_Value::msec (ACE_UINT64&)
+ This method, like the existing msec(ACE_UINT64&)const method, obtains the
+ time value in milliseconds and stores it in the passed ACE_UINT64 object.
+ This method was added so that msec(ACE_UINT64&) can be called on both
+ const and non-const ACE_Time_Value objects without triggering compile errors.
+ Fixes Bugzilla #3336.
+
+. Added ACE_Stack_Trace class to allow users to obtain a stack trace
+ within their application on supported platforms. A new conversion
+ character, the question mark, was added to ACE_Log_Msg for stack
+ trace logging.
+
+. Added iterator support to ACE_Message_Queue_Ex class. The resulted in
+ the addition of ACE_Message_Queue_Ex_Iterator class and
+ ACE_Message_Queue_Ex_Reverse_Iterator class.
+
+. Renamed gperf to ace_gperf to prevent clashes with the regular gperf
+ tool that is available in linux distributions
+
+. Added support for FC9
+
+. Added support for OpenSuSE 11.0
+
+. Improved support for GCC 4.2 and 4.3
+
+. Added support for CodeGear C++ Builder 2009
+
+USER VISIBLE CHANGES BETWEEN ACE-5.6.4 and ACE-5.6.5
+====================================================
+
+. Added new Monitoring lib that can be used to store and retrieve
+ counters. This is disabled by default because it is not 100%
+ finished yet, with the next release it will be enabled by default
+
+. Fixed bug in ACE_Service_Config when it was used from a thread
+ not spawned by ACE
+
+. Add VxWorks 6.x kernel mode with shared library support to ACE
+
+. Extended the implementation of Unbounded_Set, which has been
+ renamed Unbounded_Set_Ex, to accept a second parameter which is
+ a comparator that implements operator() which returns true if
+ the items are equivalent. Unbounded_Set has been reimplemented
+ in terms of Unbounded_Set_Ex using a comparator that uses operator==,
+ which captures the previous behavior.
+
+. Added support for Intel C++ on MacOSX
+
+USER VISIBLE CHANGES BETWEEN ACE-5.6.3 and ACE-5.6.4
+====================================================
+
+. Reworked the relationship between ACE_Service_Config and
+ ACE_Service_Gestalt
+
+. Improved autoconf support
+
+. Improved AIX with gcc support
+
+. Improved OpenVMS support
+
+. Improved VxWorks support
+
+USER VISIBLE CHANGES BETWEEN ACE-5.6.2 and ACE-5.6.3
+====================================================
+
+. Deprecated Visual Age 5 and older
+
+. Closed a rare race condition hole whereby ACE_Atomic_Op<> function
+ pointers would not be fully initialized prior to use. See bugzilla
+ 3185 for details.
+
+. Tweaks to support MacOS X Leopard (10.5 and 10.5.1) on Intel
+
+. Fixed compile problems with MinGW with GCC 4.2. Do note that we do see
+ much more test failures then when using GCC 3.4.
+
+. Changed to use synchronous exception handling with msvc 8/9 which is the
+ default. Asynchrous exception handling does catch access violations but
+ it leads to lower performance and other problems. See also bugzilla 3169
+
+. Make ace_main extern C with VxWorks so that it doesn't get mangled
+
+. Fixed compile errors and warnings for VxWorks 6.6
+
+. Added an MPC generator for the WindRiver Workbench 2.6 which is shipped
+ with VxWorks 6.4
+
+. Added support for CodeGear C++ Builder 2007 with December 2007 update
+ installed
+
+. Added support for VxWorks 5.5.1
+
+. Implemented the const reverse iterator for ACE_Hash_Map_Manager_Ex
+
+. Increased support for using ACE_Hash_Map_Manager_Ex with STL <algorithm>
+ functions based on latest standard C++ draft
+
+USER VISIBLE CHANGES BETWEEN ACE-5.6.1 and ACE-5.6.2
+====================================================
+
+. ACE-ified the UUID class, which will change user applications slightly.
+
+. Added support for Sun Studio 12
+
+. Added support for Intel C++ 10.1
+
+. Fixed runtime problems with VxWorks 6.x in kernel mode, several improvements
+ have been made to ACE, but also some problems in the VxWorks kernel have
+ been found for which WindRiver has made patches.
+
+. Added support for VxWorks 6.5 kernel mode
+
+. Added support for MacOS 10.5
+
+. Support for MacOS 10.4 is now deprecated.
+
+. Added support for OpenSuSE 10.3
+
+. Added support for RedHat 5.1
+
+. Added support for Microsoft Visual Studio 2008
+
+. Added support for Fedora Core 8
+
+. Added support for Ubuntu 7.10
+
+. With Ubuntu 7.04 and 7.10 we can't use visibility, that results in
+ unresolved externals when building some tests. With lsb_release we
+ now detect Ubuntu 7.04 and 7.10 automatically and then we disable
+ visibility
+
+. Removed deprecated (un)subscribe methods from ACE_SOCK_Dgram_Mcast
+
+. Added an additional replace() method to ACE_OuptutCDR for replacing a
+ ACE_CDR::Short value. Also added write_long_placeholder() and
+ write_short_placeholder() to properly align the stream's write pointer,
+ write a placeholder value and return the placeholder's pointer. The pointer
+ can later be used in a call to replace() to replace the placeholder with a
+ different value.
+
+. Initial support for VxWorks 6.6
+
+. Removed support for pthread draft 4, 6, & 7. This makes the ACE threading
+ code much cleaner
+
+. Improved autoconf support
+
+. Fixed TSS emulation problems
+
+. Changed ACE_thread_t and ACE_hthread_t to int for VxWorks kernel mode. All
+ thread creation methods do have an additional const char* argument to
+ specify the task name, this now also works with pthread support enabled
+
+. Use bool in much more interfaces where this is possible
+
+. Added support for Debian Etch
+
+. Fixed ACE CDR LongDouble support on VxWorks 6.x
+
+. Added Microsoft Visual Studio 2008 project files to the release packages
+
+. Fixed a few bugs in the ACE_Vector template
+
+USER VISIBLE CHANGES BETWEEN ACE-5.6 and ACE-5.6.1
+====================================================
+
+. Added support for CodeGear RAD Studio 2007
+
+. Added support for CodeGear C++ Builder 2007 Update 3
+
+. Modified the definiton of ACE_DEFAULT_THREAD_KEYS on Windows so it
+ is based on the version of the OS as defined by Microsoft in this web
+ page: http://tinyurl.com/2jqcmd
+ This fixes bugzilla #2753
+
+USER VISIBLE CHANGES BETWEEN ACE-5.5.10 and ACE-5.6
+====================================================
+
+. OpenVMS 8.3 on IA64 port
+
+. Added autoconf support for Intel C++ 10.0
+
+. Improved autoconf support on Linux, Solaris, NetBSD and HPUX
+
+. CodeGear C++ Builder 2007 Update 2 support
+
+. The netsvcs's client logging daemon has a new configuration option,
+ -llocal-ip[:local-port], which can be used to specify the local IP
+ address and port number for the client logging daemon's connection to
+ the server logging daemon. If the -l option is specified with an IP
+ address but not a port number, an unused port number is selected.
+
+. A new ACE+TAO port to LabVIEW RT 8.2 with Pharlap ETS. The host build
+ environment is Windows with Microsoft Visual Studio .NET 2003 (VC7.1).
+ Please see the ACE-INSTALL.html file for build instructions.
+
+USER VISIBLE CHANGES BETWEEN ACE-5.5.9 and ACE-5.5.10
+====================================================
+
+. The ACE_utsname struct, used in the ACE_OS::uname() function when the
+ platform doesn't provide the standard utsname struct, was changed. It
+ defines a number of text fields and their types were changed from
+ ACE_TCHAR[] to char[] in order to be consistent with all other platforms.
+ This removes the need to write different code for platforms where
+ ACE_LACKS_UTSNAME_T is set and that have wide characters (most probably
+ Windows). Fixes Bugzilla #2665.
+
+. The ACE::daemonize() "close_all_handles" parameter was changed from
+ an "int" to a "bool" to better reflect how it is used.
+
+. VxWorks 6.5 support. Compilation of the core libraries has been validated
+ but no runtime testing has been performed.
+
+. CodeGear C++ Builder 2007 support.
+
+. The FaCE utility was moved from the ACE_wrappers/apps directory to
+ ACE_wrappers/contrib. It is used for testing ACE+TAO apps on WinCE.
+ See the ACE_wrappers/contrib/FaCE/README file for more information.
+
+. ACE_INET_Addr::set (u_short port, char *host_name, ...) now favors IPv6
+ addresses when compiled with ACE_HAS_IPV6 defined and the supplied address
+ family is AF_UNSPEC. This means that if host_name has an IPv6 address in
+ DNS or /etc/hosts, that will be used over an IPv4 address. If no IPv6
+ address exists for host_name, then its IPv4 address will be used.
+
+. Intel C++ 10.0 support
+
+. Support for the version of vc8 for 64-bit (AMD64) shipped with the Microsoft
+ Platform SDK.
+
+. Fixed ACE_Vector::swap() (bugzilla #2951).
+
+. Make use of the Atomic_Op optimizations on Intel EM64T processors. The
+ Atomic_Op is now several times faster on EM64T then with previous versions
+ of ACE
+
+USER VISIBLE CHANGES BETWEEN ACE-5.5.8 and ACE-5.5.9
+====================================================
+
+. Use Intel C++ specific optimizations for Linux on IA64
+
+. Improved support for ACE_OS::fgetc. Added support for ACE_OS::fputc,
+ ACE_OS::getc, ACE_OS::putc and ACE_OS::ungetc.
+
+. Added support for ACE_OS::log2(double) and improved support for
+ ACE::log2(u_long).
+
+. Shared library builds on AIX now produce a libxxx.so file instead of the
+ previous practice of producing libxxx.a(shr.o).
+
+. GCC 4.1.2 that comes with Fedora 7 seems to have a fix for the visibility
+ attribute we use for the singletons. F7 users will therefore need to
+ define the following in your config.h file.
+ ACE_GCC_HAS_TEMPLATE_INSTANTIATION_VISIBILITY_ATTRS 1
+
+. Fixed (rare) problem in TP_Reactor where incorrect event handler was
+ resumed.
+
+. Reduced footprint on some platforms, particularly those that use
+ g++ >= 3.3.
+
+USER VISIBLE CHANGES BETWEEN ACE-5.5.7 and ACE-5.5.8
+====================================================
+
+. Extended ACE_Event constructor with optional LPSECURITY_ATTRIBUTES
+ argument
+
+. Added support for QT4
+
+. Added support to integrate with the FOX Toolkit (www.fox-toolkit.org)
+
+. Added support for Microsoft Visual Studio Code Name "Orcas", which is
+ the msvc9 beta
+
+. Added ability to provide an optional priority when calling
+ ACE_Message_Queue_Ex::enqueue_prio(). There was previously no way
+ to specify a priority for queueing.
+
+. Removed support for Visual Age on Windows.
+
+. ACE will compile once again with ACE_LACKS_CDR_ALIGNMENT #defined.
+
+. ACE_Process_Manager::terminate() no longer removes the process from the
+ process descriptor table; the pid remains available in order to call
+ ACE_Process_Manager::wait().
+
+USER VISIBLE CHANGES BETWEEN ACE-5.5.6 and ACE-5.5.7
+====================================================
+
+. ACE 5.5 contained a set of pragmas which prevented Visual Studio 2005 (VC8)
+ from issuing warnings where C run-time functions are used but a more
+ secure alternative is available. For more information on the C run-time
+ issues and Microsoft's response, please see the following MSDN page:
+ http://msdn2.microsoft.com/en-us/library/8ef0s5kh(VS.80).aspx.
+ In this beta, the pragmas which prevented the warnings have been removed.
+ The ACE library has been reviewed and most of the use of "unsafe" functions
+ has been fixed where possible. Since not all of the warnings emanating from
+ ACE are situations that can or should be fixed, the ACE VC8 projects will
+ prevent the warnings while building the ACE kit and its contained examples,
+ tests, etc. The warnings are disabled by adding Microsoft-specified macros
+ to the compile line via MPC. If desired, the warnings can be re-enabled by
+ regenerating the project files with different MPC features. Note, however,
+ that while ACE without warnings caused by the new C run-time functions, your
+ application builds may trigger these warnings either by use of the "unsafe"
+ C run-time functions or via use of an inlined ACE_OS method which uses it.
+ If the warning is caused by an ACE_OS method, there is a more safe alternate
+ available, probably located by appending _r to the method name (e.g.,
+ instead of using ACE_OS::ctime(), use ACE_OS::ctime_r()).
+ There are other cases where the compiler may have issued warnings and ACE
+ prevented this via a #pragma. These #pragmas have been removed as well.
+ This may cause your application builds to trigger more warnings from VC8
+ than past ACE versions. You should review your code and either correct
+ the code or disable the warnings locally, as appropriate.
+
+. The "release" argument to a number of ACE_String_Base<> methods was changed
+ from int to bool to more accurately reflect its purpose. The following
+ methods were changed:
+
+ ACE_String_Base (const CHAR *s,
+ ACE_Allocator *the_allocator = 0,
+ int release = 1);
+ to
+ ACE_String_Base (const CHAR *s,
+ ACE_Allocator *the_allocator = 0,
+ bool release = true);
+
+ ACE_String_Base (const CHAR *s,
+ size_type len,
+ ACE_Allocator *the_allocator = 0,
+ int release = 1);
+ to
+ ACE_String_Base (const CHAR *s,
+ size_type len,
+ ACE_Allocator *the_allocator = 0,
+ bool release = true);
+
+ void set (const CHAR * s, int release = 1);
+ to
+ void set (const CHAR * s, bool release = true);
+
+ void set (const CHAR * s, size_type len, int release);
+ to
+ void set (const CHAR * s, size_type len, bool release);
+
+ void clear (int release = 0);
+ to
+ void clear (bool release = false);
+
+ Since ACE_String_Base forms the basis of the ACE_CString and ACE_TString
+ classes, this may ripple out to user application code. If you encounter
+ errors in this area while building your applications, replace the
+ int argument you are passing to the method now with either true or false.
+
+. Solutions for the eVC3/4 platform have been removed from this
+ release. Note that we package WinCE projects/workspaces for use
+ with VC8.
+
+. There were 3 new ACE_Log_Msg logging format specifiers added to make logging
+ easier for types that may change sizes across platforms. These all take one
+ argument, and the new formats are:
+ %b - format a ssize_t value
+ %B - format a size_t value
+ %: - format a time_t value
+
+. The ace/Time_Request_Reply.h and ace/Time_Request_Reply.cpp files were
+ moved from $ACE_ROOT/ace to $ACE_ROOT/netsvcs/lib. The time arguments in
+ the public API to ACE_Time_Request were changed from ACE_UINT32 to time_t
+ and the portions of the on-wire protocol that contains time was changed from
+ ACE_UINT32 to ACE_UINT64. Thus, code that uses the ACE_Time_Request class
+ to transfer time information will not interoperate properly with prior
+ ACE versions. This will affect uses of the netsvcs time clerk/server.
+
+. The portion of the ACE_Name_Request class that carries the on-wire seconds
+ portion of a timeout value was changed from ACE_UINT32 to ACE_UINT64. This
+ means that Name server/clients at ACE 5.5.7 and higher will not interoperate
+ properly with previous ACE versions' name servers/clients.
+
+. In the ACE_Log_Record (ACE_Log_Priority, long, long) constructor, the
+ second argument, long time_stamp, was changed to be of type time_t. This
+ aligns the type with the expected value, a time stamp such as that returned
+ from ACE_OS::time().
+
+. Added support for VxWorks 6.x cross compilation using a Windows host
+ system
+
+. Added support for VxWorks 6.x using the diab compiler
+
+. The destructor of ACE_Event_Handler no longer calls
+ purge_pending_notifications(). Please see bugzilla #2845 for the full
+ rationale.
+ (http://deuce.doc.wustl.edu/bugzilla/show_bug.cgi?id=2845)
+
+USER VISIBLE CHANGES BETWEEN ACE-5.5.5 and ACE-5.5.6
+====================================================
+
+. The ACE_TYPENAME macro has been added to those that are not
+ available when the ACE_LACKS_DEPRECATED_MACROS config option is set
+ (it is not set by default). You are encouraged to replace the use of
+ ACE_TYPENAME with the C++ typename keyword before the ACE_TYPENAME
+ macros is removed from ACE in the future.
+
+. A new script, rm_exception_macros.pl, has been added to help users
+ remove the use of the ACE exception macros from their own code.
+
+USER VISIBLE CHANGES BETWEEN ACE-5.5.4 and ACE-5.5.5
+====================================================
+
+. The prebuild MPC keyword is now supported by the gnuace project type.
+ This fixes Bugzilla #2713.
+
+. Support for Windows earlier than NT 4 SP2 was removed. ACE will not build
+ for Windows 95, 98, Me, etc. out of the box any longer.
+
+. Reformat stringified IPv6 addresses to use [addr]:port when printing
+ addresses that contain ':' such as "::1".
+
+. Added method to ACE_INET_Addr to determine if address is IPv6 or
+ IPv4 multicast.
+
+. Fixed a bug in ACE_Async_Timer_Adapter_Timer_Queue_Adapter<TQ> where the
+ gettimeofday function of the timer queue was ignored when setting the alarm.
+
+. Fixed a problem where, on Solaris 9 onwards, calling
+ ACE_OS::thr_create(THR_NEW_LWP) more than 2^15 (65535) times in a
+ process will fail. See changelog entry from "Wed Jan 3 22:31:05 UTC
+ 2007 Chris Cleeland <cleeland_c@ociweb.com>" for more information.
+
+. Fixed a bug in ACE_QtReactor where the two select() calls in that function
+ might select on different handler sets.
+
+. ACE_SOCK_IO::recvv(iovec[], size_t, const ACE_Time_Value* = 0) and
+ ACE_SOCK_IO::sendv (const iovec[], size_t, const ACE_Time_Value* = 0) methods
+ were changed to specify the iovec count argument as int instead of size_t
+ since it gets reduced to int in the underlying OS calls (usually).
+
+. The following deprecated methods were removed:
+
+ ssize_t ACE_SOCK_IO::recv (iovec iov[],
+ size_t n,
+ const ACE_Time_Value *timeout = 0) const;
+
+ ssize_t ACE_SOCK_IO::recv (iovec *io_vec,
+ const ACE_Time_Value *timeout = 0) const;
+
+ ssize_t ACE_SOCK_IO::send (const iovec iov[],
+ size_t n,
+ const ACE_Time_Value *timeout = 0) const;
+
+ These were previously replaced with more specific recvv() and sendv()
+ methods.
+
+. The ACE_Service_Repository::find(const ACE_TCHAR name[],
+ const ACE_Service_Type **srp = 0,
+ int ignore_suspended = true) const
+ method's 'ignore_suspended' parameter was changed from int to bool to
+ reflect it's purpose as a yes/no indicator.
+
+. Added --enable-ace-reactor-notification-queue configure script
+ option to the autoconf build for enabling the Reactor's userspace
+ notification queue (defines ACE_HAS_REACTOR_NOTIFICATION_QUEUE in
+ config.h).
+
+. The int ACE_OutputCDR::consolidate(void) method was contributed by
+ Howard Finer at Sonus Networks. This method consolidates any continuation
+ blocks used by an ACE_OutputCDR object into a single block. It's useful for
+ situations which require access to a single memory area containing the
+ encoded stream, regardless of its length, when the length cannot be known
+ in advance.
+
+. There are a number of new methods defined on ACE_String_Base<CHAR>:
+
+ size_t capacity (void) const: This method returns the number
+ of allocated CHAR units in the string object.
+
+ void fast_resize (size_t): This method manage the sizing/reallocating
+ of the string, but doesn't do the memory setting of resize().
+
+ bool operator!= (const CHAR *) const
+ bool operator== (const CHAR *) const: These methods compare the
+ string with a nul-terminated CHAR* string.
+
+ nonmember functions operator== and operator!= where also added
+ that compare const ACE_String_Base and const CHAR*; these make
+ it possible to switch ACE_String and CHAR* on either side of
+ the operator.
+
+ Thank you to Kelly Hickel <kfh at mqsoftware dot com> for these additions.
+
+. There are 2 new build options on the traditional make command:
+ dmalloc and mtrace. When specified at build time (e.g. make mtrace=1)
+ the PLATFORM_DMALLOC_CPPFLAGS and/or PLATFORM_MTRACE_CPPFLAGS values
+ are added to CPPFLAGS. For dmalloc, the PLATFORM_DMALLOC_LDFLAGS and
+ PLATFORM_DMALLOC_LIBS are added to LDFLAGS and LIBS, respectively.
+ Thank you to Howard Finer for supplying these additions.
+
+. Added the ability to specify additional purify and quantify command-line
+ options by setting PLATFORM_PURIFY_OPTIONS and PLATFORM_QUANTIFY_OPTIONS,
+ respectively. Thank you to Howard Finer for supplying these additions.
+
+. Added the ability to use trio (http://sourceforge.net/projects/ctrio/)
+ if platform lacks decent support for vsnprintf. trio support is
+ enabled by defining trio=1 in plaform_macros.GNU
+
+. Removed Irix 5, DGUX, and m88k support
+
+. Improved LynxOS 4.2 support
+
+. VxWorks 6.4 support
+
+. Added support for FC6. Because the GCC 4.1.1 version that gets shipped
+ has a fix for the visibility attribute we use for the singletons
+ you will need to define the following in your config.h file. This can't be
+ done automatically because SuSE 10.2 gets shipped with GCC 4.1.2 but
+ doesn't have the same fix
+ ACE_GCC_HAS_TEMPLATE_INSTANTIATION_VISIBILITY_ATTRS 1
+
+. RTEMS port
+
+USER VISIBLE CHANGES BETWEEN ACE-5.5.3 and ACE-5.5.4
+====================================================
+
+. Added appropriate intptr_t and uintptr_t typedefs on platforms that
+ don't provide them (i.e. when ACE_LACKS_INTPTR_T is defined).
+
+. Added ability to explicitly choose support for 32 bit or 64 bit file
+ offsets on all platforms. Define the _FILE_OFFSET_BITS preprocessor
+ symbol to either 32 or 64 to choose the desired number of file
+ offset bits. This preprocessor symbol is supported natively by most
+ UNIX and UNIX-like operating systems, and supported by ACE on
+ Windows. Use the new ACE_OFF_T typedef to refer to file offsets
+ across UNIX and Windows portably.
+
+. 64-bit file offsets are now enabled by default in Win64
+ configurations.
+
+. Improved support for 64 bit platforms (64 bit addresses, etc).
+
+. Added STL-style traits, iterators and a swap() method to the
+ ACE_Array_Base<> class template.
+
+. Added STL-style traits and iterator accessors to the
+ ACE_Hash_Map_Manager_Ex<> class template, as well as new find() and
+ unbind() methods that return (as an "out" parameter) and accept
+ iterators, respectively.
+
+. Greatly improved event handler dispatch performance in
+ select()-based reactors (e.g. ACE_Select_Reactor and ACE_TP_Reactor)
+ for large handle sets on Windows. Previous event handler search
+ were linear, and are now constant on average.
+
+. Addressed a number of Coverity errors (CHECKED_RETURN, DEADCODE,
+ LOCK, USE_AFTER_FREE, RESOURCE_LEAK, FORWARD_NULL).
+
+. Added STL-style "element_type" trait to all ACE auto_ptr class
+ templates.
+
+. Removed support for LynxOS 3.x.
+
+. Resolved Bugzilla #2701 to ensure fini() is called for all
+ Service Objects upon calling ACE_Service_Config::close()
+
+. VxWorks 5.5.2 has been tested, for ACE the support is exactly
+ the same as for VxWorks 5.5.1. No specific defines or flags have
+ to be used.
+
+USER VISIBLE CHANGES BETWEEN ACE-5.5.2 and ACE-5.5.3
+====================================================
+
+. Added the base projects for executionmanager_stub and plan_generator.
+
+. Added the ACE_Hash_MultiMap_Manager class and its test file.
+
+. Changed the ACE_Synch_Options::operator[] method to return bool rather than
+ int. The value returned is a yes/no indication of whether or not the
+ specified option(s) are set in the object.
+
+. 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. The value of the
+ ACE_DEBUG environment variable can be used to specify the initial
+ value for ACE::debug(), at the process start up.
+
+. 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 ACE_Refcounted_Auto_Ptr reset() and release() methods were changed
+ per Bugzilla #1925. They will both now detach from the underlying
+ ACE_Refcounted_Auto_Ptr_Rep object; reset() will create a new one for
+ the new pointer specified as its argument. This change may cause referenced
+ objects to be deleted in cases where previous ACE versions would not have.
+
+. 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).
+
+. Support for Intel C++ 9.1 on Windows and Linux
+
+. VxWorks 6.3 support
+
+. Fixed Bugzilla #2648 to make sure ACE_Service_Object::fini()
+ is called iff ACE_Service_Object::init() succeeded, as per
+ C++NPv2.
+
+. Added preliminary support for Mac OS X 10.4 on Intel CPU's.
+
+. Fixed Bugzilla #2602 to re-enable XML Service Configurator
+ file support.
+
+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.