deanmalmgren / textract

extract text from any document. no muss. no fuss.
http://textract.readthedocs.io
MIT License
3.89k stars 599 forks source link

Scheduled biweekly dependency update for week 33 #394

Closed pyup-bot closed 3 years ago

pyup-bot commented 3 years ago

Update argcomplete from 1.10.3 to 1.12.3.

Changelog ### 1.12.3 ``` ================================ - Update importlib-metadata version pin (345) - Display script debug output in tcsh (342) - Fish support improvements (338, 339) - Print ``warn()`` message from beginning of line (335) - Test infrastructure improvements ``` ### 1.12.2 ``` ================================ - Update importlib-metadata dependency pin (332) - Add change log project URL (312) - Replace Travis CI with GitHub Actions (323) ``` ### 1.12.1 ``` ================================ - Update importlib-metadata dependency version range - Bash nounset mode fixes (313) ``` ### 1.11.1 ``` ================================ - Add -o bashdefault to register-python-argcomplete’s output command (284) ``` ### 1.11.0 ``` ================================ - Use shell builtins where possible (280) - Switch from pkg_resources to importlib (283) - Remove .sh extension by bash-completion convention (281) - Catch exceptions in \_check_module (269) - Documentation and test improvements ``` ### 1.10.3 ``` ================================ - Do not suggest options after – (end-of-options delimiter) ``` ### 1.10.2 ``` ================================ - Include all test directory contents in source distribution ``` ### 1.10.1 ``` ================================ - Trigger completers on –optional=PARTIAL_VALUE - Complete console scripts installed from wheels (241) ``` ### 1.10.0 ``` ================================ - Fish support 68 (260), thanks to volkov ``` ### 1.9.5 ``` =============================== - check_module: Don’t crash, exit with error instead (261) - Register completion for multiple commands (246) ``` ### 1.9.4 ``` =============================== - Use the correct interpreter when checking wrappers (226) - Provide shellcode as a module function (237) ``` ### 1.9.3 ``` =============================== - Fix handling of COMP\_POINT (236) - Fix crash when writing unicode to debug\_stream in Python 2 (230) ``` ### 1.9.2 ``` =============================== - Fix release ``` ### 1.9.1 ``` =============================== - Fix release ``` ### 1.9.0 ``` =============================== - Add SuppressCompleter to skip completion for specific arguments while allowing help text (224) - Redirect all output to debug stream in debug mode (206) - Complete python -m module (204) ``` ### 1.8.2 ``` =============================== - Fix bug introduced in v0.7.1 where completers would not receive the parser keyword argument. - Documentation improvements. ``` ### 1.8.1 ``` =============================== - Fix completion after tokens with wordbreak chars (197) ``` ### 1.8.0 ``` =============================== This release contains work by evanunderscore with numerous improvements to the handling of special characters in completions. - Simplify nospace handling in global completion (195) - Specially handle all characters in COMP\_WORDBREAKS (187) - Use setuptools tests-require directive, fixes 186 - Complete files using the specified interpreter (192) - Fix completion for scripts run via python (191) - Clarify argument to register-python-argcomplete (190) - Fix handling of commas and other special chars (172); handle more special characters (189) - Fix handling of special characters in tcsh (188) - Update my\_shlex to Python 3.6 version (184) - Fix additional trailing space in exact matches (183) - Adjust tests to handle development environments (180) - Fix tcsh tests on OSX (177); Update bash on OSX (176); Check output of test setup command (179) - Optionally disable duplicated flags (143) - Add default\_completer option to CompletionFinder.\ **call** (167) - Let bash add or suppress trailing space (159) ``` ### 1.7.0 ``` =============================== - Restore parser to its original state to allow reuse after completion (150). - Expose COMP\_TYPE environment variable (157). Thanks to Matt Clay (mattclay). - Test infrastructure and documentation improvements. ``` ### 1.6.0 ``` =============================== - Add support for tcsh (155) - Fix handling of unquoted completions containing $ (154) - Don't insert unnecessary leading quote char in completions (152) - Fix parser reuse with positional arguments (149) - Tests: Add simple pexpect tests for bash (153); Add test case to verify 20 is fixed (148) - Thanks to davvid and evanunderscore for their work on this release. ``` ### 1.5.1 ``` =============================== - Packaging fix ``` ### 1.5.0 ``` =============================== - Do not suggest options from mutually exclusive groups (145). ``` ### 1.4.1 ``` ========================== - activate-global-python-argcomplete runs on Homebrew out of the box ``` ### 1.4.0 ``` ========================== - Correctly handle suggestions for positionals with variable-length nargs. Thanks to evanunderscore (132, 133). ``` ### 1.3.0 ``` ========================== - Correctly handle suggestions with custom nargs for optionals. Thanks to evanunderscore (131). ``` ### 1.2.0 ``` ========================== - Fix propagation of partially parsed subparser namespace into parent parser namespace upon subparser failure due to partial args. This allows completers to access partial parse results for subparser optionals in parsed_args (114). - The default completer can now be specified when manually instantiating CompletionFinder. Thanks to avylove (130). ``` ### 1.1.1 ``` ========================== - Use FilesCompleter as default completer fallback (120). ``` ### 1.1.0 ``` ========================== - Recognize subclasses of argparse._SubParsersAction. Thanks to Stephen Koo (118). - Support parsed_args in custom completers with missing args. Thanks to Dan Kilman (124). - Non-ASCII support in FilesCompleter. - Automatically enable FilesCompleter for argparse.FileType arguments. ``` ### 1.0.0 ``` ========================== - Don't print args with suppressed help by default; add ``argcomplete.autocomplete(print_suppressed=True)`` to control this behavior (113). ``` ### 0.9.0 ``` ========================== - Fix always_complete_options=False support (115). ``` ### 0.8.9 ``` ========================== - Correct doc filename in setup.cfg (fixes bdist_rpm failure, Issue 111). - Make context managers exception-safe. Thanks to Mikołaj Siedlarek (pull request 110). ``` ### 0.8.8 ``` ========================== - Build and upload universal wheel packages in release. - Fix issue with non-string choices for arguments. Thanks to neizod (pull request 107). - Improve non-ascii argparse argument support on Python 2.7. ``` ### 0.8.7 ``` ========================== - register-python-argcomplete: add option to avoid default readline completion. Thanks to drmalex07 (pull request 99). ``` ### 0.8.6 ``` ========================== - Expand tilde in script name, allowing argcomplete to work when invoking scripts from one's home directory. Thanks to VorpalBlade (Issue 104). ``` ### 0.8.5 ``` ========================== - Fix issues related to using argcomplete in a REPL environement. - New helper method for custom completion display. - Expand test suite; formatting cleanup. ``` ### 0.8.4 ``` ========================== - Fix issue related to using argcomplete in a REPL environement. Thanks to wapiflapi (pull request 91). ``` ### 0.8.3 ``` ========================== - Fix multiple issues related to using argcomplete in a REPL environement. Thanks to wapiflapi (pull request 90). ``` ### 0.8.2 ``` ========================== - Don't strip colon prefix in completion results if COMP_WORDBREAKS does not contain a colon. Thanks to berezv (pull request 88). ``` ### 0.8.1 ``` ========================== - Use complete --nospace to avoid issues with directory completion. ``` ### 0.8.0 ``` ========================== - Refactor main body of code into a class to enable subclassing and overriding of functionality (Issue 78). ``` ### 0.7.1 ``` ========================== - New keyword option "argcomplete.autocomplete(validator=...)" to supply a custom validator or bypass default validation. Thanks to thijsdezoete (Issue 77). - Document debug options. ``` ### 0.7.0 ``` ========================== - New keyword option "argcomplete.autocomplete(exclude=[...])" to suppress options (Issue 74). - More speedups to code path for global completion hook negative result. ``` ### 0.6.9 ``` ========================== - Fix handling of development mode script wrappers. Thanks to jmlopez-rod and dcosson (Issue 69). - Speed up code path for global completion hook negative result by loading pkg_resources on demand. ``` ### 0.6.8 ``` ========================== - Begin tracking changes in changelog. - Add completion support for PBR installed scripts (PR 71). - Detect easy-install shims with shebang lines that contain Py instead of py (Issue 69). ```
Links - PyPI: https://pypi.org/project/argcomplete - Changelog: https://pyup.io/changelogs/argcomplete/ - Repo: https://github.com/kislyuk/argcomplete

