|
| 1 | +######### |
| 2 | +Changelog |
| 3 | +######### |
| 4 | + |
| 5 | +Version 1.5.2 |
| 6 | +============= |
| 7 | + |
| 8 | +* Code optionizations. |
| 9 | +* New: Documentation is now also provided as Dash_ / Zeal_ docset, downloadable from releases_ at github. |
| 10 | + |
| 11 | +Version 1.5.1 |
| 12 | +============= |
| 13 | + |
| 14 | +* Fix: `.ServerDbServices.set_replica_mode()` now works correctly. |
| 15 | + |
| 16 | +Version 1.5.0 |
| 17 | +============= |
| 18 | + |
| 19 | +* Fix: `.create_database()` now use server configuration user/password if either is not |
| 20 | + specified in database configuration (like `.connect()`) |
| 21 | +* Fix: Problem in `.Server` processing incomplete LINE responses. |
| 22 | +* New: `verbint` parameter for `.ServerDbServices3.backup()` and `.ServerDbServices3.restore()` |
| 23 | + |
| 24 | + This is undocumented Firebird v3 gbak feature. See https://github.com/FirebirdSQL/firebird/issues/808 |
| 25 | + for details. It's mutually exclusive with `verbose`, and minimal value is 100. |
| 26 | + |
| 27 | +Potentially breaking changes |
| 28 | +---------------------------- |
| 29 | + |
| 30 | +* Change in `.ServerDbServices3.restore()`: The `verbose` parameter default value was changed |
| 31 | + to `False` to be consistent with `.ServerDbServices3.backup()` |
| 32 | +* Change in `.ShutdownMethod`: DENNY_ATTACHMENTS/DENNY_TRANSACTIONS renamed to |
| 33 | + DENY_ATTACHMENTS/DENY_TRANSACTIONS. |
| 34 | + |
| 35 | +Version 1.4.3 |
| 36 | +============= |
| 37 | + |
| 38 | +* Fix: Load driver configuration only when it's successfully read from file(s) |
| 39 | +* Fix: Reading service output will fail if line is greater than 64K |
| 40 | +* Fix: Avoid division by zero if fetches stats is zero in DatabaseInfoProvider.cache_hit_ratio |
| 41 | +* Fix: Rewind buffer with version string after using in EngineVersionProvider |
| 42 | +* Fix: Add low-level access to fb_shutdown_callback API function |
| 43 | + |
| 44 | +Version 1.4.2 |
| 45 | +============= |
| 46 | + |
| 47 | +* New `.ServerConfig` options: `~ServerConfig.encoding` and `~ServerConfig.encoding_errors`. |
| 48 | +* New `.connect_server` parameters: `encoding` and `encoding_errors`. |
| 49 | +* Requires firebird-base 1.3.1 |
| 50 | + |
| 51 | +Version 1.4.1 |
| 52 | +============= |
| 53 | + |
| 54 | +* Fixed important bug when iAttachment was not properly released. |
| 55 | + |
| 56 | +Version 1.4.0 |
| 57 | +============= |
| 58 | + |
| 59 | +Improvements: |
| 60 | +------------- |
| 61 | + |
| 62 | +* Added `role` parameter to `.connect_server` and `.SPB_ATTACH`. |
| 63 | +* Added `encoding` parameter to `.SPB_ATTACH` with default value `ascii` - used to encode |
| 64 | + `config`, `user`, `password` and `expected_db` values. |
| 65 | +* Added `encoding` parameter to `.TPB` with default value `ascii` - used to encode table names. |
| 66 | +* `.DPB` parameter `charset` is now used to determine encoding for `config`, `user`, |
| 67 | + `password` and `role` values. |
| 68 | +* `.connect_server` has new `encoding` parameter with default value `ascii` that is passed |
| 69 | + to new `.Server.encoding` attribute. `.Server.encoding` is used to encode/decode various |
| 70 | + string values passed between client and server in parameter buffers (see below), and text |
| 71 | + output from services. |
| 72 | +* `.ServerInfoProvider` now uses `.Server.encoding` for returned SERVER_VERSION, IMPLEMENTATION, |
| 73 | + GET_ENV, GET_ENV_MSG, GET_ENV_LOCK, USER_DBPATH and DBNAME values. |
| 74 | +* `.ServerDbServices` now uses `.Server.encoding` for DBNAME, SQL_ROLE_NAME, FILE, SKIP_DATA, |
| 75 | + INCLUDE_DATA, INCLUDE_TABLE, EXCLUDE_TABLE, INCLUDE_INDEX, EXCLUDE_INDEX, LINE and |
| 76 | + isc_spb_sts_table SPB values. |
| 77 | +* `.ServerUserServices` now uses `.Server.encoding` for DBNAME, SQL_ROLE_NAME, USER_NAME, |
| 78 | + GROUP_NAME, FIRST_NAME, MIDDLE_NAME, LAST_NAME and PASSWORD (on storage only) SPB values. |
| 79 | +* `.ServerTraceServices` now uses `.Server.encoding` for CONFIG SPB value. |
| 80 | +* Failed `.Connection.close` should not cause problems on object destruction anymore. |
| 81 | +* Failed `.Server.close` should not cause problems on object destruction anymore. |
| 82 | + |
| 83 | +Backward incompatible changes: |
| 84 | +------------------------------ |
| 85 | + |
| 86 | +* `.tpb` parameter `access` renamed to `access_mode`. |
| 87 | +* `.FirebirdWarning` now descends from `UserWarning` instead `Warning`, and is reported |
| 88 | + to application via `.warnings.warn` instead raised as exception. |
| 89 | +* `.iAttachment_v3` attribute `charset` was renamed to `encoding`. |
| 90 | +* `.iXpbBuilder.insert_string` optional parameter `encoding` is now keyword-only. |
| 91 | + Parameter also added to `.iXpbBuilder.get_string` method. |
| 92 | + |
| 93 | +Version 1.3.4 |
| 94 | +============= |
| 95 | + |
| 96 | +* `.FirebirdWarning` is not raised as exception, but reported via `warnings.warn` mechanism. |
| 97 | +* User-defined encoding for string parameter and response values exchanged between driver |
| 98 | + and Firebird engine. This includes TPB, DPB, SPB and various service values: |
| 99 | + |
| 100 | + - `.TPB`: New `encoding` constructor parameter & attribute. Used for `table names` in table reservation. |
| 101 | + - `.DPB`: Encoding based on connection charset for `config`, `user name`, `password` and `role`. |
| 102 | + - `.SPB`: New `encoding` constructor parameter & attribute. Used for `config`, `user name`, `password` and `expected database`. |
| 103 | + - Connection-related providers: Encoding based on connection charset. |
| 104 | + - Server and Service providers: New `.Server.encoding` attribute. |
| 105 | +* Fixed bug in `.ServerDbServices3.get_statistics` when `tables` are specified. |
| 106 | + |
| 107 | + |
| 108 | +Version 1.3.3 |
| 109 | +============= |
| 110 | + |
| 111 | +* Fix unregistered bug: Newly extended interface breaks the driver (affects usability of |
| 112 | + the driver with Firebird development versions). |
| 113 | +* New exception type `.FirebirdWarning`. From now on, warnings from engine are raised as |
| 114 | + `.FirebirdWarning` instead `Warning`. In some future release, warnings will not be raised, |
| 115 | + but reported via `warnings.warn` mechanism. |
| 116 | + |
| 117 | +Version 1.3.2 |
| 118 | +============= |
| 119 | + |
| 120 | +* Fix unregistered bug: iUtil methods removed after FB 4 Beta 2 broke the Int128/TZ handling. |
| 121 | +* New context manager `.temp_database`. |
| 122 | + |
| 123 | +Version 1.3.1 |
| 124 | +============= |
| 125 | + |
| 126 | +* Fix unregistered bug: wrong handling of Firebird 4 string info parameters. |
| 127 | + |
| 128 | +Version 1.3.0 |
| 129 | +============= |
| 130 | + |
| 131 | +* Fix (#4): exeption returns non ascii-127 symbols. |
| 132 | + The error message decode uses `.fbapi.err_encoding` value that is initialized to |
| 133 | + `locale.getpreferredencoding`. Also, the decode is now done with `errors="replace"`. |
| 134 | +* Fix unregistered bug: wrong handling of milliseconds in TIME and TEMEPSTAMP datatype. |
| 135 | +* Sync _VERSION_ value with package version |
| 136 | +* Fix unregistered bug: Do not raise exception if accessed `.Statement.plan` is `None`. |
| 137 | +* Fix unregistered bug: `.get_statistics()` does not send `tables` correctly. |
| 138 | +* Fix annotations. |
| 139 | +* `.ServerTraceServices` methods now have return values. |
| 140 | +* User name added to `.TraceSession`. |
| 141 | +* Fix unregistered bug: `auth_plugin_list` configuration option is ignored |
| 142 | +* All methods of `.ServerDbServices3` except 3 related to limbo transactions have new |
| 143 | + optional keyword-only parameter `role` that is passed to called utility. |
| 144 | +* Function `.connect_server()` has new optional keyword-only parameter `expected_db`, |
| 145 | + to access services with non-default security database. |
| 146 | + |
| 147 | +* Improved Firebird 4 support. |
| 148 | + |
| 149 | + - Version-specific classes introduced. Internal classes `.DatabaseInfoProvider`, |
| 150 | + `.TransactionInfoProvider` and `.ServerDbServices` now implement only Firebird 4 features |
| 151 | + and descend from Firebird 3 versions. The proper variant is returned according to |
| 152 | + connected server. |
| 153 | + - New `.DatabaseConfig` options `session_time_zone`, `set_bind`, `decfloat_round` and |
| 154 | + `decfloat_traps`. |
| 155 | + - New `.DPB` parameters `session_time_zone`, `set_db_replica`, `set_bind`, `decfloat_round` |
| 156 | + and `decfloat_traps`. |
| 157 | + - New `session_time_zone` keyword parameter for `.connect()`. |
| 158 | + - Added explicit support for READ COMMITTED READ CONSISTENCY isolation (when disabled in |
| 159 | + Firebird configuration). |
| 160 | + - Support for transactions started at specified snapshot number. |
| 161 | + New `.TransactionInfoProvider.snapshot_number` property. |
| 162 | + The `.TPB` has new `at_snapshot_number` parameter. |
| 163 | + - `.backup()` and `.local_backup()` have new optional keyword-only arguments |
| 164 | + `include_data`, `keyhoder`, `keyname` and `crypt`, and `ZIP` value was added to `SrvBackupFlag`. |
| 165 | + - `.restore()` and `.local_restore()` have new optional keyword-only |
| 166 | + arguments `include_data`, `keyhoder`, `keyname`, `crypt` and `replica_mode`. |
| 167 | + - `.nbackup()` has new optional keyword-only parameter `guid`. |
| 168 | + - Support for new services. |
| 169 | + New methods `.ServerDbServices.nfix_database()` and `.set_replica_mode()`. |
| 170 | + - Support for `.Statement.timeout`, and `idle_timeout` and `statement_timeout` in `.Connection.info`. |
| 171 | + - New types: `.Features`, `.ReplicaMode`, `.CancelType`, `.DecfloatRound`, `.DecfloatTraps`, |
| 172 | + `.ConnectionFlag` and `.EncryptionFlag`. Firebird 4-related values added to some other |
| 173 | + enum types. |
| 174 | + |
| 175 | +Version 1.2.1 |
| 176 | +============= |
| 177 | + |
| 178 | +* Fixed dependency to `firebird-base` (v1.3.0) |
| 179 | + |
| 180 | +Version 1.2.0 |
| 181 | +============= |
| 182 | + |
| 183 | +* Fix unregistered bug: `sql_dialect` is used instead `db_sql_dialect` in `.create_database`. |
| 184 | +* Fix (#2): error when handling input parameters with value None |
| 185 | +* Added `.Server.mode` attribute to allow fetching service output using LINE or TO_EOF method. |
| 186 | + Default mode is TO_EOF. |
| 187 | + |
| 188 | +Version 1.1.0 |
| 189 | +============= |
| 190 | + |
| 191 | +* Important: Support for Firebird 4 TIMEZONE is broken (for FB4 RC1). It will be fixed in |
| 192 | + next driver version. |
| 193 | +* Build scheme changed to `PEP 517`. |
| 194 | +* Various changes to documentation and type hint adjustments. |
| 195 | +* Changed: `.DriverConfig.db_defaults` and `.DriverConfig.server_defaults` are now created |
| 196 | + as `optional` (introduced by firebird-base 1.2.0), so configuration file does not require |
| 197 | + `firebird.db.defaults` and `firebird.server.defaults` sections (even empty). |
| 198 | +* Fix: unregistered bug in `InfoProvider`. |
| 199 | +* Fix: unregistered bug in `FirebirdAPI` initialization. |
| 200 | + |
| 201 | +Version 1.0.0 |
| 202 | +============= |
| 203 | + |
| 204 | +* Added support for schema and monitor modules from `firebird-lib`_ package. |
| 205 | +* Documentation: adjustments to css. |
| 206 | + |
| 207 | +Version 0.8.0 |
| 208 | +============= |
| 209 | + |
| 210 | +The driver is no longer *beta*, and is now considered as **stable** for Firebird 3.0 (support for Firebird 4 is still evolving till final release). |
| 211 | + |
| 212 | +* Documentation, both in code and separate (especially Usage Guide). |
| 213 | +* Added support for new FB4 data types in ARRAY fields. |
| 214 | +* Refactoring in driver hooks. |
| 215 | +* New `.Cursor.call_procedure()` method. |
| 216 | +* Refactoring and fixes in Server and its services. |
| 217 | + |
| 218 | +Version 0.7.0 |
| 219 | +============= |
| 220 | + |
| 221 | +* Added support for new FB4 data types (TIME/TIMESTAMP WITH TIMEZONE, DECFLOAT[16|34] and |
| 222 | + extended DECIMAL/NUMERIC via INT128 storage). |
| 223 | + |
| 224 | +Version 0.6.0 |
| 225 | +============= |
| 226 | + |
| 227 | +* More documentation. |
| 228 | +* Initial support for Firebird 4+ (interfaces and other definitions). Includes support for |
| 229 | + interface versions. |
| 230 | +* `Service` renamed to `Server`. Selected functionality moved to inner objects (relates to |
| 231 | + FB4+ support). |
| 232 | +* New module: `~firebird.driver.config` - Driver configuration |
| 233 | +* New module: `~firebird.driver.interfaces` - Interface wrappers for Firebird new API |
| 234 | +* Changed module: `~firebird.driver.types` |
| 235 | + |
| 236 | + - Interface wrapper moved to separate module |
| 237 | + - Buffer managers moved to `~firebird.driver.core` module |
| 238 | +* Changed module: `~firebird.driver.core` |
| 239 | + |
| 240 | + - `connect()`, `create_database()` and `connect_server()` now use driver configuration. |
| 241 | + - Simplified/unified transaction isolation specification. |
| 242 | + - Emit warnings when objects with allocated Firebird resources are disposed (by Python |
| 243 | + GC) without prior call to `close()`. |
| 244 | + - Trace instrumentation removed. Use dynamic trace configuration from firebird-base 0.6.0. |
| 245 | + - `Connection` and `Transaction` information moved to inner objects accessible via `info` |
| 246 | + properties (relates to FB4+ support). |
| 247 | + |
| 248 | +Version 0.5.0 |
| 249 | +============= |
| 250 | + |
| 251 | +Initial release. |
| 252 | + |
| 253 | +.. _firebird-lib: https://pypi.org/project/firebird-lib/ |
| 254 | +.. _releases: https://github.com/FirebirdSQL/python3-driver/releases |
| 255 | +.. _Dash: https://kapeli.com/dash |
| 256 | +.. _Zeal: https://zealdocs.org/ |
0 commit comments