2008-12-10 STLport 5.2.1 Release
This is new platforms support release.
- build and run on HP-UX/ia64 with aC++ compiler; verified on HP-UX 11.23 and 11.31 with aC++ A.06.17;
- build for EVC9 (Visual Studio 2008).
2008-11-19 STLport 5.2.0 Release
This is next release.
- Use of #include_next to access native platform/compiler headers when the preprocessor support it; enhance STLport portability as native header path do not have to be adapted each time the header structure is modified;
- Yet a modification of the include schema in all C++ Standard headers; now _STLP_WHOLE_NATIVE_STD mode works as expected, used in conjonction with _STLP_DONT_REDEFINE_STD it is possible to use STLport in stlport namespace at the same time as using native library in std namespace;
- Use of the gcc visibility feature for gcc versions after 4.0;
- For builds under Windows, STLport now adapt to the PSDK used to build it; it should be the same as the one used when building an application using the STLport libs; a compatibility detection mecanism has been implemented in order to report not homogeneous build environment with a link error rather than undefined runtime error.
- Use of malloc based allocator on system having GlibC 2.3 and later, keep node allocator for others;
- Delay instanciation of type traits type in vector and deque implementation to be able to use some of the nested types like iterator even if type used to instanciate the container is not completely defined;
- Container pointer specialization feature now works even with incomplete types thanks to use of partial template specialization.
2008-10-21 STLport 5.1.7 Release
This is bugfix release.
Support 32-bit and 64-bit Solaris 10 and 11 with SunPro's CC (SunStudio 12) for x86, AMD64, SPARC.
2008-10-07 STLport 5.1.6 Release
This is bugfix release.
- fix derived from patch #1914475, wrong replace for selfreferencing string;
- build on HP-UX PA-RISC and IA64, build on Solaris;
- fix cxa_atexit problem for HP-UX with gcc, like on Solaris.
2008-01-19 STLport 5.1.5 Release
This release contains following fixes:
- Workaround to the creation of a terminal window under Windows CE.
- Management of Ctrl-Z while reading file under Windows.
- Management of encoding while reading file under Windows.
- Fix bad behavior of unbuffered read in stream in marginal case, any platform.
- Few fixes in library build environment.
2007-12-10 STL strings implementations comparison (updated)
This article present comparison of strings implementations in STLport (trunk) and libstdc++. This tests also can help to answer on questions: COW or non-COW strings implementation better? What allocator is better? Under what conditions? This comparison is done on the base of STLport strings, ropes and libstdc++ strings. I expect that this results will help to make decision between STL implementations as well proper choice of strings implementation. And, of course, it will help in future development of STLport.
Performance test suites and results are in STLport SVN repository: SVN https://stlport.svn.sourceforge.net/svnroot/stlport/trunk/perf
2007-10-07 STLport 5.1.4 Release
STLport 5.1.4 available for download.
This release contains following fixes:
- collate facet implementation using Glibc and also a fix for the _STLP_DEBUG mode.
- string::rfind, find_last_of, find_last_not_of, position 0 was wrongly excluded.
- rope::iterator copy constructor fixed.
- large file support enable when _LARGEFILE_SOURCE or _LARGEFILE64_SOURCE defined for Posix platforms.
2007-04-02 STLport 5.1.3 Release
STLport 5.1.3 available for download.
This release contains fixes for Microsoft Visual Studio compilers suite:
- Add support for EVC 2005 thanks Ulrich Echkardt.
- Modification of the code use to detect stateless classes to avoid a Visual Studio 2005 warning.
- Change configuration for Visual Studio 98, do not support explicit instanciation of class template method like locale::combine or bitset::to_string.
- Fix definition of the internal _STLP_WIN32_VERSION macro giving targeted platform version, based on WINVER or _WIN32_VERSION in this order.
- Fix a use of strncpy_s that was potentially leading to a crash.
2007-02-25 STLport 5.1.2 Release
STLport 5.1.2 available for download.
This release contains following bug fixes for Windows platform:
- potential infinite loop in locale creation depending on the requested locale; might also block application startup if system locale leads to an infinite loop;
- fix for compilers having a bug in implementation of the empty base class optimization like VC6 or Borland compilers.
2007-02-16 STLport 5.1.1 Release
STLport 5.1.1 available for download.
Here is a new release containing following bug fixes:
- windows platform:
- race condition when several threads were creating a facet from a name at the same time;
- race condition because of a some static buffer when using time facet;
- restored Windows 95 support;
- platform independant:
- locale::combine behavior;
- deque::insert at a given position method, it was returning the wrong iterator in some case;
- wrong invalidation of iterators in deque::erase method in STL safe mode;
- computation of system page size, should improve performance if file streams especially on 64 bits systems;
- locale::collate behavior in the Glibc portage;
You might find more detailed description in etc/ChangeLog-5.1.
2007-02-02 STLport 5.0.3 Bugfix Release
STLport 5.0.3 available for download.
General changes relative 5.0.2:
- few fixes related to print floats (possible buffer overflow);
- fix bug in list::swap;
- search_n with predicate fail in case when subsequence size is 1;
- fix missing null termination in rope constructor from a character and a buffer overrun;
- fix implementation of __equal_range, __lower_bound, __upper_bound when dealing with a key whom type is different from the value_type of the iterator;
- Modification of the slist::splice_after methods signature; one now have to pass the source slist instance, this is mandatory in order to compare the 2 slists allocator instance before moving an element from a slist instance to an other;
- fix hash_multimap behaviour when deal with same keys
2006-12-07 STLport 5.1.0 Release
- Folder architecture: All configuration files are now in stlport/stl/config folder. stlport/stl_user_config.h renamed and moved as stlport/stl/config/user_config.h. stlport/stl/_site_config.h renamed and moved as stlport/stl/config/hosts.h. STLport configuration now also try to seperate platform configuration from compiler one.
- Allocators implementation is in src folder to enhance encapsulation. Default allocator when using STLport without building it (_STLP_NO_IOSTREAMS) is the simple new/delete based allocator, node allocator is the default when building the lib.
- Access to native headers has been modified to make STLport less dependant on native headers internal includes, should improve portability.
- Segregation of headers has been improved. You might have to add now missing functional or algorithm Standard headers include in your code.
- Support enhancements:
- Borland compilers starting with the free one (5.5.1)
- HP aC++/ANSI C B3910B A.06.06
- Visual Studio 2005 for Windows CE
- Use of intrinsic type traits support of Visual Studio 2005
- Improved meta programming techniques especially in uninitialized_* algorithms.
If you need a vector of null pointer prefer to write 'vector<void*> v(10)' rather
- Fully functional pointer specialization feature (_STLP_USE_PTR_SPECIALIZATIONS).
- Extension of template search methods in associative and hashed container has been completed.
- STL safe mode: Now detect badly implemented strict weak ordering functors, assert if a < b && b < a. Same for equivalent functor used in hash container implementation, assert if a <=> b but !(b <=> a).
- Improved locale creation delay on Windows platform.
- STL containers implementation now correctly handle allocators with state. This kind of allocator has to overload swap method if any specific action has to be made when swaping 2 instances.
- STLport is ready for safe string functions *_s (_STLP_USE_SAFE_STRING_FUNCTIONS)
- Many bug fixes, see etc/ChangeLog-5.1.
2006-10-18 Strings and IOStreams: STL implementations comparison (updated)
This article present comparison of strings (and some iostreams features) implementations in STLport (trunk) and libstdc++. This tests also can help to answer on questions: COW or non-COW strings implementation better? What allocator is better? Under what conditions? This comparison is done on the base of STLport strings, ropes and libstdc++ strings. I expect that this results will help to make decision between STL implementations as well proper choice of strings implementation. And, of cause, it will help in future development of STLport.
2006-08-15 STLport repository migrate to SVN
STLport repository migrated from CVS to SVN on SF
2006-07-26 STLport 5.1.0 RC2
Important bug fixes from RC1:
- 64 bits issue using gcc
- Memory overrun and memory leak in rope
- list::swap implementation fix
2006-06-20 STLport 5.1.0 RC1
2006-03-01 STLport 5.0.2 Release
STLport 5.0.2 available for download.
General changes relative 5.0.1:
- fix rope::find(char);
- string's const operator [n] should return CharT() in case of n == size();
- few workarounds for ICC 9;
- really implemented getting default locale categories from environment; replace a few strcpy by strncpy to protect from possible buffer overflow attack (with glibc);
- add --use-static-gcc option for configure (useful for gcc, if you want to use static libgcc when compiler builded with --enable-shared [i.e. default]);
- makefiles correctly detect that compiler (gcc) was builded with --disable-shared and use correct libgcc;
- add --with-boost option for configure;
- endianess detection for EVC (MIPS SDK); EVC4 ICE workarounds;
- workaround for bug in make 3.79.1 on Solaris;
- fix: string::capacity may return wrong value in case of no _STLP_USE_SHORT_STRING_OPTIM in use.
2006-01-15 Strings and IOStreams: STL implementations comparison
This article present comparison of strings (and some iostreams features) implementation in STLport (v. 5.0.1) and libstd++. This tests also can help to answer on questions: is it strings copy algorithm with constant complexity better than algorithm with linear complexity? What allocator is better? This comparison is done on the base of STLport strings, ropes and libstd++ strings. I expect that this results will help to make decision between STL implementations as well proper choice of strings implementation.
2005-12-26 STLport 5.0.1 Release
STLport 5.0.1 available for download.
General changes relative 5.0.0:
- fix typos/bugs in make subsystem;
- bugfixes to support platforms: FreeBSD, Solaris (including SunPro 5.7 compiler) and eVC---MIPSxx;
- bugfixes in iostreams (formatting money and numbers).
2005-11-03 STLport 5.0.0 Release
STLport 5.0.0 (release) available for download. Great thanks for all authors, contributors, testers!
General changes relative STLport 4.x:
- No more wrapper mode: you can use STLport iostreams or no iostreams at all;
- _STLP_NO_CUSTOM_IO now also hide basic_string implementation
- internal namespace schema has been modified, see doc folder for additional informations;
- Support of many modern C++ compilers and platforms
- gcc 3.4.0 and later;
- MSVC .Net 2002, 2003 and MSVC 2005 Beta;
- Windows CE see build/test/unit/STATUS for a complete list of tested platforms/compilers;
- Novell Netware;
- Move semantic: vector or deque of any other STL containers are using move semantic when resized or modified rather than copy.
- New checks in safe STL mode like null pointer or check of iterator range pass to container constructors;
- Expression template for string concatenation operations (available through the _STLP_USE_TEMPLATE_EXPRESSION config option);
- Implementation of the short string optimization trick, basic_string have a small static buffer in this case;
- STL containers vector, deque, list and slist pointer specialization to limit code bloats (see _STLP_USE_PTR_SPECIALIZATIONS on config file);
- Use of boost type_traits rather than internal equivalent when requested (see _STLP_USE_BOOST_SUPPORT in config file);
- set/multiset, or map/multimap iterators cannot be compared anymore;
- unordered_set, unordered_multiset, unordered_map, unordered_multimap hash containers implementation specified in the TR1 document;
- Thanks to the _STLP_LEAKS_PEDANTIC config option you can ask STLport to clean its memory pool before being unloaded, useful to only detect real memory leak problems;
- Creation of configuration scripts to make STLport configuration easier;
- Improvement of some algorithm like search_n or stable_sort;
- Ported to 64 bits platforms;
- Large file ( > 4 Gb) stream support on Win32 platform;
- Unit tests provide now good regression with clean interpretation;
- Many bugfixes, code cleaning, etc.
2005-10-09 STLport 5.0 RC6
STLport 5.0 RC6 available for download.
- fix cygwin configuration
- STLport library names more coherent between unixes and windows systems
- fix gcc 2.95 builds
- fixes for 64-bits Unix platforms (locale)
2005-09-05 STLport 5.0 RC5
STLport 5.0 RC5 available for download.
- fix move ctors/dtors implementations
- time format facet fix
- use different namespaces for mulithreaded and non-multithreaded builds to avoid usage of non-multithreaded application with multithreaded libstlport and vice versa
- usage of -fuse-cxa-atexit strongly required for correct order of static objects dtors calls (locale de-initialization)
2005-09-01 CVS repository at cvs.stlport.com closed up
Old CVS repository at cvs.stlport.com closed up.
2005-08-30 STLport CVS at SF
CVS master repository was coped to SourceForge CVS. Repository at cvs.stlport.com is present too, but active development of STLport 5 will be at SF. All history of CVS repository from cvs.stlport.com preserved in SF CVS (date of transfer: 2005-08-27).
2005-08-24 STLport at SF
STLport project active development proceeds at SourceForge