
2006-10-08

    Npgsql 1.0

    Features added:

        Changed README.txt location. It is now located on much more useful root Npgsql folder. Thanks Chris Morgan (cmorgan at alum dot wpi dot edu) for patch.
        Implemented NpgsqlCommand.Cancel method. It is now possible to cancel in progress commands. Sample added to user docs.
        Added to user manual a sample by Josh Cooley about a possible way of retrieve the last inserted id in table with an auto generated value.
        Improved Connection pool handling. Npgsql doesn't do anymore a costly check for connection status each time it grabs a connection from pool. It also clears connection pool in case there is any problem with a connection.


        * NpgsqlConnectorPool.cs,
        NpgsqlCommand.cs,
        NpgsqlState.cs,
        NpgsqlConnection.cs: Added initial connection problems handling in connection pool code. Thanks Chris Morgan (cmorgan at alum dot wpi dot edu) for heads up and patches.

        Added Japanese localization. (Hiroshi Saito)
        

    Bug fixes:

        Clean up patch by Chris Morgan: "This patch fixes dozens of warnings in the testsuite and removes a bunch of extra whitespace from around and inside of functions.  I tried to fix the warnings in the best manner possible by adding new asserts where possible". Thanks for patch.
        Fixed localization assemblies compilation. (Hiroshi Saito)
        Fixed NpgsqlCommand.Cancel implementation. Now it doesn't throw exceptions if connection is closed or if there are any problems. Cancel documentation says the Cancel doesn't throw on failure. (Josh Cooley)
        NpgsqlDataReader.cs:  Changed the behavior of RecordsAffected to match that of SqlDataReader and ODBCDataReader. (Josh Cooley)
        NpgsqlConnectorPool.cs: Fixed Queue UseCount problem where it could get negative when pool was cleared and there were pending connections. Thanks Aaron Clauson ( aaron dot clauson at blueface dot ie) for heads up, tests and discussions.
        NpgsqlState.cs: Fixed problem where Npgsql could hang if socket communication has problems while starting a session with server after has connected to socket server. Thanks Aaron Clauson ( aaron dot clauson at blueface dot ie) for heads up.

        [1000736],
        [1000737],
        [1000740],
        [1000742]
        NpgsqlCommand.cs,
        NpgsqlCommandBuilder.cs: Adds case handling and improved schema support for function names on NpgsqlCommand and NpgsqlCommandBuilder.
        NpgsqlDbType.cs,
        NpgsqlTypesHelper.cs: Adds timestamptz data type.
        Thanks Patrick Greenwald (patrickg at novarad dot net) for patches.

        



