Releases: Shakya47/pip-it-up
Releases · Shakya47/pip-it-up
Release list
@pip-it-up/react@0.1.10
Patch Changes
-
5cc1e2e: Introduce video Picture-in-Picture fallback support for browsers that do not support the Document Picture-in-Picture API (e.g. Safari, iOS browsers, Firefox).
Core:
- Add video PiP support detection (
isVideoPipSupported,isWebkitPipSupported,isInVideoPip) and APIs (enterVideoPip,exitVideoPip) - Auto-detect single
<video>elements to request standard video PiP fallback when document PiP is unavailable orforceFallbackoption is true - Add pointer events bridge to forward events from the PiP window back to the main opener window
- Add
updateOptionsto dynamically update instance options after initialization - Implement re-entrancy protection, cross-document element checks, and stylesheet child-list observation improvements
React:
- Add a new
useVideoPiphook to manage standard/WebKit video PiP on a specific video element - Support dynamic option updates via
updateOptionsinusePipandPipWrapper - Add screen-reader announcements (live regions) and automatic focus redirection on PiP open and close
- Automatically reserve layout space and size for content using
ResizeObserverwhile PiP is open - Update
useIsPipSupportedto check for both document and video PiP compatibility
- Add video PiP support detection (
-
Updated dependencies [5cc1e2e]
- @pip-it-up/core@0.1.10
@pip-it-up/core@0.1.10
Patch Changes
-
5cc1e2e: Introduce video Picture-in-Picture fallback support for browsers that do not support the Document Picture-in-Picture API (e.g. Safari, iOS browsers, Firefox).
Core:
- Add video PiP support detection (
isVideoPipSupported,isWebkitPipSupported,isInVideoPip) and APIs (enterVideoPip,exitVideoPip) - Auto-detect single
<video>elements to request standard video PiP fallback when document PiP is unavailable orforceFallbackoption is true - Add pointer events bridge to forward events from the PiP window back to the main opener window
- Add
updateOptionsto dynamically update instance options after initialization - Implement re-entrancy protection, cross-document element checks, and stylesheet child-list observation improvements
React:
- Add a new
useVideoPiphook to manage standard/WebKit video PiP on a specific video element - Support dynamic option updates via
updateOptionsinusePipandPipWrapper - Add screen-reader announcements (live regions) and automatic focus redirection on PiP open and close
- Automatically reserve layout space and size for content using
ResizeObserverwhile PiP is open - Update
useIsPipSupportedto check for both document and video PiP compatibility
- Add video PiP support detection (
@pip-it-up/react@0.1.9
@pip-it-up/core@0.1.9
Patch Changes
- 0eb4867: Cleaned up the codebase to address community feedback. Removed the unused mode prop from the React package, deleted dead references to maintenance guides, and streamlined code comments and README descriptions.
@pip-it-up/react@0.1.8
@pip-it-up/core@0.1.8
Patch Changes
-
99c4cf2: Defensive coding hardening — six improvements for resilience against misuse, third-party interference, and future refactors. No behavioral changes for correct callers.
pipBodyStyles/fallbackUrlJSDoc: Documented as trusted-input-only fields to surface CSS/URL injection risks to consumers.- Clone mode documentation: Added JSDoc on
applyCloneModeand README entry documentingcloneNode(true)semantics (inline handlers ARE cloned, event listeners are NOT, form state is NOT preserved). - SSR audit: Verified all
windowreferences in helper files are inside function bodies — no module-scope access that would crash in SSR environments. - Cross-document
instanceofcomment: Documented the cross-realm constructor trap infocus-scroll.tswith guidance for future refactors. - Disposer error isolation: Wrapped each
dispose()call intry/catchso one failing disposer doesn't prevent the rest from running — prevents resource leaks from faulty cleanup. - Close-polling documentation: Added inline comments explaining the
setIntervalclose-polling re-entrancy safety.
-
99c4cf2: Security hardening: three fixes for identified vulnerabilities.
- fallbackUrl validation:
fallback: 'new-tab'now validates URLs — onlyhttp:andhttps:protocols are allowed.javascript:,data:, and other dangerous schemes are rejected with aconsole.warn. All new-tab windows are opened withnoopener,noreferrerto prevent reverse tabnabbing. - Registry collision warning:
registerPip()now emits aconsole.warnwhen a different instance is registered under an existing ID, surfacing accidental collisions or third-party hijacking. Re-registering the same instance reference (e.g., during React Strict Mode remounts) does not trigger the warning. - Keyboard bridge isTrusted filter: The keyboard event bridge now ignores synthetic
dispatchEvent()calls in the PiP window (e.isTrusted === false), preventing spoofed keystroke escalation to the opener window.
- fallbackUrl validation:
@pip-it-up/react@0.1.7
Patch Changes
- 76dd252: Update library package metadata and documentation to officially transition to a Public Beta status. This includes:
- Updating core and React npm package descriptions to signal Public Beta status.
- Adding top-level status badges and aligning the v1.0 public roadmap (featuring Vue, Svelte, and Angular binding tracks) in READMEs.
- Updated dependencies [76dd252]
- @pip-it-up/core@0.1.7
@pip-it-up/react@0.1.6
@pip-it-up/core@0.1.7
Patch Changes
- 76dd252: Update library package metadata and documentation to officially transition to a Public Beta status. This includes:
- Updating core and React npm package descriptions to signal Public Beta status.
- Adding top-level status badges and aligning the v1.0 public roadmap (featuring Vue, Svelte, and Angular binding tracks) in READMEs.
@pip-it-up/core@0.1.6
Patch Changes
- e204133: Removed unsupported lockAspectRatio prop and massively improved Registry and Iframe documentation.