v0.7.0
What's Changed
New Features
- feat: forward nativeID and testID to the native input by @PierreCapo in #376
- feat: add ==highlight== inline spans with markdownStyle.highlight by @hryhoriiK97 in #389
- feat: add different markers for nested unordered list by @eszlamczyk in #390
- feat(android): replace math engine with RaTeX by @eszlamczyk in #355
- feat(ios): integrate RaTeX for LaTeX math rendering, replacing iosMath by @hryhoriiK97 in #357
- feat: add line break and text break props by @eszlamczyk in #374
- feat(ios): better RTL support for text by @eszlamczyk in #398
- feat(ios): input element detect RTL by @eszlamczyk in #400
- feat: add selectionMenuConfig prop to EnrichedMarkdownTextInput by @hryhoriiK97 in #408
- feat: add formatMenuConfig prop for per-item format submenu control by @hryhoriiK97 in #409
- feat: localize selection menu labels via selectionMenuLabels prop by @marcellov7 in #415
- feat(android): add parser AST JNI bridge by @graszka22 in #427
- feat(android): add UI style config and unit tests by @graszka22 in #428
- feat(android): add UI foundation text utils by @graszka22 in #429
- feat(android): add image cache and downloader utils by @graszka22 in #430
- feat(android): add markdown spans and renderer by @graszka22 in #431
- feat(android): add TextView selection and link helpers by @graszka22 in #432
- feat(android): add EnrichedMarkdownText entry point by @graszka22 in #433
- feat(android): add TalkBack accessibility for markdown TextView by @graszka22 in #434
- feat(input): treat links/mentions as atomic for selection and caret by @andreavrr in #454
- feat(android): add Compose font registry bridge by @graszka22 in #448
- feat(android): add Compose markdown style DSL by @graszka22 in #449
- feat(android): add EnrichedMarkdownText Compose component by @graszka22 in #450
- feat(android): expand native example app with compose demo by @graszka22 in #452
- feat(android): add "Copy as markdown" functionality by @graszka22 in #464
- feat(input): localize format & selection submenu labels by @eszlamczyk in #443
- feat(android): add copy as html feature by @graszka22 in #465
- feat: voiceover & talkback labels by @eszlamczyk in #470
- feat: copyToClipboard ref method for EnrichedMarkdownTextInput by @mvanhorn in #461
Fixes & Improvements
- fix: remove podfile lock removal from ci by @eszlamczyk in #358
- fix(ci): fix iOS build by removing stale codegen reset by @hryhoriiK97 in #363
- fix(plugin): use named imports from @expo/config-plugins so the plugin loads under tsx/cjs by @hknakn in #356
- fix(android): task list press not working by @eszlamczyk in #370
- fix(ios): remove whitespace in code block for padding 0 by @eszlamczyk in #372
- fix(ios): border radius for code block being segmented by @eszlamczyk in #373
- fix: dont emit empty inline marker pair around bare newline by @eszlamczyk in #402
- fix(ios): preserve active formatting during predictive text suggestions by @hryhoriiK97 in #406
- fix(ios): replace per-cell UITextView with single drawRect pass for tables by @hryhoriiK97 in #418
- fix(android): prevent colorsToPreserve from blocking inline style colors by @hryhoriiK97 in #419
- fix(ios): code block background border radius by @eszlamczyk in #411
- fix(android): measure rendered plain text in InputMeasurementStore.initialMeasure, not raw markdown by @andreavrr in #422
- fix(input): autoFocus on Android places caret at end and opens keyboard (parity with iOS) by @andreavrr in #425
- fix(macos): resolve build errors and disable math until use_frameworks is supported by @hryhoriiK97 in #440
- fix(android): preserve blank lines between paragraphs in input parser (parity with iOS) by @andreavrr in #436
- fix(ios): keep link variant color when a font style is toggled on a mention by @andreavrr in #446
- fix(ios): stop bold/italic handlers from overwriting link variant colors by @hryhoriiK97 in #453
- fix(android): InputRemend mishandles combined bold+italic *** delimiter by @multiplechuks in #447
- fix: resolve modal flicker on Android after setting raw markdown by @hryhoriiK97 in #469
- fix(ios): add font attribute to inline math attachments by @eliotgevers in #459
- fix(ios): prevent inline math fractions from being clipped by maximumLineHeight by @hryhoriiK97 in #445
- fix: stricter default guards by @eszlamczyk in #473
- fix(android): prevent RNGH Pressable from stealing link tap gestures by @hryhoriiK97 in #477
Refactors
- refactor(text-input): omit children from props and spread rest last by @hryhoriiK97 in #382
- refactor(ios): extract shared helper for selection menu config parsing by @hryhoriiK97 in #444
Docs & Chores
- chore: fixed ios ci podfiles by @eszlamczyk in #360
- chore: add icon for example app by @eszlamczyk in #365
- docs(storybook): create storybook stories for text component by @eszlamczyk in #364
- docs(storybook): create enriched markdown text input stories by @eszlamczyk in #371
- docs(storybook): split EnrichedMarkdownText stories into block, inline, and props by @hryhoriiK97 in #383
- docs(storybook): split EnrichedMarkdownTextInput stories into inline and props by @hryhoriiK97 in #384
- chore: upgrade tooling to RN 0.85, TypeScript 6, and bob 0.41 by @hryhoriiK97 in #385
- chore: sync md4c upstream from mity/md4c master by @hryhoriiK97 in #386
- docs: add dynamic banner serving to readme by @p-malecki in #387
- chore: update GitHub org links to software-mansion by @hryhoriiK97 in #393
- docs: add documentation to maestro by @eszlamczyk in #399
- chore: monorepo scaffolding by @graszka22 in #401
- chore: move cpp folder into packages/core by @graszka22 in #404
- chore: setup android package by @graszka22 in #412
- chore: set up android example app by @graszka22 in #413
- chore: rename example app directory to react-native-example by @graszka22 in #414
- chore(ci): update Xcode version to 26.3.0 by @hryhoriiK97 in #420
- chore: remove maestro artifacts by @eszlamczyk in #423
- chore: rename web-example to react-native-web-example by @graszka22 in #438
- chore: upgrade react-native-example to RN 0.86 by @hryhoriiK97 in #437
- chore: rename macos-example to react-native-macos-example by @graszka22 in #439
- docs: document macOS LaTeX math limitation by @hryhoriiK97 in #441
- chore: add non-xcode configs for ios developement by @eszlamczyk in #462
- chore: update iOS e2e reference screenshots by @hryhoriiK97 in #467
- chore: update configs to include autocorect settings by @eszlamczyk in #466
- chore: add android tasks to ci by @graszka22 in #468
- chore(android): update maestro screenshots by @eszlamczyk in #472
- chore: update and pin all github actions by @graszka22 in #471
- chore: update Android baseline profile with missing classes by @hryhoriiK97 in #474
- chore(exampleapp): pair Get Raw Markdown and Copy to Clipboard on one row by @eszlamczyk in #479
- docs: update compatibility table for 0.7.0 release by @hryhoriiK97 in #480
Tests
- test(android): add CommonMark renderer unit tests by @graszka22 in #435
- test(android): add Compose style unit tests by @graszka22 in #451
- test(android): add Maestro E2E for native example app by @graszka22 in #463
Release Chores
- chore: release 0.7.0 by @eszlamczyk in #481
New Contributors
- @hknakn made their first contribution in #356
- @PierreCapo made their first contribution in #376
- @p-malecki made their first contribution in #387
- @graszka22 made their first contribution in #401
- @andreavrr made their first contribution in #422
- @marcellov7 made their first contribution in #415
- @multiplechuks made their first contribution in #447
- @eliotgevers made their first contribution in #459
- @mvanhorn made their first contribution in #461
Full Changelog: 0.6.0...v0.7.0