


2005-05-23

    Npgsql 0.7beta6 development release
    
    Features added:
    
        gborg 1191: Started initial support for GetSchema().
        
        NpgsqlConnection.Open() now throws NpgsqlException when trying to connect to a server which doesn't exist instead of throwing SocketException. Thanks Peter van der Maas (peter at abitogroup dot com) for heads up.
        
        New parameter substitution algorithm to handle parameter values. Previous algorithm allowed parameter values which had strings equal to some other parameter to be incorrectly replaced. For example, suppose parameters :p1 and :p2 where for some reason, the value of :p1 contains substring :p2: "aaaaa:p2". When replacing value of :p2, this previous value would get replaced. Now with the regexp based algorithm, all values are independently of the others. Note that this in only available on unprepared commands.
        
        New connection string option for handling ssl: sslmode. It allows four values: Prefer, Require, Allow and Disable. See user manual for more info about it.
        
        gborg 1278: Char and Varchar datatypes now have their length properly handled.        
        
    Bug fixes:
    
        gborg 1121: Fixed another culture variant representation problem when handling floating numbers. Thanks Sergey (sergey dot p dot k dot no dot spam at gmail dot com) for patch.

        gborg 1167: Added support for writing null chars in text fields. Now they are escaped with \\0.
        Thanks Sergey (sergey dot p dot k dot no dot spam at gmail dot com) for patch.
        
        Fixed a problem when using prepare commands inside a transaction. Portal wasn't being released. We use the unnamed portal now. Thanks Marcin (marcin at floryan dot neostrada dot pl) for the heads up.
        
        * NpgsqlTypes/NpgsqlTypesHelper.cs:  Fixed support for setting Byte va
lues to parameters. Thanks Ales Vojacek (alesv at fbl dot cz) for heads up.

        gborg 1223: ReplaceParameterValue fails to recognize a parameter when it's followed by a '+' - it only checks for whitespace, parentheses and commas. Now it is correctly handled with the new parameter substitution algorithm.
        
        Fixed problems when Npgsql didn't use property the types of parameters when sending queries. Parameters were being sent as strings only and this were giving a lot of problems when calling functions. Now we explicitly add the types of parameters with a new substitution algorithm. Thanks Ivan (ivan-sun1 at mail dot ru) for heads up.
        
        gborg 1265, 933: Fixed a null reference exception which was being thrown when trying to access info of NpgsqlException after it was serialized. Now NpgsqlException implements custom serialization to send the correct data when serializing.
        
        NpgsqlClosedState.cs, 
          NpgsqlState.resx: Enforced the ssl option specified in connection string. If user specified ssl=yes, only ssl connections will be done. If server doesn't support it, an NpgsqlException will be thrown. Thanks Tope Akinniyi (topeakinniyi at yahoo dot co dot uk) for heads up.
        
        NpgsqlDataReader.cs: Fixed a bug in Read(). It was throwing an InvalidOperationException when trying to read from a query which didn't return any resultset. It should just return false. Thanks Helge Lenuweit <helge at lenuweit dot net> for heads up.
        
        gborg 1291: Fixed a null reference exception when calling NpgsqlDataReader.HasRows when there was no resultset.

2005-02-08

    Npgsql 0.7beta5 development release
    
    Features added:
        
        Added support for updating output parameters when calling ExecuteReader(). Thanks Mike Griffin (mike dot griffin at mygenerationsoftware dot com) for heads up.
    
    Bug fixes:
    
        Fixed datetime precision when sending values to backend. It was sending just the first 3 decimal values of time. Now it sends all the 6 digits. Thanks Martin Susil (spam at susil dot net) for heads up.
        
        gborg 1150: Readded CLSCompliant(true) attribute back to AssemblyInfo.cs. Thanks Neil for heads up.
        
        Fixed problem when setting a new connection and a running transaction existed. Now, the transaction can be removed and later the connection can be replaced. Thanks Mike Griffin (mike.griffin at mygenerationsoftware dot com) for heads up.
        
        gborg 1140: Fixed rounding problem of float values. Now they are sent with 15 decimal precision. Thanks cestmir for testcase and regmaster ( regmaster at gmx dot li ) for fix.


