You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
121 lines
6.2 KiB
Plaintext
121 lines
6.2 KiB
Plaintext
10 years ago
|
[0.17.1]
|
||
|
|
||
|
* Reorganized block parsing in a more modular way. There is now
|
||
|
a `blocks` property of the parser that contains information
|
||
|
about each type of block, which is used in parsing. Ultimately
|
||
|
this will make it easier to extend the library, but the project
|
||
|
is still only partially completed.
|
||
|
* Code cleanup and simplification, with some performance optimizations.
|
||
|
* Removed version from `bower.json`. Bower takes version from tags.
|
||
|
* Initialize some properties at beginning of 'parse'.
|
||
|
This fixes some mistakes in source position when the
|
||
|
same Parser object was used to parse multiple times (#3).
|
||
|
* Made parsing of backslash escapes a bit more efficient.
|
||
|
* Removed refmap parameter of InlineParser.parse().
|
||
|
Instead, set the refmap property before running the parser.
|
||
|
* Set `_string_content` to null after using, allowing it to be GCd.
|
||
|
* Removed `_strings`; just append to `_string_content`.
|
||
|
This gives better performance with v8.
|
||
|
* Format benchmarks so that samples are linked.
|
||
|
* Added in-browser benchmark.
|
||
|
* Added API documentation to README.
|
||
|
* xml renderer: use `sourcepos` attribute, not `data-sourcepos`.
|
||
|
* Changed license to 2-clause BSD. Added clause for spec.
|
||
|
|
||
|
[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/CommonMark#285.
|
||
|
* 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/CommonMark#288).
|
||
|
* 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.
|