You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

918 lines
33 KiB

  1. ============================================================================
  2. STLSoft - History
  3. ; Created: 29th March 2002
  4. ; Updated: 19th August 2012
  5. ============================================================================
  6. 19th August 2012 - 1.9.116 released
  7. -----------------------------------
  8. * fixed defect in winstl::pipe::close_write()
  9. * various other minor warning suppression and reformatting
  10. 31st July 2012 - 1.9.115 released
  11. ---------------------------------
  12. * stlsoft::integer_to_string() new overloads with out-parameter as pointer; deprecated overloads with out-parameter as reference
  13. * winstl::integral_printf_traits added octal_format_a/w(), hexadecimal_format_a/w(), decimal_format_a/w(); deprecated format_a/w() and hex_format_a/w() methods, and size_min, size_max, and size member constants
  14. * Windows 7-compatibility for winstl::drophandle_sequence
  15. * winstl::spin_mutex now uses SwitchToThread if _WIN32_WINNT >= 0x0400
  16. * added winstl::added GetTimeFormat_msExA/W() by which custom time markers can be specified
  17. 4th June 2012 - 1.9.114 released
  18. --------------------------------
  19. * added unixstl::filesystem_traits::is_socket(char_type const*) method
  20. * added unixstl::filesystem_traits::is_link(char_type const*) method
  21. * added unixstl::filesystem_traits::is_socket(stat_data_type const*) method
  22. * added unixstl::filesystem_traits::find_next_path_name_separator() method
  23. * added unixstl::filesystem_traits::find_last_path_name_separator() method
  24. * unixstl::filesystem_traits::get_full_path_name() now canonicalises '.'/'..'-trailing paths
  25. * unixstl::readdir_sequence.hpp now includes directory name in thrown exception
  26. 4th June 2012 - 1.9.113 released
  27. --------------------------------
  28. * Intel C/C++ 12 support
  29. * support for STLSOFT_COMPILE_VERBOSE; deprecation of _STLSOFT_COMPILE_VERBOSE
  30. * fixed unixstl::filesystem_traits::broken get_current_directory()
  31. * fixed unixstl::filesystem_traits::broken invalid_file_handle_value()
  32. * fixed unixstl::filesystem_traits::is_file() / is_directory() / is_link()
  33. * numerous improvements to unixstl::filesystem_traits::glob_sequence
  34. * unixstl::readdir_sequence correction to elide sockets from search results
  35. * winstl/time/conversion_functions.h renaming (and deprecation) of non-standard C function names
  36. 7th February 2012 - 1.9.112 released
  37. ------------------------------------
  38. * added winstl_C_format_message_strerror_a(), an analogue of strerror() for Windows API "error" codes
  39. * adjusted discrimination of exception-support macros, based on presence of GCC compiler's __EXCEPTIONS symbol
  40. * minor VC++ compatibility fix for stlsoft/shims/access/string/std/exception.hpp
  41. 30th November 2011 - 1.9.111 released
  42. -------------------------------------
  43. * fix for GCC 4.5+ unixstl::filesystem_traits
  44. 25th November 2011 - 1.9.110 released
  45. -------------------------------------
  46. * fix for GCC 4.5+ unixstl::filesystem_traits
  47. * added result_code_type to both unixstl::system_traits and winstl::system_traits
  48. * correction(s)/enhancement(s) to which of MFCSTL's string access shim headers are automatically included
  49. * added discrimination of new pre-processor symbol PLATFORMSTL_NO_PLATFORM_NAMESPACE, to ease dependent library implementation
  50. * avoidance of false memory-leak reports in use of stlsoft::truncation_test
  51. 13th August 2011 - 1.9.109 released
  52. -----------------------------------
  53. * added rbegin()/rend() to stlsoft::frequency_map<>
  54. * added push_n() to stlsoft::frequency_map<>
  55. * refactored throw statement(s) in terms of STLSOFT_THROW_X() throughout
  56. * added reset() method to stlsoft::shared_ptr<>
  57. * added various STLSoft deprecation macros
  58. * added is_path_rooted(), is_path_absolute(), and is_path_UNC() methods to unixstl::filesystem_traits<>
  59. * added two-parameters overloads of is_path_rooted(), is_path_absolute(), and is_path_UNC() methods to winstl::filesystem_traits<>
  60. * include/winstl/error/error_functions.h: substantial refactoring of format_message()-family of functions (and their C analogues)
  61. 31st January 2011 - 1.9.108 released
  62. ------------------------------------
  63. * changed erroneously named new unixstl::/winstl::filesystem_traits method's name from invalid_handle_value() to invalid_file_handle_value()
  64. * added third, defaulted, template parameter to stlsoft::frequency_map for specification of predicate
  65. 30th January 2011 - 1.9.107 released
  66. ------------------------------------
  67. * added data() member to stlsoft::multibyte2wide and stlsoft::wide2multibyte
  68. * added data() member to winstl::multibyte2wide and winstl::wide2multibyte
  69. * improved performance of of c_str_len(_a|_w)() shim overloads of stlsoft::multibyte2wide and stlsoft::wide2multibyte
  70. * improved performance of of c_str_len(_a|_w)() shim overloads of winstl::multibyte2wide and winstl::wide2multibyte
  71. * added equal() method and operator ==/!=() non-member functions to unixstl::memory_mapped_file
  72. * added equal() method and operator ==/!=() non-member functions to winstl::memory_mapped_file
  73. * added non-member unixstl::swap() function for unixstl::memory_mapped_file
  74. * added non-member platformstl::swap() function for platformstl::memory_mapped_file
  75. * changed definition of unixstl::memory_mapped_file::size_type to be size_t
  76. * added invalid_handle_value() method to unixstl::filesystem_traits<>
  77. * added invalid_handle_value() method to winstl::filesystem_traits<>
  78. * added added get_file_size(stat_data_type const&) and get_file_size(stat_data_type const*) overloads to unixstl::filesystem_traits<>
  79. * added added get_file_size(stat_data_type const&) and get_file_size(stat_data_type const*) overloads to winstl::filesystem_traits<>
  80. * reduced dependencies on other string access shim overloads in winstl::error_desc
  81. 28th December 2010 - 1.9.106 released
  82. -------------------------------------
  83. * workaround for Intel compile error
  84. 27th December 2010 - 1.9.105 released
  85. -------------------------------------
  86. * several new minor facilities in stlsoft::frequency_map
  87. * improved compiler-compatibility in stlsoft::multibyte2wide and stlsoft::wide2multibyte
  88. * WinSTL now recognises Win64 architecture when _WIN64 is defined even when WIN64 is not
  89. 22nd November 2010 - 1.9.104 released
  90. -------------------------------------
  91. * refactored wide string exception string access shim functions, to avoid so-called "deprecated" (standard) functions when using VC++
  92. * expanded internal buffers of shim strings for exception string access shims, from 10 to 100
  93. 21st November 2010 - 1.9.103 released
  94. -------------------------------------
  95. * changed mechanism of discriminating Dinkumware standard library versions
  96. * added typedefs for path_a and path_w to introduce them into the platformstl namespace
  97. 8th November 2010 - 1.9.102 released
  98. ------------------------------------
  99. * added wide string string access shims for std::exception
  100. * fixed infinite-recursion defects in ambient shim function definitions
  101. * other compatibility fixes
  102. 30th September 2010 - 1.9.101 released
  103. --------------------------------------
  104. * stlsoft::transform_iterator can now support transformation to types that do not support default construction
  105. * fixed defect in stlsoft::transform_iterator
  106. * platformstl::basic_file_lines refactored, and exception-safety enhanced
  107. * winstl::memory_mapped_file refactored in preparation for substantial enhancement in 1.10; also no longer supports compilers that do not have native 64-bit integers
  108. 12th August 2010 - 1.9.100 released
  109. -----------------------------------
  110. * added stlsoft/iterators/common/string_concatenation_flags.hpp
  111. * string_concatenator_iterator now strictly skips separator insertion for empty elements if no flags are specified, and always inserts separator if string_concatenation_flags::AlwaysSeparate is specified
  112. * added performance_counter_init::get_period_and_restart() method
  113. * added STLSOFT_CC_CDECL_VALUE, STLSOFT_CC_FASTCALL_VALUE, STLSOFT_CC_STDCALL_VALUE
  114. * special_string_instance now uses atomic_int_type
  115. * string_tokeniser iterator dereference operator changed to disallow return of mutable instance
  116. * string_view has improved comparison algorithm
  117. * added 3-, 4-, and 5-parameter overloads of stlsoft::minimum() and stlsoft::maximum()
  118. * various fixes and enhancements to platformstl::file_lines
  119. * added size() and empty() methods to winstl::environment_variable
  120. * implemented winstl::system_traits::str_n_compare_no_case()
  121. 21st June 2010 - 1.9.99 released
  122. --------------------------------
  123. * added filesystem_traits::str_fs_compare() (UNIXSTL & WinSTL)
  124. * added filesystem_traits::str_fs_n_compare() (UNIXSTL & WinSTL)
  125. * added str_n_compare_no_case declaration to system_traits (UNIXSTL & WinSTL)
  126. * added assoc_select_first() and assoc_select_second() creator functions for associative_select_iterator
  127. * incorporated Manfred Ehrhart's fixes for associative_select_iterator
  128. * Borland/GCC-compatibility fixes
  129. * GCC-compatibility fixes
  130. * nullptr support correction for VC++
  131. * various minor fixes
  132. 7th June 2010 - 1.9.98 released
  133. -------------------------------
  134. * added range overload of stlsoft::read_line(), so can read lines from an iterator range
  135. * added nullptr (C++0x) support for VC++ 10
  136. * added swap() method to stlsoft::basic_shim_string
  137. * added 3, 4, 5, and 6-split overloads to stlsoft::split()
  138. * added sized-string ctor, data() and size() methods, and string access shims (to simplify xTests-based unit-testing, if nothing else) to stlsoft::exception_string
  139. * added VARIANT_BOOL overload to comstl::method_cast()
  140. * added platformstl::file_lines empty() method
  141. * separated PlatformSTL's atomic types into separate file platformstl/synch/atomic_types.h
  142. * separated UNIXSTL's atomic types into separate file unixstl/synch/atomic_types.h
  143. * separated WinSTL's atomic types into separate file winstl/synch/atomic_types.h
  144. * fixed winstl::memory_mapped_file to handle case where an offset is specified but there are 0 remaining bytes in the file to be mapped at that location: constructs an instance with 0 size
  145. * fixed potential memory leak of format-message-string if windows_exception creation throws an exception
  146. * moved COMSTL_CCH_GUID to comstl/comstl.h from comstl/shims/access/string/guid.hpp
  147. * adjusted winstl::drophandle_sequence for Win64 compatibility
  148. * adjusted winstl::version_info for Win64 compatibility
  149. * various components no longer rely on operator += of exception_string type, in preparation for 1.10 versions
  150. 4th April 2010 - 1.9.97 released
  151. --------------------------------
  152. * added stlsoft::copy_preinc() and stlsoft::copy_postinc() algorithms
  153. * added str_set() method to unixstl::/winstl::system_traits
  154. * added unixstl/shims/conversion/to_uint64/stat.hpp
  155. * added missing widestring specialisation of inetstl::filesystem_traits::is_path_name_separator()
  156. * stlsoft::basic_error_desc synthesises widestring functionality if wcserror() is not available
  157. * exposes widestring version of platformstl::system_traits from UNIXSTL
  158. * comstl::variant compatibility with exception-support disabled
  159. * removed erroneous definitions of strtol(), strtoul(), strtod()
  160. * added missing 'mode' parameter to unixstl::module::load(), and uses 'mode' parameter passed to constructor template
  161. * typename corrections to platformstl::basic_file_path_buffer and platformstl::basic_path
  162. * improved discrimination of Visual C++ 9 / 10
  163. * fixed defective arithmetic in unixstl::/winstl::memory_mapped_file
  164. * refactored implementation of winstl::reg_key::create_key() to avoid infinite loop faults
  165. 10th March 2010 - 1.9.96 released
  166. ---------------------------------
  167. * Visual C++ 10 compatibility
  168. 7th March 2010 - 1.9.95 released
  169. --------------------------------
  170. * minor interface modifications to comstl::com_exception
  171. 5th March 2010 - 1.9.94 released
  172. --------------------------------
  173. * corrected omission of inline from swap for unixstl::memory_mapped_file
  174. * corrected omission of inline from swap for winstl::memory_mapped_file
  175. 15th February 2010 - 1.9.93 released
  176. ------------------------------------
  177. * STLSOFT_CF_NAMESPACE_SUPPORT is now only defined in C++ compilation units
  178. * added WINSTL_CONST_MAX_PATH, which is now used instead of _MAX_PATH throughout winstl
  179. 11th February 2010 - 1.9.92 released
  180. ------------------------------------
  181. * added inetstl::filesystem_traits<>::is_path_name_separator()
  182. 2nd February 2010 - 1.9.91 released
  183. -----------------------------------
  184. * introducing unixstl::/winstl::remove_directory_recurse() into platformstl namespace
  185. * removal of dependency on so-called "unsafe" string functions
  186. * elimination of calls to memcpy() in path classes
  187. * throwing of exception in make_absolute() if failed to get full path
  188. 21st January 2010 - 1.9.90 released
  189. -----------------------------------
  190. * fixed defect in unixstl::filesystem_traits<>::get_full_path_name() when passed "."
  191. * header ordering workaround for GCC 3.4's strange COM headers on Windows
  192. 19th January 2010 - 1.9.89 released
  193. -----------------------------------
  194. * fixed defective stream inserter for stlsoft::error_desc
  195. * fixed erroneous push-pop in include/acestl/reactor/custom_event_handler.hpp:
  196. * safe-string compatibility for various UNIXSTL system/filesystem components
  197. 12th January 2010 - 1.9.88 released
  198. -----------------------------------
  199. * added throwOnAccessFailure search flag to winstl::basic_findfile_sequence, along with supporting code
  200. * added winstl::access_exception
  201. * full integer handling for comstl::variant
  202. * addition of max_size() static method to basic_file_path_buffer class template
  203. * change of max_size() method to be static in basic_path
  204. * fixed longstanding incompatibility between reverse_iterator and const_reverse_iterator
  205. * C compatibility fixes
  206. * compatibility with GCC 3.4
  207. * truncation_test is now a function template (rather than a macro to an internal function)
  208. * deprecation/removal of reserved symbols, and replacement with valid symbols
  209. 11th August 2009 - 1.9.87 released
  210. ----------------------------------
  211. * trivial formatting changes
  212. 24th July 2009 - 1.9.86 released
  213. --------------------------------
  214. * added STLSOFT_CF_THISCALL_SUPPORTED
  215. * added thiscall overloads of mem_fun_ref() and mem_fun_ref_void()
  216. * Borland compatibility for scoped_handle
  217. * fix to unixstl::filesystem_traits::get_full_path_name() (to detect when path contains reserved characters)
  218. 16th June 2009 - 1.9.85 released
  219. --------------------------------
  220. * added merge() and swap() to stlsoft::frequence_map class template
  221. * winstl::listview_sequence::value_type::string_type (aka lvs_string_t) is now overrideable via the preprocessor, in preparation for future expansion of flexibility
  222. 23rd May 2009 - 1.9.84 released
  223. -------------------------------
  224. * fixed defect in winstl::basic_reg_key::set_value() for REG_MULTI_SZ values (widestring only)
  225. * "safe string" library and widestring support for stlsoft::basic_error_desc
  226. * various 64-bit LP64 compatibility changes
  227. 19th May 2009 - 1.9.83 released
  228. -------------------------------
  229. * fixed defects in winstl::basic_reg_value::value_sz()/value_multi_sz()
  230. * fixed defects in exception-safety in winstl::basic_reg_value and winstl::basic_reg_key
  231. * various minor fixes and documentation mods
  232. 15th May 2009 - 1.9.82 released
  233. -------------------------------
  234. * added winstl::reg_traits<>::reg_delete_tree()
  235. * added IOStreams compatibility for winstl::findfile_sequence::value_type
  236. 7th May 2009 - 1.9.81 released
  237. ------------------------------
  238. * now recognises __func__, provided by Sun Pro, via STLSOFT_CF_func_SYMBOL_SUPPORT
  239. * abstracts __FUNCTION__ support to STLSOFT_FUNCTION_SYMBOL
  240. 6th May 2009 - 1.9.80 released
  241. ------------------------------
  242. * now recognises support for variadic macros and #pragma once for later versions of Borland C/C++
  243. * SunPro compatibility improvements for UNIXSTL synchronisation components
  244. * fixes to defects in stlsoft::basic_simple_string at() and 5-parameter compare() methods
  245. * basic_path class templates (both UNIXSTL and WinSTL versions) now implement assignment operator differently to avoid possibilities of infinite loops (which can happen when a type with an opposing string encoding is used)
  246. * correction to stlsoft::auto_buffer to ensure allocators are involved in swap() operations
  247. * correction to struct in_addr string access shims for compatibility with big-endian architectures
  248. * various changes for compatibility with "safe string" library
  249. 2nd May 2009 - 1.9.79 released
  250. ------------------------------
  251. * UNIX compatibility for InetSTL
  252. * "safe string" library compatibility for InetSTL
  253. 27th April 2009 - 1.9.78 released
  254. ---------------------------------
  255. * fixed serious defect in atlstl::copy_enumerator_impl::Reset()
  256. * stlsoft::shared_ptr now works correctly if fails to allocate counter
  257. variable in conditions where exception handling is not supported
  258. * stlsoft::c_str_data_a(struct fm const*) now correctly handles case where
  259. tm pointer is NULL
  260. * corrected behaviour of get_environment_variable for both UNIXSTL and
  261. WinSTL system_traits traits classes
  262. * various compiler compatibility fixes
  263. * various documentation corrections
  264. 9th March 2009 - 1.9.77 released
  265. --------------------------------
  266. * corrected invalid invariants in memory_mapped_file classes in UNIXSTL and
  267. WinSTL
  268. 6th March 2009 - 1.9.76 released
  269. --------------------------------
  270. * added swap() methods to memory_mapped_file classes in UNIXSTL and WinSTL
  271. * corrected defect in VC++ detection of bad_alloc support (which only
  272. affects VC++ 6 or earlier)
  273. 26th February 2009 - 1.9.75 released
  274. ------------------------------------
  275. * tidied up COMSTL documentation
  276. * tidied up scoped_handle use in winstl::memory_mapped_file
  277. * added checks to detect at compile time accidental use of &stat_data with winstl::filesystem_traits<>::get_file_size()
  278. * fixed defect in winstl::basic_reg_value::value_sz(), whereby the nul-terminator is included in the resultant string length
  279. * tidied up winstl::basic_path, and added max_size() method
  280. * tidied up winstl::basic_commandline_parser, added substring-constructor, and changed subscript operator to allow indexing (but not use) of the end element
  281. 13th February 2009 - 1.9.74 released
  282. ------------------------------------
  283. * further implementation of special Borland version of stlsoft::scoped_handle
  284. * further workarounds to Borland code generation defects in stlsoft::basic_simple_string and platformstl::basic_file_lines
  285. 3rd February 2009 - 1.9.73 released
  286. -----------------------------------
  287. * added partial support for Borland 5.9.x and 6.1.x; to support use of Borland with Pantheios
  288. * re-applied VC++ 7.1 workaround eroneously removed in 1.9.70
  289. 1st February 2009 - 1.9.72 released
  290. -----------------------------------
  291. * added char_copy() methods to filesystem_traits classes in UNIXSTL, as part of move away from "unsafe" string functions
  292. * fixed defect in winstl::squeeze_path() whereby wrong length is returned if buffer size is < 5 and the file length < buffer size
  293. * removes unwanted trailing slash in application directory from winstl::basic_searchpath_sequence
  294. * further work to remove dependency on "unsafe" string functions
  295. 28th January 2009 - 1.9.71 released
  296. -----------------------------------
  297. * fixed DMC++ incompatibility introduced in 1.9.70
  298. 25th January 2009 - 1.9.70 released
  299. -----------------------------------
  300. * improved stlsoft::find_next_token() function templates to ensure that all empty fields are reported to caller
  301. * added char_copy() methods to filesystem_traits classes in InetSTL and WinSTL, as part of move away from "unsafe" string functions
  302. * minor enhancements to platformstl::readdir_sequence, to disambiguate constructor overloads
  303. * removed all "unsafe" string functions from winstl::basic_findfile_sequence class template and supporting components
  304. * improved winstl::basic_path class template to ensure proper behaviour in corner cases of use of push() and pop() methods
  305. 23rd January 2009 - 1.9.69 released
  306. -----------------------------------
  307. * improved robustness of winstl::path_squeeze
  308. * more "Safe String" library compatibility changes
  309. 19th January 2009 - 1.9.68 released
  310. -----------------------------------
  311. * fix defect, and updated docs, for stlsoft::must_init utility class template
  312. 17th January 2009 - 1.9.67 released
  313. -----------------------------------
  314. * compatibility with GCC on Fedora on PPC
  315. * correction of semantics of null_allocator
  316. 4th January 2009 - 1.9.66 released
  317. ----------------------------------
  318. * compatibility with GCC 4.3's pedantic precedence warnings
  319. * compatibility with SunPro compiler for limit_traits
  320. 1st January 2009 - 1.9.65 released
  321. ----------------------------------
  322. * "Safe String" library compatibility changes
  323. 28th December 2008 - 1.9.64 released
  324. ------------------------------------
  325. * fix to string access shims for VARIANT
  326. 9th December 2008 - 1.9.63 released
  327. -----------------------------------
  328. * optimised stlsoft::basic_string_view::reserve()
  329. * enhanced compatibility for stlsoft::fixed_array_?d class templates
  330. 1st December 2008 - 1.9.62 released
  331. -----------------------------------
  332. * fixed defect in interface_cast<> and try_interface_cast<>
  333. * improved compatibility with Visual C++ 9
  334. * speculative support for Intel C/C++ 11.0
  335. * fixed defect in winstl::to_SYSTEMTIME(DATE) overload
  336. 19th November 2008 - 1.9.61 released
  337. ------------------------------------
  338. * better compatibility with SAPI.h for COMSTL's sapi_util.hpp
  339. * documentation markup improvements for a number of files
  340. 27th October 2008 - 1.9.60 released
  341. -----------------------------------
  342. * added stlsoft::apply_const()
  343. * added stlsoft/conversion/m2w.hpp
  344. 25th October 2008 - 1.9.59 released
  345. -----------------------------------
  346. * change in ATLSTL's property method helpers to avoid infinite loop in
  347. Visual C++ 6 problem when implementing property puts to CComBSTR
  348. * fixed compile error with GCC when using VARIANTs in C compilation units
  349. 16th October 2008 - 1.9.58 released
  350. -----------------------------------
  351. * fixed major defect introduced in 1.9.52 to WinSTL's time string access
  352. shims
  353. * fixed minor defects in COMSTL's VARIANT string access shims
  354. * fixed defect in documentation generation whereby examples were omitted
  355. * reduced compilation dependencies in STLSoft's time string access shims
  356. 10th October 2008 - 1.9.57 released
  357. -----------------------------------
  358. * addition of missing const_reference member type in various Windows
  359. controls collection classes
  360. * C / C++ compatibility fixes for COMSTL
  361. * fix of minor non-standard name in winstl::int_to_string() supporting
  362. class
  363. * a large number of files were altered in minor ways, to do with whitespace
  364. and the placement of * and & symbols
  365. * several files' documentation markup was cleaned up
  366. 1st October 2008 - 1.9.56 released
  367. ----------------------------------
  368. * a large number of minor enhancements to the documentation markup
  369. * fixes to defects to include guards in UNIXSTL
  370. 27th September 2008 - 1.9.55 released
  371. -------------------------------------
  372. * corrected defects in stlsoft::wide2multibyte and stlsoft::multibyte2wide
  373. conversion classes
  374. * fixes to various x64 defects related to use of inappropriate calling
  375. convention specifiers with use of dl_call
  376. * sundry other modifications in internal pre-processor facilities and
  377. small improvements to Watcom compatibility
  378. 15th September 2008 - 1.9.54 released
  379. -------------------------------------
  380. * added stlsoft::exception_string::truncate() method
  381. * removed dependency of UDATE for to_FILETIME() and to_SYSTEMTIME() shim
  382. overloads for DATE type
  383. 14th September 2008 - 1.9.53 released
  384. -------------------------------------
  385. * changed definition of STLSOFT_STATIC_ASSERT() to work with GCC
  386. * defect defect in pre-condition enforcement of
  387. winstl::system_traits::expand_environment_strings()
  388. 11th September 2008 - 1.9.52 released
  389. -------------------------------------
  390. * fixed for warnings in 64-bit compilation (VC9) in WinSTL string access
  391. shims for SYSTEMTIME; also added extra safeguard against external race
  392. condition
  393. 7th September 2008 - 1.9.51 released
  394. ------------------------------------
  395. * workaround for defective exception-throwing behaviour of
  396. stlsoft::conversion_error with VC6
  397. * fixed defect in WinSTL string access shims for SYSTEMTIME that faults
  398. when asked to process an invalid time value
  399. 3rd September 2008 - 1.9.50 released
  400. ------------------------------------
  401. * added stlsoft character conversion typedefs m2w, w2m, t2m, m2t
  402. * fix for VC++ 6 defect in requiring return code after exception throw
  403. 2nd September 2008 - 1.9.49 released
  404. ------------------------------------
  405. * fix for DMC++ defect in winstl::reg_value function template definition
  406. * added winstl character conversion typedefs m2w, w2m, t2m, m2t
  407. 23rd August 2008 - 1.9.48 released
  408. ----------------------------------
  409. * added comstl/util/CY_functions.h
  410. * added comstl/util/DECIMAL_functions.h
  411. * added comstl/util/VARIANT_functions.h
  412. * added comstl::variant conversion constructor for DECIMAL
  413. * fixed bug in stlsoft::trim_all()
  414. * added winstl::basic_error_desc<>::empty()
  415. 12th August 2008 - 1.9.47 released
  416. ----------------------------------
  417. * enhancement of stlsoft::read_line() function template to work with
  418. various line-termination sequences
  419. * enhancement of fixed array classes to allow zero size
  420. * winstl::clipboard_format_sequence enhancements to iterator type profile
  421. * winstl::clipboard_scope defect fix and documentation enhancement
  422. * syntactic modification of contract enforcement statements to a large
  423. number of components to address warnings with GCC 4.3 in pedantic mode
  424. 11th August 2008 - 1.9.46 released
  425. ----------------------------------
  426. * defect fixes to stlsoft::pod_vector
  427. * reduced coupling, and increased functionality, of stlsoft::format_bytes()
  428. * sundry compatibility improvements
  429. 8th June 2008 - 1.9.45 released
  430. -------------------------------
  431. * enhancement to stlsoft::to_uint64 conversion shim for ULARGE_INTEGER
  432. * more Win-64 compatibility changes
  433. * fixes to winstl::basic_path class template
  434. 1st June 2008 - 1.9.44 released
  435. -------------------------------
  436. * bug fix in winstl/shims/access/string/LSA_UNICODE_STRING.hpp, required
  437. for newly released flecxx library
  438. 31st May 2008 - 1.9.43 released
  439. -------------------------------
  440. * more Win64-compatibility modifications
  441. * more Safe String library modifications
  442. * expanded the stlsoft::get_FILE_ptr attribute shim for MFC's CStdioFile
  443. 17th May 2008 - 1.9.42 released
  444. -------------------------------
  445. * more Win64-compatibility modifications
  446. * more Safe String library modifications
  447. 13th May 2008 - 1.9.41 released
  448. -------------------------------
  449. * bug fix for GCC compilation on PowerPC that was broken with 1.9.40
  450. 13th May 2008 - 1.9.40 released
  451. -------------------------------
  452. * significant refactoring of compiler-capability discrimination for GCC and
  453. VC++
  454. * compatibility fixes for SunPro compilers
  455. * bug fix in integral_printf_traits (introduced in 1.9.39)
  456. 11th May 2008 - 1.9.39 released
  457. -------------------------------
  458. * next tranche of changes for Win64 support
  459. 4th May 2008 - 1.9.38 released
  460. ------------------------------
  461. * next tranche of changes for Win64 support
  462. 3rd May 2008 - 1.9.37 released
  463. ------------------------------
  464. * first tranche of changes for Win64 support
  465. 30th April 2008 - 1.9.36 released
  466. ---------------------------------
  467. * added support for FreeBSD operating system
  468. 29th April 2008 - 1.9.35 released
  469. ---------------------------------
  470. * added value_multi_sz() to winstl::reg_value
  471. 25th April 2008 - 1.9.34 released
  472. ---------------------------------
  473. * renamed winstl::get_hwnd attribute shim to winstl::get_HWND
  474. * minor adjustments to Sun Pro support
  475. * library feature discrimination symbol cleanup
  476. * refactored error/exception handling in Windows Registry library
  477. 25th April 2008 - 1.9.33 released
  478. ---------------------------------
  479. * added support for the SunPro C and C++ compilers
  480. * various mods to ensure headers are self-contained when used with
  481. Windows "lean and mean" suppression symbols
  482. 22nd April 2008 - 1.9.32 released
  483. ---------------------------------
  484. * fix for VC++ 8/9 linker error in the allocator_selector
  485. * refactoring of string access shim headers for lightweight compilation
  486. 13th April 2008 - 1.9.31 released
  487. ---------------------------------
  488. * exception hierarchy refactoring
  489. * bug fix to stlsoft::must_init
  490. 3rd April 2008 - 1.9.30 released
  491. --------------------------------
  492. * tidying of distribution
  493. 3rd March 2008 - 1.9.29 released
  494. --------------------------------
  495. * more preparation for safe string library compatibility
  496. 24th March 2008 - 1.9.28 released
  497. ---------------------------------
  498. * enhancement to winstl::reg_key class
  499. * preparation for safe string library compatibility
  500. * bug fix for C-compilation in winstl/controls/functions.h
  501. 17th March 2008 - 1.9.27 released
  502. ---------------------------------
  503. * support for Visual C++ 9 (Visual C++ 2008)
  504. * fixed pre-processor typo that breaks GCC -pedantic
  505. * added item-data functions for list-/combo-boxes
  506. 15th March 2008 - 1.9.26 released
  507. ---------------------------------
  508. * definition, where appropriate, of STLSOFT_CF_FUNCTION_SYMBOL_SUPPORT,
  509. denoting that a particular compiler supports the __FUNCTION__
  510. pre-processor symbol
  511. 9th March 2008 - 1.9.24 released
  512. --------------------------------
  513. * wholesale increase of use of forward include guards, to reduce
  514. compilation times
  515. 8th March 2008 - 1.9.24 released
  516. --------------------------------
  517. * finishing up some missed std::swap refactoring
  518. 20th February 2008 - 1.9.23 released
  519. ------------------------------------
  520. * fix for minor compiler compatibility issue
  521. 8th February 2008 - 1.9.22 released
  522. -----------------------------------
  523. * refactored unixstl/synch/util/features.h
  524. 5th February 2008 - 1.9.21 released
  525. -----------------------------------
  526. * fixed a bug in platformstl/synch/util/features.h
  527. 3rd February 2008 - 1.9.20 released
  528. -----------------------------------
  529. * added new stlsoft::singlethreaded_tss_index synchronisation utility class
  530. 2nd February 2008 - 1.9.19 released
  531. -----------------------------------
  532. * enhancement of SAPI utility header for COMSTL
  533. 27th January 2008 - 1.9.18 released
  534. -----------------------------------
  535. * enhancement of STLSoft's integral_printf_trait component to support
  536. Pantheios 1.0.1 beta 91
  537. * release of SAPI utility header for COMSTL
  538. 5th January 2008 - 1.9.17 released
  539. ----------------------------------
  540. * bug fix for UNIXSTL on Leopard/GCC 4.0.1
  541. 29th December 2007 - 1.9.16 released
  542. ------------------------------------
  543. * bug fix in stlsoft::printf_traits
  544. * bug fix in winstl::GetTimeFormat_msA/W
  545. * other minor bug fixes
  546. * minor feature enhancements & refactoring
  547. 24th December 2007 - 1.9.15 released
  548. ------------------------------------
  549. * minor bug fix for C compilation
  550. 23rd December 2007 - 1.9.14 released
  551. ------------------------------------
  552. * updated stlsoft version (_STLSOFT_VER) missing in 1.9.13
  553. 20th December 2007 - 1.9.13 released
  554. ------------------------------------
  555. * features enhancements to fixed array classes
  556. 19th December 2007 - 1.9.12 released
  557. ------------------------------------
  558. * features enhancements to fixed array classes
  559. 17th December 2007 - 1.9.11 released
  560. ------------------------------------
  561. * minor modifications and bug-fixes
  562. 10th December 2007 - 1.9.10 released
  563. ------------------------------------
  564. * bug fix for recls (http://recls.org/)
  565. * minor feature enhancements
  566. 19th November 2007 - 1.9.9 released
  567. -----------------------------------
  568. shim fixes in UNIXSTL
  569. 18th November 2007 - 1.9.8 released
  570. -----------------------------------
  571. compatibility with Borland C/C++ 5.82 (Turbo C++); now supports VOLE
  572. 16th November 2007 - 1.9.7 released
  573. -----------------------------------
  574. Win 64-bit compilation support; not perfect yet
  575. Borland Turbo C++ v5.82 support; not perfect yet
  576. new stlsoft::get_FILE_ptr shim
  577. new platformstl::file_lines class
  578. new winstl::to_DATE conversion shim
  579. major enhancements to unixstl::memory_mapped_file
  580. multiple compiler compatibility enhancement fixes
  581. minor compilation warning fixes
  582. 25th September 2007 - 1.9.6 released
  583. ------------------------------------
  584. bug fixes - mostly minor
  585. 2nd August 2007 - 1.9.5 released
  586. --------------------------------
  587. minor additions and bug fixes
  588. 2nd August 2007 - 1.9.4 released
  589. --------------------------------
  590. __VA_ARGS__ compiler-support detection
  591. 29th July 2007 - 1.9.3 released
  592. -------------------------------
  593. A couple of small additions.
  594. Documentation still outstanding ... resolved soon. Hopefully.
  595. 2nd June 2007 - 1.9.2 released
  596. ------------------------------
  597. A few changes and updates to various components, primarily to support the
  598. release of recls 1.8.10 (http://recls.org/downloads.html).
  599. The elephant in the living room is still the lack of documentation. It's
  600. coming ... honest.
  601. 30th April 2007 - 1.9.1 released (for Extended STL, volume 1: CD)
  602. -----------------------------------------------------------------
  603. There has been an enormous amount of change in STLSoft from the last
  604. release, 1.8.9 (October 2005), to the new release, 1.9.1 (April/May 2007).
  605. Consequently, I just can't muster the effort at this time to detail the
  606. entire set of changes. The one big change I will note, however, is that
  607. the library files no longer reside in the root directory, e.g.
  608. comstl_bstr_functions.h
  609. and are now in appropriate sub-directories under the sub-project
  610. sub-directories, e.g.
  611. comstl/string/bstr_functions.h
  612. =============================== End of file ================================