Update beautifulsoup4 from 4.8.2 to 4.9.3.

The bot wasn't able to find a changelog for this release. Got an idea?

Links - PyPI: https://pypi.org/project/beautifulsoup4 - Homepage: http://www.crummy.com/software/BeautifulSoup/bs4/

Update chardet from **3.* to 4.0.0**.

Changelog ### 4.0.0 ``` Benchmarking chardet 4.0.0 on CPython 3.7.5 (default, Sep 8 2020, 12:19:42) [Clang 11.0.3 (clang-1103.0.32.62)] -------------------------------------------------------------------------------- ....................................................................................................................................................................................................................................................................................................................................................................... Calls per second for each encoding: ``` ### 3.0.4 ``` This minor bugfix release just fixes some packaging and documentation issues: - Fix issue with `setup.py` where `pytest_runner` was always being installed. (PR 119, thanks zmedico) - Make sure `test.py` is included in the manifest (PR 118, thanks zmedico) - Fix a bunch of old URLs in the README and other docs. (PRs 123 and 129, thanks qfan and jdufresne) - Update documentation to no longer imply we test/support Python 3 versions before 3.3 (PR 130, thanks jdufresne) ``` ### 3.0.3 ``` This release fixes a crash when debugging logging was enabled. (Issue 115, PRs 117 and 125) ``` ### 3.0.2 ``` Fixes an issue where `detect` would sometimes return `None` instead of a `dict` with the keys `encoding`, `language`, and `confidence` (Issue 113, PR 114). ``` ### 3.0.1 ``` This bugfix release fixes a crash in the EUC-TW prober when it encountered certain strings (Issue 67). ``` ### 3.0.0 ``` This release is long overdue, but still mostly serves as a placeholder for the impending 4.0.0 release, which will have retrained models for better accuracy. For now, this release will get the following improvements up on PyPI: - Added support for Turkish ISO-8859-9 detection (PR 41, thanks queeup) - Commented out large unused sections of Big5 and EUC-KR tables to save memory (8bc4b89) - Removed Python 3.2 from testing, but add 3.4 - 3.6 - Ensure that stdin is open with mode `'rb'` for `chardetect` CLI. (PR 38, thanks lpsinger) - Fixed `chardetect` crash with non-ascii file names (PR 39, thanks nkanaev) - Made naming conventions more Pythonic throughout (no more `mTypicalPositiveRatio`, and instead `typical_positive_ratio`) - Modernized test scripts and infrastructure so we've got Travis testing and all that stuff - Rename `filter_without_english_words` to `filter_international_words` and make it match current Mozilla implementation (PR 44, thanks rsnair2) - Updated `filter_english_letters` to match C implementation (c6654595) - Temporarily disabled Hungarian ISO-8859-2 and Windows-1250 detection because it is very inaccurate (da6c0a079) - Allow CLI sub-package to be importable (PR 55) - Add a `hypotheis`-based test (PR 66, thanks DRMacIver) - Strip endianness from UTF with BOM predictions so that the encoding can be passed directly to `bytes.decode()` (PR 73, thanks snoack) - Fixed broken links in docs (PR 90, thanks roskakori) - Added early exit to `chardetect` when encoding is detected instead of looping through entire file (PR 103, thanks jpz) - Use `bytearray` objects internally instead of `wrap_ord` calls, which provides a nice performance boost across the board (PR 106) - Add `language` property to probers and `UniversalDetector` results (PR 180) - Mark the 5 known test failures as such so we can have more useful Travis build results in the meantime (d588407) ``` ### 2.3.0 ``` In this release, we: - Added support for CP932 detection (thanks to hashy). - Fixed an issue where UTF-8 with a BOM would not be detected as UTF-8-SIG (8). - Modified `chardetect` to use `argparse` for argument parsing. - Moved docs to a `gh-pages` branch. You can now access them at http://chardet.github.io. ``` ### 2.2.1 ``` Fix missing paren in chardetect.py ``` ### 2.2.0 ``` First version after merger with charade. Loads of little changes. ```
Links - PyPI: https://pypi.org/project/chardet - Changelog: https://pyup.io/changelogs/chardet/ - Repo: https://github.com/chardet/chardet

Update EbookLib from **0.* to 0.17.1**.

The bot wasn't able to find a changelog for this release. Got an idea?

Links - PyPI: https://pypi.org/project/ebooklib - Repo: https://github.com/aerkalov/ebooklib

Update pdfminer.six from 20191110 to 20201018.

The bot wasn't able to find a changelog for this release. Got an idea?

Links - PyPI: https://pypi.org/project/pdfminer.six - Repo: https://github.com/pdfminer/pdfminer.six

Update six from 1.12.0 to 1.16.0.

