-
Notifications
You must be signed in to change notification settings - Fork 0
/
CHANGELOG.txt
92 lines (84 loc) · 4.45 KB
/
CHANGELOG.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
18.06.2018: v0.4.1 -> v0.5.0
Breaking changes:
- OID alias removed from constants.d.
- result.d renamed to messages.d.
- serialize.d renamed to serialization.d
- Message creation and (de)serialization is now handled by messages themselves,
and not the connection object.
- Variant-related code removed.
- FieldSpec and all serialization-related templates removed from serialize.d.
- (De)serialization function prototypes changed.
- ITransport interface is now used by connection instead of a socket template.
- Write and read buffers removed from connection.
- getNewPreparedName renamed to getNextPreparedName. Same with getNewPortalName.
- all type names starting with Psql have all-capital prefix PSQL now.
- PSQLConnection is no longer a template. All logging was removed.
- PSQLConnection is now final.
- PSQLConnection rewritten from scratch.
- Authentication is now performed by separate interface instance.
- all templated type mapping code removed.
- COPY messages supported.
16.10.2018: v0.4.0 -> v0.4.1
Breaking changes:
- postSimpleQuery function template removed
Functionality:
- copyData, copyDone and copyFail messages now have helper send functions in connection class.
29.03.2018: v0.3.0 -> v0.4.0
Breaking changes:
- marshalling renamed to serialization library-wide.
- connection timeout is now part of Socket constructor contract.
- most functions marked @safe pure with rare exceptions. Socket templates
may require @trusted handicaps.
- serializers marked nothrow.
- StmtOrPortal enum members are now lowercase.
- Message backing byte array is marked immutable(ubyte)[].
- Serialization functions switched to pointers from references.
- RowBlock.dataRows are no longer Messages, but immutable byte arrays.
- Calling methods on conirmed-closed connection now does not throw, but asserts.
- notificationCallback and noticeCallback marked @safe.
- InterceptorT marked @safe.
- TransactionStatus enum members are now lowercase.
- commandsComplete field of RowBlock and QueryResult structs removed.
Functionality:
- command tag parsing from CommandComplete message. commandTag is a string
field of RowBlock struct.
- RowBlock has new field 'state', wich indicates how it was finalized.
- connection timeout added to constructor (but not used with default socket).
- fixed discard - expectedrfq counter relationship.
- most put... connection methods now discard written data if they throw.
- additional putBindMessage overloads.
- new putQueryMessage overload for array of strings wich are effectively
concatenated.
- ObjectID renamed to OID, but alias is still there.
10.03.2018: v0.2.0 -> v0.3.0
Breaking changes:
- mark most methods final.
- change parameter order in PreparedStatement constructor to better reflect
common cases.
- struct QueryResult moved to dpeq.schema file.
- removed delayedPoll functionality. Pushdown automaton is now on the
client code.
- most lazy parameters changed to in\const.
Functionality:
- convenience Portal.bind for parameterless case.
- convenience all-text Portal.bind overload for nullable-string-only parameters.
- detection of suspended portals.
- getOneRowBlock function, wich polls connection until all rows from one
Execute have been materialized (or row limit reached).
- PsqlMarshallingException as PsqlClientException derivative for marshalling
errors.
- Unix-domain socket support for stock StdSocket.
- allocation batching for small response messages.
- transaction status exposed as transactionStatus property of connection.
- query cancellation mechanism (cancelRequest method of connection object).
- putBindMessage overload for parameterless portals.
- notificationCallback wich implements receivement of PSQL "notify" message passing.
- noticeCallback to observe backend notices.
- proper NoticeResponse\ErrorResponse demarshalling. Notice member included in
ErrorResponseException.
13.01.2018: v0.1.1 -> v0.2.0
Breaking changes:
- blockToVariants return type changed to NullableVariant - dpeq-defined subtype of std.variant.Variant
- Portal constructor parameter 'paramCount' moved to PreparedStatement constructor
Various bugfixes and additional definitions, made well before an idea to
start this changelog file.