HISTORY 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193
  1. =====================
  2. What's new in 1.2.4
  3. =====================
  4. final
  5. =====
  6. No changes.
  7. rc 1
  8. ====
  9. Fixed a dangling reference to the old types module.
  10. beta 5
  11. ======
  12. Another internal fix for handling remapped character sets.
  13. _mysql.c was broken for the case where read_timeout was *not* available. (Issue #6)
  14. Documentation was converted to sphinx but there is a lot of cleanup left to do.
  15. beta 4
  16. ======
  17. Added support for the MySQL read_timeout option. Contributed by
  18. Jean Schurger (jean@schurger.org).
  19. Added a workaround so that the MySQL character set utf8mb4 works with Python; utf8 is substituted
  20. on the Python side.
  21. beta 3
  22. ======
  23. Unified test database configuration, and set up CI testing with Travis.
  24. Applied several patches from André Malo (ndparker@users.sf.net) which fix some issues
  25. with exception handling and reference counting and TEXT/BLOB conversion.
  26. beta 2
  27. ======
  28. Reverted an accidental change in the exception format. (issue #1)
  29. Reverted some raise statements so that they will continue to work with Python < 2.6
  30. beta 1
  31. ======
  32. A lot of work has been done towards Python 3 compatibility, and avoiding warnings with Python 2.7.
  33. This includes import changes, converting dict.has_kay(k) to k in dict, updating some test suite methods, etc.
  34. Due to the difficulties of supporting Python 3 and Python < 2.7, 1.2.4 will support Python 2.4 though 2.7.
  35. 1.3.0 will support Python 3 and Python 2.7 and 2.6.
  36. MySQLdb-2.0 is instead going to become moist-1.0. See https://github.com/farcepest/moist
  37. The Windows build has been simplified, and I plan to correct pre-built i386 packages built
  38. against the python.org Python-2.7 package and MySQL Connector/C-6.0. Contact me if you
  39. need ia64 packages.
  40. The connection's cursorclass (if not default) was being lost on reconnect.
  41. Newer versions of MySQL don't use OpenSSL and therefore don't have HAVE_SSL defined, but they do have
  42. a different SSL library. Fixed this so SSL support would be enabled in this case.
  43. The regex that looked for SQL INSERT statement and VALUES in cursor.executemany() was made case-insensitive
  44. again.
  45. =====================
  46. What's new in 1.2.3
  47. =====================
  48. ez_setup.py has been update to include various fixes that affect the build.
  49. Better Python version and dependency detection as well as eliminate exception
  50. warnings under Python 2.6.
  51. Eliminated memory leaks related to Unicode and failed connections.
  52. Corrected connection .escape() functionality.
  53. Miscellaneous cleanups and and expanded testing suite to ensure ongoing release
  54. quality.
  55. =====================
  56. What's new in 1.2.2
  57. =====================
  58. The build system has been completely redone and should now build
  59. on Windows without any patching; uses setuptools.
  60. Added compatibility for Python 2.5, including support for with statement.
  61. connection.ping() now takes an optional boolean argument which can
  62. enable (or disable) automatic reconnection.
  63. Support returning SET columns as Python sets was removed due to an
  64. API bug in MySQL; corresponding test removed.
  65. Added a test for single-character CHAR columns.
  66. BLOB columns are now returned as Python strings instead of byte arrays.
  67. BINARY character columns are always returned as Python strings, and not
  68. unicode.
  69. Fixed a bug introduced in 1.2.1 where the new SHOW WARNINGS support broke
  70. SSCursor.
  71. Only encode the query (convert to a string) when it is a unicode instance;
  72. re-encoding encoded strings would break things.
  73. Make a deep copy of conv when connecting, since it can be modified.
  74. Added support for new VARCHAR and BIT column types.
  75. DBAPISet objects were broken, but nobody noticed.
  76. ========================
  77. What's new in 1.2.1_p2
  78. ========================
  79. There are some minor build fixes which probably only affect MySQL
  80. older than 4.0.
  81. If you had MySQL older than 4.1, the new charset and sql_mode
  82. parameters didn't work right. In fact, it was impossible to create
  83. a connection due to the charset problem.
  84. If you are using MySQL-4.1 or newer, there is no practical difference
  85. between 1.2.1 and 1.2.1_p2, and you don't need to upgrade.
  86. =====================
  87. What's new in 1.2.1
  88. =====================
  89. Switched to Subversion. Was going to do this for 1.3, but a
  90. SourceForge CVS outage has forced the issue.
  91. Mapped a lot of new 4.1 and 5.0 error codes to Python exceptions
  92. Added an API call for mysql_set_character_set(charset) (MySQL > 5.0.7)
  93. Added an API call for mysql_get_character_set_info() (MySQL > 5.0.10)
  94. Revamped the build system. Edit site.cfg if necessary (probably not
  95. in most cases)
  96. Python-2.3 is now the minimum version.
  97. Dropped support for mx.Datetime and stringtimes; always uses Python
  98. datetime module now.
  99. Improved unit tests
  100. New connect() options:
  101. * charset: sets character set, implies use_unicode
  102. * sql_mode: sets SQL mode (i.e. ANSI, etc.; see MySQL docs)
  103. When using MySQL-4.1 or newer, enables MULTI_STATEMENTS
  104. When using MySQL-5.0 or newer, enables MULTI_RESULTS
  105. When using MySQL-4.1 or newer, more detailed warning messages
  106. are produced
  107. SET columns returned as Python Set types; you can pass a Set as
  108. a parameter to cursor.execute().
  109. Support for the new MySQL-5.0 DECIMAL implementation
  110. Support for Python Decimal type
  111. Some use of weak references internally. Cursors no longer leak
  112. if you don't close them. Connections still do, unfortunately.
  113. ursor.fetchXXXDict() methods raise DeprecationWarning
  114. cursor.begin() is making a brief reappearence.
  115. cursor.callproc() now works, with some limitations.