Skip to content

v1.0.0

Choose a tag to compare

@eszlamczyk eszlamczyk released this 13 Aug 09:53
· 30 commits to main since this release

What's Changed

New Features

  • feat(input): block-editing pipeline foundation by @wildseansy in #460
  • feat(input): heading blocks (H1-H6) on the block pipeline by @wildseansy in #497
  • feat(input): import block ranges on paste by @wildseansy in #498
  • feat(input): heading toolbar support — toggleHeading command, active-state, empty-line persistence by @wildseansy in #499
  • feat(ios): render in-paragraph display math instead of dropping its delimiters by @EthanCai9568 in #537
  • feat(ios): voiceover read contents of input element by @eszlamczyk in #526
  • feat: add horizontalOverflow style prop for edge-to-edge scrollable tables by @hryhoriiK97 in #542
  • feat: custom image request headers by @eszlamczyk in #544
  • feat: add maxHeight, aspectRatio and resizeMode to block image styling by @eszlamczyk in #539
  • feat: space between list items by @eszlamczyk in #578
  • feat: support saving original image by @eszlamczyk in #548
  • feat: centering of entire tables by @eszlamczyk in #554
  • feat(input): rebased version of "list state, toolbar, docs, and e2e (lists 5/5)" by @hsource in #545
  • feat: support loading local images by @eszlamczyk in #588
  • feat: on key press support by @eszlamczyk in #584
  • feat: match rn textinput keyboard-dismiss behavior on taps outside the input by @eszlamczyk in #597
  • feat(ios): port parser module to ios by @graszka22 in #556
  • feat(ios): add markdown theme system by @graszka22 in #557
  • feat(ios): add AST-to-attributed-string renderer by @graszka22 in #558
  • feat(ios): add EnrichedMarkdownText SwiftUI view by @graszka22 in #559
  • feat(ios): add async parse and render for EnrichedMarkdownText by @graszka22 in #560
  • feat(ios): add heading rendering and theme by @graszka22 in #562
  • feat(ios): add link rendering, theme, and onLinkPress by @graszka22 in #563
  • feat(ios): add line break rendering by @graszka22 in #564
  • feat(ios): add inline code rendering and theme by @graszka22 in #565
  • feat(ios): add image rendering, theme, and attachments by @graszka22 in #566
  • feat(ios): add block rendering layout infrastructure by @graszka22 in #567
  • feat(ios): add thematic break rendering and theme by @graszka22 in #568
  • feat(ios): add code block rendering and theme by @graszka22 in #569
  • feat(ios): add blockquote rendering and theme by @graszka22 in #570
  • feat(ios): add list rendering and theme by @graszka22 in #571
  • feat(ios): add custom font support to markdown theme by @graszka22 in #572
  • feat: implement gfm style codeblock by @eszlamczyk in #607
  • feat: padding and broderradius for blockquotes by @eszlamczyk in #601
  • feat: expose insert text method by @eszlamczyk in #613
  • feat(ios): expose md4cFlags and add strikethrough/underline rendering by @maksg in #627
  • feat: add hardSoftBreaks md4cFlags option by @hryhoriiK97 in #632
  • feat(ios): add markdown extractor for selection-to-markdown conversion by @maksg in #638
  • feat(ios): add Copy as Markdown and Copy Image URL selection menu items by @maksg in #639
  • feat: codeblock highlight colors by @eszlamczyk in #624
  • feat: tressiter for colored codeblocks by @eszlamczyk in #625
  • feat: cleaner, smaller code block copy button by @eszlamczyk in #633
  • feat: add onCopyPress event for code block copy by @eszlamczyk in #634
  • feat(ios): show Select All in selection menu when the system omits it by @maksg in #642
  • feat: codeblock streaming by @eszlamczyk in #648
  • feat: implement jest mock by @eszlamczyk in #614
  • feat: add enableTaskListItemToggle prop to EnrichedMarkdownText by @CodingItWrong in #651