2005-01-23
    
    Npgsql 0.7beta4 development release
    
    Features added:
    
        gborg 971 & 1068: Added support for ParameterDirection.Output and ParameterDirection.InputOutput parameters. Now you can use these types of parameters to get results. Thanks Ivan (ivan-sun1 at mail dot ru) and (teste at aslls dot ss) for heads up.
        
        gborg 1079, 1082: Added support for implicit parameter stored procedure call. Parameters are added in order they were added to NpgsqlCommand Parameters collection.
        
        gborg 1099: Added support for record return type functions. Thanks neri and Michel for heads up and tests.
        
        Added Varchar support. Thanks Peter and Gustav for heads up.
        
        Fixed a problem with record return type support checking. Thanks Neri (nerips at bol dot com dot br) for heads up.
        
        Npgsql doesn't depend on System.Drawing and System.Windows.Forms (a.k.a SWF) when compiled with Mono. This dependency is only necessary to add design time support for VS.NET and so only enabled when compiling with csc.
        
    Bug fixes:
        
        Fixed NpgsqlConnector.IsValid. Now, clean mediator after get a connection from pool and test it for validity. This fix a bug which some times occured which made available this test resultset to user when it shouldn't.
        
        gborg 1080, 1088: Thanks Neri (neri at gborg dot postgresql dot org) for help. Now mapped output parameters are correctly updated regardless their position in Parameters collection.
        
        Npgsql/NpgsqlConnector.cs: Changed name of portal and prepare prefixes to be all lower case in order to not have case problems when deallocating them.
        
        gborg 1098: Updated Npgsqlbuild file to use latest nant. 0.85  Thanks Mike 
        
        Fixed Npgsql.build. monobuild target can now be used on windows with mono. Thanks Eric van der Gutten (ericvdg at ananzi dot co dot za)
        
        gborg 1095: Fixed NpgsqlCommandBuilder and NpgsqlDataAdapter support. Thanks Eric van der Gutten (ericvdg at ananzi dot co dot za)
        
        gborg 1110: Fixed problem when calling stored procedures with implicit parameter support. Parameters weren't being comma separated.
        
        gborg 1121: Applied patch. Thanks regmaster (regmaster at gmx dot li) and torben (torben-spam-npsql at nehmer dotnet) for patch.
        
        
2004-11-21

    Npgsql 0.7beta3 development release
    
    Features added:
        Large Object support: Npgsql now supports large object operations. Thanks Emiliano Necciari (e dot necciari at blogic dot it) for the patch!
    
    Bug fixes:
    
        Added workaround when using extended query mode to add parameter types explicitly when sending Parse messages. Backend was sending errors for some queries like (select * from t where $1 in (...) ). Backend was saying it could not recognize parameter type of $1. Thanks Martin ( martijn at boland dot org) for heads up.
        
        Fixed parameter replace when next byte after parameter name is '\\r'. Thanks Ivan Radovanovic (rivan at sezampro dot yu) for the fix.
        
        Fixed NpgsqlDataReader.GetBytes: Added a little fix for proper handling of getbytes with current Npgsql semantics in mind. For while, we just support offset value of 0 as we read all the bytes field value at a time. So there is no copy when offset is not 0.
        
        Fixed IDisposable pattern implementation of NpgsqlTransaction. Now it doesn't incorrectly raise InvalidOperation exceptions. Thanks Ivan Radovanovic ( rivan at sezampro dot yu ) for heads up.
        
        Fixed NpgsqlCommand.Connection set property. Now connection values can be set when a connection is in place, but just if the connection being set is the same as the connection which the transaction is running on. Thanks Ivan Radovanovic ( rivan at sezampro dot yu ) for heads up.
        
        gborg 1000: Fixed NullReferenceException when setting parameter value to DBNull after creating parameter without specifying its NpgsqlDbType.
        
        Fixed NpgsqlDataReader.GetBytes for .Net 1.0 compliance. CopyTo() doesn't have an overload which takes an Int64. Thanks Brar Piening (brar at piening dot info) for heads up
        
        Fixed assembly info version to 0.7.
        
        Fixed handling of invalid authentication methods. Thanks Magnus Hagander (mha at sollentuna dot net) for the heads up.
        
        

