Skip to content

Latest commit

 

History

History
419 lines (254 loc) · 28.9 KB

File metadata and controls

419 lines (254 loc) · 28.9 KB

Changelog

2.1.0 (2026-07-30)

Features

  • Added Marker.getImageInfo(source) across Android, iOS, and Web with upright and encoded dimensions, format, EXIF orientation, rotation, mirroring, and normalization metadata.
  • Added cross-platform text constraints and layout controls: maxWidth, lineHeight, letterSpacing, direction, wrap, maxLines, and overflow.
  • Moved the platform-neutral Recipe v2 schema, validation, migration, templating, serialization, and immutable layer operations into @image-marker/recipe@0.1.0.
  • Re-exported the shared Recipe authoring API from Core so existing consumers can continue importing from react-native-image-marker.

Quality

  • Added one shared Recipe fixture exercised by Android, iOS, and Web text conformance tests.
  • Added encoded-orientation metadata tests on TypeScript, Android, and iOS.
  • Preserved the Core 2.0 rendering, result, and Recipe contracts; this is a backward-compatible minor release.

2.0.0 (2026-07-28)

Breaking changes

  • Rendering and invisible-embed methods now return a structured MarkerResult; existing consumers must read result.uri.
  • Recipe v2 replaces watermarks plus top-level encoding options with stable layers and nested output. Use migrateWatermarkRecipe() for persisted v1 documents.
  • Removed positionOptions, watermarkImage, and watermarkPositions.
  • Raised the supported application baseline to React Native 0.73+, React 18+, iOS 13+, and Android API 24+.
  • Replaced loosely typed native option objects with complete generated TurboModule structures.
  • Newly encoded output normalizes pixel orientation and strips copied source EXIF/GPS metadata.

Features

  • Added job IDs, stable error codes, progress phases, abort signals, native cancellation, and timeouts for single operations.
  • Added Recipe v2 layer IDs, names, visibility, locks, conditions, explicit import migration, validation, and serialization.
  • Added font fallback chains across TypeScript, Android, iOS, and Web.
  • Added WebP output on Android and Web with an explicit unsupported error on iOS.
  • Productized invisible trace detection results, batch control, Web Worker execution, and optional Content Credentials composition.
  • Added a portable shared C++ size-fit core plus Android JNI and iOS Objective-C++/Swift bridges.
  • Added the separately versioned react-native-image-marker-editor@0.0.1 workspace and optional Core adapter.

Performance and reliability

  • Kept native queues serial, capped Web queues at four, and made cancellation idempotent to bound decode memory.
  • Added repeated Android and iOS large-image downsample gates, shared-core bridge tests, four-ABI Android native builds, and browser stress coverage.
  • Added real packed-package CommonJS, ESM, TypeScript, peer-dependency, and production-audit consumer verification.

Documentation and release infrastructure

  • Added complete English and Chinese v1-to-v2 migration, compatibility, performance, output, task-control, and Editor documentation.
  • Migrated the bare, Expo, Playground, and online-tool examples to MarkerResult and Recipe v2.
  • Added protected v1 LTS and immutable v1.0.0 archive lines, a combined versioned documentation deployment, and strict Core/Editor tag routing with post-publish registry consumer checks.

1.12.0 (2026-07-20)

Features

  • add server trace runtime and worker detection (b9976c5)
  • docs: reorganize playground workflows (f26524c)

Bug Fixes

  • isolate worker types from native consumers (d79379d)

1.11.0 (2026-07-19)

Features

  • watermark: add durable provenance workflows (7887786)

1.10.1 (2026-07-19)

Bug Fixes

  • harden v1.10 release quality gates (95d7d2b)

1.10.0 (2026-07-19)