Fixes & Improvements

  • fix: include README, LICENSE, and docs in npm package by @hryhoriiK97 in #483
  • fix(expo): build config plugin separately from main lib by @huextrat in #488
  • fix(ios): dedupe RaTeX XCFramework signature for Xcode 26 archive (#491) by @hryhoriiK97 in #492
  • fix(android): adjust blockStore on all text mutations for iOS parity by @hryhoriiK97 in #500
  • fix(input): handle zero-length heading anchors in formatter and serializer (#505) by @hryhoriiK97 in #505
  • fix(ios): sync typing attributes after text edit to fix heading cursor on Enter (#506) by @hryhoriiK97 in #506
  • fix(android): sync cursor height with heading block on empty lines by @hryhoriiK97 in #507
  • fix(android): exclude block spans from inline formatting pass by @hryhoriiK97 in #508
  • fix(input): hide placeholder when heading is toggled on empty text by @hryhoriiK97 in #515
  • fix(ios): include all layout-affecting props in measurement cache key by @hryhoriiK97 in #494
  • fix: better list children rendering logic by @eszlamczyk in #478
  • fix: remove extra markers from text input by @eszlamczyk in #520
  • fix: honor ordered list start number by @yyq1025 in #525
  • fix(build): fix x86_64 simulator build and spm_dependency guard by @eszlamczyk in #531
  • fix(android): strong italic font family by @eszlamczyk in #530
  • fix: autolink detection while working with ref by @eszlamczyk in #535
  • fix(android): prevent false link hit detection for taps outside text bounds by @hryhoriiK97 in #523
  • fix(ios): lists inside blockquotes lose their indent by @eszlamczyk in #534
  • fix(ios): inline math height calculations by @eszlamczyk in #522
  • fix(iOS): replace racy RaTeXFFI modulemap-strip script with an explicit-modules opt-out by @chrfalch in #546
  • fix: reset cached style state in Fabric prepareForRecycle to stop stale-markdown flicker by @mvanhorn in #482
  • fix: preserve Select All (and other system items) in the selection edit menu by @slavaluka in #549
  • fix(ios): visible source fallback when RaTeX cannot parse a math span by @EthanCai9568 in #536
  • fix: block images overflow their line box by @eszlamczyk in #579
  • fix(input/ios): show trailing empty-line bullet marker immediately by @hryhoriiK97 in #595
  • fix(ios): reset typing attributes when input is cleared to remove stale list indent by @hryhoriiK97 in #596
  • fix: soft markdown line breaks by @eszlamczyk in #585
  • fix(android): crash indexoutofboundsexecption set span by @eszlamczyk in #583
  • fix(web): disable growable ArrayBuffers in WASM build by @hryhoriiK97 in #598
  • fix(input): align bullet marker shapes with EnrichedMarkdownText by @hryhoriiK97 in #604
  • fix(input): support macOS text input with correct typing attributes and list markers by @hryhoriiK97 in #605
  • fix(iOS): main-thread deadlock in markdown measurement under locked ShadowTree commits by @eszlamczyk in #582
  • fix(android): codeblock drawing range calculations by @eszlamczyk in #611
  • fix(iOS): apply formatting when setting text via ref setValue by @hryhoriiK97 in #617
  • fix(ios): codeblock measurement in shadow node by @eszlamczyk in #623
  • fix(input): keep styles and list block when typing over a leading selection; stop iOS edit-menu jitter by @wildseansy in #612
  • fix(android): commit font scaling settings to measurement store by @hryhoriiK97 in #631
  • fix(ios): render soft line breaks as spaces in standalone package by @maksg in #637
  • fix: inline inherited grammar highlights when vendoring (TypeScript/TSX) by @eszlamczyk in #640
  • fix: list marker dropped when inserting character by @eszlamczyk in #641
  • fix(ios): vendor RaTeX as a prebuilt static XCFramework (drop spm_dependency) by @eszlamczyk in #652
  • fix(android): font scaling measurement and bullet rendering by @hryhoriiK97 in #644

Refactors

  • refactor(input): update sync method for typing attributes to use cursor block by @hryhoriiK97 in #501
  • refactor(input): remove unused blockRangeContaining API from both platforms by @hryhoriiK97 in #502
  • refactor(input): deduplicate helpers shared between BlockStore and FormattingStore (#503) by @hryhoriiK97 in #503
  • refactor(input): narrow heading level to a union type and export HeadingStyle (#504) by @hryhoriiK97 in #504
  • refactor: deduplicate post-edit store adjustment pipeline by @hryhoriiK97 in #519
  • refactor(input): extract EditPipeline from input views (iOS & Android) by @hryhoriiK97 in #589
  • refactor(input): consolidate reentrancy flags into EditSession (iOS & Android) by @hryhoriiK97 in #590
  • refactor(input): extract BlockEditCoordinator (iOS & Android) by @hryhoriiK97 in #591
  • refactor(input): push inline style toggle logic into FormattingStore (iOS & Android) by @hryhoriiK97 in #592
  • refactor(input): extract Link, Mention, and Clipboard coordinators (iOS & Android) by @hryhoriiK97 in #593
  • refactor(input): extract list marker drawing into decorator pattern by @hryhoriiK97 in #594
  • refactor(input): extract ENRMInputEventEmitter from EnrichedMarkdownTextInput (iOS) by @hryhoriiK97 in #599
  • refactor(input): extract ENRMInputStyleStateBuilder from ENRMInputEventEmitter by @hryhoriiK97 in #600
  • refactor(input): extract ENRMInputTypingAttributesController from EnrichedMarkdownTextInput by @hryhoriiK97 in #602
  • refactor(input): move ENRMInputFormatterStyle to its own file by @hryhoriiK97 in #603

Tests

Docs & Chores

Other Changes

  • Revert "fix(iOS): replace racy RaTeXFFI modulemap-strip script with an explicit-modules opt-out (#546)" by @chrfalch in #551

New Contributors

Full Changelog: v0.7.0...main