2004-09-22
    
    Npgsql 0.7beta2 development release
    
    Features added:
    
        Added support for DbType.Byte type. Thanks Martijn Boland (martijn at boland dot org)
        
        
        
    Bug Fixes:
    
        gborg 952: Added missing handling of NoData message.
        
        Fixed a NullReferenceException when passing a null connnection string to NpgsqlConnection.
        
        gborg 941, 955: Fixed null values handling when using NpgsqlCommand.Prepare(). Thanks Martijn Boland (martijn at boland dot org) for helping with test case.
        
        Fixed an infinite loop when trying to use a parameter whose name is equals to same type name. i.e.: parameter name :text which would conflict with :text 
        parameter name which was being added in the replacement string.
        
        Fixed handling of strings with backslashes. Now they are properly escaped.
        
        Improved portal and plan name creation to use an unique number from NpgsqlConnector instead of using an static field in NpgsqlCommand. Thanks Martin ( martijn at boland dot org) for the heads up.
        
        Improved implementation of NpgsqlConnection.Dispose. Also added warning logging for NpgsqlConnection leakings.
        
        Fixed code to allow calling NpgsqlConnection.Close() many times even when being disposed.
        
        Added support for case insensitive fields index lookup in NpgsqlDataReader. Thanks Martin ( martijn at boland dot org)
    
    
    Note: Still missing generated html api docs.

2004-08-31

	Npgsql 0.7beta1 development release


	Features added:
	
		Added support for point, box, lseg, path, polygon and circle datatypes. They are mapped to NpgsqlPoint, NpgsqlBox, NpgsqlLSeg,
		NpgsqlPolygon and NpgsqlCircle respectively. Thanks Glen Parker for help.
		
		Added NpgsqlDbType enumeration with all supported types.
		
	
	Bug fixes:
        
		Added api documentation in code. Thanks Glen Parker. (No html generation yet. This will be fixed in next release)
		Fixed deserialization of NpgsqlException. There are some issues yet, just the base message is being deserialized. Errors collection are null. Thanks David Palmer (David dot Palmer at SensusTech dot com) for the heads up and fix.
        Improved Unicode encoding support. It was possible to characters in unicode cross the stream buffer and be discarded. Now we use Decoders which handle that situation. Thanks Oskars Ozols (oskars dot ozols at di dot lv)
        Improved connection startup code. Now new connections in ms.net goes a lot faster. Thanks Mikko Korkalo (mikko.korkalo at f-solutions dot net) for the patch.
		Fixed a problem with plan execution in 7.3 backend versions. The text parameters weren't being quoted and backend complained about that.
		
		- gborg 898: Added HasRows method to NpgsqlDataReader. Thanks keitsi at minttupuffet dot net for feature request.
		- gborg 899: Fixed return of IsClosed after closing NpgsqlDataReader. Thanks Mikko Korkalo (mikko.korkalo at f-solutions dot net) for the patch.
		
	Know Issues:
		There are some reports about initial connection delay when using Npgsql in windows with ms .net implementation. We are still investigating what is causing that. Please, report us if you also have this problem.
 


2004-06-15
	Npgsql 0.6 development release.

	After so much time without a release, we finally got this out! Sorry
for all this time without releases. We will try to get more often releases
from now on. 
	I'd like to specially thank Glen Parker (glenebob at nwlink dot com) for all the help given in this release. Thank you very much Glen!

	What's new in this version: 
	
	- Connection Pooling support. Glen Parker worked very much in the
redesign of connection pooling. You can use the connection pooling 
by specifying the following key-value pairs in the connection string:

	MaxPoolSize: specifies the max number of connections Npgsql will use
for its pool. 
	Pooling: True or False. Controls whether connection pooling is used.  Default = True;
	Timeout: Time to wait for connection open in seconds.

	- SSL Connection support. You now can connect to postgresql using ssl connections. To
do so, you must add the pair ssl=yes in connection string. Thanks Carlos Guzman (carlosga at telefonica dot net)

	- More connection string options:
	Protocol: Protocol version to use, instead of automatic; Integer 2 or 3;
	Encoding: Encoding to use when connected to backend. Currently can only be SQL_ASCII or Unicode. Default: SQL_ASCII.

	- Error Handling:
	NpgsqlException is now used exclusively for errors reported by the backend.
	NpgsqlException now provides access to all information returned by the backend with an error. (More specific informations as error number only available on 7.4+ server versions)

	- General:
	Protocol version 3 handling is much closer to completion.
	Lots of API documentation added.
	
	
	Bug fixes:

	Added support for Unicode encoding. Fixes feature request 534 on gborg. Thanks Ivar
<ivar at lumisoft dot ee> for pointing it out.

	Added code to set datestyle to iso when connecting using protocol 3.0 version. Thanks Sami Kuhmonen <feenix at iqs dot fi> for pointing it out.

	Faster support of bytea binary data. Thanks Jackson Harper (jackson at ximian dot com)
