Skip to content

Releases: software-mansion-labs/react-native-enriched-markdown

v0.6.0

26 May 09:28
30b49d2

Choose a tag to compare

What's Changed

New Features

Fixes & Improvements

  • fix(android): span with background should show up inside blockquotes by @xindixu in #253
  • fix(web): narrow selectionColor type to string by @hryhoriiK97 in #266
  • fix(ios): prevent crash when deleting mixed selection or using IME input by @hryhoriiK97 in #277
  • fix(ios): use controlled path for Cut to prevent formatting corruption by @hryhoriiK97 in #278
  • fix(android): correct insertion boundary in FormattingStore and add serializer bounds check by @hryhoriiK97 in #279
  • fix(android): use ceil for split-segment width to match commonmark path and rendered TextView by @istarkov in #282
  • fix(ios): break retain cycle between renderers and RendererFactory by @mgmx-io in #284
  • fix(ios): pin measured width to maxWidth for multiline content by @hryhoriiK97 in #291
  • fix(android): prevent duplicate-URL images from sharing a single ImageSpan by @hryhoriiK97 in #297
  • fix(web): use span instead of div for display math to prevent invalid p>div nesting by @hryhoriiK97 in #298
  • fix(android): skip LineHeightSpan on block image lines to prevent clipping and overlap by @hryhoriiK97 in #300
  • fix(ios): reverse dealloc order in ENRMTailFadeInAnimator to prevent use-after-free by @hryhoriiK97 in #302
  • fix(ios): assert on regex compilation failure in ENRMAutoLinkDetector by @hryhoriiK97 in #303
  • fix: skip streaming animations when Reduce Motion is enabled by @rhnmht30 in #325
  • fix(ios): reset state in prepareForRecycle on both host components by @rhnmht30 in #324
  • fix(web): raise WASM stack size + enable memory growth by @bobbyg603 in #329
  • fix(android): use value animators are animators enabled for reduced motion by @eszlamczyk in #333
  • fix(ios): reset _props in prepareForRecycle to fix streaming animation on remount by @hryhoriiK97 in #334
  • fix(android): update tail fade in animation to not reset by @eszlamczyk in #335
  • fix(ci): include library native sources in turbo cache inputs by @hryhoriiK97 in #336
  • fix(ios): use mock view for measurement when style changes are pending by @hryhoriiK97 in #343
  • fix(android): defer setText until view is attached to prevent NPE in checkForResize by @hryhoriiK97 in #344
  • fix(android): avoid duplicate libc++ in instrumentation builds by @hryhoriiK97 in #345
  • fix(android): prevent duplicate input context menu items by @hryhoriiK97 in #347

Refactors

  • refactor(ios): centralize selectionColor application into ENRMApplySelectionColor by @hryhoriiK97 in #264
  • refactor(web): centralize <style> injection via injectStyleOnce + global tokens by @hryhoriiK97 in #267
  • refactor(android): guard selection color setters against no-op writes by @hryhoriiK97 in #268
  • refactor: rename example apps bundle id by @eszlamczyk in #290
  • refactor(ios): introduce BaseRenderer base class to eliminate duplicated ivar blocks and init by @hryhoriiK97 in #304
  • refactor(ios): extract ENRMFontSlot to unify font cache invalidation in StyleConfig by @hryhoriiK97 in #305
  • refactor: extract requestHeightUpdate into a shared C++ template by @hryhoriiK97 in #307
  • refactor: extract async render queue and stale-result cancellation into ENRMAsyncRenderCoordinator by @hryhoriiK97 in #308
  • refactor: extract emit helpers for link, task list, and context menu events by @hryhoriiK97 in #309
  • refactor: change default streamingConfig.tableMode from 'hidden' to 'progressive' by @hryhoriiK97 in #332

Docs & Chores

New Contributors

Read more

v0.5.0

23 Apr 10:46

Choose a tag to compare

What's Changed

New Features

