summaryrefslogtreecommitdiff
path: root/docs/change_log/release-3.4.md
blob: 71f9a2070bde5eb98a68c57029f74c02f1a4f576 (plain)
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
title: Release Notes for v3.4

# Python-Markdown 3.4 Release Notes

Python-Markdown version 3.4 supports Python versions 3.6, 3.7, 3.8, 3.9, 3.10 and
PyPy3.

## Backwards-incompatible changes

### The `table` extension now uses a `style` attribute instead of `align` attribute for alignment.

The [HTML4 spec][spec4] specifically
deprecates the use of the `align` attribute and it does not appear at all in the 
[HTML5 spec][spec5]. Therefore, by default, the [table] extension will now use the `style`
attribute (setting just the `text-align` property) in `td` and `th` blocks.

[spec4]: https://www.w3.org/TR/html4/present/graphics.html#h-15.1.2
[spec5]: https://www.w3.org/TR/html53/tabular-data.html#attributes-common-to-td-and-th-elements

The former behavior is available by setting the setting `use_align_attribute` configuration
option to `True` when adding the extension.

For example, to configure the old `align` behavior:

```python
from markdown.extensions.tables import TableExtension

markdown.markdown(src, extensions=[TableExtension(use_align_attribute=True)])
```

In addition, tests were moved to the modern test environment.

## New features

The following new features have been included in the 3.3 release:

* Use `style` attribute in tables for alignment instead of `align` for better CSS
  inter-operation. The old behavior is available by setting `use_align_attribute=True` when
  adding the extension.

* Some new configuration options have been added to the [footnotes](../extensions/footnotes.md)
  extension (#1218):

    * Small refactor of the `BACKLINK_TITLE` option; The use of `format()` instead
      of "old" `%d` formatter allows to specify text without the need to have the
      number of the footnote in it (like footnotes on Wikipedia for example).
      The modification is backward compatible so no configuration change is required.

    * Addition of a new option `SUPERSCRIPT_TEXT` that allows to specify a custom
      placeholder for the footnote itself in the text.
      Ex: `[{}]` will give <sup>[1]</sup>, `({})` will give <sup>(1)</sup>,
      or just by default, the current behavior: <sup>1</sup>.

## Bug fixes

The following bug fixes are included in the 3.4 release: