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 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184
|
# Changelog
## 2.2.0
- Added
- mypyc generated binary wheels for common platforms
## 2.1.0
- Deprecated
- Instantiating `TOMLDecodeError` with free-form arguments.
`msg`, `doc` and `pos` arguments should be given.
- Added
- `msg`, `doc`, `pos`, `lineno` and `colno` attributes to `TOMLDecodeError`
## 2.0.2
- Removed
- Python 3.7 support
- Improved
- Make `loads` raise `TypeError` not `AttributeError` on bad input types that do not have the `replace` attribute.
Improve error message when `bytes` is received.
- Type annotations
- Type annotate `load` input as `typing.IO[bytes]` (previously `typing.BinaryIO`).
## 2.0.1
- Improved
- Make bundling easier by using relative imports internally and adding license and copyright notice to source files.
- Make error messages more uniform
- Raise a friendly `TypeError` for wrong file mode
- Allow `parse_float` to return objects having the `append` attr
- Eagerly raise an error if `parse_float` returns an illegal type
- Packaging
- Move from `pytest` testing framework to `unittest` and remove `python-dateutil` test dependency.
Tests now only require Python interpreter.
## 1.2.3
- Fixed
- Backport: Allow lower case "t" and "z" in datetimes
## 2.0.0
- Removed
- Python 3.6 support
- Support for text file objects as `load` input. Use binary file objects instead.
- First argument of `load` and `loads` can no longer be passed by keyword.
- Fixed
- Allow lower case "t" and "z" in datetimes
- Improved
- Raise an error when dotted keys define values outside the "current table".
Technically speaking TOML v1.0.0 does allow such assignments
but that isn't intended by specification writers,
and will change in a future specification version (see the [pull request](https://github.com/toml-lang/toml/pull/848)).
## 1.2.2
- Fixed
- Illegal characters in error messages were surrounded by two pairs of quotation marks
- Improved
- `TOMLDecodeError.__module__` is now the public import path (`tomli`) instead of private import path (`tomli._parser`)
- Eliminated an import cycle when `typing.TYPE_CHECKING` is `True`.
This allows `sphinx-autodoc-typehints` to resolve type annotations.
## 1.2.1
- Fixed
- Raise an error if a carriage return (without a following line feed) is found in a multi-line basic string
- Type annotations
- Type annotate `load` input as `typing.BinaryIO` only to discourage use of deprecated text file objects.
- Packaging
- Remove legacy `setup.py` from PyPI source distribution.
If you're a packager and absolutely need this file, please create an issue.
## 1.2.0
- Deprecated
- Text file objects as input to `load`.
Binary file objects should be used instead to avoid opening a TOML file with universal newlines or with an encoding other than UTF-8.
## 1.1.0
- Added
- `load` can now take a binary file object
## 1.0.4
- Performance
- Minor boost (~4%)
## 1.0.3
- Fixed
- Raise `TOMLDecodeError` instead of `ValueError` when parsing dates and datetimes that pass the regex check but don't correspond to a valid date or datetime.
- Performance
- Improved multiline literal string parsing performance
## 1.0.2
- Performance
- Minor boost (~4%)
## 1.0.1
- Performance
- A significant boost
## 1.0.0
- Fixed
- Raise `TOMLDecodeError` instead of `KeyError` when overwriting implicitly in an inline table
## 0.2.10
- Fixed
- Raise `TOMLDecodeError` if overwriting nested inline tables from the parent inline
- Raise `TOMLDecodeError` if escaped Unicode character is not a Unicode scalar value
- Performance
- Increased parsing speed of single line basic strings, and multi-line literal and basic strings
## 0.2.9
- Fixed
- `TOMLDecodeError` now raised when opening a table implicitly created by a key/value pair
- Don't error when two array-of-tables items open a subtable with the same name
- Don't error when opening parent table of an already defined array-of-tables item
## 0.2.8
- Performance
- Significant boost to comment parsing speed
## 0.2.7
- Added
- Improved `TOMLDecodeError` error messages.
Line and column are included when applicable.
## 0.2.6
- Performance
- Over 5% boost
## 0.2.5
- Fixed
- Made exception type `TOMLDecodeError` when overwriting a value with a deeply nested table
## 0.2.4
- Fixed
- `TOMLDecodeError` is now raised when attempting to overwrite a value in an inline table's or array's namespace with a table definition
## 0.2.3
- Fixed
- Error type was not TOMLDecodeError in some obscure cases
## 0.2.2
- Added
- `tomli.load` for parsing IO streams returned by `open()`
- `parse_float` keyword argument to `tomli.loads`.
Allows parsing TOML floats to a non-float type in Python.
## 0.2.1
- Fixed
- `TOMLDecodeError` is now raised for duplicate keys in inline tables,
as opposed to silently overriding the previous value
## 0.2.0
- Changed
- Project name to Tomli
- Performance
- A performance boost
## 0.1.0
- Added
- `tomli.loads` for parsing TOML strings
- `tomli.TOMLDecodeError` that is raised for parse errors
|