2006-08-14

    Npgsql 1.0 RC3

    Features added:

        Added bit data type support. NpgsqlDbType.Bit parameters can receive Boolean or Int32 values. Odd Int32 values are converted to 1 and even values to 0. Thanks Frans Bouma for heads up.


    Bug fixes:

        Fixed culture problems when getting field index. Npgsql wasn't comparing field names correctly. Thanks Joe Audette (joe_audette at yahoo dot com) for patch.
        Changed the synchronization mechanism for asynchronous socket connections.  This prevents a race condition that allows an unopened socket to be passed to a NetworkStream.  See thread at http://pgfoundry.org/forum/message.php?msg_id=1001604 and http://pgfoundry.org/forum/forum.php?thread_id=853&forum_id=519 for more information. (Josh Cooley)
        Fixed problem with AsyncNotification handling. It was incorrectly lefting data on stream. This was causing problems with ms.net. See http://pgfoundry.org/forum/forum.php?thread_id=828&forum_id=519. Big thanks to Josh Cooley for his help on fixing this problem.
        Added missing code to release any listen registered in connection before returning it to pool.This could cause later connections retrieved from pool to receive events user didn't add listen for.
        Improved Notification handling by wrapping calls with try catch to avoid potential problems with exceptions without exception blocks inside user code. This could kill our notification thread.
        [#1000685] NpgsqlCommandBuilder doesn't set parameters values of row (Npgsql ver RC2): Fixed command builders GetInsertCommand, GetUpdateCommand, and GetDeleteCommand to use the values from the row passed when called directly. (Josh Cooley)



2006-07-09

    Npgsql 1.0 RC2
    
    Features added:
    
        NpgsqlCommand now returns number of affected rows when issuing fetch and move commands. Thanks Federico Di Gregorio (fog at initd dot org) for patch.
        
        Added ReaderClosed event. It is fired whenever NpgsqlDataReader is closed. Thanks Mikko Korkalo (keitsi at minttupuffet dot net) for the patch.
        
        Added support to full schema.procedurename when specifying a procedure name to be called in NpgsqlCommand.

        Added support for Inet data type. Use NpgsqlDbType.Inet when adding parameters. Native types supported are NpgsqlInet and IPAddress. Thanks Magnus Hagander ( mha at sollentuna dot net ) for patch.

        Added new connectionstring key "CommandTimeout" which allows developer to specify a commandtimeout value for commands used with this connection. This value is used when creating a new NpgsqlCommand passing a NpgsqlConnection or when specifying Connection property of a NpgsqlCommand.
        
    Bug fixes: 
        [#1000615] Missing null check in DeriveParameters. Now it throws the correct exception: InvalidOperationException when the function name isn't valid.
        
        [gborg 1185] Field name not found exception is thrown when working with parameters. Thanks regmaster at gmx dot li for heads up and patch and Michael Farr (mfarr at paradise dot net dot nz )
        
        Fixed NpgsqlConnection.GetSchema.  Changed NpgsqlSchema.BuildCommand to handle multiple restrictions correctly.  Now includes AND keywords between restrictions. (Josh Cooley)
        
        [#1001313] Strongly typed dataset.  Fixed NpgsqlCommandBuilder.cs to use just the column name from the DataTable so that the case is consistent in the parameter names. (Josh Cooley)
        
        [#1000656] ConnectionTimeout doesn't work. Thanks Stephen L (jleelim at hotmail dot com) for heads up and tips about fixing it.
        
        [#1000655] Keeping NpsqlException details (code, detail, notice) between retrows in transaction mode... Thanks Hubert Fongarnand for patch!

        [#1000551] Incorrect conversion of decimal type causes ERROR: 22P02: invalid input syntax for type numeric. When using prepared commands, decimal numbers were being sent with wrong culture. Now it is sent correctly with InvariantCulture. Thanks Radomir Simic (strasha at gmail dot com),  Valentin Gjorgjioski (gjorgjioski at gmail dot com) and Artem Gelun (admin at enoteka dot ru) for tests and feedback.

        Fixed NpgsqlCommandBuilder.cs to always qualify table names with the schema name so that the command builder can be used with tables in other schemas. (Josh Cooley)

        Improved IDataReader.GetOrdinal() implementation. Added a hashtable to NpgsqlRowDescription to make FieldIndex(String) calls faster. This was giving performance problems to NHibernate.

        [#1000667] Problem with -infinity::timestamp and infinity::timestamp. Thanks  Alejandro Gasca ( agasca @nospam@ yahoo dot com ) for heads up.

        Fixed possible memory leak when multiple command builders attached to a single NpgsqlDataAdapter. Thanks  Alejandro Gasca ( agasca @nospam@ yahoo dot com ) for heads up. (Josh Cooley)

        Fixed DataRow state problem where an insert fails.  The command builder no longer accepts the changes (but the NpgsqlDataAdapter still does). Thanks  Alejandro Gasca ( agasca @nospam@ yahoo dot com ) for heads up. (Josh Cooley)

        [#1000612] ConnectionTimeout in NpgsqlConnection object. Now, there is a new key in connection string called CommandTimeout to allow developer to specify command timeouts for commands using these connection.

2006-04-09

    Npgsql 1.0 RC1
   
    Features added:
    
    	Synchronous notification. Client applications now don't need to keep sending empty commands in order to force Npgsql to get Notifications.
        This is now done automatically by Npgsql. For that, put Syncnotification=true in your connection string. Default is false.

    Bug fixes:
    
        [#1000500] Problem with parsing parameters when using Command.Prepare(); Thanks Hubert Fongarnand for patch!
        
        [#1000531] Npgsql.NpgsqlError is not serializable => Remoting problem. Thanks Souleymane MBENGUE for heads up.
        
        [#1000546] prepare with wrong sql stmt hangs.
        
        [#1000561] Constructors NpgsqlException class does't initialize "errors" field. Thanks olegmad at yandex dot ru for heads up.
        
        [#1000458] Enormous memory increase (and application crash) with large BYTEA parameter. Thanks Hubert Fongarnand for patch!

        [#1000583] NotImplementedException() in UpdatedRowSource. 

2006-01-08

    Npgsql 1.0 Beta2
    
    Features added:
        
        Added Npgsql .Net 2.0 assembly versions for MS.Net and Mono.
        
        Improved performance. Thanks Hubert Fongarnand and Bryan Mayland who sent a lot of optimizations to Npgsql.
        [#1000454] Getting identifier of an inserted row. Added property LastInsertedOID to NpgsqlCommand. This property only works when using a single insert command and the table was created with oids else it returns 0.
    
    Bug fixes:
    
        [bugzilla 76961] Fixed problem with ExecuteReader when using SchemaOnly and SingleRow behavior at same time. Thanks Kamil Skalski for feedback.
        [#1000491] Fixed transaction isolation level setting. Thanks Ottó Havasvölgyi for heads up.
        [#1000497] Dot in parameter name causes exception
        [#1000500] Problem with parsing parameters when using Command.Prepare();
        [#1000517] ServerVersion operator overload. Fixed. Thanks Otto for heads up.
        


2005-12-06

    Npgsql 1.0 Beta1
    
    Important Notice about Assembly version.
        
        Starting with this version, we adopted a new assembly version number schema. We will use numbers near 100 to indicate beta and rc versions. 98 for beta and 99 for rc.
        
        This 1.0beta1 version has assembly version 0.98.1. Beta 2 will be 0.98.2, rc1 will be 0.99.1 and so on.
        
        We hope this change will help improve better feedback about what Npgsql version is being used.
    
    Features added:
        
        NpgsqlCommandBuilder: Implemented DeriveParameters.

        Improved performance. Now Npgsql performs from 10% to 20% better!. (Josh Cooley)
                
        NpgsqlDataReader: Added support for IsUnique and IsKey in GetSchemaTable.  Also added check for CommandBehavior so that additional queries are only performed when CommandBehavior.KeyInfo is specified. Mono should now be able to fill a DataTable about 3x faster when not requesting key info (the default action). (Josh Cooley)
        
        [#1000443] sql in Exception. Now it is possible to retrieve the sql text which caused some error by checking the ErrorSql property of NpgsqlException and NpgsqlError.
        
    
    Bug fixes:
    
        [gborg 1450] Fixed missing resource file with error messages of NpgsqlConnectionString. Whenever an error with connection string happend, instead of showing proper message
        an exception was thrown.
        
        [gborg 1392] Fixed case sensitivity problems when using NpgsqlCommandBuilder. Now, all field and table names are properly quoted. Thanks Gridnine Systems (www.gridnine.com) for patch. [#1000447]  
    
        Fixed NpgsqlDataReader.FillSchemaTable_v3 to use primary keys information when it is available.  Thanks to Carlo Ieva (carloi) for spotting the problem. (Josh Cooley)
        
        [#1000401] Fixed connection pooling problems when idle connections weren't closed. Now they are properly closed after a configurable time is elapsed. Thanks Ivan (ivan-sun1) for fix.
        
        [gborg 1430] Fixed problem where Npgsql isn't setting NpgsqlParameter type correctly based on parameter type. It was being always set to String.
        
        [gborg 1403] Fixed weird problem with NpgsqlConnection.ChangeDatabase(). This problem only rise when trying to change the database in a connection of an existing command and trying to execute the command again. NpgsqlCommand wasn't getting the changed database connection correctly. Thanks Ueli Marti (ueli.marti) for testcase and heads up.
        
        [#1000462] FillSchema is reading entire table? Added support for SchemaOnly command behavior. Thanks Darin Keever (duwketx) for feedback.

2005-08-24

    Npgsql 0.7.1
    
    Features added:
    
        Josh Cooley (jbnpgsql at tuxinthebox dot net) improved Metadata support in Npgsql. Added support for the following collections through NpgsqlConnection.GetSchema() methods: MetaDataCollections, Restrictions, Databases, Tables, Columns, Views and Users. Also added support for restrictions when getting info about these collections.
        
        Added refcursor parameter support. Now, refcursors can be passed as arguments for functions. Thanks Jon Asher for heads up and tests.
    
    Bug fixes:
    
        Fixed problem with query strings with newlines. Regexp used to parse parameters were removing new line bytes creating query strings with errors. Thanks Jaroslaw Kowalski (jaak at jkowalski dot net) for fix.
        
        Updated ProviderType metadata from NpgsqlDataReader.GetResultsetSchema to be the string for the type rather than the oid.  Fixed ColumnSize, NumericPrecision, NumericScale, BaseColumnName, AllowDBNull, and IsAliased. Also integrated patch from (rlp at bamafolks dot com), gborg 751. Thanks Josh Cooley (jbnpgsql at tuxinthebox dot net).

        gborg 1388. Fixed documentation about User Id connection string key. Thanks Peyn (peyn at tlen dot pl) for heads up.
        
        gborg 1387. Fixed problem when using commandtype.storedprocedure with command texts which have parameters with ' or any other value which needed to be escaped. Now they are properly handled. Thanks Dalibor (dalxxx at email dot com) for heads up and tests.

        Fixed problem with stored procedure command texts which finished with a ";". Npgsql was adding incorrectly a trailing "()" when calling this command text.
        
        Fixed ConnectorPool when creating MinPoolSize connections. Josh Cooley said when submitting patch: "It seems that if the MinPoolSize was set to anything other than one, then it was prepopulated with the first connector created." Thanks Aza (aza at azaclauson dot com) for heads up and big thanks Josh Cooley (jbnpgsql at tuxinthebox dot net) for fix!
        
        Fixed problems with parameters with "@" prefix. They weren't correctly recognized. Thanks Pejvan Beigui ( pejvan at gmail dot com) for heads up.
        
        Fixed infinite loop when getting metadata using Mono runtime. We were using DataSet.Fill to get metadata info and Mono implementation of DataSet.Fill was calling our method to get metadata which resulted in a loop. Thanks Josh Cooley (jbnpgsql at tuxinthebox dot net) for fix!
        
        

2005-07-11

    Npgsql 0.7 stable release
    
    Feature added:
    
        Npgsql now can handle functions which return refcursor and setof refcursor. Now, results are returned as NpgsqlDataReader resultsets. There is no need to explicitly call "fetch all ..."
    Bug fixes:
        
        gborg 1353: geometric types weren't being parsed correctly on runtimes whose culture uses comma as decimal separator. Now uses a parsing with culture invariant info.
    
        gborg 1339: Char and varchar now are properly handled when their size isn't specified.
        
        Parameter types are now only specified when calling stored procedures. There is no need of explicit type when calling plain queries.
        
        Fixed bug in NpgsqlCommand.GetClearCommandText() where query strings which contain ":" or "@" without being an parameter prefix were being incorrectly replaced by an inexistent parameter and throwing exceptions. Now, Npgsql checks if this is really a parameter before trying to replace it. Thanks Ivan (ivan-sun1 at mail dot ru) for fix.
        
        

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)