and Jonathan Gilbert (2a5gjx302 at sneakemail dot com). The performance for adding binary data is
10x faster than original code :)
	
	CommandBuilder and better Dataset support. Thanks Pedro Yoros (yoros at wanadoo dot es).

	Fixed problem when getting empty resultsets. Thanks lynnroth for pointing it out. 

	Connection.Close couldn't be called twice. gborg 828. Thanks Glen Parker (glenebob at nwlink dot com)

	Wrong date format sent to DB. Thanks Glen Parker (glenebob at nwlink dot com)

	RedHat Postgresql messes version string. Thanks Glen Parker (glenebob at nwlink dot com)

	NpgsqlMessageTypes.EmptyQueryResponse doesn't read enough from response string. Thanks Glen Parker (glenebob at nwlink dot com)

 	Problem with czech diacritics. Thanks stehule at kix dot fsv dot cvut dot cz for the patch.

	fill method updates db without specifying insert command and creates wrong commandtext.



	
	
	

2003-05-31
    Npgsql 0.5 development release.
    
    What's new in this version:
    
      - New datatypes supported: bool, int2, int4, int8, numeric, timestamp, date, time and text data types.
      These types are mapped to DbTtype enum: Boolean, Int16, Int32, Int64, Decimal,
      DateTime, Date, Time and String.
      
      - NpgsqlParameter now supports those types through the DbType enumeration and not just Int32, Int64
      
      - NpgsqlDataAdapter now has more helper contructors. Thanks stevenao for reporting this (Bug 455)
      
      - MD5 Authentication is now supported. Thanks Brar Piening. 
        Mono MD5 implementation is being used. Thanks Sebastien Pouliot.
        
      - NpgsqlDataAdapter can be used to select, insert, update and delete data with DataSets.
      
      - StrongType datasets generated with xsd can be used.
      
      - Support for Listen/Notify events through the NotificationEventHandler delegate and
        NpgsqlConnection.OnNotification event. Thanks Wojtek Wierzbicki. Now applications can 
        hook on it to receive notification messages from server. This notification is asynchronous which means they will
        be delivered to client apps in the next interaction of Npgsql with backend.
        
	- NUnit20 tests were added. There are 48 tests which can also be used as a source of references of new Npgsql functionality.
	Of course, new tests are very welcome :)
       
    
    Bugfixes:
    
      - Large resultsets are now correctly handled(Bug id 467). Thanks Chris Wenneman.
      - Null values handling are now fixed. Thanks Stuart Ballard for showing this problem.
      - Quotes in strings are now *actually* working. 
    
    
    This release is very stable and have a lot of immediate functionality is now working.
    It can be used in production environments. Please, get the non-debug releases to production use.
    Thanks all for help debugging and sending your bug reports and patches! :)

    fxjr
    
    
    
    

2002-06-10
    Npgsql 0.2 development release.
    
    In this version we got many things working...
    
    - You can send insert, update, delete queries through NpgsqlCommand.ExecuteNonQuery() method.
    - You can send queries like, select count(*) from table, select version() with 
      NpgsqlCommand.ExecuteScalar() method.
    - There is logging support. (Thanks Dave Page)
      To use it, place code like that in your program:
      
      // Enable logging.
	  NpgsqlEventLog.Level = LogLevel.Debug;            // LogLevel.
	  NpgsqlEventLog.LogName = "NpgsqlTests.LogFile";   // LogFile.
    
    - You can use Npgsql with Mono (Thanks Kristis Makris). It is not working perfectly. :( 
    - There is a winforms test suite (Thanks Dave Page).
    - Clearer code in NpgsqlConnection removing *magic* numbers and constants. (Thanks Kristis Makris)
    - Better support of ODBC-like ConnectionString in NpgsqlConnection (Thanks Dave Page)
    - Thanks Ulrich Sprick for all discussion and ideas.
    
    And much more to come! 
    Thanks all team !

2002-05-18
	
	First Npgsql beta release.
	In this version there is a limited functionality. It is only possible to
connect and disconnect from server.
	Only clear text authentication is supported right now.
	To compile you can use the SharpDevelop to open the Combine file (Npgsql.cmbx) or
type at command console: csc /t:library /out:Npgsql.dll NpgsqlConnection.cs AssemblyInfo.cs NpgsqlException.cs
This will create the file Npgsql.dll that can be copied to the application directory.

	I will be working in the Command functionality now.
	
	
	Play with it and send your bugs and comments :)
	(fxjr)
