Releases: jfcere/ngx-markdown
v17.0.0
Update Angular 17
Library has been updated to support Angular 17.
It is recommended to stick with ngx-markdown v16.x.x if you are using Angular 16.
New features and enhancements
- Update to Angular 17
- Update
marked
lib to ^9.0.0 - Add support for marked extensions
- Update
mermaid.js
optional dependency to ^10.6.0 - Update
emoji-toolkit
optional dependency to ^8.0.0 which supports unicode 15.0
⚠️ Breaking changes
- All options that were removed from marked has been deleted from this library too, see more at https://marked.js.org/using_advanced#options
- The
srcRelativeLink
input property is removed as thebaseUrl
option has been removed from marked, use https://www.npmjs.com/package/marked-base-url instead MarkdownService.parse()
method now returnsPromise<string>
instead ofstring
, because marked parsing is doing soMarkdownPipe
now returnsPromise<string>
instead ofstring
and will need to be combined withasync
pipe to work correctly- Both
markedOptions
andclipboardOptions
configuration properties used in theMarkdownModule.forRoot(config: MarkdownModuleConfig)
method now require to be provided with theMARKED_OPTIONS
andCLIPBOARD_OPTIONS
injection token. - The
@types/marked
dependency is no longer needed and needs to be removed
Additional information
- Including
marked.min.js
file in thescripts
section of theangular.json
when using@angular\cli
is no longer needed and can safely be removed as it is automatically imported.
Special thanks
🥇 Thanks to @json-derulo for his contribution to update Angular 17.
🥇 Thanks to @robertIsaac for his contribution to update marked
library and adding support for extensions.
🥇 Thanks to @sarfudheen for his contribution to update mermaid.js
library.
Commits
v16.0.0
Update Angular 16
Library has been updated to support Angular 16.
It is recommended to stick with ngx-markdown v15.x.x if you are using Angular 15.
New features and enhancements
- Update to Angular 16
- Add required version ranges to install instructions on
README.md
Commits
v15.1.2
Bug Fixes
- Allow support for
zone.js
v13.0.0 (#443) (ad87be3) @json-derulo
Special Thanks
🥇 Thanks to @json-derulo for his contribution.
v15.1.1
v15.1.0
New features and enhancements
- Add
disableSanitizer: boolean
option as an input property toMarkdownComponent
and as a parameter toMarkdownPipe
, allowing to bypass the DOM sanitizer (default isfalse
) (#430) (434b9c1) @paviad @jfcere - Add
srcRelativeLink: boolean
input property toMarkdownComponent
to support relative links for remotely loaded markdown (default isfalse
) (#431) (1dd4951) @datumgeek @jfcere
Special Thanks
🥇 Thanks to paviad for his contribution to adding the disableSanitizer
option.
🥇 Thanks to datumgeek for his contribution to adding the srcRelativeLink
option.
v15.0.0
Update Angular 15
Library has been updated to support Angular 15.
It is recommended to stick with ngx-markdown v14.x.x if you are using Angular 14.
⚠ Breaking Changes
The library dependencies have been removed and set as peer/optional dependencies instead to avoid having unused packages installed locally and avoid conflicts for projects that already use any of those dependencies.
Once you have updated ngx-markdown you will need to manually install your required peer/optional dependencies following the updated installation section of the README.md
.
New features and enhancements
- Update to Angular 15
- Move
dependencies
tooptionalDependencies
for plugin integrations - Update
emoji-toolkit
optional dependencies to v7.0.0 which support Unicode 14.
Commits
v15.0.0-next.0
⚠️ Breaking change
The library dependencies have been removed and set as peer dependencies instead to avoid having unused packages installed locally and avoid conflict for projects that already use any of those dependencies.
You can update ngx-markdown using the command below and install your required peer dependencies manually following the updated installation section of the README.md
.
npm install ngx-markdown@15.0.0-next.0
ℹ️ This change will be included in the next major release of ngx-markdown which will come out when Angular 15 will be officially released.
Commits
v14.0.1
v14.0.0
Update Angular 14
Library has been updated to support Angular 14.
It is recommended to stick with ngx-markdown v13.x.x if you are using Angular 13.
⚠ Breaking Changes
MarkdownService.compile
function has been renamed toparse
and its parameters combined into theparseOptions
objectMarkdownService.render
function has been added to render elements once markdown has been parsed into HTMLMarkdownService.renderKatex
function is now private and called within theMarkdownService.render
functionKatex
plugin now requires Katex Auto-render extension (refer to README.md for instructions)
New features and enhancements
- Add mermaid integration (#385) (181e253) @jfcere
- Add inline parameter and allow pipe to use plugins/configuration (#388) (63fe0c2) @syabru, @jfcere
- Improve math expression rendering with Katex Auto-Render extension (#391) (2ea9f01) @jfcere
- Update prismjs dependency to 1.28.0 (#390) (aa83e61) @rogov-k
- Add reload feature allowing to re-render programmatically (#392) (9578b53) @shanmukhateja, @jfcere
- Add clipboard integration (#394) (0e898fc) @jfcere
- Update Angular 14 (#395) (43f04a5) @jfcere
Bug fixes
Special thanks
- syabru for his contribution to add the inline parsing option
- shanmukhateja for his contribution to add the re-rendering feature with the demo page
v13.1.0
Security Update
This is a security update for Angular 13 to fix a vulnerability reported with marked
version < 4.0.10
GHSA-5v2h-r2cx-5xgj
High Severity
Vulnerable versions: < 4.0.10
Patched version: 4.0.10
⚠ Breaking Changes
Javascript file for marked
moved from node_modules/marked/lib/marked.js
to node_modules/marked/marked.min.js
and should be changed accordingly.
If you are using Angular CLI, you will need to change the path of marked
file in the scripts
section of your angular.json
like this...
"scripts": [
- "node_modules/marked/lib/marked.js",
+ "node_modules/marked/marked.min.js",
"node_modules/prismjs/prism.js",
"node_modules/prismjs/components/prism-typescript.js",
...
]