Changelog ### 1.16.0 ``` ------ - Pull request 343, issue 341, pull request 349: Port _SixMetaPathImporter to Python 3.10. ``` ### 1.15.0 ``` ------ - Pull request 331: Optimize `six.ensure_str` and `six.ensure_binary`. ``` ### 1.14.0 ``` ------ - Issue 288, pull request 289: Add `six.assertNotRegex`. - Issue 317: `six.moves._dummy_thread` now points to the `_thread` module on Python 3.9+. Python 3.7 and later requires threading and deprecated the `_dummy_thread` module. - Issue 308, pull request 314: Remove support for Python 2.6 and Python 3.2. - Issue 250, issue 165, pull request 251: `six.wraps` now ignores missing attributes. This follows the Python 3.2+ standard library behavior. ``` ### 1.13.0 ``` ------ - Issue 298, pull request 299: Add `six.moves.dbm_ndbm`. - Issue 155: Add `six.moves.collections_abc`, which aliases the `collections` module on Python 2-3.2 and the `collections.abc` on Python 3.3 and greater. - Pull request 304: Re-add distutils fallback in `setup.py`. - Pull request 305: On Python 3.7, `with_metaclass` supports classes using PEP 560 features. ``` ### 1.12.0 ``` ------ - Issue 259, pull request 260: `six.add_metaclass` now preserves `__qualname__` from the original class. - Pull request 204: Add `six.ensure_binary`, `six.ensure_text`, and `six.ensure_str`. ``` ### 1.11.0 ``` ------ - Pull request 178: `with_metaclass` now properly proxies `__prepare__` to the underlying metaclass. - Pull request 191: Allow `with_metaclass` to work with metaclasses implemented in C. - Pull request 203: Add parse_http_list and parse_keqv_list to moved urllib.request. - Pull request 172 and issue 171: Add unquote_to_bytes to moved urllib.parse. - Pull request 167: Add `six.moves.getoutput`. - Pull request 80: Add `six.moves.urllib_parse.splitvalue`. - Pull request 75: Add `six.moves.email_mime_image`. - Pull request 72: Avoid creating reference cycles through tracebacks in `reraise`. ``` ### 1.10.0 ``` ------ - Issue 122: Improve the performance of `six.int2byte` on Python 3. - Pull request 55 and issue 99: Don't add the `winreg` module to `six.moves` on non-Windows platforms. - Pull request 60 and issue 108: Add `six.moves.getcwd` and `six.moves.getcwdu`. - Pull request 64: Add `create_unbound_method` to create unbound methods. ``` ### 1.9.0 ``` ----- - Issue 106: Support the `flush` parameter to `six.print_`. - Pull request 48 and issue 15: Add the `python_2_unicode_compatible` decorator. - Pull request 57 and issue 50: Add several compatibility methods for unittest assertions that were renamed between Python 2 and 3. - Issue 105 and pull request 58: Ensure `six.wraps` respects the *updated* and *assigned* arguments. - Issue 102: Add `raise_from` to abstract out Python 3's raise from syntax. - Issue 97: Optimize `six.iterbytes` on Python 2. - Issue 98: Fix `six.moves` race condition in multi-threaded code. - Pull request 51: Add `six.view(keys|values|items)`, which provide dictionary views on Python 2.7+. - Issue 112: `six.moves.reload_module` now uses the importlib module on Python 3.4+. ``` ### 1.8.0 ``` ----- - Issue 90: Add `six.moves.shlex_quote`. - Issue 59: Add `six.moves.intern`. - Add `six.urllib.parse.uses_(fragment|netloc|params|query|relative)`. - Issue 88: Fix add_metaclass when the class has `__slots__` containing `__weakref__` or `__dict__`. - Issue 89: Make six use absolute imports. - Issue 85: Always accept *updated* and *assigned* arguments for `wraps()`. - Issue 86: In `reraise()`, instantiate the exception if the second argument is `None`. - Pull request 45: Add `six.moves.email_mime_nonmultipart`. - Issue 81: Add `six.urllib.request.splittag` mapping. - Issue 80: Add `six.urllib.request.splituser` mapping. ``` ### 1.7.3 ``` ----- - Issue 77: Fix import six on Python 3.4 with a custom loader. - Issue 74: `six.moves.xmlrpc_server` should map to `SimpleXMLRPCServer` on Python 2 as documented not `xmlrpclib`. ``` ### 1.7.2 ``` ----- - Issue 72: Fix installing on Python 2. ``` ### 1.7.1 ``` ----- - Issue 71: Make the six.moves meta path importer handle reloading of the six module gracefully. ``` ### 1.7.0 ``` ----- - Pull request 30: Implement six.moves with a PEP 302 meta path hook. - Pull request 32: Add six.wraps, which is like functools.wraps but always sets the __wrapped__ attribute. - Pull request 35: Improve add_metaclass, so that it doesn't end up inserting another class into the hierarchy. - Pull request 34: Add import mappings for dummy_thread. - Pull request 33: Add import mappings for UserDict and UserList. - Pull request 31: Select the implementations of dictionary iterator routines at import time for a 20% speed boost. ``` ### 1.6.1 ``` ----- - Raise an AttributeError for six.moves.X when X is a module not available in the current interpreter. ``` ### 1.6.0 ``` ----- - Raise an AttributeError for every attribute of unimportable modules. - Issue 56: Make the fake modules six.moves puts into sys.modules appear not to have a __path__ unless they are loaded. - Pull request 28: Add support for SplitResult. - Issue 55: Add move mapping for xmlrpc.server. - Pull request 29: Add move for urllib.parse.splitquery. ``` ### 1.5.2 ``` ----- - Issue 53: Make the fake modules six.moves puts into sys.modules appear not to have a __name__ unless they are loaded. ``` ### 1.5.1 ``` ----- - Issue 51: Hack around the Django autoreloader after recent six.moves changes. ``` ### 1.5.0 ``` ----- - Removed support for Python 2.4. This is because py.test no longer supports 2.4. - Fix various import problems including issues 19 and 41. six.moves modules are now lazy wrappers over the underlying modules instead of the actual modules themselves. - Issue 49: Add six.moves mapping for tkinter.ttk. - Pull request 24: Add __dir__ special method to six.moves modules. - Issue 47: Fix add_metaclass on classes with a string for the __slots__ variable. - Issue 44: Fix interpretation of backslashes on Python 2 in the u() function. - Pull request 21: Add import mapping for urllib's proxy_bypass function. - Issue 43: Add import mapping for the Python 2 xmlrpclib module. - Issue 39: Add import mapping for the Python 2 thread module. - Issue 40: Add import mapping for the Python 2 gdbm module. - Issue 35: On Python versions less than 2.7, print_ now encodes unicode strings when outputting to standard streams. (Python 2.7 handles this automatically.) ``` ### 1.4.1 ``` ----- - Issue 32: urllib module wrappings don't work when six is not a toplevel file. ``` ### 1.4.0 ``` ----- - Issue 31: Add six.moves mapping for UserString. - Pull request 12: Add six.add_metaclass, a decorator for adding a metaclass to a class. - Add six.moves.zip_longest and six.moves.filterfalse, which correspond respectively to itertools.izip_longest and itertools.ifilterfalse on Python 2 and itertools.zip_longest and itertools.filterfalse on Python 3. - Issue 25: Add the unichr function, which returns a string for a Unicode codepoint. - Issue 26: Add byte2int function, which complements int2byte. - Add a PY2 constant with obvious semantics. - Add helpers for indexing and iterating over bytes: iterbytes and indexbytes. - Add create_bound_method() wrapper. - Issue 23: Allow multiple base classes to be passed to with_metaclass. - Issue 24: Add six.moves.range alias. This exactly the same as the current xrange alias. - Pull request 5: Create six.moves.urllib, which contains abstractions for a bunch of things which are in urllib in Python 3 and spread out across urllib, urllib2, and urlparse in Python 2. ``` ### 1.3.0 ``` ----- - Issue 21: Add methods to access the closure and globals of a function. - In six.iter(items/keys/values/lists), passed keyword arguments through to the underlying method. - Add six.iterlists(). - Issue 20: Fix tests if tkinter is not available. - Issue 17: Define callable to be builtin callable when it is available again in Python 3.2+. - Issue 16: Rename Python 2 exec_'s arguments, so casually calling exec_ with keyword arguments will raise. - Issue 14: Put the six.moves package in sys.modules based on the name six is imported under. - Fix Jython detection. - Pull request 4: Add email_mime_multipart, email_mime_text, and email_mime_base to six.moves. ``` ### 1.2.0 ``` ----- - Issue 13: Make iterkeys/itervalues/iteritems return iterators on Python 3 instead of iterables. - Issue 11: Fix maxsize support on Jython. - Add six.next() as an alias for six.advance_iterator(). - Use the builtin next() function for advance_iterator() where is available (2.6+), not just Python 3. - Add the Iterator class for writing portable iterators. ``` ### 1.1.0 ``` ----- - Add the int2byte function. - Add compatibility mappings for iterators over the keys, values, and items of a dictionary. - Fix six.MAXSIZE on platforms where sizeof(long) != sizeof(Py_ssize_t). - Issue 3: Add six.moves mappings for filter, map, and zip. ``` ### 1.0 ``` ---------- - Reworked six into one .py file. This breaks imports. Please tell me if you are interested in an import compatibility layer. ``` ### 1.0.0 ``` ----- - Issue 2: u() on Python 2.x now resolves unicode escapes. - Expose an API for adding mappings to six.moves. ```
Links - PyPI: https://pypi.org/project/six - Changelog: https://pyup.io/changelogs/six/ - Repo: https://github.com/benjaminp/six

