NOW Finance Social Content Importer - Release history

2.0.7
- Protect password-locked media and captions in feeds and core REST metadata.
- Serialize import starts and re-read cursors under the lock; preserve newer lock owners during renewal and release.
- Consume OAuth state once under a per-flow lock and keep unknown callbacks free of writes.
- Disable authenticated provider redirects and reject credentialed or nonstandard-port media and paging URLs.
- Redact JSON credentials and notices, invalidate LinkedIn tokens on secret changes, and apply field mapping changes immediately.
- Prefer live imports across destinations when a trashed duplicate exists.
- Add repeatable security, admin, lifecycle, and minimum-version validation.

2.0.6
- Make import, token-refresh, and video-resolve locks atomic so overlapping requests cannot run the same batch twice.
- Bind OAuth callbacks to the browser that started the connection, and redirect on unknown or expired state.
- Refresh Instagram Login tokens before they expire, and skip items that repeatedly fail a batch.
- Pick the video and thumbnail from Instagram carousel slides, and stop single images using up the post count in "videos" mode.
- Prefer a live imported post over a trashed duplicate, and stop a cancelled import from resuming.
- Hide password-protected and non-imported posts from REST and field shortcodes.
- Avoid loading translations early during upgrades, and translate all admin strings.

2.0.5
- Find imported items in any post type so changing the destination moves them instead of creating duplicates.
- Explain on save that previously imported items move to a new destination on the next import or update run.

2.0.4
- Wait with backoff while another import batch holds the lock instead of retrying continuously.
- Make cancellation stop in-progress imports, and report imports that finished before they could be cancelled.
- Tell administrators when starting an import continues one already in progress.
- Prevent two requests from taking over an expired import lock at the same time.
- Show interrupted imports as continuing in the background instead of finished.

2.0.3
- Add a visible Help tab with clearer provider setup and access requirements.
- Shorten and clarify the installation guide and FAQs.
- Default invalid import statuses to draft instead of publish.
- Keep stored LinkedIn counts and media when provider lookups fail during update runs.
- Skip trashed imports instead of re-creating them.
- Limit the feed shortcode, public REST endpoint, and imported count to imported items.

2.0.2
- Show a connect-channel prompt until a channel is connected, and limit import controls to connected channels.

2.0.1
- Rename the plugin and text domain for directory submission.
- Prefix plugin registrations and default storage keys with nsci.
- Add OAuth permission checks for one-time state and the initiating administrator.
- Correct the contributor username and TikTok developer terms link.

2.0.0
- Redesign the WordPress admin around Overview, Connections, Content, and Logs.
- Add guided setup, provider switcher, resumable import progress, completion summaries, and queued-import cancellation.
- Keep update-existing, video resolution, cache clearing, field mapping, and import logs.
- Add plugin-managed or existing post type destinations, configurable post type names, and field-by-field mappings.
- Apply destinations and mappings to imports, REST output, shortcodes, CLI, taxonomies, metadata registration, and video backfills.
- Preserve private source identity metadata for deduplication and legacy reads.

1.9.2
- Filter restricted LinkedIn posts before resumable import snapshots are stored.
- Stop persisting expiring provider CDN URLs and remove legacy copies during upgrade.
- Add the nsci_source taxonomy while retaining legacy source-tag compatibility.
- Prevent collisions with another plugin's video_format taxonomy.
- Require HTTPS for new TikTok OAuth connections.
- Fail closed when credential encryption is unavailable.
- Keep source unique IDs out of the public core REST meta response.
- Make uninstall cleanup consistent in wp-admin and WP-CLI.

1.9.1
- Add a native Social Content Fields editor when ACF is unavailable.
- Register imported metadata for themes and dynamic-content integrations.
- Add the nsci_content_field shortcode and an in-plugin shortcode reference.
- Remove the legacy embed URL migration tool and WP-CLI command.
- Add dashboard toggles for post-type creation and the native fields editor.
- Make post-type registration and the native field editor opt-in defaults.

1.9.0
- Make automatic imports and local background-video downloads opt-in.
- Register a dependency-independent metadata schema.
- Unify custom and core REST exposure behind Public REST Access.
- Add the responsive nsci_content_feed shortcode and privacy-policy suggestions.
- Harden anonymous REST responses, OAuth callbacks, and stored errors.

1.8.0
- Improve LinkedIn image and video resolution.
- Add import history and credential-storage hardening.
