Py-gfm

Latest version: v2.0.0

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

Scan your dependencies

Page 3 of 6

0.26.0

* Implement spec changes for list items:
- Empty list items cannot interrupt paragraphs.
- Ordered lists cannot interrupt paragraphs unless
they start with 1.
- Removed "two blank lines break out of a list" feature.
* Fix sourcepos for blockquotes (142).
* Fix sourcepos for atx headers (141).
* Fix ATX headers and thematic breaks to allow tabs as well as spaces.
* Fix `chunk_set_cstr` with suffix of current string (139,
Nick Wellnhofer). It's possible that `cmark_chunk_set_cstr` is called
with a substring (suffix) of the current string. Delay freeing of the
chunk content to handle this case correctly.
* Export targets on installation (Jonathan Müller).
This allows using them in other cmake projects.
* Fix cmake warning about CMP0048 (Jonathan Müller).
* commonmark renderer: Ensure we don't have a blank line
before a code block when it's the first thing in a list
item.
* Change parsing of strong/emph in response to spec changes.
`process_emphasis` now gets better results in corner cases.
The change is this: when considering matches between an interior
delimiter run (one that can open and can close) and another delimiter
run, we require that the sum of the lengths of the two delimiter
runs mod 3 is not 0.
* Ported Robin Stocker's changes to link parsing in jgm/commonmark101.
This uses a separate stack for brackets, instead of putting them on the
delimiter stack. This avoids the need for looking through the delimiter
stack for the next bracket.
* `cmark_reference_lookup`: Return NULL if reference is null string.
* Fix character type detection in `commonmark.c` (Nick Wellnhofer).
Fixes test failures on Windows and undefined behavior.
- Implement `cmark_isalpha`.
- Check for ASCII character before implicit cast to char.
- Use internal ctype functions in `commonmark.c`.
* Better documentation of memory-freeing responsibilities.
in `cmark.h` and its man page (124).
* Use library functions to insert nodes in emphasis/link processing.
Previously we did this manually, which introduces many
places where errors can creep in.
* Correctly handle list marker followed only by spaces.
Previously when a list marker was followed only by spaces,
cmark expected the following content to be indented by
the same number of spaces. But in this case we should
treat the line just like a blank line and set list padding
accordingly.
* Fixed a number of issues relating to line wrapping.
- Extend `CMARK_OPT_NOBREAKS` to all renderers and add `--nobreaks`.
- Do not autowrap, regardless of width parameter, if
`CMARK_OPT_NOBREAKS` is set.
- Fixed `CMARK_OPT_HARDBREAKS` for LaTeX and man renderers.
- Ensure that no auto-wrapping occurs if
`CMARK_OPT_NOBREAKS` is enabled, or if output is CommonMark and
`CMARK_OPT_HARDBREAKS` is enabled.
* Set stdin to binary mode on Windows (Nick Wellnhofer, 113).
This fixes EOLs when reading from stdin.
* Add library option to render softbreaks as spaces (Pavlo
Kapyshin). Note that the `NOBREAKS` option is HTML-only
* renderer: `no_linebreaks` instead of `no_wrap`.
We generally want this option to prohibit any breaking
in things like headers (not just wraps, but softbreaks).
* Coerce `realurllen` to `int`. This is an alternate solution for pull
request 132, which introduced a new warning on the comparison
(Benedict Cohen).
* Remove unused variable `link_text` (Mathiew Duponchelle).
* Improved safety checks in buffer (Vicent Marti).
* Add new interface allowing specification of custom memory allocator
for nodes (Vicent Marti). Added `cmark_node_new_with_mem`,
`cmark_parser_new_with_mem`, `cmark_mem` to API.
* Reduce storage size for nodes by using bit flags instead of
separate booleans (Vicent Marti).
* config: Add `SSIZE_T` compat for Win32 (Vicent Marti).
* cmake: Global handler for OOM situations (Vicent Marti).
* Add tests for memory exhaustion (Vicent Marti).
* Document in man page and public header that one should use the same
memory allocator for every node in a tree.
* Fix ctypes in Python FFI calls (Nick Wellnhofer). This didn't cause
problems so far because all types are 32-bit on 32-bit systems and
arguments are passed in registers on x86-64. The wrong types could cause
crashes on other platforms, though.
* Remove spurious failures in roundtrip tests. In the commonmark writer we
separate lists, and lists and indented code, using a dummy HTML comment.
So in evaluating the round-trip tests, we now strip out
these comments. We also normalize HTML to avoid issues
having to do with line breaks.
* Add 2016 to copyright (Kevin Burke).
* Added `to_commonmark` in `test/cmark.py` (for round-trip tests).
* `spec_test.py` - parameterize `do_test` with converter.
* `spec_tests.py`: exit code is now sum of failures and errors.
This ensures that a failing exit code will be given when
there are errors, not just with failures.
* Fixed round trip tests. Previously they actually ran
`cmark` instead of the round-trip version, since there was a bug in
setting the ROUNDTRIP variable (131).
* Added new `roundtrip_tests.py`. This replaces the old use of simple shell
scripts. It is much faster, and more flexible. (We will be able
to do custom normalization and skip certain tests.)
* Fix tests under MinGW (Nick Wellnhofer).
* Fix leak in `api_test` (Mathieu Duponchelle).
* Makefile: have leakcheck stop on first error instead of going through
all the formats and options and probably getting the same output.
* Add regression tests (Nick Wellnhofer).

0.25.2