Update xlrd from 1.2.0 to 2.0.1.

Changelog ### 2.0.1 ``` ------------------------ - Use the README as the long description on PyPI. ``` ### 2.0 ``` + Decouple Book init & load. + runxlrd: minor fix for xfc. + More Excel 2.x work. + is_date_format() tweak. + Better detection of IronPython. + Better error message (including first 8 bytes of file) when file is not in a supported format. + More BIFF2 formatting: ROW, COLWIDTH, and COLUMNDEFAULT records; + finished stage 1 of XF records. + More work on supporting BIFF2 (Excel 2.x) files. + Added support for Excel 2.x (BIFF2) files. Data only, no formatting info. Alpha. + Wasn't coping with EXTERNSHEET record followed by CONTINUE record(s). + Allow for BIFF2/3-style FORMAT record in BIFF4/8 file + Avoid crash when zero-length Unicode string missing options byte. + Warning message if sector sizes are extremely large. + Work around corrupt STYLE record + Added missing entry for blank cell type to ctype_text + Added "fonts" command to runxlrd script + Warning: style XF whose parent XF index != 0xFFF + Logfile arg wasn't being passed from open_workbook to compdoc.CompDoc. ``` ### 2.0.0 ``` ------------------------ - Remove support for anything other than ``.xls`` files. - Remove support for ``psyco``. - Change the default encoding used when no ``CODEPAGE`` record can be found from ``ascii`` to ``iso-8859-1``. - Add support for iterating over :class:`~xlrd.book.Book` objects. - Add support for item access from :class:`~xlrd.book.Book` objects, where integer indices and string sheet names are supported. - Non-unicode spaces are now stripped from the "last author" information. - Workbook corruption errors can now be ignored using the ``ignore_workbook_corruption`` option to :class:`~xlrd.open_workbook`. - Handle ``WRITEACCESS`` records with invalid trailing characters. - Officially support Python 3.8 and 3.9. Thanks to the following for their contributions to this release: - Jon Dufresne - Tore Lundqvist - nayyarv - Michael Davis - skonik ``` ### 1.2.0 ``` ------------------------ - Added support for Python 3.7. - Added optional support for defusedxml to help mitigate exploits. - Automatically convert ``~`` in file paths to the current user's home directory. - Removed ``examples`` directory from the installed package. They are still available in the source distribution. - Fixed ``time.clock()`` deprecation warning. ``` ### 1.1.0 ``` ---------------------- - Fix for parsing of merged cells containing a single cell reference in xlsx files. - Fix for "invalid literal for int() with base 10: 'true'" when reading some xlsx files. - Make xldate_as_datetime available to import direct from xlrd. - Build universal wheels. - Sphinx documentation. - Document the problem with XML vulnerabilities in xlsx files and mitigation measures. - Fix :class:`NameError` on ``has_defaults is not defined``. - Some whitespace and code style tweaks. - Make example in README compatible with both Python 2 and 3. - Add default value for cells containing errors that causeed parsing of some xlsx files to fail. - Add Python 3.6 to the list of supported Python versions, drop 3.3 and 2.6. - Use generator expressions to avoid unnecessary lists in memory. - Document unicode encoding used in Excel files from Excel 97 onwards. - Report hyperlink errors in R1C1 syntax. Thanks to the following for their contributions to this release: - icerevalgmail.com - Daniel Rech - Ville Skyttä - Yegor Yefremov - Maxime Lorant - Alexandr N Zamaraev - Zhaorong Ma - Jon Dufresne - Chris McIntyre - coltleesegmail.com - Ivan Masá ``` ### 1.0.0 ``` ------------------- - Official support, such as it is, is now for 2.6, 2.7, 3.3+ - Fixes a bug in looking up non-lowercase sheet filenames by ensuring that the sheet targets are transformed the same way as the component_names dict keys. - Fixes a bug for ``ragged_rows=False`` when merged cells increases the number of columns in the sheet. This requires all rows to be extended to ensure equal row lengths that match the number of columns in the sheet. - Fixes to enable reading of SAP-generated .xls files. - support BIFF4 files with missing FORMAT records. - support files with missing WINDOW2 record. - Empty cells are now always unicode strings, they were a bytestring on Python 2 and a unicode string on Python 3. - Fix for ``<cell>`` ``inlineStr`` attribute without ``<si>`` child. - Fix for a zoom of ``None`` causing problems on Python 3. - Fix parsing of bad dimensions. - Fix xlsx sheet to comments relationship. Thanks to the following for their contributions to this release: - Lars-Erik Hannelius - Deshi Xiao - Stratos Moro - Volker Diels-Grabsch - John McNamara - Ville Skyttä - Patrick Fuller - Dragon Dave McKee - Gunnlaugur Þór Briem ``` ### 0.9.4 ``` -------------------- - Automated tests are now run on Python 3.4 - Use ``ElementTree.iter()`` if available, instead of the deprecated ``getiterator()`` when parsing xlsx files. - Fix 106 : Exception Value: unorderable types: Name() < Name() - Create row generator expression with Sheet.get_rows() - Fix for forward slash file separator and lowercase names within xlsx internals. Thanks to the following for their contributions to this release: - Corey Farwell - Jonathan Kamens - Deepak N - Brandon R. Stoner - John McNamara ``` ### 0.9.3 ``` ------------------ - Github issue 49 - Github issue 64 - skip meaningless chunk of 4 zero bytes between two otherwise-valid BIFF records - Github issue 61 - fix updating of escapement attribute of Font objects read from workbooks. - Implemented ``Sheet.visibility`` for xlsx files - Ignore anchors (``$``) in cell references - Dropped support for Python 2.5 and earlier, Python 2.6 is now the earliest Python release supported - Read xlsx merged cell elements. - Read cell comments in .xlsx files. - Added xldate_as_datetime() function to convert from Excel serial date/time to datetime.datetime object. Thanks to the following for their contributions to this release: - John Machin - Caleb Epstein - Martin Panter - John McNamara - Gunnlaugur Þór Briem - Stephen Lewis ``` ### 0.9.2 ``` ------------------ - Fix some packaging issues that meant docs and examples were missing from the tarball. - Fixed a small but serious regression that caused problems opening .xlsx files. ``` ### 0.9.1 ``` ------------------ - Many fixes bugs in Python 3 support. - Fix bug where ragged rows needed fixing when formatting info was being parsed. - Improved handling of aberrant Excel 4.0 Worksheet files. - Various bug fixes. - Simplify a lot of the distribution packaging. - Remove unused and duplicate imports. Thanks to the following for their contributions to this release: - Thomas Kluyver ``` ### 0.9.0 ``` ------------------- - Support for Python 3.2+ - Many new unit test added. - Continuous integration tests are now run. - Various bug fixes. Special thanks to Thomas Kluyver and Martin Panter for their work on Python 3 compatibility. Thanks to Manfred Moitzi for re-licensing his unit tests so we could include them. Thanks to the following for their contributions to this release: - "holm" - Victor Safronovich - Ross Jones ``` ### 0.8.0 ``` ------------------- - More work-arounds for broken source files. - Support for reading .xlsx files. - Drop support for Python 2.5 and older. ``` ### 0.7.8 ``` ------------------- - Ignore superfluous zero bytes at end of xls OBJECT record. - Fix assertion error when reading file with xlwt-written bitmap. ``` ### 0.7.7 ``` ------------------- - More packaging changes, this time to support 2to3. ``` ### 0.7.6 ``` ------------------ - Fix more packaging issues. ``` ### 0.7.5 ``` ------------------ - Fix packaging issue that missed ``version.txt`` from the distributions. ``` ### 0.7.4 ``` ------------------ - More tolerance of out-of-spec files. - Fix bugs reading long text formula results. ``` ### 0.7.3 ``` ------------------- - Packaging and documentation updates. ``` ### 0.7.2 ``` ------------------- - Tolerant handling of files with extra zero bytes at end of NUMBER record. Sample provided by Jan Kraus. - Added access to cell notes/comments. Many cross-references added to Sheet class docs. - Added code to extract hyperlink (HLINK) records. Based on a patch supplied by John Morrisey. - Extraction of rich text formatting info based on code supplied by Nathan van Gheem. - added handling of BIFF2 WINDOW2 record. - Included modified version of page breaks patch from Sam Listopad. - Added reading of the PANE record. - Reading SCL record. New attribute ``Sheet.scl_mag_factor``. - Lots of bug fixes. - Added ``ragged_rows`` functionality. ``` ### 0.7.1 ``` ------------------- - Backed out "slash'n'burn" of sheet resources in unload_sheet(). Fixed problem with STYLE records on some Mac Excel files. - quieten warnings - Integrated on_demand patch by Armando Serrano Lombillo ``` ### 0.7.0 ``` --------------------- + colname utility function now supports more than 256 columns. + Fix bug where BIFF record type 0x806 was being regarded as a formula opcode. + Ignore PALETTE record when formatting_info is false. + Tolerate up to 4 bytes trailing junk on PALETTE record. + Fixed bug in unused utility function xldate_from_date_tuple which affected some years after 2099. + Added code for inspecting as-yet-unused record types: FILEPASS, TXO, NOTE. + Added inspection code for add_in function calls. + Added support for unnumbered biff_dump (better for doing diffs). + ignore distutils cruft + Avoid assertion error in compdoc when -1 used instead of -2 for first_SID of empty SCSS + Make version numbers match up. + Enhanced recovery from out-of-order/missing/wrong CODEPAGE record. + Added Name.area2d convenience method. + Avoided some checking of XF info when formatting_info is false. + Minor changes in preparation for XLSX support. + remove duplicate files that were out of date. ``` ### 0.6.1 ``` + Documented runxlrd.py commands in its usage message. Changed commands: dump to biff_dump, count_records to biff_count. ``` ### 0.6.1a5 ``` ------- + Bug fixed: Missing "<" in a struct.unpack call means can't open files on bigendian platforms. Discovered by "Mihalis". + Removed antique undocumented Book.get_name_dict method and experimental "trimming" facility. + Meaningful exception instead of IndexError if a SAT (sector allocation table) is corrupted. + If no CODEPAGE record in pre-8.0 file, assume ascii and keep going (instead of raising exception). ``` ### 0.6.1a4 ``` ------- + At least one source of XLS files writes parent style XF records *after* the child cell XF records that refer to them, triggering IndexError in 0.5.2 and AssertionError in later versions. Reported with sample file by Todd O'Bryan. Fixed by changing to two-pass processing of XF records. + Formatting info in pre-BIFF8 files: Ensured appropriate defaults and lossless conversions to make the info BIFF8-compatible. Fixed bug in extracting the "used" flags. + Fixed problems discovered with opening test files from Planmaker 2006 (http://www.softmaker.com/english/ofwcomp_en.htm): (1) Four files have reduced size of PALETTE record (51 and 32 colours; Excel writes 56 always). xlrd now emits a NOTE to the logfile and continues. (2) FORMULA records use the Excel 2.x record code 0x0021 instead of 0x0221. xlrd now continues silently. (3) In two files, at the OLE2 compound document level, the internal directory says that the length of the Short-Stream Container Stream is 16384 bytes, but the actual contents are 11264 and 9728 bytes respectively. xlrd now emits a WARNING to the logfile and continues. + After discussion with Daniel Rentz, the concept of two lists of XF (eXtended Format) objects (raw_xf_list and computed_xf_list) has been abandoned. There is now a single list, called xf_list ``` ### 0.6.1a3 ``` ------- + Added Book.sheets ... for sheetx, sheet in enumerate(book.sheets): + Formatting info: extraction of sheet-level flags from WINDOW2 record, and sheet.visibility from BOUNDSHEET record. Added Macintosh- only Font attributes "outline" and "shadow'. ``` ### 0.6.1a2 ``` ------- + Added extraction of merged cells info. + pyExcelerator uses "general" instead of "General" for the generic "number format". Worked around. + Crystal Reports writes "WORKBOOK" in the OLE2 Compound Document directory instead of "Workbook". Changed to case-insensitive directory search. Reported by Vic Simkus. ``` ### 0.6.1a1 ``` --------------------- + Added formatting information for cells (font, "number format", background, border, alignment and protection) and rows/columns (height/width etc). To save memory and time for those who don't need it, this information is extracted only if formatting_info=1 is supplied to the open_workbook() function. The cell records BLANK and MULBLANKS which contain no data, only formatting information, will continue to be ignored in the default (no formatting info) case. + Ralph Heimburger reported a problem with xlrd being intolerant about an Excel 4.0 file (created by "some web app") with a DIMENSIONS record that omitted Microsoft's usual padding with 2 unused bytes. Fixed. ``` ### 0.6.0a4 ``` ---------------------- + Added extraction of human-readable formulas from NAME records. + Worked around OOo Calc writing 9-byte BOOLERR records instead of 8. Reported by Rory Campbell-Lange. + This history file converted to descending chronological order and HTML format. ``` ### 0.6.0a3 ``` ---------------------- + Names: minor bugfixes; added script xlrdnameAPIdemo.py + ROW records were being used as additional hints for sizing memory requirements. In some files the ROW records overstate the number of used columns, and/or there are ROW records for rows that have no data in them. This would cause xlrd to report sheet.ncols and/or sheet.nrows as larger than reasonably expected. Change: ROW records are ignored. The number of columns/rows is based solely on the highest column/row index seen in non-empty data records. Empty data records (types BLANK and MULBLANKS) which contain no data, only formatting information, have always been ignored, and this will continue. Consequence: trailing rows and columns which contain only empty cells will vanish. ``` ### 0.6.0a2 ``` ---------------------- + Fixed a bug reported by Rory Campbell-Lange.: "open failed"; incorrect assumptions about the layout of array formulas which return strings. + Further work on defined names, especially the API. ``` ### 0.6.0a1 ``` --------------------- + Sheet objects have two new convenience methods: col_values(colx, start_rowx=0, end_rowx=None) and the corresponding col_types. Suggested by Dennis O'Brien. + BIFF 8 file missing its CODEPAGE record: xlrd will now assume utf_16_le encoding (the only possibility) and keep going. + Older files missing a CODEPAGE record: an exception will be raised. Thanks to Sergey Krushinsky for a sample file. The open_workbook() function has a new argument (encoding_override) which can be used if the CODEPAGE record is missing or incorrect (for example, codepage=1251 but the data is actually encoded in koi8_r). The runxlrd.py script takes a corresponding -e argument, for example -e cp1251 + Further work done on parsing "number formats". Thanks to Chris Withers for the ``"General_)"`` example. + Excel 97 introduced the concept of row and column labels, defined by Insert > Name > Labels. The ranges containing the labels are now exposed as the Sheet attributes row_label_ranges and col_label_ranges. + The major effort in this 0.6.0 release has been the provision of access to named cell ranges and named constants (Excel: Insert/Name/Define). Juan C. Mendez provided very useful real-world sample files. ``` ### 0.5.3a1 ``` --------------------- + John Popplewell and Richard Sharp provided sample files which caused any reliance at all on DIMENSIONS records and ROW records to be abandoned. + If the file size is not a whole number of OLE sectors, a warning message is logged. Previously this caused an exception to be raised. ``` ### 0.5.2 ``` --------------------- + public release + Updated version numbers, README, HISTORY. ``` ### 0.5.2a3 ``` ----------------------- + Gnumeric writes user-defined formats with format codes starting at 50 instead of 164; worked around. + Thanks to Didrik Pinte for reporting the need for xlrd to be more tolerant of the idiosyncracies of other software, for supplying sample files, and for performing alpha testing. + '_' character in a format should be treated like an escape character; fixed. + An "empty" formula result means a zero-length string, not an empty cell! Fixed. ``` ### 0.5.2a2 ``` ---------------------- + Found that Gnumeric writes all DIMENSIONS records with nrows and ncols each 1 less than they should be (except when it clamps ncols at 256!), and pyXLwriter doesn't write ROW records. Cell memory pre- allocation was generalised to use ROW records if available with fall- back to DIMENSIONS records. ``` ### 0.5.2a1 ``` ---------------------- + pyXLwriter writes DIMENSIONS record with antique opcode 0x0000 instead of 0x0200; worked around + A file written by Gnumeric had zeroes in DIMENSIONS record but data in cell A1; worked around ``` ### 0.5.1 ``` -------------------- + released to Journyx + Python 2.1 mmap requires file to be opened for update access. Added fall-back to read-only access without mmap if 2.1 open fails because "permission denied". ``` ### 0.5 ``` ---------------- + released to Journyx + Now works with Python 2.1. Backporting to Python 2.1 was partially funded by Journyx - provider of timesheet and project accounting solutions (http://journyx.com/) + open_workbook() can be given the contents of a file instead of its name. Thanks to Remco Boerma for the suggestion. + New module attribute __VERSION__ (as a string; for example "0.5") + Minor enhancements to classification of formats as date or not-date. + Added warnings about files with inconsistent OLE compound document structures. Thanks to Roman V. Kiseliov (author of pyExcelerator) for the tip-off. ``` ### 0.4a1 ``` -------------------- + released to Laurent T. + Book and sheet objects can now be pickled and unpickled. Instead of reading a large spreadsheet multiple times, consider pickling it once and loading the saved pickle; can be much faster. Thanks to Laurent Thioudellet for the enhancement request. + Using the mmap module can be turned off. But you would only do that for benchmarking purposes. + Handling NUMBER records has been made faster ``` ### 0.3a1 ``` ------------------- - first public release ```
Links - PyPI: https://pypi.org/project/xlrd - Changelog: https://pyup.io/changelogs/xlrd/ - Homepage: http://www.python-excel.org/

