|
| 1 | +# Change Log |
| 2 | +All notable changes to this project will be documented in this file. |
| 3 | + |
| 4 | +The format is based on [Keep a Changelog](http://keepachangelog.com/) |
| 5 | +and this project adheres to [Semantic Versioning](http://semver.org/). |
| 6 | + |
| 7 | +## [Unreleased] - yyyy-mm-dd |
| 8 | + |
| 9 | +### Changed |
| 10 | + |
| 11 | +- Update dependency to protobuf >=4.24.3 |
| 12 | +- Build system changed from setuptools to hatch |
| 13 | +- Package version is now defined in firebird.base.__about__.py (__version__) |
| 14 | + |
| 15 | +### Added |
| 16 | + |
| 17 | +- .pyi file for config protobuf |
| 18 | +- Stub pytest test |
| 19 | + |
| 20 | +## [1.6.1] - 2023-03-03 |
| 21 | + |
| 22 | +### Fixed |
| 23 | + |
| 24 | +- Bug with Config.get_config() and `plain` bool argument. |
| 25 | + |
| 26 | +### Changed |
| 27 | + |
| 28 | +- firebird.base.config.StrOption now supports preservation of significant leading whitespace |
| 29 | + for multiline values (like PyCodeOption). |
| 30 | + |
| 31 | +## [1.6.0] - 2023-02-15 |
| 32 | + |
| 33 | +### Fixed |
| 34 | + |
| 35 | +- Bug in TraceManager.load_config(). |
| 36 | + |
| 37 | +### Changed |
| 38 | + |
| 39 | +- Registration of already registered protobuf objects is now ignored instead |
| 40 | + raising exception. |
| 41 | +- Module firebird.base.config: |
| 42 | + |
| 43 | + - Config.get_config() and Option.get_config() now provides `plain` bool argument to |
| 44 | + return configuration text without comments. Deafult is False. |
| 45 | + - create_config is now deprecated, will be removed in version 2.0. |
| 46 | + |
| 47 | +## [1.5.0] - 2022-11-14 |
| 48 | + |
| 49 | +### Changed |
| 50 | + |
| 51 | +- Move away from setup.cfg to pyproject.toml, new source tree layout. |
| 52 | + |
| 53 | +## [1.4.3] - 2022-10-27 |
| 54 | + |
| 55 | +### Added |
| 56 | + |
| 57 | +- Added internal functions firebird.base.types._decompose and firebird.base.types._power_of_two |
| 58 | + from stdlib enum module, because they were removed in Python 3.11. |
| 59 | + |
| 60 | +### Changed |
| 61 | + |
| 62 | +- Module firebird.base.protobuf now uses importlib.metadata.entry_points <entry-points> |
| 63 | + instead pkg_resources.iter_entry_points. |
| 64 | +- Improved documentation. |
| 65 | + |
| 66 | +## [1.4.2] - 2022-10-05 |
| 67 | + |
| 68 | +### Fixed |
| 69 | + |
| 70 | +- Signature in firebird.base.config.IntOption.clear(). |
| 71 | +- Signature in firebird.base.trace.TraceManager.add_trace(). Keyword argument `decorator` |
| 72 | + (with default) could not be used with args/kwargs, so it was removed. New |
| 73 | + firebird.base.trace.TraceManager.decorator attribute was added to |
| 74 | + firebird.base.trace.TraceManager that could be used to change trace decorator used |
| 75 | + for intrumentation. |
| 76 | + |
| 77 | +### Changed |
| 78 | + |
| 79 | +- Optimizations. |
| 80 | +- Cleanup of pylint warnings. |
| 81 | +- Updated documentation. |
| 82 | + |
| 83 | +## [1.4.1] - 2022-09-28 |
| 84 | + |
| 85 | +### Added |
| 86 | + |
| 87 | +- Documentation is now also provided as Dash / Zeal docset, downloadable from releases |
| 88 | + at github. |
| 89 | + |
| 90 | +### Fixed |
| 91 | + |
| 92 | +- Uregistered bug in trace.TraceConfig - redundant `flags` definition. |
| 93 | + |
| 94 | +## [1.4.0] - 2022-06-13 |
| 95 | + |
| 96 | +### Changed |
| 97 | + |
| 98 | +- Upgrade to protobuf 4.21.1. As this upgrade has consequences, please read |
| 99 | + https://developers.google.com/protocol-buffers/docs/news/2022-05-06#python-updates |
| 100 | + |
| 101 | +## [1.3.1] - 2022-01-11 |
| 102 | + |
| 103 | +### Added |
| 104 | + |
| 105 | +* `~firebird.base.buffer` module: |
| 106 | + |
| 107 | +- Added firebird.base.buffer.MemoryBuffer.write_sized_string() for symetry with read_sized_string(). |
| 108 | +- Now firebird.base.buffer.MemoryBuffer string functions has also `errors` parameter in |
| 109 | + addition to `encoding`. |
| 110 | + |
| 111 | +### Changed |
| 112 | + |
| 113 | +- Direct assignment to firebird.base.config.Config option raises a `ValueError` exception |
| 114 | + with message "Cannot assign values to option itself, use `option.value` instead". |
| 115 | + |
| 116 | +## [1.3.0] - 2021-06-03 |
| 117 | + |
| 118 | +### Added |
| 119 | + |
| 120 | +- firebird.base.config.Config has new constructor keyword-only argument `description`. |
| 121 | + |
| 122 | +### Fixed |
| 123 | + |
| 124 | +- Uregistered bug in config.ListOption - value and default was the same instance |
| 125 | + |
| 126 | +### Changed |
| 127 | + |
| 128 | +- Layout produced by firebird.base.config.get_config() was changed. |
| 129 | + |
| 130 | +## [1.2.0] - 2021-03-04 |
| 131 | + |
| 132 | +### Added |
| 133 | + |
| 134 | +- New function firebird.base.protobuf.get_message_factory. |
| 135 | +- Module firebird.base.trace: Added: `apply_to_descendants` boolean configuration option to |
| 136 | + apply configuration also to all registered descendant classes. The default value is `True`. |
| 137 | + |
| 138 | +### Fixed |
| 139 | + |
| 140 | +- Bug in firebird.base.signal.eventsocket signature handling. |
| 141 | + |
| 142 | +### Changed |
| 143 | + |
| 144 | +- Build scheme changed to `PEP 517`. |
| 145 | +- Various changes to documentation and type hint adjustments. |
| 146 | +- firebird.base.config module: |
| 147 | + |
| 148 | + - **BREAKING CHANGE**: ApplicationDirectoryScheme was replaced by |
| 149 | + DirectoryScheme class, and get_directory_scheme() has changed signature. |
| 150 | + - Directory scheme was reworked and now also supports concept of HOME directory. |
| 151 | + - New MacOS directory scheme support. As I don't have access to MacOS, this support |
| 152 | + should be considered EXPERIMENTAL. Any feedback about it's correctness is welcome. |
| 153 | + - Added: New Config constructor keyword-only `bool` argument `optional` and |
| 154 | + associated Config.optional read-only property. |
| 155 | + - Added: Config.has_value() function. |
| 156 | + - New class: PathOption for Configuration options with `pathlib.Path` value. |
| 157 | + |
| 158 | +## [1.1.0] - 2020-11-30 |
| 159 | + |
| 160 | +### Added |
| 161 | + |
| 162 | +- New module: signal - Callback system based on Signals and Slots, and "Delphi events" |
| 163 | +- New class: firebird.base.config.ApplicationDirectoryScheme |
| 164 | +- Introduced firebird.base.config.PROTO_CONFIG constant with fully qualified name for |
| 165 | + ConfigProto protobuf. |
| 166 | +- Module firebird.base.protobuf: Added direct support for key well-known data types |
| 167 | + `Empty`, `Any`, `Duration`, `Timestamp`, `Struct`, `Value`, `ListValue` and `FieldMask`. |
| 168 | + They are automatically registered. New constants 'PROTO_<type>' with fully qualified names. |
| 169 | +- firebird.base.protobuf.create_message()` has new optional `serialized` argument with |
| 170 | + `bytes` that should be parsed into newly created message instance. |
| 171 | +- New functions firebird.base.protobuf.struct2dict() and firebird.base.protobuf.dict2struct() |
| 172 | +- Modules firebird.base.trace: Added support for trace configuration based on firebird.base.config, |
| 173 | + using new classes BaseTraceConfig, TracedMethodConfig, TracedClassConfig and TraceConfig. |
| 174 | +- New methods in firebird.base.trace.TraceManager: |
| 175 | + |
| 176 | + - load_config() to update trace from configuration. |
| 177 | + - set_flag() and clear_flag(). |
| 178 | +- New function firebird.base.types.load(). |
| 179 | + |
| 180 | +### Changed |
| 181 | + |
| 182 | +- firebird.base.types.load() function now supports `object_name[.object_name...]` |
| 183 | + specifications instead single `object_name`. |
| 184 | +- firebird.base.config.Config.load_config(): raises error when section is missing, |
| 185 | + better error handling when exception is raised while loading options |
| 186 | +- firebird.base.config.PyCallableOption signature argument could be inspect.Signature |
| 187 | + or Callable |
| 188 | +- Optional argument `to_default` in `~firebird.base.config.Option.clear()` is now keyword-only. |
| 189 | +- firebird.base.logging.get_logging_id() uses __qualname__ instead __name__ |
| 190 | +- firebird.base.trace.TraceFlag value `DISABLED` was renamed to `NONE`. |
| 191 | +- firebird.base.types.MIME now handles access to properties more efficiently and faster. |
| 192 | +- Changes in documentation. |
| 193 | + |
| 194 | +## [1.0.0] - 2020-10-13 |
| 195 | + |
| 196 | +### Added |
| 197 | + |
| 198 | +- Documentation: new examples for trace, logging and hooks |
| 199 | +- Documentation: adjustments to css |
| 200 | + |
| 201 | +### Changed |
| 202 | + |
| 203 | +- DataList is now generic class. |
| 204 | +- DataList.extract() has new 'copy' argument. |
| 205 | + |
| 206 | +## [0.6.1] - 2020-09-15 |
| 207 | + |
| 208 | +- Promoted to stable |
| 209 | +- More documentation |
| 210 | + |
| 211 | +## [0.6.0] - 2020-06-30 |
| 212 | + |
| 213 | +### Added |
| 214 | + |
| 215 | +- New module: firebird.base.strconv - Data conversion from/to string |
| 216 | +- New module: firebird.base.trace - Trace/audit for class instances |
| 217 | + |
| 218 | +### Changed |
| 219 | + |
| 220 | +- Changed module: firebird.base.types, New classes: MIME - MIME type specification, |
| 221 | + PyExpr - Source code for Python expression, PyCode - Python source code and PyCallable - |
| 222 | + Source code for Python callable. Removed function: str2bool |
| 223 | +- Reworked module: firebird.base.config - Classes for configuration definitions |
| 224 | + with new classes: ConfigOption - Configuration option with Config value, |
| 225 | + ConfigListOption - Configuration option with list of Config values, and |
| 226 | + DataclassOption - Configuration option with a dataclass value. |
| 227 | +- Changed module: firebird.base.logging - Trace/audit functionality removed (into new |
| 228 | + module firebird.base.trace) |
| 229 | + |
| 230 | +## [0.5.0] - 2020-05-28 |
| 231 | + |
| 232 | +Initial release. |
| 233 | + |
0 commit comments