Fixes & Improvements

  • fix(ios): dismiss text selection when tapping non-interactive area by @hryhoriiK97 in #162
  • fix(ios): don't include kUTIRTFD in the copy (#164) by @zwily in #165
  • fix: github flavor always expanding to full width by @hryhoriiK97 in #176
  • fix(ios): preserve contentView frame on input window attach by @hryhoriiK97 in #178
  • fix: promote display math blocks from mixed paragraphs by @hryhoriiK97 in #179
  • fix(ios): prevent VoiceOver crash on stale accessibility ranges by @hryhoriiK97 in #187
  • fix(ios): preserve code block styles inside list items by @Mile-Away in #174
  • fix: prevent paragraph break loss and formatting range drift (#193) by @hryhoriiK97 in #194
  • fix(android): disable smart text selection to prevent ImageSpan crash by @hryhoriiK97 in #197
  • fix(ios): update _lastSelectedRange in replaceSelectedTextWith to prevent formatting range shift by @jeongshin in #200
  • fix(ios): handle NSData from pasteboard when pasting copied markdown by @hryhoriiK97 in #207
  • fix/android-link-url-attribute by @hryhoriiK97 in #216
  • fix: disable permissive autolinks in input parser by @hryhoriiK97 in #217
  • fix(ios): guard onText against out-of-buffer pointers from md4c by @hryhoriiK97 in #218
  • fix(ios): use bufferLength instead of originalLength for contentEnd by @hryhoriiK97 in #219
  • fix(ios,android): skip delimiter matching inside link URL parentheses in InputRemend by @hryhoriiK97 in #220
  • fix(ios,android): clear stacked delimiters inside link text when encountering ]( by @hryhoriiK97 in #221
  • fix(ios): clamp formatting range offsets to text length in ENRMMarkdownSerializer by @hryhoriiK97 in #222
  • fix(ios): update _lastSelectedRange in importMarkdown to prevent formatting corruption on first edit by @hryhoriiK97 in #223
  • fix(android): move ktlint plugin out of shipped build.gradle by @hryhoriiK97 in #225
  • fix(android): prevent scroll flicker in auto-grow mode by blocking scrollTo by @hryhoriiK97 in #235
  • fix(macos): use correct textContainerInset properties for caret rect by @hryhoriiK97 in #247
  • fix: add missing blank line in README by @hryhoriiK97 in #252

Refactors

  • refactor(ios): simplify accessibility text element creation by @hryhoriiK97 in #188
  • refactor: move example and macos-example into apps/ directory by @hryhoriiK97 in #189
  • refactor(android): unify duplicated AST segment splitting into shared utility by @hryhoriiK97 in #228
  • refactor(ios): extract shared text view setup, layout manager, and measurement helpers by @hryhoriiK97 in #229
  • refactor(ios): extract shared text renderer by @hryhoriiK97 in #230
  • refactor: extract shared view manager helpers into MarkdownViewManagerUtils by @hryhoriiK97 in #231
  • refactor: rename spoilerMode to spoilerOverlay and update related implementations by @hryhoriiK97 in #238
  • refactor: update spoiler style structure to use nested properties for particles and solid attributes by @hryhoriiK97 in #239
  • refactor: streamline markdown rendering by introducing RenderedSegment and MarkdownSegmentRenderer by @hryhoriiK97 in #240
  • refactor: rename EnrichedMarkdownInput to EnrichedMarkdownTextInput by @hryhoriiK97 in #256
  • refactor: rename internal C++/ObjC symbols from MarkdownInput to MarkdownTextInput by @hryhoriiK97 in #258

Docs & Chores

  • chore: update .gitignore and Podfile.lock for macOS support by @hryhoriiK97 in #166
  • docs: fix incomplete sentence in MACOS.md by @hryhoriiK97 in #167
  • fix(ci): drop --immutable from publish workflow yarn install by @hryhoriiK97 in #168
  • fix(ci): disable immutable installs in publish workflow by @hryhoriiK97 in #169
  • docs: add Markdown streaming support documentation and update README by @hryhoriiK97 in #170
  • docs: update link to react-native-worklets documentation in MARKDOWN_STREAMING.md by @hryhoriiK97 in #171
  • docs: add missing spoiler documentation and move spoiler syntax note … by @hryhoriiK97 in #237
  • docs: add dark mode theming guide to STYLES.md and TEXT.md by @hryhoriiK97 in #259
  • chore: add missing classes to Android baseline profile by @hryhoriiK97 in #261
  • chore: update image link in README.md by @hryhoriiK97 in #263

New Contributors

Full Changelog: ...

Read more

v0.4.1

16 Mar 15:00
d83e38f

Choose a tag to compare

What's Changed

  • feat: add expo config plugin (disable LaTeX Math) by @huextrat in #147
  • fix(ios): respect link.underline: false on initial mount by @hryhoriiK97 in #150
  • fix: unwrap consecutive latex/math blocks merged into a single paragraph by md4c by @hryhoriiK97 in #151
  • chore: migrate to shared npm-package-publish by @hryhoriiK97 in #154
  • fix(ios): restore view layout on remount and clamp measurement to layout constraints by @hryhoriiK97 in #155
  • fix(ios): guard zero-width measurement and synchronize layout in recycled views by @hryhoriiK97 in #157
  • chore: update dependencies and configurations across the project by @hryhoriiK97 in #158
  • chore: migrate to yarn 4 and replace lefthook with official package by @hryhoriiK97 in #159
  • chore: release 0.4.1 by @hryhoriiK97 in #160

New Contributors

Full Changelog: 0.4.0...0.4.1

v0.4.0

10 Mar 14:18
8a6bf62

Choose a tag to compare

What's Changed

New Features

  • feat: add support for LaTeX math rendering in markdown by @hryhoriiK97 in #119
  • feat: add horizontal scroll to math blocks when content overflows by @hryhoriiK97 in #135
  • feat: make iosMath and AndroidMath dependencies optional via build-time flags by @hryhoriiK97 in #136
  • feat: implement image caching on Android and iOS by @hryhoriiK97 in #138
  • feat: add streaming animation support for newly appended content by @hryhoriiK97 in #139

Fixes & Improvements

  • fix(android): preserve nested renderer block style context by @longseespace in #115
  • refactor(android): remove unused StyleConfig parameter from ListConte… by @hryhoriiK97 in #117
  • fix(ios): solve block image aspect ratio issue by @hryhoriiK97 in #118
  • fix(ios): update line height configuration in ListItemRenderer to use the same approach as paragraph by @hryhoriiK97 in #122
  • fix(android): prevent crash when rendering LaTeX in tables on background thread by @hryhoriiK97 in #125
  • fix(android): apply table fontSize to cell content instead of paragraph fontSize by @hryhoriiK97 in #126
  • docs: enhance README with LaTeX math rendering details and usage notes by @hryhoriiK97 in #127
  • fix(android): honor emphasisFontStyle normal without custom font family by @hryhoriiK97 in #128
  • fix(android): exclude link color from preserve list when it matches paragraph color by @hryhoriiK97 in #129
  • perf(ios): add measurement cache and reduce per-cell layout overhead by @hryhoriiK97 in #132
  • fix(android): render table correctly when lineHeight is not specified by @hryhoriiK97 in #134
  • fix(ios): prevent stale measurement when view content is out of sync by @hryhoriiK97 in #137
  • fix: update display link frame rate to use maximum display refresh rate by @hryhoriiK97 in #141
  • fix: prevent parent Pressable from firing onPress on link/task tap by @hryhoriiK97 in #143
  • chore: update baseline profile with new spans and utilities by @hryhoriiK97 in #144
  • fix: add ProGuard keep rules for AndroidMath and FreeType JNI classes by @hryhoriiK97 in #145
  • chore: release 0.4.0 by @hryhoriiK97 in #146

New Contributors

Full Changelog: 0.3.0...0.4.0

v0.3.0

26 Feb 13:52
e828690

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: 0.2.1...0.3.0

v0.2.1

16 Feb 17:26
7e7b5c2

Choose a tag to compare

What's Changed

Full Changelog: 0.2.0...0.2.1

v0.2.0

12 Feb 13:40
5064e0f

Choose a tag to compare

What's Changed

Breaking changes

  • isSelectable has been renamed to selectable.

New Contributors

Full Changelog: v0.1.1...0.2.0

Release v0.1.1

20 Jan 09:42

Choose a tag to compare

react-native-enriched-markdown is officially here!

Please take a moment to review the README for the full API reference and setup instructions. We’ve made it easy for you to dive in and start testing the Markdown input yourself.

We can't wait to hear what you think!