<div dir="ltr">Hi everybody!<div><br></div><div>I'm glad to announce new epgsql release 3.3.0.</div><div><br></div><div><a href="https://github.com/epgsql/epgsql/releases/tag/3.3.0">https://github.com/epgsql/epgsql/releases/tag/3.3.0</a><br></div><div><br></div><div>Here is the list of changes:</div><div><br></div><div><div>* Streaming replication protocol support (epgsql may act like PostgreSQL slave) <a href="https://github.com/epgsql/epgsql/blob/devel/streaming.md">https://github.com/epgsql/epgsql/blob/devel/streaming.md</a></div><div>* Connection options now may be passed as map()</div><div>* More error extra data fields returned in #error{extra} <a href="http://www.postgresql.org/docs/current/interactive/protocol-error-fields.html">http://www.postgresql.org/docs/current/interactive/protocol-error-fields.html</a></div><div>* Prefer non-localized severity in #error{severity} when available</div><div>* Added set_notice_receiver/2 function to dynamically change receiver for asynchronous notifications</div><div>* Asynchronous notifications receiver may be set to registered process name (atom)</div><div>* get_cmd_status/1 function added**</div><div>* Fixed return value of `DELETE ... RETURNING ..` in case when 0 rows were deleted (now returns `{ok, 0, Columns, []}` instead of `{ok, 0}`)</div><div>* TCP socket implicitly closed when epgsql connection process terminates</div><div>* Some typespecs fixed</div></div><div><br></div><div><div>** The main practical usecase is to detect if transaction was really committed after COMMIT.</div><div><br></div><div>{ok, _, _} = epgsql:squery(C, "BEGIN").</div><div>{error, _} = epgsql:equery(C, "SELECT 1 / $1::integer", [0]).</div><div>{ok, _, _} = epgsql:squery(C, "COMMIT").</div><div>{ok, rollback} = epgsql:get_cmd_status(C).</div></div><div><br></div><div>Thanks to all contributors and reviewers:</div><div><div>Alexander Sedov</div><div>David Welton</div><div>Ivan Dyachkov</div><div>Mikhail Kalashnikov</div></div><div>Sergey Prokhorov</div><div><br></div><div>---</div><div>Epgsql team.</div></div>