Features

  • watermark: add invisible trace watermarking (#334) (b0d5f06)

1.9.0 (2026-07-18)

Features

1.8.0 (2026-07-18)

Features

Bug Fixes

  • ios: honor maxSize while decoding images (#326) (0da1b9d)

1.7.0 (2026-07-18)

Features

1.6.0 (2026-07-18)

Features

  • web: harden browser rendering compatibility (9e1256a)

Bug Fixes

  • ci: generate lockfile with npm 10 (21f025f)
  • ci: require modern compatibility jobs (7a81903)
  • ci: run Expo prebuild in example (2cc19e0)
  • expo: resolve config plugin from host app (0ac0220)
  • release: pin compatible changelog preset (45e9db6)

1.5.0 (2026-07-18)

  • fix(ci): stabilize web example typecheck (51af719)
  • fix(ci): sync web example clean install (0a540c4)
  • fix(docs): correct production domain (d78de8e)
  • feat(web): add browser SDK and live documentation (3e08838)

1.4.3 (2026-07-14)

  • fix(native): guard nullable image marker inputs (#301) (5225c88), closes #301

1.4.2 (2026-07-11)

  • fix(ci): repair npm publish setup (5a35143)
  • fix(rendering): align cross-platform output and harden pipeline (#299) (94b623f), closes #299
  • refactor: improve marker pipeline maintainability (#296) (58f9a1e), closes #296

1.4.1 (2026-07-01)

  • fix: keep scaled image watermarks sharp (#295) (a5d7112), closes #295

1.4.0 (2026-07-01)

  • feat: add native layered watermark renderer (#293) (50fc255), closes #293

1.3.0 (2026-07-01)

  • feat: add new architecture codegen support (#291) (26011b6), closes #291
  • ci: enable npm trusted publishing (ac889c7)
  • ci: fix pages deployment trigger (0f4df9c)

1.2.12 (2026-06-30)

  • test: add native functional coverage (#290) (90dbfa4), closes #290
  • feat: support position offsets (#285) (85d9644), closes #285
  • feat(example): add shared image marker lab (#289) (8dab7b4), closes #289
  • fix: move patch tooling to dev dependencies (#277) (9f74cdb), closes #277
  • fix: normalize ios image orientation (#287) (2497f58), closes #287
  • fix: preserve android named colors (#278) (2208a15), closes #278
  • fix: propagate image loading errors via rejecter on iOS (#267) (7e9bb86), closes #267
  • fix: scope root typecheck to library sources (#288) (dc48a11), closes #288
  • fix: support responsive watermark font sizing (#282) (a9643f4), closes #282
  • fix: use react native pod dependency helper (#286) (98a422a), closes #286
  • fix(android): remove deprecated jcenter repository (#262) (6f665ce), closes #262
  • fix(ios): guard against nil markOpts and request to prevent EXC_BREAKPOINT crashes (#271) (1323326), closes #271
  • fix(ios): reject malformed marker inputs (#284) (df8d9f5), closes #284
  • docs: clarify font support (#279) (da1eabf), closes #279
  • docs: expand expo installation guide (#280) (c9ae370), closes #280
  • ci: bump Cocoapods version from 1.15.0 to 1.15.2 in the iOS build matrix (#266) (f12c10b), closes #266
  • ci: change macos-13 pipline image to macos-14 (#263) (9362fc4), closes #263
  • ci: stabilize android emulator tests (#283) (b7b590a), closes #283
  • ci: update npm publish workflow to Node.js 24, newer actions, and OIDC permissions (#265) (db893db), closes #265
  • chore: add workflow_dispatch trigger to npm-publish.yml (27951a8)
  • chore: release 1.2.11 (#268) (515cc2c), closes #268
  • chore: update dev dep (db37b64)
  • cd/bump v 1.2.10 (#264) (7ffef10), closes #264

1.2.11 (2026-01-31)

Bug Fixes

  • fix: propagate image loading errors via rejecter on iOS (#267) (7e9bb86), closes #267
  • ci: bump Cocoapods version from 1.15.0 to 1.15.2 in the iOS build matrix (#266) (f12c10b), closes #266
  • ci: change macos-13 pipline image to macos-14 (#263) (9362fc4), closes #263
  • ci: update npm publish workflow to Node.js 24, newer actions, and OIDC permissions (#265) (db893db), closes #265

1.2.10 (2026-01-30)

Bug Fixes

  • fix(android): remove deprecated jcenter repository (#262) (6f665ce), closes #262

1.2.9 (2025-11-20)

Features

  • expo support (#207) 7a6ca14

Bug Fixes

  • fix #158 android release bug style not working (#160) a942e30
  • fontName bug (android) (#196) 83d9856
  • add custom fonts to example (#197) 6e2ad75
  • cd scripts error f01c061
  • coil load image with original size (#217) d6e8744
  • fix #164 Build Failure on CI Due to CocoaPods 1.1.9 in iOS Project (#165) 532e8a4
  • fix #179 Same watermark image is behaving differently on ANDROID and iOS (#180) 10d71e1
  • fix #179 same watermark image is behaving differently on android and ios when use given position enum (#187) 1c62250
  • fix #202 generates inconsistent text size across different devices (#204) 47c0cd9
  • fix#176 Fresco 3.1.3 compatibility issues with RN 0.73.0, compileDebugKotlin FAILED (#177) 06d65c4
  • Handle Nullable Map and Enum Mismatch in MarkTextOptions.kt (#247) 9878efa
  • load base64 image on android (#240) 4764a6f
  • parse hex color string crash on iOS (#186) 53ac1f1
  • RN 0.80.2 build error (#248) 76d6972

1.2.6 (2024-02-04)

Bug Fixes

  • coil load image use the original dimensions by default (fc29a6a)

Other Changes

  • remove expo android ios folders and ignore it (7cd0df2)

1.2.5 (2024-01-26)

Features

1.2.4 (2024-01-24)

Bug Fixes

  • set the font size without considering the screen density (3df1080)

Features

  • replace positionOptions to postions (482198f)

1.2.3 (2024-01-22)

Bug Fixes

1.2.2 (2024-01-01)

Bug Fixes

  • remove debug fill red color in rect (7ed675a)

1.2.1 (2023-12-28)

Bug Fixes

  • #179 Same watermark image is behaving differently on ANDROID and IOS when use given position enum (39107f0)
  • parse hex color string crash on iOS (#186) (53ac1f1)

1.2.0 (2023-12-21)

Bug Fixes

  • fix #164 Build Failure on CI Due to CocoaPods 1.1.9 in iOS Project (#165) (532e8a4)
  • fix#176 Fresco 3.1.3 compatibility issues with RN 0.73.0, compileDebugKotlin FAILED (2fd4fef)

Features

  • use Coil instead of Fresco to load images on the Android platform (4438127)

1.1.11 (2023-12-21)

Bug Fixes

  • fix #158 android release bug style not working (#160) (a942e30)
  • fix #164 Build Failure on CI Due to CocoaPods 1.1.9 in iOS Project (#165) (532e8a4)
  • fix #179 Same watermark image is behaving differently on ANDROID and IOS (a269510)

1.1.10 (2023-11-29)

Bug Fixes

  • fix #164 Build Failure on CI Due to CocoaPods 1.1.9 in iOS Project (d1758e5)

1.1.9 (2023-11-18)

Bug Fixes

  • fix #158 android release bug style not working (82e0a9a)

1.1.8 (2023-10-20)

Bug Fixes

1.1.7 (2023-10-03)

Bug Fixes

  • fix: image marker position bug WatermarkImageOptions.swift (f3789cb)

1.1.6 (2023-10-01)

Bug Fixes

Features

1.1.4 (2023-09-27)

Chore

Features

  • android text background padding setting (b53ac1d)
  • coordinates set support percentage (f96f4a9)
  • iOS text background padding setting (03eb4d1)

1.1.2 (2023-09-20)

Bug Fixes

  • textAlignment not uniform in android-ios, fixed #119 (f86f7a0)

1.1.1 (2023-09-05)

Bug Fixes

Features

  • support multiple image watermarks (#113) (ec73482)
  • support multiple text and more style options (#104) (0b91cd4)

1.1.0 (2023-07-31)

Bug Fixes

Features

  • support multiple image watermarks (#113) (ec73482)
  • support multiple text and more style options (#104) (0b91cd4)

1.0.1 (2023-07-29)

Features

  • support multiple text and more style options (#104) (0b91cd4)

1.0.0 (2023-07-29)

Features

  • support multiple text and more style options (#104) (0b91cd4)