Update sphinx from 2.1.2 to 4.1.2.

Changelog ### 4.1.2 ``` ===================================== Incompatible changes -------------------- * 9435: linkcheck: Disable checking automatically generated anchors on github.com (ex. anchors in reST/Markdown documents) Bugs fixed ---------- * 9489: autodoc: Custom types using ``typing.NewType`` are not displayed well with the HEAD of 3.10 * 9490: autodoc: Some objects under ``typing`` module are not displayed well with the HEAD of 3.10 * 9436, 9471: autodoc: crashed if ``autodoc_class_signature = "separated"`` * 9456: html search: html_copy_source can't control the search summaries * 9435: linkcheck: Failed to check anchors in github.com ``` ### 4.1.1 ``` ===================================== Dependencies ------------ * 9434: sphinxcontrib-htmlhelp-2.0.0 or above * 9434: sphinxcontrib-serializinghtml-1.1.5 or above Bugs fixed ---------- * 9438: html: HTML logo or Favicon specified as file not being found on output ``` ### 4.1.0 ``` ===================================== Dependencies ------------ * Support jinja2-3.0 Deprecated ---------- * The ``app`` argument of ``sphinx.environment.BuildEnvironment`` becomes required * ``sphinx.application.Sphinx.html_theme`` * ``sphinx.ext.autosummary._app`` * ``sphinx.util.docstrings.extract_metadata()`` Features added -------------- * 8107: autodoc: Add ``class-doc-from`` option to :rst:dir:`autoclass` directive to control the content of the specific class like :confval:`autoclass_content` * 8588: autodoc: :confval:`autodoc_type_aliases` now supports dotted name. It allows you to define an alias for a class with module name like ``foo.bar.BazClass`` * 9175: autodoc: Special member is not documented in the module * 9195: autodoc: The arguments of ``typing.Literal`` are wrongly rendered * 9185: autodoc: :confval:`autodoc_typehints` allows ``'both'`` setting to allow typehints to be included both in the signature and description * 4257: autodoc: Add :confval:`autodoc_class_signature` to separate the class entry and the definition of ``__init__()`` method * 8061, 9218: autodoc: Support variable comment for alias classes * 3014: autodoc: Add :event:`autodoc-process-bases` to modify the base classes of the class definitions * 9272: autodoc: Render enum values for the default argument value better * 9384: autodoc: ``autodoc_typehints='none'`` now erases typehints for variables, attributes and properties * 3257: autosummary: Support instance attributes for classes * 9358: html: Add "heading" role to the toctree items * 9225: html: Add span tag to the return typehint of method/function * 9129: html search: Show search summaries when html_copy_source = False * 9307: html search: Prevent corrections and completions in search field * 9120: html theme: Eliminate prompt characters of code-block from copyable text * 9176: i18n: Emit a debug message if message catalog file not found under :confval:`locale_dirs` * 9414: LaTeX: Add xeCJKVerbAddon to default fvset config for Chinese documents * 9016: linkcheck: Support checking anchors on github.com * 9016: linkcheck: Add a new event :event:`linkcheck-process-uri` to modify URIs before checking hyperlinks * 6525: linkcheck: Add :confval:`linkcheck_allowed_redirects` to mark hyperlinks that are redirected to expected URLs as "working" * 1874: py domain: Support union types using ``|`` in info-field-list * 9268: py domain: :confval:`python_use_unqualified_type_names` supports type field in info-field-list * 9097: Optimize the parallel build * 9131: Add :confval:`nitpick_ignore_regex` to ignore nitpicky warnings using regular expressions * 9174: Add ``Sphinx.set_html_assets_policy`` to tell extensions to include HTML assets in all the pages. Extensions can check this via ``Sphinx.registry.html_assets_policy`` * C++, add support for - ``inline`` variables, - ``consteval`` functions, - ``constinit`` variables, - ``char8_t``, - ``explicit(<constant expression>)`` specifier, - digit separators in literals, and - constraints in placeholder type specifiers, aka. adjective syntax (e.g., ``Sortable auto &v``). * C, add support for digit separators in literals. * 9166: LaTeX: support containers in LaTeX output Bugs fixed ---------- * 8872: autodoc: stacked singledispatches are wrongly rendered * 8597: autodoc: a docsting having metadata only should be treated as undocumented * 9185: autodoc: typehints for overloaded functions and methods are inaccurate * 9250: autodoc: The inherited method not having docstring is wrongly parsed * 9283: autodoc: autoattribute directive failed to generate document for an attribute not having any comment * 9364: autodoc: single element tuple on the default argument value is wrongly rendered * 9362: autodoc: AttributeError is raised on processing a subclass of Tuple[()] * 9404: autodoc: TypeError is raised on processing dict-like object (not a class) via autoclass directive * 9317: html: Pushing left key causes visiting the next page at the first page * 9381: html: URL for html_favicon and html_log does not work * 9270: html theme : pyramid theme generates incorrect logo links * 9217: manpage: The name of manpage directory that is generated by :confval:`man_make_section_directory` is not correct * 9350: manpage: Fix font isn't reset after keyword at the top of samp role * 9306: Linkcheck reports broken link when remote server closes the connection on HEAD request * 9280: py domain: "exceptions" module is not displayed * 9418: py domain: a Callable annotation with no parameters (e.g. ``Callable[[], None])`` will be rendered with a bracket missing (``Callable[], None]``) * 9319: quickstart: Make sphinx-quickstart exit when conf.py already exists * 9387: xml: XML Builder ignores custom visitors * 9224: ``:param:`` and ``:type:`` fields does not support a type containing whitespace (ex. ``Dict[str, str]``) * 8945: when transforming typed fields, call the specified role instead of making an single xref. For C and C++, use the ``expr`` role for typed fields. ``` ### 4.0.3 ``` ===================================== Features added -------------- * C, add C23 keywords ``_Decimal32``, ``_Decimal64``, and ``_Decimal128``. * 9354: C, add :confval:`c_extra_keywords` to allow user-defined keywords during parsing. * Revert the removal of ``sphinx.util:force_decode()`` to become some 3rd party extensions available again during 5.0 Bugs fixed ---------- * 9330: changeset domain: :rst:dir:`versionchanged` with contents being a list will cause error during pdf build * 9313: LaTeX: complex table with merged cells broken since 4.0 * 9305: LaTeX: backslash may cause Improper discretionary list pdf build error with Japanese engines * 9354: C, remove special macro names from the keyword list. See also :confval:`c_extra_keywords`. * 9322: KeyError is raised on PropagateDescDomain transform ``` ### 4.0.2 ``` ===================================== Dependencies ------------ * 9216: Support jinja2-3.0 Incompatible changes -------------------- * 9222: Update Underscore.js to 1.13.1 * 9217: manpage: Stop creating a section directory on build manpage by default (see :confval:`man_make_section_directory`) Bugs fixed ---------- * 9210: viewcode: crashed if non importable modules found on parallel build * 9240: Unknown node error for pending_xref_condition is raised if an extension that does not support the node installs a missing-reference handler ``` ### 4.0.1 ``` ===================================== Bugs fixed ---------- * 9189: autodoc: crashed when ValueError is raised on generating signature from a property of the class * 9188: autosummary: warning is emitted if list value is set to autosummary_generate * 8380: html search: tags for search result are broken * 9198: i18n: Babel emits errors when running compile_catalog * 9205: py domain: The :canonical: option causes "more than one target for cross-reference" warning * 9201: websupport: UndefinedError is raised: 'css_tag' is undefined ``` ### 4.0.0 ``` ===================================== Dependencies ------------ ``` ### 4.0.0b3 ``` * 9167: html: Failed to add CSS files to the specific page ``` ### 4.0.0b2 ``` * C, C++, fix ``KeyError`` when an ``alias`` directive is the first C/C++ directive in a file with another C/C++ directive later. ``` ### 4.0.0b1 ``` * 8917: autodoc: Raises a warning if function has wrong __globals__ value * 8415: autodoc: a TypeVar imported from other module is not resolved (in Python 3.7 or above) * 8992: autodoc: Failed to resolve types.TracebackType type annotation * 8905: html: html_add_permalinks=None and html_add_permalinks="" are ignored * 8380: html search: Paragraphs in search results are not identified as ``<p>`` * 8915: html theme: The translation of sphinx_rtd_theme does not work * 8342: Emit a warning if a unknown domain is given for directive or role (ex. ``:unknown:doc:``) * 7241: LaTeX: No wrapping for ``cpp:enumerator`` * 8711: LaTeX: backticks in code-blocks trigger latexpdf build warning (and font change) with late TeXLive 2019 * 8253: LaTeX: Figures with no size defined get overscaled (compared to images with size explicitly set in pixels) (fixed for ``'pdflatex'/'lualatex'`` only) * 8881: LaTeX: The depth of bookmarks panel in PDF is not enough for navigation * 8874: LaTeX: the fix to two minor Pygments LaTeXFormatter output issues ignore Pygments style * 8925: LaTeX: 3.5.0 ``verbatimmaxunderfull`` setting does not work as expected * 8980: LaTeX: missing line break in ``\pysigline`` * 8995: LaTeX: legacy ``\pysiglinewithargsret`` does not compute correctly available horizontal space and should use a ragged right style * 9009: LaTeX: "release" value with underscore leads to invalid LaTeX * 8911: C++: remove the longest matching prefix in :confval:`cpp_index_common_prefix` instead of the first that matches. * C, properly reject function declarations when a keyword is used as parameter name. * 8933: viewcode: Failed to create back-links on parallel build * 8960: C and C++, fix rendering of (member) function pointer types in function parameter lists. * C++, fix linking of names in array declarators, pointer to member (function) declarators, and in the argument to ``sizeof...``. * C, fix linking of names in array declarators. ``` ### 3.5.5 ``` ============================== ``` ### 3.5.4 ``` ===================================== Dependencies ------------ * 9071: Restrict docutils to 0.16 Bugs fixed ---------- * 9078: autodoc: Async staticmethods and classmethods are considered as non async coroutine-functions with Python3.10 * 8870, 9001, 9051: html theme: The style are not applied with docutils-0.17 - toctree captions - The content of ``sidebar`` directive - figures ``` ### 3.5.3 ``` ===================================== Features added -------------- * 8959: using UNIX path separator in image directive confuses Sphinx on Windows ``` ### 3.5.2 ``` ===================================== Bugs fixed ---------- * 8943: i18n: Crashed by broken translation messages in ES, EL and HR * 8936: LaTeX: A custom LaTeX builder fails with unknown node error * 8952: Exceptions raised in a Directive cause parallel builds to hang ``` ### 3.5.1 ``` ===================================== Bugs fixed ---------- * 8883: autodoc: AttributeError is raised on assigning __annotations__ on read-only class * 8884: html: minified js stemmers not included in the distributed package * 8885: html: AttributeError is raised if CSS/JS files are installed via :confval:`html_context` * 8880: viewcode: ExtensionError is raised on incremental build after unparsable python module found ``` ### 3.5.0 ``` ===================================== Dependencies ------------ * LaTeX: ``multicol`` (it is anyhow a required part of the official latex2e base distribution) Incompatible changes -------------------- * Update Underscore.js to 1.12.0 * 6550: html: The config variable ``html_add_permalinks`` is replaced by :confval:`html_permalinks` and :confval:`html_permalinks_icon` Deprecated ---------- * pending_xref node for viewcode extension * ``sphinx.builders.linkcheck.CheckExternalLinksBuilder.anchors_ignore`` * ``sphinx.builders.linkcheck.CheckExternalLinksBuilder.auth`` * ``sphinx.builders.linkcheck.CheckExternalLinksBuilder.broken`` * ``sphinx.builders.linkcheck.CheckExternalLinksBuilder.good`` * ``sphinx.builders.linkcheck.CheckExternalLinksBuilder.redirected`` * ``sphinx.builders.linkcheck.CheckExternalLinksBuilder.rqueue`` * ``sphinx.builders.linkcheck.CheckExternalLinksBuilder.to_ignore`` * ``sphinx.builders.linkcheck.CheckExternalLinksBuilder.workers`` * ``sphinx.builders.linkcheck.CheckExternalLinksBuilder.wqueue`` * ``sphinx.builders.linkcheck.node_line_or_0()`` * ``sphinx.ext.autodoc.AttributeDocumenter.isinstanceattribute()`` * ``sphinx.ext.autodoc.directive.DocumenterBridge.reporter`` * ``sphinx.ext.autodoc.importer.get_module_members()`` * ``sphinx.ext.autosummary.generate._simple_info()`` * ``sphinx.ext.autosummary.generate._simple_warn()`` * ``sphinx.writers.html.HTMLTranslator.permalink_text`` * ``sphinx.writers.html5.HTML5Translator.permalink_text`` Features added -------------- * 8022: autodoc: autodata and autoattribute directives does not show right-hand value of the variable if docstring contains ``:meta hide-value:`` in info-field-list * 8514: autodoc: Default values of overloaded functions are taken from actual implementation if they're ellipsis * 8775: autodoc: Support type union operator (PEP-604) in Python 3.10 or above * 8297: autodoc: Allow to extend :confval:`autodoc_default_options` via directive options * 759: autodoc: Add a new configuration :confval:`autodoc_preserve_defaults` as an experimental feature. It preserves the default argument values of functions in source code and keep them not evaluated for readability. * 8619: html: kbd role generates customizable HTML tags for compound keys * 8634: html: Allow to change the order of JS/CSS via ``priority`` parameter for :meth:`Sphinx.add_js_file()` and :meth:`Sphinx.add_css_file()` * 6241: html: Allow to add JS/CSS files to the specific page when an extension calls ``app.add_js_file()`` or ``app.add_css_file()`` on :event:`html-page-context` event * 6550: html: Allow to use HTML permalink texts via :confval:`html_permalinks_icon` * 1638: html: Add permalink icons to glossary terms * 8868: html search: performance issue with massive lists * 8867: html search: Update JavaScript stemmer code to the latest version of Snowball (v2.1.0) * 8852: i18n: Allow to translate heading syntax in MyST-Parser * 8649: imgconverter: Skip availability check if builder supports the image type * 8573: napoleon: Allow to change the style of custom sections using :confval:`napoleon_custom_styles` * 8004: napoleon: Type definitions in Google style docstrings are rendered as references when :confval:`napoleon_preprocess_types` enabled * 6241: mathjax: Include mathjax.js only on the document using equations * 8775: py domain: Support type union operator (PEP-604) * 8651: std domain: cross-reference for a rubric having inline item is broken * 7642: std domain: Optimize case-insensitive match of term * 8681: viewcode: Support incremental build * 8132: Add :confval:`project_copyright` as an alias of :confval:`copyright` * 207: Now :confval:`highlight_language` supports multiple languages * 2030: :rst:dir:`code-block` and :rst:dir:`literalinclude` supports automatic dedent via no-argument ``:dedent:`` option * C++, also hyperlink operator overloads in expressions and alias declarations. * 8247: Allow production lists to refer to tokens from other production groups * 8813: Show what extension (or module) caused it on errors on event handler * 8213: C++: add ``maxdepth`` option to :rst:dir:`cpp:alias` to insert nested declarations. * C, add ``noroot`` option to :rst:dir:`c:alias` to render only nested declarations. * C++, add ``noroot`` option to :rst:dir:`cpp:alias` to render only nested declarations. Bugs fixed ---------- * 8727: apidoc: namespace module file is not generated if no submodules there * 741: autodoc: inherited-members doesn't work for instance attributes on super class * 8592: autodoc: ``:meta public:`` does not effect to variables * 8594: autodoc: empty __all__ attribute is ignored * 8315: autodoc: Failed to resolve struct.Struct type annotation * 8652: autodoc: All variable comments in the module are ignored if the module contains invalid type comments * 8693: autodoc: Default values for overloaded functions are rendered as string * 8134: autodoc: crashes when mocked decorator takes arguments * 8800: autodoc: Uninitialized attributes in superclass are recognized as undocumented * 8655: autodoc: Failed to generate document if target module contains an object that raises an exception on ``hasattr()`` * 8306: autosummary: mocked modules are documented as empty page when using :recursive: option * 8232: graphviz: Image node is not rendered if graph file is in subdirectory * 8618: html: kbd role produces incorrect HTML when compound-key separators (-, + or ^) are used as keystrokes * 8629: html: A type warning for html_use_opensearch is shown twice * 8714: html: kbd role with "Caps Lock" rendered incorrectly * 8123: html search: fix searching for terms containing + (Requires a custom search language that does not split on +) * 8665: html theme: Could not override globaltoc_maxdepth in theme.conf * 8446: html: consecutive spaces are displayed as single space * 8745: i18n: crashes with KeyError when translation message adds a new auto footnote reference * 4304: linkcheck: Fix race condition that could lead to checking the availability of the same URL twice * 8791: linkcheck: The docname for each hyperlink is not displayed * 7118: sphinx-quickstart: questionare got Mojibake if libreadline unavailable * 8094: texinfo: image files on the different directory with document are not copied * 8782: todo: Cross references in todolist get broken * 8720: viewcode: module pages are generated for epub on incremental build * 8704: viewcode: anchors are generated in incremental build after singlehtml * 8756: viewcode: highlighted code is generated even if not referenced * 8671: :confval:`highlight_options` is not working * 8341: C, fix intersphinx lookup types for names in declarations. * C, C++: in general fix intersphinx and role lookup types. * 8683: :confval:`html_l