Commonmark

Latest version: v0.9.1

Safety actively analyzes 626118 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 4 of 6

0.17.0

* Renamed `DocParser` -> `Parser`.
Note: library users should update their code or it will break.
* Added `normalize-reference.js`. This does a proper unicode case
fold instead of just using `toUpperCase`. It is also faster,
partly because we can do one pass for space and case normalization.
* Removed artificial distinction btw FencedCode, IndentedCode
in `blocks.js`.
* Removed vestigial `ReferenceDef` node type.
* Added getters and (in some cases) setters for "public" properties
of Nodes. Renamed non-public properties to start with underscore.
This will allow us to keep the API stable while changing the
underlying data structure. And it will avoid exposing properties
that have only an instrumental value in parsing.
* Removed `Node.toObject()`.
* Rename `bullet_char` -> `bulletChar`.
* Check for blank line before checking indent in Item.
* Removed unnecessary setting of default `tight=true` in `finalize`.
We do that when the `listData` object is initialized.
* Performance optimization - avoid repeating scan for nonspace.
* Moved check for closing fence to close-block-check section.
This is a more logical arrangement and addresses jgm/CommonMark285.
* Added `offset` property to `DocParser`. Use this in `addLine`,
instead of `offset` parameter, which has been removed.
* Implemented new spec for emphasis and strong emphasis with `_`.
* `html.js` - explicitly specify second parameter of `escapeXml`.
* Fixed escaping error in CDATA regex.
* Removed some dead code and fixed incorrect call to `addChild`
with three arguments (Robin Stocker).
* Adjust `lastLineLength` before returning after close fence.
* Propagate `lastLineBlank` up through parents.
Previously we just kept it set on the bottom child.
But this will give a quicker determination of `lastLineBlank`.
* Moved continuation checks & finalizers into `blocks` property
of `Parser`. This is a first step towards keeping the code for
each kind of block in a central place, rather than spread all over
the code base. This is preparatory for a more modular structure,
where each type of block has a record describing how it is parsed and
finalized. Eventually this will also contain functions for checking for
a block start, and metadata that determines how line data
should be handled.
* Added `currentLine` property to `Parser`.
* Renamed `first_nonspace` -> `next_nonspace`.
* Put generated `commonmark.js` in `dist/` rather than `js/`.
* Miscellaneous code cleanup.
* Split JS code into (this) independent repository.
* Added detailed benchmark with samples (`make bench-detailed`).
* Added `dist/commonmark.js` to repo (for bower).
* Added `bower.json` (jgm/CommonMark288).
* Updated test suite. Now shows how performance depends on length in
pathological cases.
* Don't use -1 as second param for .slice. This seems to cause a
deoptimization, as reported by `node --trace-deopt`.
* Added `CONTRIBUTING.md`.
* Added `.travis.yml` to test against various node versions.
* Renamed `changelog.js.txt` -> `changelog.txt`.

0.16

* Improved regex for HTML comments (263).
* Fixed CDATA regex (267).
* Use linked list instead of arrays in AST: the same doubly linked
node structure as cmark uses. This simplifies some code and
eliminates the need for recursive algorithms, so we can render
deeply-nested structures without stack overflows.
* Use `children` instead of `label` (in Image and Link),
`inline_content` (in Paragraph), and `c` (in Emph and Strong).
* Renamed the `c` property to `literal` to match `libcmark`.
* Use `literal` rather than `string_content` property for code
blocks, HTML. `string_content` is reserved for raw string
content that has yet to be parsed as inlines.
* Improved end lines (276).
* Added a node walker, for easy AST traversal (see `node.js`).
* Regularized position information into a `sourcepos` property.
Added end column information.
* Renamed `html-renderer.js` to `html.js`.
* Replace NUL characters with U+FFFD, as per spec.
* Optimized code, resulting in significant performance gains.
(We've gone from being twice as fast as showdown.js to being
three times as fast, on par with marked.)
* Made `tight` a property of `list_data` rather than `Node`.
* Added options to renderer, parser objections.
* Added a `--sourcepos` command line option to `js/bin/commonmark`.
* HTML renderer now throws an error on unknown tag type (which
indicates a programming error).
* Removed `ansi.js` code from the source tree. The test suite now
uses its own mini ansi colors implementation.
* Added `--time` option to `js/bin/commonmark`.
* Added an XML renderer (XML representation of the AST, matching
`Commonmark.dtd`).
* Changed `url` property to `destination` to match `cmark` and spec.
* Added `js/common.js` to hold some common code, like string
unescaping and URI normalization.
* Use `decodeURI` instead of `unescape`.
* Added some "pathological" test cases to test suite.


x.y.z (unreleased)

0.9.1

- commonmark.py now requires `future >= 0.14.0` on Python 2, for uniform `builtins` imports in Python 2/3
- Added CHANGELOG.md to the manifest file.

0.9.0

- The CommonMark spec has been updated to 0.29. Completed by iamahuman.

0.8.1

- Removed `CommonMark` symlink. So, as of this version, you need to replace all instances of `CommonMark` with `commonmark` in your code.

0.8.0

- Added the `Node.normalize()` method. (from lez)
- Renamed package name to `commonmark` for PEP8 compliance. You can now do `import commonmark` as well as `import CommonMark`. Closes [60](https://github.com/rtfd/commonmark.py/issues/60)
- Added testing on Python 3.7.

Page 4 of 6

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.