# CodiMD 2.1.0 - Zhangixalus prasinatus
<div style="text-align: center; margin-bottom: 1em;">
<img src="https://upload.wikimedia.org/wikipedia/commons/thumb/9/9e/Rhacophorus_prasinatus.jpg/640px-Rhacophorus_prasinatus.jpg" width="300">
<small style="display: block;">Rhacophorus prasinatus(Zhangixalus prasinatus)<br>photo credits to <a href="https://commons.wikimedia.org/wiki/File:Rhacophorus_prasinatus.jpg">Evan Pickett from wikipedia</a></small>
> Zhangixalus prasinatus is a species of frog in the family Rhacophoridae endemic to northern Taiwan. It is the largest tree frog in Taiwan; females can reach 7 cm (2.8 in) in snout-vent length. It is known from Taipei, Yilan, and Taoyuan.
> \- Wikipedia [Zhangixalus prasinatus](https://en.wikipedia.org/wiki/Zhangixalus_prasinatus)
During this hard time of COVID-19, it's a pleasure to help people collaborate better with CodiMD. We hope the world will recover from this situation soon. :sunrise:
Good news, we have some goodies for CodiMD including:
- [Support Prometheus metrics](https://hackmd.io/@codimd/v2_1_0#Support-Prometheus-metrics)
- [Cut docker image size by 57%](https://hackmd.io/@codimd/v2_1_0#Cut-docker-image-size-by-57)
- [Drop Node 8 Support](https://hackmd.io/@codimd/v2_1_0#Drop-Node-8-Support)
### Support Prometheus metrics
CodiMD supports Prometheus metrics from this release. You can even display server metrics and realtime statistics on [Grafana Dashboard](https://grafana.com/grafana/dashboards/12214). See [PR #1507](https://github.com/hackmdio/codimd/pull/1507) for the implementation. Big thanks to [@tarlety](https://github.com/tarlety)!
### Cut docker image size by 57%
We've cut down the size of CodiMD's docker image by 57% from 1.8G to 800MB approximately. Some of the improvements are:
- [Module size optimization #1484](https://github.com/hackmdio/codimd/pull/1484): All frontend dependencies are moved to `devDependencies` section in package.json, which will be removed during `npm prune` phase. Some dependencies like `aws-sdk` are also replaced with a more specific package `@aws-sdk/client-s3-node`, because we only use s3 for image uploading by far.
- [New docker buildpack #1518](https://github.com/hackmdio/codimd/pull/1518): CJK fonts are now optional.
### Drop Node 8 Support
Node.JS version 8 has reached its end of life starting from 2020. We now upgraded CodiMD's minimum Node.JS version to 10. The main blocker of this upgrade is the package [`scrypt`](https://www.npmjs.com/package/scrypt) we used for hashing the password. Now it's been replaced with the new package [`scrypt-kdf`](https://www.npmjs.com/package/scrypt-kdf). Thank [@binotaliu](https://github.com/binotaliu) for contributing this!
- Optimize module size [#1484](https://github.com/hackmdio/codimd/pull/1484)
- Support brace wrapped param in fence lang [#1488](https://github.com/hackmdio/codimd/pull/1488)
- Upgrade Node.JS version to 10.20.1 [#1518](https://github.com/hackmdio/codimd/pull/1518)
- Fix getStatus caused "TypeError: Converting circular structure to JSON" [#1517](https://github.com/hackmdio/codimd/pull/1517)
## Thank you
These pull requests came from CodiMD community, thank you guys for being here and making CodiMD awesome. ❤️
- Replace scrypt with scrypt-kdf [#1474](https://github.com/hackmdio/codimd/pull/1474) [@binotaliu](https://github.com/binotaliu)
- Fix GitHub's avatar URL [#1490](https://github.com/hackmdio/codimd/pull/1490) [@paroxp](https://github.com/paroxp)
- return errorForbidden when anonymous user tries to create freeUrl pad [#1500](https://github.com/hackmdio/codimd/pull/1500) [@ldruschk](https://github.com/ldruschk)
- Exporting metrics for node.js, express, router, and codimd realtime status. [#1507](https://github.com/hackmdio/codimd/pull/1507) [@tarlety](https://github.com/tarlety)
- Add state parameter for oauth2 [#1512](https://github.com/hackmdio/codimd/pull/1512) [@stregouet](https://github.com/stregouet)