NEWS 35 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750
  1. 6.4.5
  2. - Fixed "const" support in arguments to parameterised/prepared statements.
  3. 6.4.4
  4. - Use pkg-config if pg-config is not available.
  5. - In CMake build, prefer CMake's config headers over any found in source tree.
  6. 6.4.3
  7. - Updated copyright strings.
  8. - Added missing "stream" headers to autotools-based install.
  9. - Added stream headers to pqxx/pqxx header.
  10. 6.4.2
  11. - Fix mistake for Windows in 6.4.1: use PQfreemem, not std::free.
  12. - Easily enable runtime checks in configure: "--enable-audit".
  13. - Enable optimisation in CircleCI build.
  14. 6.4.1
  15. - Fixed more memory leaks.
  16. 6.4.0
  17. - Half fix, half work around nasty notice processor life time bug.
  18. - Fix selective running of tests: "test/unit/runner test_infinities".
  19. - Added some missing `std::` qualifications.
  20. 6.3.3
  21. - Throw more appropriate error when unable to read client encoding.
  22. - CMake build fixes.
  23. 6.3.2
  24. - Conversion errors no longer throw pqxx::failure; always conversion_error!
  25. - Use C++17's built-in numeric string conversions, if available.
  26. - Query numeric precision in a more sensible, standard way.
  27. - Avoid "dead code" warning.
  28. - Replace obsolete autoconf macros.
  29. - Remove all "using namespace std".
  30. - CMake build fixes.
  31. 6.3.1
  32. - Windows compile fix (CALLBACK is a macro there).
  33. - Work around Visual Studio 2017 not supporting ISO 646.
  34. 6.3.0
  35. - New "table stream" classes by Joseph Durel: stream_from/stream_to.
  36. - Support weird characters in more identifiers: cursors, notifcations, etc.
  37. - Connection policies are deprecated. It'll all be one class in 7.0!
  38. - Connection deactivation/reactivation is deprecated.
  39. - Some items that were documented as deprecated are now also declared as such.
  40. - Fix Windows bug where WSAPoll was never used. Thanks dpolunin.
  41. - Fix Windows CMake build to link to socket libraries. Thanks dpolunin.
  42. - Various other changes to the CMake build.
  43. - Fix failure when doing multiple string conversions with Visual C++.
  44. - Fix nested project builds in CMake. Thanks Andrew Brownsword.
  45. - In Visual Studio, build for host architecture, not "x64".
  46. - Fix string conversion link error in Visual Studio. Thanks Ivan Poiakov.
  47. - Fix string conversion to bool for "1". Thanks Amaracs.
  48. - Fix in escaping of strings in arrays. Thanks smirql.
  49. - Faster copying of results of large queries. Thanks Vsevolod Strukchinsky.
  50. - Starting to handle encodings properly! Thanks to Joseph Durel.
  51. - No longer using std::iterator (deprecated in C++17).
  52. 6.2.5
  53. - Removed deprecated pqxx-config.
  54. - Build fix on Visual C++ when not defining NOMINMAX.
  55. - Reduce setup code for string conversions, hopefully improving speed.
  56. - Allow nul bytes in tablereader.
  57. - Support defining string conversions for enum types.
  58. - Fixed const/pure attributes warning in gcc 8.
  59. - Updated build documentation to mention CMake option.
  60. - Fixed a floating-point string conversion failure with Visual Studio 2017.
  61. 6.2.4
  62. - Fix builds in paths containing non-ASCII characters.
  63. - New macro: PQXX_HIDE_EXP_OPTIONAL (to work around a client build error).
  64. 6.2.3
  65. - Build fixes.
  66. 6.2.2
  67. - Variable number of arguments to prepared or parameterised statement (#75).
  68. - Windows build fix (#76).
  69. 6.2.1
  70. - Compile fixes.
  71. 6.2.0
  72. - At last! A check against version mismatch between library and headers.
  73. - Small compile fixes.
  74. 6.1.1
  75. - Small compile fixes.
  76. - A particular error string would always come out empty.
  77. 6.1.0
  78. - Dependencies among headers have changed. You may need extra includes.
  79. - Library headers now include "*.hxx" directly, not the user-level headers.
  80. - Supports parsing of SQL arrays, when using "ASCII-like" encodings.
  81. 6.0.0
  82. - C++11 is now required. Your compiler must have shared_ptr, noexcept, etc.
  83. - Removed configure.ac.in; we now use configure.ac directly.
  84. - Removed pqxx::items. Use the new C++11 initialiser syntax.
  85. - Removed maketemporary. We weren't using it.
  86. - Can now be built outside the source tree.
  87. - New, simpler, lambda-friendly transactor framework.
  88. - New, simpler, prepared statements and parameterised statements.
  89. - Result rows can be passed around independently.
  90. - New exec0(): perform query, expect zero rows of data.
  91. - New exec1(): perform query, expect (and return) a single row of data.
  92. - New exec_n(): perform query, expect exactly n rows of data.
  93. - No longer defines Visual Studio's NOMINMAX in headers.
  94. - Much faster configure script.
  95. - Most configuration items are gone.
  96. - Retired all existing capability flags.
  97. - Uses WSAPoll() on Windows.
  98. - Documentation on readthedocs.org, thanks Tim Sheerman-Chase.
  99. 5.1.0
  100. - Releases after this will require C++11!
  101. - Internal simplification to pqxx::result.
  102. - A row object now keeps its result object alive.
  103. - New exec() variants: "expect & return 1 row," "expect no rows," "expect n."
  104. - ChangeLog is gone. It was a drag on maintenance.
  105. 5.0.1
  106. - Exposed sqlstate in sql_error exception class.
  107. 5.0
  108. - The PGSTD namespace alias is gone. Use the std namespace directly.
  109. - pqxx::tuple is now pqxx::row, to avoid clashes with std::tuple.
  110. - Deprecated escape_binary functions dropped.
  111. - Deprecated notify_listener class dropped.
  112. - Support for many old compilers dropped.
  113. - Support for "long long" and "long double" types is always enabled.
  114. - No longer uses obsolete std::tr1 namespace; use plain std instead.
  115. - Now requires libpq 9.1 or better.
  116. - Requires server version 9.1 or better.
  117. - Support for REPEATABLE READ isolation level added.
  118. - Makefile fixes for Visual Studio 2013.
  119. - Supports C++11 and C++14.
  120. - No longer has obsolete debian & RPM packaging built in.
  121. - Fixed failure to abort uncommitted subtransactions on destruction.
  122. - Fixed failure to detect some integer overflows during conversion.
  123. - Build tooling uses /usr/bin/env python instead of /usr/bin/python.
  124. - New configure options: --with-postgres-include and --with-postgres-lib.
  125. - In g++ or compatible compilers, non-exported items are no longer accessible.
  126. - Many build fixes for various platforms and compilers.
  127. 4.0
  128. - API change: noticers are gone! Use errorhandlers to capture error output.
  129. - API change: tablereaders and tablewriters are gone; they weren't safe.
  130. - API change: prepared statements are now weakly-typed, and much simpler.
  131. - API change: fields and tuples are now stand-alone classes in ::pqxx.
  132. - API change: thread-safety field have_strerror_r is now have_safe_strerror.
  133. - API change: notify_listener has been replaced with notification_receiver.
  134. - notification_receiver takes a payload parameter.
  135. - Easier Visual C++ setup.
  136. - Absolutely requires a libpq version with PQescapeStringConn.
  137. - Absolutely requires libpq 8.0 or better.
  138. - Changes for C++0x.
  139. - Supports clang++.
  140. - Visual C++ makefiles now support new-style unit tests.
  141. - Sample headers for more recent Visual Studio versions.
  142. - Fixes binary-data escaping problems with postgres 9.0.
  143. - Fixes problems with binary-string handling and escaping.
  144. - Fixes compatibility problems between 9.x libpq and 7.x backend.
  145. - quote_name to escape SQL identifiers for use in queries.
  146. - syntax_error reports error's approximate location in the query.
  147. - On Windows, now uses ws2_32 instead of wsock32.
  148. - Various Windows build fixes.
  149. - Updated for gcc 4.6.0.
  150. - configure script supports --enable-documentation/--disable-documentation.
  151. - Streamlined test/release toolchain.
  152. 3.1
  153. - Shared libraries are now versioned by ABI: 3.1 instead of 3.1.0 etc.
  154. - Threading behaviour is now documented, and can be queried.
  155. - Version information available at compile time.
  156. - Supports parameterized statements.
  157. - Result tuples now support slicing.
  158. - Configure with --with-tr1=boost to use BOOST shared_ptr.
  159. - String conversion now has its own header file.
  160. - Supports read-only transactions.
  161. - Fixed breakage with Solaris "make".
  162. - Uses shared_ptr if available.
  163. - binarystring::str() is no longer cached; no longer returns reference.
  164. - Fixed problems in Visual C++ Makefile for test suite.
  165. - Fixed problems with RPM packaging.
  166. - Fixed build problem on RedHat/CentOS 5.
  167. - Lets you check whether a prepared statement has been defined.
  168. - "Varargs" prepared statements.
  169. - Unnamed prepared statements now supported.
  170. - Results have iterator as well as const_iterator.
  171. - Rewrite of robusttransaction logic; may actually do its job now.
  172. - Connections support async query cancel from signal handler or thread.
  173. - More documentation for performance features.
  174. 3.0
  175. - Website is now at http://pqxx.org/ (no redirects)
  176. - Completely replaced cursor classes
  177. - More helpful error messages on failed connections
  178. - More detailed hierarchy of constraint-violation exception classes
  179. - trigger is now called notify_listener, trigger header is now notify-listen
  180. - New mixin base class pqxx_exception distinguishes libpqxx exception types
  181. - Quoting is back! transaction_base::quote() & connection_base::quote()
  182. - Several build & documentation problems with Visual C++ fixed
  183. - Compile fixes for gcc 4.2, 4.3
  184. - Compile fixes for Sun Studio Express 5.9
  185. - Uses strlcpy() where available, instead of strncpy()
  186. - Keeps better track of applicable text encodings
  187. - Fixed bug with prepared statement parameters in separate C++ statements
  188. - robusttransaction now works for multiple users
  189. - Pipeline lets you cancel ongoing queries, e.g. because they run for too long
  190. - Fixed broken escaping of binary values in tablewriter
  191. - Floating-point types now represented with full precision
  192. - Proper unit tests for new functionality
  193. - New traits-based system for adding data types
  194. - Floating-point infinities now supported
  195. - Flushing/completing a pipeline now frees up the transaction for other use
  196. - Completely reworked test suite, builds and runs much faster
  197. - tablewriter supports writing of raw lines
  198. 2.6.9
  199. - Removed old 1.x API (that means all identifiers with capital letters!)
  200. - Tested with all current libpq versions and oldest/newest supported backends
  201. - No longer have old OnCommit()/OnAbort()/OnDoubt() callbacks in transactor!
  202. - Fixes failure when closing cursors with upper-case letters in their names
  203. - Fixes bug when adding triggers to connections that aren't open yet
  204. - Fixes bug when removing triggers
  205. - Fixes small memory leak when preparing statements
  206. - Fixes many problems with older backends
  207. - Fixes bug in result::swap(): protocol versions were not swapped
  208. - Some errors went undetected when using certain libpq versions
  209. - Fixes prepared statements on new libpq versions talking to old backends
  210. - Can estimate server version if libpq does not know how to obtain it
  211. - Greatly reduced memory usage while escaping strings
  212. - With Visual C++, creates lib/ directory if not already present
  213. - Useful error messages when preparing statements
  214. - Allows prepared statements to be registered explicitly
  215. - Support for "long long" types; enable with PQXX_ALLOW_LONG_LONG macro
  216. - Compilation errors for older libpq versions fixed
  217. - Some new small utility classes for disabling notice processing etc.
  218. - Result sets remember the queries that yielded them
  219. - New test script, pqxx-fulltest, tests against all current postgres versions
  220. - Connections can simulate failure
  221. - Adds password encryption function
  222. 2.6.8
  223. - Fixes bug: binary parameters to prepared statements truncated at nul bytes
  224. - New, more specific exception types to distinguish errors from server
  225. - Resolved serious problems with generated reference documentation
  226. - Automatically detect Windows socket library with MinGW
  227. - Windows "make" fixed to run from main directory, not win32
  228. - Fixes "mktemp" problems on some BSD-based platforms
  229. - pqxx-config is deprecated; use pkg-config instead
  230. - On GNU/Linux, uses poll() instead of select() to avoid file descriptor limit
  231. - Will provide server and protocol version information where available
  232. - New cursor class, absolute_cursor
  233. 2.6.7
  234. - New escape functions for binary data: transaction_base::esc_raw()
  235. - Improved detection of socket libraries, especially for MinGW
  236. - Works around bug in some versions of GNU grep 2.5.1
  237. - Fixes problem with configuration headers
  238. - Fixes PQprepare() detection
  239. - Fixes incomplete Visual C++ Makefile
  240. - Fixes compile error in workaround for older libpq versions
  241. - Removes "rpath" link option
  242. 2.6.6
  243. - New, encoding-safe string-escaping functions
  244. - Upper-case letters now allowed in prepared-statement names
  245. - Fixes crash in test005
  246. - More Visual C++ improvements
  247. - Removed collaboration diagrams from reference docs
  248. - New templating system for generating Windows Makefiles etc.
  249. 2.6.5
  250. - Visual C++ users: copy win32/common-sample to win32/common before editing it
  251. - Should fix problems finding socket library on MinGW
  252. - Even more work on Visual C++ problems
  253. - Updated documentation for Visual C++ users
  254. - Fixed bug in prepared statements (mostly visible on Visual C++)
  255. - Nested transactions work harder to detect backend support
  256. 2.6.4
  257. - Massively improved compatibility with Windows and Visual C++
  258. - Fixed late initialization of "direct" connection state
  259. - Fixed problem with initialization of connection capabilities
  260. - Fixed configuration bug for libpq in nonstandard locations
  261. - Sample configuration header for libpq found in PostgreSQL 8.1
  262. 2.6.3
  263. - Radical rework of prepared statements; INCOMPATIBLE INTERFACE CHANGE!
  264. - Dropped support for g++ 2.95
  265. - Emulate prepared statements support on old libpq or old backend
  266. - Bug fix: missing tutorial (release script now tests for this)
  267. - Automatically links in socket library on Windows or Solaris, if needed
  268. - Bug fix: check for std namespace didn't work
  269. - Fixes for Cygwin/MSYS/MinGW
  270. 2.6.2
  271. - Bug fix: connection state was not set up properly in some common cases
  272. - Bug fix: headers were installed in "include" instead of "include/pqxx"
  273. - Bug fix: sqlesc(string) broke with multibyte or multiple encodings
  274. - namedclass is now used as a virtual base; affects all subclass constructors
  275. - Initial implementation of subtransactions
  276. - Detect more connection capabilities
  277. - Standard library namespace can be set from configure script's command line
  278. - Completely reworked connection hierarchy, with separate policy objects
  279. - Clients can now define their own connection policies
  280. - Paved the way for client-defined thread synchronization
  281. - Now lives at http://thaiopensource.org/development/libpqxx/
  282. 2.6.1
  283. - Hugely improved recognition of different strerror_r() versions
  284. - Resolved link problems with gcc 4.0 and shared library
  285. 2.6.0
  286. - New macro PQXX_SHARED defines whether to use/build libpqxx as shared library
  287. - Robusttransaction compatible with PostgreSQL 8.1
  288. - Infrastructure for querying connection/backend capabilities at runtime
  289. - Greatly improved cursor support
  290. - Connection reactivation can be inhibited explicitly
  291. - Tries even harder to make sense of conflicting strerror_r() definitions
  292. - Detects connection failures that libpq glosses over
  293. - Reference documentation grouped into more coherent sections
  294. - Assumes strerror() is threadsafe on systems that have no strerror_r()
  295. - Now allows connection's socket number to be queried
  296. - New internal_error class for libpqxx-internal errors
  297. - With Visual C++, doesn't redefine NOMINMAX if it is defined already
  298. - Several compatibility improvements for Visual C++
  299. - Fixes and workarounds for HP-UX and HP aCC compiler
  300. - Phased old cursor interface out of test suite; tests ported to new interface
  301. - Added documentation on thread safety
  302. - New thread safety model
  303. - Large objects have functions to tell current position
  304. - Minor updates to tutorial (somebody pay me and I'll do more :)
  305. - No longer needs libpq-fs.h header
  306. - Meaningful error messages for ambiguous string conversions fixed
  307. 2.5.6
  308. - Support null parameters to prepared statements (use C-style char pointers)
  309. 2.5.5
  310. - Diagnoses connection failure during result transfer
  311. - Fixes invalid -R link option in pqxx-config
  312. 2.5.4
  313. - Fix workaround code for older libpq versions without PQunescapeBytea()
  314. - Work around grep bug in Fedora Core 4 that broke configure in UTF-8 locales
  315. - In Visual C++, assume libpqxx is a DLL when linking to std library as DLL
  316. - Missing documentation in distribution archive is back again
  317. - Export fewer symbols from library binary with gcc 4.0
  318. - Releases now automatically tested against gcc 4.0
  319. - Meaningful link errors for additional ambiguous string conversions
  320. - DLL symbol exports now automatically tested before each release
  321. 2.5.3
  322. - Greatly improved builds on MinGW with MSYS
  323. - All known problems with MinGW fixed
  324. - Fix bugs in stream classes that caused failures and crashes with STLport
  325. - Detects and uses STLport automatically
  326. 2.5.2
  327. - Fix memory leaks
  328. - Fix problems with NaN (not-a-number values) on some compilers
  329. 2.5.1
  330. - Fix configure script; broke when very recent libpqxx was already installed
  331. - Fix cursor breakage when "long" is more than 32 bits
  332. - Fix cases where new-style abort/doubt handlers are used
  333. - Fix for division-by-zero error in Visual C++ (changed sample headers)
  334. - Improved checking for strerror_r in configure script
  335. - Fix for problem MinGW has with configure script
  336. - Fix spurious failure of Oid check in configure script
  337. 2.5.0
  338. - Fix race condition in removing triggers
  339. - Fix binary string conversion with older libpq
  340. - Fix some error strings that may previously have come out wrong
  341. - No longer includes any libpq headers while compiling client code
  342. - Improved thread safety: avoid strerror() where possible
  343. - Prepared statements
  344. - Translate more error conditions to std::bad_alloc exception
  345. - Clearer and more specific explanations for configuration failures
  346. - Improved documentation
  347. - Looks for standard library in global namespace as well as std
  348. - Accepts standard C library in std namespace
  349. - Release script automatically tests with a range of compilers, not just one
  350. - Compatible with g++ 2.95 again; this time it's tested automatically
  351. 2.4.4
  352. - Fix problems building shared library in Visual C++
  353. - Fix autobuild in Debian, which was broken by mistake in BSD grep workaround
  354. - Fix conversion of string to floating-point type NaN
  355. - Remove stray CVS directories from distribution archive
  356. - Workaround for Visual C++ problem when issuing messages from destructors
  357. - Yet more workarounds for Visual C++ bugs
  358. - Fix situation where connection state might not be restored after failure
  359. - Fix configuration problem on SunOS
  360. - Network speedup in connection setup with pending variables and/or triggers
  361. 2.4.3
  362. - Yet more workarounds for bugs in Visual C++ .NET 2003
  363. - Fixes for SunC++ 5.5
  364. - On Visual C++, now defines NOMINMAX, fixing large object support
  365. - Workaround for BSD grep
  366. - Improvements for builds from CVS
  367. - Sample config headers for Sun ONE Studio 8
  368. 2.4.2
  369. - Fix minor problems with Apple's version of g++ 3.3
  370. - Fix problem with MingW on Windows
  371. - Workarounds and fixes for Visual C++.NET 2003
  372. - Renewed compatibility with g++ 2.95
  373. - More sample configuration headers
  374. - Updated reference documentation
  375. - Removed assert code
  376. 2.4.1
  377. - Several bugs in icursor_iterator fixed; incompatible interface changes
  378. - Tightens throw specifications on begin(), end(), size(), capacity()
  379. - Containers define reference and pointer types
  380. - Implements swap() in all container types
  381. - Implements == and != in all container types
  382. - Stabilizes new (but still limited) cursor interface
  383. - icursor_iterator thinks purely in stride granularity
  384. - Introduces </<=/>/>= comparisons for icursor_iterators
  385. - Allows "adopted SQL cursors" in new cursor interface
  386. - Reference-counting in binarystrings, so they can be copied (and efficiently)
  387. - Fixes reference-to-temporary problem with std::reverse_iterator in results
  388. - Result/tuple reverse_iterators no longer require std::reverse_iterator
  389. - Includes some sample config headers (in config/sample-headers)
  390. - Replaces iffy autoconf checks (avoid failures with maintainer mode's -Werror)
  391. - Fixes incompatibility with some implementations of Unix "cut" program (again)
  392. 2.4.0
  393. - Fixes incompatibility with some implementations of Unix "cut" program
  394. - Fixes "ptrdiff_t redefinition" problem in some environments
  395. - More container-like tuples, so fields can be iterated
  396. - All size_type types are now unsigned
  397. - More conservative robusttransaction--thanks Tom Lane
  398. - Stream-like extraction operator for result field conversion
  399. - Warnings about deprecated headers now suppressed while compiling library
  400. - Iterator constructors and copy assignments now have empty throw specs
  401. 2.3.0
  402. - Generates MinGW Makefile automatically
  403. - Documents MinGW build
  404. - Workaround for missing prepared-statement support
  405. - Potential bug fixed in closing of connections
  406. - Fixed incompatibility between new cursor streams and older backends
  407. - Removed pqxxbench
  408. 2.2.9
  409. - Bugfix in removing trigger
  410. - Added "failed connection" to regression test
  411. - Some changes to throw specifications
  412. - Putting libpq in its own namespace is optional
  413. 2.2.8
  414. - Moved libpq into pqxx::internal::pq namespace
  415. - New config system separates compiler-related items from libpq-related ones
  416. - Auto-generates Visual C++ Makefile, should always remain up-to-date now
  417. 2.2.7
  418. - Bugfix: from_string() didn't handle LONG_MIN--thanks Yannick Boivin
  419. 2.2.6
  420. - Complete "pipeline" rewrite, for better exception safety
  421. - New garbage collection scheme for "result;" constructors now exception-free
  422. 2.2.5
  423. - First new cursor classes!
  424. - Fixed strange failure in tablewriter during large insertions
  425. - Updated tutorial
  426. 2.2.4
  427. - New utility class template, items<> for easy container initialization
  428. - New utility function template, separated_list()
  429. - Error handling bugfix in tablewriter
  430. - Fixed tablereader handling of lines ending in empty fields
  431. - tablereader lines no longer end in newline with old libpq versions
  432. 2.2.3
  433. - Trigger names no longer need to be proper identifiers
  434. - Compile fixes for g++ 3.4.0 and other modern compilers
  435. - Tablestreams may specify column lists
  436. - Deprecated Quote() in favour of sqlesc(); improved quoting
  437. - Fixed generation of libpqxx.spec
  438. 2.2.2
  439. - Bugfix in fieldstream w.r.t. reading strings on some systems
  440. - Renamed config.h to internalconfig.h to avoid confusion
  441. - New connection functions allow client to sleep until notification arrives
  442. - Notification functions return number of notifications received
  443. - Even fewer client-visible macros exported by libconfig.h
  444. 2.2.1
  445. - New, 2.x-style string conversions without locale problem
  446. - Documentation improvements
  447. - Implemented result::swap()
  448. 2.2.0
  449. - Installs to /usr/local by default, NOT to /usr/local/pqxx like before!
  450. - Uses Postgres-provided script to find Postgres (thanks Peter Eisentraut)
  451. - Which means no more configure arguments required on Irix (thanks Arjen Baart)
  452. - Fixes long-standing bug in result class!
  453. - New pipeline class for throughput optimization
  454. - New field stream class: read result field as C++ stream
  455. - Separate namespace pqxx::internal for definitions not relevant to the user
  456. - More Windows compilation fixes
  457. - SUN Workshop 6 compile fixes and workarounds (thanks Jon Meinecke)
  458. - Implemented reverse_iterator for result class
  459. - Checks for functional std::reverse_iterator template
  460. - Preliminary Makefile for MinGW compiler (thanks Pasquale Fersini)
  461. - Changed the way unique<> works
  462. - Checks for functional std::count_if()
  463. - Bugs fixed & test programs added
  464. 2.1.3
  465. - Makefile fixes for Visual C++, thanks Paresh Patel
  466. - Library ABI versioning implemented, thanks Roger Leigh
  467. - Uses old SQL isolation level syntax for compatibility, thanks koun@sina.com
  468. - tablestreams can explicitly complete() before destructor
  469. - Bugfix in robusttransaction: forgot to set isolation level
  470. - Fixed off-by-ones in tablewriter escape code
  471. - tablestreams now use \n-style escape sequences
  472. - tablestreams support octal numbers
  473. - Freely definable "null" strings in tablestreams, as originally intended
  474. - Improved Debian packaging, thanks Roger Leigh
  475. - tablestreams use libpq's new-style COPY functions, if available
  476. - Extended automation of build/release procedure
  477. - tablewriter writes in nonblocking mode to help hide communication latency
  478. - Can get backend variables as well as set them
  479. - More configuration macro cleanups
  480. - Workaround for missing clear() in standard string
  481. - Merry Christmas!
  482. 2.1.2
  483. - Compile fix for gcc libstdc++ 2.9, thanks Jaroslaw Staniek
  484. - Moved deprecated functions below current ones
  485. - Cleanups for Debian packaging (thanks Roger Leigh, new Debian maintainer!)
  486. - Updated authors listings
  487. - Bumped ABI version number for the first time (now 2:0:1)
  488. 2.1.1
  489. - More workarounds for gcc 2.95
  490. - Automated tools keep test makefiles up to date
  491. 2.1.0
  492. - Asynchronous connections
  493. - Fixed configure --includedir option (thanks Ray Dassen!)
  494. - Compile fixes for SUN Workshop 6, and one for gcc on FreeBSD 4.8
  495. 2.0.0
  496. - New stable release!
  497. - Includes all changes since 1.5 release.
  498. - Workarounds for Microsoft Visual C++ 7 problems. Thanks Costin Musteata!
  499. - No longer need to define PQXX_NO_PARTIAL_CLASS_TEMPLATE_SPECIALISATION
  500. - Integrated Windows configuration into regular configuration
  501. - Only uses #warning if preprocessor supports it
  502. - Works on libpq versions without PQ[un]escapeBytea()
  503. 1.9.9
  504. - Minor documentation changes
  505. 1.9.8
  506. - Workaround for compile problem with postgres 7.3
  507. - Convenience typedef for transaction<>: "work"
  508. 1.9.7
  509. - binarystring rewritten and moved to its own file
  510. - binarystring::size() does not include terminating null byte!
  511. - Implemented escaping of binary strings
  512. - Fix in workaround for missing numeric_limits on some compilers
  513. - String conversion supported for unsigned char *
  514. - More helpful link errors for unsupported string conversions
  515. - Complete test coverage
  516. 1.9.6
  517. - Fixes in "field table" support
  518. - Improved coexistence with client program's config.h, if any
  519. - Prefixed autoconf macros used in headers with "PQXX_"
  520. 1.9.5
  521. - Header file contents moved to .hxx files for editor filetype recognition
  522. - Fixes wrong timestamp for include/pqxx/result in 1.9.4 distribution
  523. 1.9.4
  524. - Fixes Visual C++ build problem when compiling as library
  525. 1.9.3
  526. - Quick release for various minor changes
  527. 1.9.2
  528. - Renamed most public member functions to all-lower-case names
  529. - <pqxx/all> (previously <pqxx/all.h> is now called <pqxx/pqxx>
  530. 1.9.1
  531. - tablestream destructor crashed if table didn't exist (thanks Sean [Rogers?])
  532. - Renamed all header files to remove ".h" suffix
  533. - Tables created by regression test now prefixed with "pqxx" for safety
  534. - Large objects now considered stable
  535. - Migrated tutorial from SGML to DocBook XML (thanks Wichert Akkerman)
  536. - Added tests 57-59
  537. - Fixed compile error in largeobject
  538. - Updated Windows makefiles
  539. 1.9.0
  540. - EVERYTHING HAS CHANGED. Read the list or run into trouble!
  541. - CURSOR HAS INCOMPATIBLE CHANGES AND MAY BE REPLACED COMPLETELY
  542. - CACHEDRESULT HAS INCOMPATIBLE CHANGES (won't compile without changes)
  543. - REVISE YOUR TRANSACTORS; now templatized on transaction type
  544. - Finally got license file in order
  545. - Incompatible change in setting transactor quality of service
  546. - Cursors require serializable isolation level (checked at link time)
  547. - Renamed Connection_base to connection_base, Connection to connection,
  548. LazyConnection to lazyconnection
  549. - Renamed LargeObject to largeobject, LargeObjectAccess to largeobjectaccess
  550. - Renamed Noticer to noticer
  551. - Renamed Trigger to trigger
  552. - Renamed Result to result, Tuple to tuple, Field to field
  553. - Renamed Unique<> to unique<>
  554. - Renamed CachedResult to cachedresult
  555. - Transformed Transaction Taxonomy (TTT):
  556. - Renamed Transaction_base to transaction_base
  557. - Renamed Transaction to transaction
  558. - Renamed Transactor to transactor<> (now a template)
  559. - Implemented transaction isolation levels as compile-time static properties
  560. - transaction and robusttransaction now templatized on their isolation levels
  561. - cachedresult requires serializable isolation level (checked at link time)
  562. - Now need to include pqxx/transactor.h yourself if you need transactors
  563. - Large objects require real backend transaction at compile time
  564. - New type oid and constant oid_none for row identifiers resp. null oid
  565. - Added some forgotten PQXX_LIBEXPORTs
  566. - Tweaked documentation in many places
  567. 1.8.1
  568. - By popular request: more convenient way to read field values
  569. - Documented locale sensitivity of ToString(), FromString(), Field::to()
  570. 1.8.0
  571. - Compiles on gcc 2.95 again (heavy streambuf workarounds in largeobject.h)
  572. - ConnectionItf renamed to Connection_base, TransactionItf to Transaction_base
  573. - connectionitf.h is now connection_base.h, transactionitf.h connection_base.h
  574. 1.7.8
  575. - BinaryString class for unescaping bytea strings
  576. - PQAlloc template keeps track of libpq-allocated objects
  577. - Removed some consts in Unique<>, ConnectionItf, sorry!
  578. - Can now set session variables on connections, transactions
  579. 1.7.7
  580. - ./configure also looks for postgres in /usr/local/pgsql
  581. - test007 now uses SQL_ASCII as its test encoding
  582. - integrated Greg Hookey's Debian packaging
  583. 1.7.6
  584. - added postgres library (libpq) to dynamic link path
  585. 1.7.5
  586. - added test052 - test055
  587. - added Result::Tuple::ColumnNumber()
  588. - also test setting of client encodings
  589. - removed superfluous versions of to_file() from large object classes
  590. 1.7.4
  591. - new exception class, sql_error, remembers query text
  592. - moved exception classes to new file include/pqxx/except.h
  593. - test cases report texts of any failed queries
  594. - added tools/rmlo.cxx
  595. 1.7.3
  596. - default constructors for connection classes
  597. - revamped seeking operations on large objects
  598. - better error messages in large objects
  599. - added test050, test051
  600. 1.7.2
  601. - more workarounds for Sun CC 5.1, thanks Jeroen van Erp!
  602. - preliminary support for "named" queries
  603. - can now Quote() string constants
  604. - included Doxyfile in distribution archive
  605. - helps avoid Windows memory allocation problem in DLLs
  606. - allows setting of client character set encoding
  607. 1.7.1
  608. - regenerated documentation
  609. 1.7.0
  610. - removed all deprecated features
  611. - connection string documentation in README
  612. - separate Connection, LazyConnection classes
  613. - made test001 more concise
  614. - added test049
  615. 1.6.4
  616. - configure script now respects different std namespace
  617. 1.6.3
  618. - olostream, lostream now flush themselves before closing
  619. - fixed compilation problems when using ToString<>() on a plain char *
  620. - compilation fixes for Sun compiler (thanks Jeroen van Erp!)
  621. - added .pc file for pkgconfig (thanks Ray Dassen!)
  622. 1.6.2
  623. - Debian packaging added to distribution archive
  624. - new ilostream, olostream, lostream classes
  625. 1.6.1
  626. - large object's cunlink() replaced by remove()
  627. - default constructor for LargeObject
  628. 1.6.0
  629. - new large objects interface
  630. - added test048
  631. 1.5.0
  632. - allow result fields to be written to streams
  633. - removed confusing CachedResult::clear()
  634. - minor documentation updates
  635. - added test046, test047
  636. - added <pqxx/all.h> convenience header
  637. 1.4.5
  638. - fixed crash CachedResult that was less shallow than I thought
  639. - fixed quoting problem with adopted SQL cursors
  640. 1.4.4
  641. - (forgot to save cursor.cxx with new constructor in 1.4.4, sorry)
  642. 1.4.3
  643. - all tests now have three-digit numbers
  644. - Cursor can adopt SQL cursor returned by a function
  645. 1.4.2
  646. - bugfix in CachedResult when accessing empty Results
  647. - minor documentation improvements
  648. 1.4.1
  649. - documents new homepage: http://pqxx.tk/
  650. - Connection constructor accepts null connect string
  651. - Exec() now also takes queries as C++ strings
  652. 1.4.0
  653. - Connection::IsOpen() renamed to is_open()
  654. - NoticeProcessor replaced by Noticer (with C++ linkage)
  655. 1.3.7:
  656. - detects nasty rare problem case with Cursors in unknown positions
  657. 1.3.6:
  658. - fixed detection of missing PQescapeString(). Thanks David Wright!
  659. v1.3.5:
  660. - documented Windows build procedure
  661. - fixed problem with upper-case letters in cursor names. Thanks key88!
  662. 2003-01-19 16:00, v1.3.4:
  663. - support long double type
  664. - clarified some error messages
  665. 2003-01-08 18:45, v1.3.3:
  666. - fix missing include in test13
  667. 2003-01-07 02:30, v1.3.2:
  668. - configure looks for postgres includes/library in more places, thanks Ray!
  669. 2003-01-02 23:00, v1.3.1:
  670. - bugfix in Cursor positioning
  671. 2003-01-02 20:30, v1.3.0:
  672. - absolute positioning for Cursor
  673. - better documentation on cursors
  674. - reduced, but improved test suite output
  675. 2002-12-23 17:30, v1.2.8:
  676. - Cursor::Move() returns number of rows skipped
  677. - new typedef Cursor::size_type
  678. 2002-12-14 23:30, v1.2.7:
  679. - test suite now distinguishes expected errors from unexpected ones
  680. 2002-12-09 20:00, v1.2.6:
  681. - fixed some Cursor test cases for change in postgres 7.3
  682. - added important warning to Cursor
  683. 2002-12-09 02:00, v1.2.5:
  684. - added important warning to CachedResult
  685. 2002-12-08 14:14, v1.2.4:
  686. - fixed compile error on some systems in include/pqxx/util.h
  687. 2002-12-04 12:00, v1.2.3:
  688. - workaround for broken <sys/select.h> on some systems
  689. - fixed Quote() bug
  690. 2002-12-03 01:30, v1.2.2:
  691. - fixed serious CachedResult bug
  692. - added test41
  693. 2002-12-02 17:00, v1.2.1:
  694. - hopefully fixed cursor bug with PostgreSQL 7.3
  695. 2002-12-01 22:00, v1.2.0:
  696. - new CachedResult class
  697. 2002-11-07 13:15, v1.1.4:
  698. - workaround for missing InvalidOid definition
  699. 2002-10-23 16:00, v1.1.3:
  700. - Cursor & TableStream hierarchy now work on any transaction type
  701. - get no. of affected rows & oid of inserted row from Result
  702. - increased test coverage
  703. 2002-10-21 01:30, v1.1.2:
  704. - updated build procedure
  705. - Debian packaging improvements
  706. 2002-09-25 03:00, v1.1.1:
  707. - supports activating/deactivating of connections
  708. - various Connection getters now activate deferred connection first
  709. 2002-09-23 01:00, v1.1.0:
  710. - supports lazy connections (added 19 test cases just for these)
  711. - greatly reduced performance overhead for RobustTransaction
  712. - removed id field from RobustTransaction's transaction log tables
  713. 2002-09-14 20:00, v1.0.1:
  714. - now lives on GBorg
  715. - various packaging updates
  716. 2002-06-12 17:30, v0.5.1:
  717. - no longer have to destroy one transaction before creating the next
  718. 2002-06-07 17:15, v0.5.0:
  719. - "make install" now finally installs headers!
  720. - distribution now includes SGML (DocBook) version of tutorial
  721. 2002-06-04 15:00, v0.4.4:
  722. - may now have multiple triggers with same name on single connection
  723. 2002-06-02 23:00, v0.4.3:
  724. - fixed TableReader problem with \t and \n
  725. 2002-06-01 21:00, v0.4.2:
  726. - hopefully fixes compile problem with broken std::iterator
  727. - configure no longer requires --with-postgres-include=/usr/include/postgresql
  728. 2002-05-29 22:00, v0.4.1:
  729. - can now also handle bool, unsigned char, short field types
  730. 2002-05-27 22:30, v0.4.0:
  731. - RENAMED Transactor::TRANSACTIONTYPE to argument_type for STL conformance
  732. - RENAMED Result::Field::name() to Name()
  733. - documentation improvements
  734. - minor optimizations
  735. 2002-05-18 00:00, v0.3.1:
  736. - removed broken postgres_fe.h dependency (hopefully permanent fix)
  737. 2002-05-12 22:45, v0.3.0:
  738. - also looks for postgres_fe.h in postgres' internal/ directory (tmp fix)
  739. 2002-05-05 01:30, v0.2.3:
  740. - extensive build instructions in README
  741. - make check now controlled through PG environment variables
  742. 2002-05-04 19:30, v0.2.2:
  743. - more STL conformance
  744. - fixed regression test
  745. - test6 now copies "orgevents" to "events" by default
  746. 2002-04-28 23:45 Version bumped to 0.2
  747. 2002-04-28 23:45 Self-generated distribution archive
  748. 2002-04-27 14:20 Replaced automake symlinks with actual files
  749. 2002-04-07 02:30 Released with configure script
  750. 2002-03-29 01:15 Not yet released. Still integrating autogen stuff...