User visible (not in a particular order):
- Generic:
- Do not write to stdout/stderr;
- (*) Fix certificate check for hostnames with wildcards;
- (*) Update to Autoconf 2.71;
- (*) Fix conversions of "-0" numeric;
- (*) Minor compatibility for 32 bit for bulk copy;
- Distribute OpenSSL libraries with Appveyour artifacts;
- Use Unicode and wide characters for file paths for Windows;
- Remove ANSI encoding code from SSPI code, always full Unicode;
- (*) Set control method for final OpenSSL BIO to avoid some errors;
- (*) Get Windows code page using Windows API for compatibility;
- (*) Do not try to use
pthread_cond_timedwait_relative_npon newer Android; - Fix compatibility connecting to some old MSSQL 2000 server;
- (*) Support Sybase server not configured with UTF-8 charset;
- (*) Change some file license from GPL to LGPL;
- (*) Support very old Sybase ASE versions;
- (*) Ignore query errors during connection initial setup increase
compatibility with different servers like OpenServer; - Support
strictencryption for naked TLS (TDS 8.0); - (*) Don't leak allocations on syntax errors converting to binary;
- Accommodate FreeBSD/Citrus iconv;
- Fall back on unsupported address families locking for host address;
- Avoid potential hangs on short replies reading TDS packets;
- Add support for TDS 8.0;
- Reject invalid NULL data in
tds7_send_record(bulk transfer); - Allows
freetds.confto be stored in~/.config(Unix).
- ODBC:
- Fixed some attribute size for 64 bit platforms (now more compatible
with MS driver); - (*) Prevent setting some wrong type in internal decriptors;
- (*) Fix leak in
odbc_parse_connect_string; - Fix an issue compiling bcp test on 32 systems with unixODBC;
- (*) Fix getting
SQL_ATTR_METADATA_IDattribute; - Check for maximum value for
SQL_ATTR_QUERY_TIMEOUT; - (*) Return better error for invalid character set;
- Check errors from
SQLInstallDriverExWandSQLRemoveDriver; - Update some driver registration field for Windows;
- (*) Remove minor leak parsing connection string;
- Add
EncryptandHostNameInCertificatesettings; - (*) Fix bug cancelling not active statements;
- Fix
SQLGetInfoSQL_DRIVER_HSTMTandSQL_DRIVER_HDESC; - Avoid shared object version for ODBC driver;
- Allows
SERVERto overrideDSNorSERVERNAMEsettings; - Allows to set version to
AUTOfrom Windows dialog; - (*) Fix handling of
SQL_C_STINYINT; - Fix return value when bulk operation not using status array fails;
- Implement
SQLDescribeParamusingsp_describe_undeclared_parameters.
- Fixed some attribute size for 64 bit platforms (now more compatible
- Applications:
- datacopy:
- Allows copy when
dest_collen>src_collen; - Increase CREATE TABLE command buffer to accommodate larger queries.
- Allows copy when
- defncopy:
- (*) Use memory instead of temporary file;
- (*) Fix MS column length for N(VAR)CHAR types;
- (*) Quote strings and identifiers;
- (*) Handle correctly order of index recordset;
- (*) Quote key index names.
- datacopy:
- CT-Library:
- Error reporting more compatible with Sybase;
- Return CT-Library type values, not TDS ones;
- Fix
*resultlenfor conversions to SYBIMAGE fromcs_convert; - Populate
datafmt->formatto avoid not initialized values; - More debugging on not implemented
bcp_colfmt_ps; - Makes sure we don't use a negative number as string length;
- Use client type, not propagate TDS one;
- (*) Fix crash using
ct_commandwithCS_MOREoption; - (*)
_blk_get_col_data: Consistently returnTDS_FAILon failure; - (*) Formally define
BLK_VERSION_{155,157,160}; - (*) Cap binary/image copying to the destination length;
- (*) Conditionally distinguish NULL and empty results;
- (*) Issue an error for unsupported server types from
ct_describe; - Add support for setting hints for bulk copy using
blk_props; - Support getting
CS_ENDPOINT(socket file descriptor) usingct_con_props; - Support getting
CS_PRODUCT_NAMEusingct_con_props; - Introduce
CS_INTERRUPT_CBand corresponding return values:CS_INT_*; - Better support new date/time types (DATETIME2, etc.) in bulk copy;
- Report system errors' descriptions.
- DB-library:
- Improve error reporting;
- Allows to set port number with
DBSETLPORT; - Allows encryption option.
- pool:
- Disable Nagle algorithm on user socket for performance;
- (*) Ignore extension in login packet for compatibility.
- server:
- Reply correct version for TDS 7.4;
- Avoid leaks in
tds_get_query_head; - Set
SO_REUSEADDRoption; - Better support for string conversion and UTF-8;
- Improve sending data, fix sending metadata;
- Update prelogin reply allowing TDS 7.2;
- Fix
tds_send_login_ackproduct name length; - Support no-ASCII characters in environment names;
- Return 0 rows during login;
- Pass correct packet size environment in test server;
- Do not overwrite error before displaying it;
- Improve message writing functions;
- Set
TCP_NODELAYafter accepting connected sockets.
(*) Feature backported in stable 1.4 branch.
Implementation:
- Remove various minor leaks;
- Remove some potential
NULLdereference; - (*) Add support for
SYBSINT1type conversion; - Improve GNU compatibility in CMake using
GNUInstallDirs; - Remove many warnings compiling code with stricter options;
- Optimize numeric precision change;
- Use more
booltype for boolean instead of integer; - Minor compatibility with tests and Sybase/SAP libraries;
- Avoid some warnings from CMake;
- Various improvements to bounce utility:
- Allows multiple connections;
- Allows to specify a server name;
- Allows to write dumps.
- Use 64 bit constants, add
(U)INT64_Cmacros; - Move
tds_newmacros toinclude/freetds/macros.h; - Move
tds_strndupto utils; - Add GitHub actions to CI;
- Allows
FREETDS_SRCDIRoverrides for tests; - Avoid potential zero-byte allocations (whose behavior is undefined)
in libTDS; - Unify header guards definitions;
- Unify tests includes in ctlib;
- Accommodate Windows static builds;
- Inform CMake of some accidentally Autotools-only tests;
- Add Visual Studio 2022 to Appveyor test matrix;
- Add
tds_socket_set_nodelayutility; - Change
TDSCOLUMN::column_bindlenfield to signed type; - Use
TDS serverinstead ofAdaptive Serverin error messages; - Add and reuse
TDS_END_LEN_STRINGutility; - Acknowledge non-exhaustive
TDS_SERVER_TYPEswitch statements; - Use replacement
getoptin tests for more compatibility; - Include
stdint.hin Visual Studio if available.
Caution
Do not use Source code links below, they are auto generated and broken.