* Open files in binary mode (113, Nick Wellnhofer). Now that cmark
supports different line endings, files must be openend in binary mode
on Windows.
* Reset `partially_consumed_tab` on every new line (114, Nick Wellnhofer).
* Handle buffer split across a CRLF line ending (117). Adds an internal
field to the parser struct to keep track of `last_buffer_ended_with_cr`.
Added test.

0.25.1

ensures that this will cause no confusion later.

0.25.0

* Fixed tabs in indentation (101). This patch fixes S_advance_offset
so that it doesn't gobble a tab character when advancing less than the
width of a tab.
* Added partially_consumed_tab to parser. This keeps track of when we
have gotten partway through a tab when consuming initial indentation.
* Simplified add_line (only need parser parameter).
* Properly handle partially consumed tab. E.g. in

- foo

<TAB><TAB>bar

we should consume two spaces from the second tab, including two spaces
in the code block.
* Properly handle tabs with blockquotes and fenced blocks.
* Fixed handling of tabs in lists.
* Clarified logic in S_advance_offset.
* Use an assertion to check for in-range html_block_type.
It's a programming error if the type is out of range.
* Refactored S_processLines to make the logic easier to
understand, and added documentation (Mathieu Duponchelle).
* Removed unnecessary check for empty string_content.
* Factored out contains_inlines.
* Moved the cmake minimum version to top line of CMakeLists.txt
(tinysun212).
* Fix ctype(3) usage on NetBSD (Kamil Rytarowski). We need to cast value
passed to isspace(3) to unsigned char to explicitly prevent possibly
undefined behavior.
* Compile in plain C mode with MSVC 12.0 or newer (Nick Wellnhofer).
Under MSVC, we used to compile in C++ mode to get some C99 features
like mixing declarations and code. With newer MSVC versions, it's
possible to build in plain C mode.
* Switched from "inline" to "CMARK_INLINE" (Nick Wellnhofer).
Newer MSVC versions support enough of C99 to be able to compile cmark
in plain C mode. Only the "inline" keyword is still unsupported.
We have to use "__inline" instead.
* Added include guards to config.h
* config.h.in - added compatibility snprintf, vsnprintf for MSVC.
* Replaced sprintf with snprintf (Marco Benelli).
* config.h: include stdio.h for _vscprintf etc.
* Include starg.h when needed in config.h.
* Removed an unnecessary C99-ism in buffer.c. This helps compiling on
systems like luarocks that don't have all the cmake configuration
goodness (thanks to carlmartus).
* Don't use variable length arrays (Nick Wellnhofer).
They're not supported by MSVC.
* Test with multiple MSVC versions under Appveyor (Nick Wellnhofer).
* Fix installation dir of man-pages on NetBSD (Kamil Rytarowski).
* Fixed typo in cmark.h comments (Chris Eidhof).
* Clarify in man page that cmark_node_free frees a node's children too.
* Fixed documentation of --width in man page.
* Require re2c >= 1.14.2 (102).
* Generated scanners.c with more recent re2c.

0.24.1

* Commonmark renderer:
+ Use HTML comment, not two blank lines, to separate a list
item from a following code block or list. This makes the
output more portable, since the "two blank lines" rule is
unique to CommonMark. Also, it allows us to break out of
a sublist without breaking out of all levels of nesting.
+ `is_autolink` - handle case where link has no children,
which previously caused a segfault.
+ Use 4-space indent for bullet lists, for increased portability.
+ Use 2-space + newline for line break for increased portability (90).
+ Improved punctuation escaping. Previously all `)` and
`.` characters after digits were escaped; now they are
only escaped if they are genuinely in a position where
they'd cause a list item. This is achieved by changes in
`render.c`: (a) `renderer->begin_content` is only set to
false after a string of digits at the beginning of the
line, and (b) we never break a line before a digit.
Also, `begin_content` is properly initialized to true.
* Handle NULL root in `consolidate_text_nodes`.

0.24.0

* [API change] Added `cmark_node_replace(oldnode, newnode)`.
* Updated spec.txt to 0.24.
* Fixed edge case with escaped parens in link destination (97).
This was also checked against the 82 case with asan.
* Removed unnecessary check for `fenced` in `cmark_render_html`.
It's sufficient to check that the info string is empty.
Indeed, those who use the API may well create a code block
with an info string without explicitly setting `fenced`.
* Updated format of `test/smart_punct.txt`.
* Updated `test/spec.txt`, `test/smart_punct.txt`, and
`spec_tests.py` to new format.
* Fixed `get_containing_block` logic in `src/commonmark.c`.
This did not allow for the possibility that a node might have no
containing block, causing the commonmark renderer to segfault if
passed an inline node with no block parent.
* Fixed string representations of `CUSTOM_BLOCK`,
`CUSTOM_INLINE`. The old versions `raw_inline` and
`raw_block` were being used, and this led to incorrect xml output.
* Use default opts in python sample wrapper.
* Allow multiline setext header content, as per spec.
* Don't allow spaces in link destinations, even with pointy brackets.
Conforms to latest change in spec.
* Updated `scheme` scanner according to spec change. We no longer use
a whitelist of valid schemes.
* Allow any kind of nodes as children of `CUSTOM_BLOCK` (96).
* `cmark.h`: moved typedefs for iterator into iterator section.
This just moves some code around so it makes more sense
to read, and in the man page.
* Fixed `make_man_page.py` so it includes typedefs again.

Page 3 of 6

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.