Brazen Framework - Framework

Main class of the Brazen framework

コードが変更されたバージョンのみを表示しています すべてのバージョンを表示

  • v13.1.0 2026/07/24

    Added

    • Dock migration statusshowDockMigrationStatus / hideDockMigrationStatus / setForceDockMigrationStatus. init() mounts a migrating dock and paints before configurationManager.initialize() (status updates via onMigrationStatus); after UI build, force-show can keep migrating chrome for style review.
    • Active Hide Rules name colors_getComplianceRuleColor (default null); _renderComplianceRulesPanelContent passes it to View Layer for optional inline name color. Cosmetic only — does not filter which rules appear.

    Fixed

    • Explore tag action visibilityappendTagAttributeActions always appends the explore button when the field exists (same as blacklist); removed optional explore.isEnabled visibility gate. Filtering still respects the enable flag; ensureOptionKey still auto-enables on toggle.
    • Bookmark row explore/blacklist status — status icons no longer drop on re-render after tag-cache eviction/clearCache: prefetch uses an in-flight set (not a permanent attempted set), refreshes compliance specs when missing, uses ensureComplianceLookups, and re-heals via onReady when rows or specs load; explore matches blacklist (compliance + sole/combo remediation).
    • Bookmark star / dock statusisTagSearchBookmarked / isCurrentSearchBookmarked treat a URL as bookmarked when the widget or _bookmarkRows matches (same identity as _toggleBookmarkAtUrl), so sidebar rebuilds do not show an empty star after a successful add.
    • Tag bookmark action settlecreateTagBookmarkActionButton calls onAfterToggle immediately and again after persist settles (finally), with a local pending guard; dock bookmark refreshes dock state the same way.

    Changed

    • Gated tag UI refreshrefreshTagActionSurfaces(detail, handlers) refreshes only surfaces that reference changed tags; config-change coalesce unions detail.tags / fieldKeys; local tags notifies skip dock refresh for ignore/substitution-only keys and skip _validateCompliance unless fieldKeys touch blacklist/explore; substitution persist no longer double-fires link-mode UI notify.
  • v13.0.0 2026/07/22

    [13.0.0] — current

    Breaking

    • jQuery removed — tiles/items are HTMLElement end-to-end (hooks, filters, attribute resolver, itemWrapperResolver, composeDockRail). UI factories return HTMLElement.
    • Deep attributes — jQuery .load() sandbox replaced by fetch + DOMParser + querySelector; deep-attribute callbacks receive the matched Element, not a jQuery sandbox.

    Fixed

    • Settings auto-hide_embedUI mouseleave timer calls _hideMainPanel with the captured #bv-ui node (native event.currentTarget is null after the handler returns).
    • Dock rail refresh before mountrefreshDockInterface / _refreshDockButtonStates no longer call composeDockRail when .bv-dock-rail-body is missing. Bookmarks pageMatch (panel createElement) and reloadBookmarkFields hydrate can refresh dock state before _buildDock runs; previously that hit railBody.replaceChildren on null.
    • Active Hide Rules removeonRemoveRule awaits async _removeComplianceRule before refreshing the panel (registry-backed removals can return a Promise).

    Changed

    • Dock resize — native resize listener with AbortController (aborted on dock rebuild / pagehide).
    • Dock panel stack — includes #bv-download-interruption-panel, #bv-human-interaction-panel-resolution / #bv-human-interaction-panel-download (plus legacy #bv-human-interaction-panel). _showDockSlidePanel applies orientation classes and observes late-mounted panes so dynamic review panels dock like discovery/HI.
    • Build identityBRAZEN_FRAMEWORK_BUILD (local-13.0.0).

    Added

    • Bookmark row attribute actionscreateBookmarkRowAttributeActions / prepareBookmarkRowAttributeData (remediation-only blacklist/explore chrome + tag-cache prefetch for the bookmarks panel). Consumers pass incidence via CM setAttributeActionsConfig; getRowActions remains for extras only.
    • requestDownloadManagerLeadership() — delegates to Download Manager idle-only leader claim (dock crown control).
    • toggleCurrentSearchBookmark / isCurrentSearchBookmarked — idempotent URL-keyed current-page bookmark toggle and state (normalized URL identity for decision / add / remove; new rows store the raw current URL so dock/pageMatch flip active immediately; empty tags = silent no-op when adding; no alerts).
    • registerCurrentSearchBookmarkDock — framework-owned dock bookmark action field (state/tooltip/click); consumers pass site config only (getTags, URL helpers, include).
    • Shared _toggleBookmarkAtUrl — optimistic field._bookmarkRows + widget render + _tagAttributePersistKeys guard; toggleTagSearchBookmark and toggleCurrentSearchBookmark both use it. Remove matches by normalized URL and tolerates legacy string id vs numeric entryId.
  • v12.3.1 2026/07/21

    [12.3.1] — current

    Fixed

    • Deep-attribute after-compliance — deep resolution no longer fires _onAfterComplianceRun once per item; completions coalesce via _scheduleAfterComplianceRun.
    • Unload teardownpagehide disconnects compliance ChildObservers, clears #bv-ui mouseleave timers/listeners (AbortController), and disposes bookmark widgets.
    • _waitForDomElement — returns { abort }, dedupes by selector, and tears down observer/interval/timeout via AbortController.

    Changed

    • Subscriptions filter — caches escaped per-username RegExp instances (invalidated when the subscriptions string changes).
    • Dock panel sync — debounced (~16 ms); show path no longer re-attaches ResizeObserver every open.
    • Ledger Hide Downloaded refresh — runs soft _runComplianceValidation(false) instead of a heavier full validate path.
    • _decodeHtmlEntities — delegates to Utilities.decodeHtmlEntities.
    • Build identityBRAZEN_FRAMEWORK_BUILD (local-12.3.1).

    Removed

    • _updateDockMenuButtonState — unused alias.
    • _mergeDownloadDuplicateLedgerFromStorage — duplicate of _reloadDownloadDuplicateLedgerFromStorage (no callers).

    [12.3.0]

    Breaking

    • Dock-only UI_embedUI requires configureDock() (throws otherwise). Independent .show-settings strip and Always Show Settings Pane (OPTION_ALWAYS_SHOW_SETTINGS_PANE / _isAlwaysShowSettingsPaneActive) are removed. Main panel hide always uses _hideMainPanel. Apps with UI enabled must call configureDock and implement composeDockRail before init embed; _disableUI still skips UI/dock entirely.

    Changed

    • Build identityBRAZEN_FRAMEWORK_BUILD (local-12.3.0).
  • v12.2.0 2026/07/19

    Changed

    • Tag attribute actions (optimistic) — bookmark / ignore / blacklist / explore / substitution-commit paint UI from cache (and call onAfterToggle) before IndexedDB settles; type promote runs inside persist, not ahead of the click. Per-tag persist locks block double-toggles after chrome rebuilds. Failed persists re-refresh surfaces.
    • Compliance priming_complyItemsList is async and calls _primeComplianceCaches to batch-load ledger hits and tag rows for the current tile set (no full-table RAM mirrors). Observers and _runComplianceValidation await the async path. Tiles are not dimmed until after priming completes (avoids selection overlay flicker). Ledger claims debounce Hide Downloaded refreshes (400ms) instead of re-running full compliance on every claim.
    • _isDownloadDuplicateAsync / _isDownloadLedgerIdRecordedAsync — IndexedDB-backed membership for the download pipeline; sync recorded checks use the bounded positive cache only.
    • Item Attributes ResolverBrazenItemAttributesResolver now lives in this script (above BrazenFramework). Apps drop the separate Item Attributes @require (429587 retired). API unchanged.
    • Dock rail foot — when trackComplianceRules is on and the page is search, _buildDock mounts Active Hide Rules (separator + bv-dock-compliance-rules-btn) in the framework foot before the orientation control (separator + position button when multiple orientations). Apps no longer place View Active Rules in composeDockRail.

    Added

    • createBehavioursTabPanel(options?) — settings tab for Download Manager Behaviours flags (review-ignored-filename-pins, skip-empty-filename-pins, only-show-download-manager) when those fields are registered.
    • Build identityBRAZEN_FRAMEWORK_BUILD (local-12.2.2); logs Framework / View Layer / Download Manager build ids once after DM init (Resource-override check).
    • _handleDownloadSucceeded(download) — empty hook when GM_download fires onload (Download Manager).
    • _disconnectItemListChildObservers() — tears down compliance ChildObservers retained from the first validation run.
    • BrazenItemAttributesResolver — shallow / async / deep attribute extractors (formerly a separate Greasy Fork module).

    Fixed

    • Hide Downloaded after ledger claim_claimDownloadDuplicateLedgerSlot schedules the debounced compliance refresh directly; config-change coalescing keeps a ledger-dirty flag so downloadQueue / state puts cannot skip the hide refresh until focus/click.
    • Dock slide panel stack — near-dock order is human-interaction → tag discovery → compliance → #bv-ui, so opening Tag Discovery pushes the main settings panel outward (up on a bottom dock) instead of painting over it; ResizeObserver watches slide panels as well as the rail; show does a post-layout re-stack.
    • Compliance list observers — first-run ChildObserver instances are retained on _itemListChildObservers so they can be disconnected on rebind instead of leaking MutationObservers.
    • Discovery attribute actions + type_ensureTagEntityForAction still skips work when typeEntryId is already set, but promotes type when the cache only has seen-only rows and the panel supplies tag.type. Substitution link-mode passes subject/replacement types into setTagSubstitution.
  • v12.1.4 2026/07/17

    [12.1.4] — current

    Fixed

    • Tag discovery restore after dock — call restoreTagDiscoveryPanelIfNeeded() after _embedUI so the review panel is not shown before the dock exists (avoids a flash/hide on new search tabs that left resolution gated).

    [12.1.3]

    Fixed

    • Text sanitization ruleset — dropped setSortRules on the object-valued field; format/optimize guards reject accidental array values so Apply/Save cannot corrupt the map.
    • clearScriptDatabase — sets a sessionStorage pending-wipe flag before delete/reload so a blocked IndexedDB delete is retried on the next boot before open().
    • Dock slide-outs thrashing_refreshDockButtonStates no longer rebuilds the whole rail on every config ping; layout compose runs only when root-button membership changes. Dock toggles no longer call save() (already persisted via writeSetting), which had re-imported stale panel checkboxes and remounted slide-outs open/closed repeatedly.
  • v12.1.2 2026/07/16

    Changed

    • _handleDownloadFailed — no longer shows a blocking alert for failed downloads; errors are still logged to the console.
  • v12.1.1 2026/07/16

    Added

    • handleMediaCloudflarePage(options?) — delegates to Download Manager for Phase-1 Cloudflare / challenge pages (queue silence + standalone themed reload pane).
  • v12.1.0 2026/07/16

    Added

    • clearScriptDatabase() — wipe this script’s IndexedDB via Configuration Manager, then location.reload() so setup rebuilds an empty database. Prefer a Toolbox confirm button.

    Removed

    • DEFAULT_DOWNLOAD_DUPLICATE_LEDGER_MAX_ENTRIES / maxEntries — download duplicate ledger no longer trims; IndexedDB stores ids without a hard cap. DownloadDuplicateLedgerConfiguration no longer documents maxEntries.
  • v12.0.0 2026/07/15

    Breaking

    • Download orchestration moved to BrazenDownloadManager — removed _addDownload, _wrapDownloadTask, _downloadsQueue, and token/path helpers (_buildDownloadPath, _resolveDownloadPattern, _sanitizePathSegment, tag substitution helpers). Apps must @require Download Manager and call configureDownloadManager() after configureDock().
    • downloadsDelay constructor option — replaced by downloadInitiationGapMs in download manager config.

    Added

    • Registry-centric tag compliance_addItemTagBlacklistFilter uses _complyTagComplianceFilter when field is in TAG_FIELD_SPEC; _prepareTagComplianceRuntime before validation; legacy string + AND-array support in _handleComplianceForBlacklistFilter.
    • Always Show Settings Pane + dock_isAlwaysShowSettingsPaneActive() returns false when configureDock() is active; main panel auto-hide and initial visibility ignore the flag.
    • Filename tag substitution flow — link-mode state, getTagSubstitutionUiState, toggleTagSubstitutionLink, createTagSubstitutionActionButton, onTagSubstitutionUiChange, hasTagSubstitutionField. Consumers only place the button on site DOM; Configuration Manager owns persist (setTagSubstitution / clearTagSubstitution).
    • Tag attribute actionsappendTagAttributeActions, bookmark / ignore / blacklist / explore button factories and toggles. Discovery panel and sidebar share one framework flow; consumers pass incidence options only.
    • Donate tabcreateDonateTabPanel() thin wrapper over ViewLayer (default Patreon URL).

    Fixed

    • Unsaved settings protection_handleConfigurationChange reloads mounted settings controls only after local Apply/Save/reset (settings / all) or a foreign cross-tab config revision. Local tag / bookmark attribute writes and download queue / DM-state / ledger runtime sources no longer call refreshMountedFields() (would discard unsaved textarea edits).
    • Download pipeline UIdownloadResolutionQueue / downloadQueue / downloadManagerState configuration events skip dock button rebuilds and script onConfigurationChange fans-out; processors own per-task UI updates.
    • Dock slide panel stack_syncDockPanelPosition includes #bv-human-interaction-panel with settings, compliance rules, and tag discovery.
    • Skip Duplicate Downloads defaultenableDefault now uses setDefault(true) so _settingCache stays true. The old bare field.value = true left the cache seeded as false, so after refresh Skip (and Hide Downloaded Media) looked off and ledger claims never ran.
    • Hide Downloaded Media — membership reads the ledger Set without requiring Skip to be active; claims run when Skip or Hide is on.
    • configureDownloadManager(config) — instantiates BrazenDownloadManager; initialize() runs after CM setup.
    • Delegation methodsdownloadImmediate, enqueueDownload, dequeueDownload, isQueued, confirmTagDiscoveryMappings, skipTagDiscoveryInclusion, openTagDiscoveryMedia, toggleDownloadManagerPaused, clearDownloadQueue, clearDownloadDuplicateLedger, getDownloadManagerProgress, getDownloadQueueCount, toggleTagDiscoveryMode, toggleSelectionMode, toggleCurrentMediaQueued, isDownloadPageRole, isDownloadManagerEnabled, isDownloadManagerLeaderTab, getDownloadManager().
    • Hide Downloaded Media help text — no longer claims Hide requires Skip; records when Skip or Hide is on.
    • Dock templatesOPTION_DISABLE_COMPLIANCE_VALIDATIONinvertedFiltersMaster; Skip Duplicate → skipDuplicates; _addItemHideDownloadedMediaFilterhideDownloaded; _addItemTagBlacklistFilter applies flagToggle (optional 7th dockTemplateArgs).

    Kept

    • downloadDuplicateLedger constructor config and hooks (_handleDuplicateDownloadSkipped, _handleDownloadFailed, ledger claim/check helpers).
  • v12.0.0 2026/07/15

    [12.0.0] — current

    Breaking

    • Download orchestration moved to BrazenDownloadManager — removed _addDownload, _wrapDownloadTask, _downloadsQueue, and token/path helpers (_buildDownloadPath, _resolveDownloadPattern, _sanitizePathSegment, tag substitution helpers). Apps must @require Download Manager and call configureDownloadManager() after configureDock().
    • downloadsDelay constructor option — replaced by downloadInitiationGapMs in download manager config.

    Added

    • configureDownloadManager(config) — instantiates BrazenDownloadManager; initialize() runs after CM setup.
    • Delegation methodsdownloadImmediate, enqueueDownload, dequeueDownload, isQueued, confirmTagDiscoveryMappings, toggleDownloadManagerPaused, clearDownloadQueue, getDownloadManagerProgress, getDownloadQueueCount, toggleTagDiscoveryMode, toggleSelectionMode, toggleCurrentMediaQueued, isDownloadPageRole, isDownloadManagerEnabled, getDownloadManager().

    Kept

    • downloadDuplicateLedger constructor config and hooks (_handleDuplicateDownloadSkipped, _handleDownloadFailed, ledger claim/check helpers).

    [11.1.0]

    Breaking

    • Removed deferred storage migration_runDeferredStorageMigration, dock migration status badge wiring, and onMigrationStatusChange callback removed. Legacy import runs during CM initialize() setup phase via BrazenLegacyImporter.
    • Ledger init — no setStorage(STORAGE_DRIVER_GM), legacy storage keys, or pagehide flushPending() handler.

    Changed

    • init() — fires onBookmarksHydrate after initialize() + reloadBookmarkFields() (replaces post-migration hydrate).
    • Configuration-change UI — single debounced _handleConfigurationChange registered on CM onConfigurationChange; refreshes mounted fields, dock, bookmarks, compliance, then script hooks via onConfigurationChange(event).
    • Save / reset / restore — post-persist UI refresh delegated to the configuration-change handler (no duplicate compliance/dock passes in _onSaveSettings / reset / restore callbacks).

    Fixed

    • Save settings — await ConfigurationManager.save() before re-running compliance; surface save failures instead of fire-and-forget.
    • Dock button refresh — re-run updateDockInterface() on configuration change (local writes and cross-tab revision sync).

    [11.0.1]

    Fixed

    • Dock position persistence — orientation stored via ConfigurationManager.writeSetting('dock-position') and loaded with readSetting; Framework keeps _dockOrientation instead of relying on field.value + save().
  • v11.0.0 2026/07/13

    Breaking

    • Config key migration — framework preset filter/option constants (FILTER_*, OPTION_*, CONFIG_*) are kebab-case persistence keys, not human-readable labels. UI text is set via setTitle(...) at registration time. Any consumer that copied old constant values as getField / createElement / statistics keys must adopt kebab keys.
    • Requires Configuration Manager v4.0.0field.key / setTitle semantics; unmigrated scripts on CM v3.x are incompatible.
    • _buildDock — passes field.key to createDockElement (not field.title).
  • v10.0.0 2026/07/13

    Added

    • Button dockconfigureDock({ orientations, defaultOrientation?, showPositionControl?, scriptName?, showBranding?, onOpenMainPanel? }) enables a script-decided edge dock (left/right/bottom). Replaces .show-settings when active (skipped when _disableUI). Always-first Open Main UI button with separator before script buttons; position control preceded by a matching separator in the rail foot; docked fields from createDockElement; OPTION_DOCK_POSITION when multiple orientations + showPositionControl; dock name bar from scriptName + showBranding ("Brazen Scripts - " prefix when branded); #bv-ui gains bv-dock-panel-* anchor classes; _rebuildDock() on Apply/Save; _refreshDockButtonStates().
    • Config builder migration — framework internal add*Field call sites updated to integral-args + field set* builder (requires Configuration Manager v3.0.0).
    • Compliance rules slide paneltrackComplianceRules apps get #bv-compliance-rules, a dock-anchored slide panel using the same orientation transforms as #bv-ui; _toggleComplianceRulesPanel() replaces the modal.
  • v9.0.0 2026/07/13

    Added

    • Page detection + boot pipelinedefinePage / definePages, isPage, anyPage, getActivePages, getLayout; init() restructured into Phase 0 (page/layout + selector resolution), Phase 1 (addPageOperation, halt support), Phase 2 (gated full init). Detectors evaluate once at init() start, not in the constructor.
    • Layout-aware selectorsitemListSelectors, itemSelectors, itemNameSelector, itemLinkSelector accept plain selectors, resolver functions, or page/layout maps (SelectorConfig).
    • Behaviour linkage_forPage, _forPages, _gatePage, _performOperationOnPage, _performTogglableOperationOnPage; _onBeforeFullInit hook at Phase 2 entry.
    • Compliance controlsenableCompliance, disableCompliance, isComplianceEnabled, setCompliancePages; excluded pages hard-skip observers and first compliance pass.
    • Init gating — full init when (init-set page active OR no pages defined) AND _onValidateInit(); _initPages allow-list; unmigrated scripts with no definePages keep the old _onValidateInit-only gate.

    Breaking

    • init() order — page detection and addPageOperation handlers always run before config load; scripts that relied on the old single-gate init() must migrate page constants to definePages and move config-independent per-page work to addPageOperation.
    • Publish order — republish framework v9.0.0 before any consumer that @requires the latest framework URL (e.g. rule34xxx v1.9.0).
  • v8.0.1 2026/07/10

    Fixed

    • _parseDownloadTagSubstitutionLines — tolerates already-structured {subject, replacement} object entries (not only alias - canonical strings), so ruleset addRule/setRules round-trips object-valued substitution fields without line.match is not a function.
  • v8.0.0 2026/07/10

    Removed

    • Tag-blacklist / ruleset helpers_setTagBlacklistNormalizers, _tagBlacklistLineMatchesTag, _isTagInTagBlacklist, _toggleTagInTagBlacklist, _clearTagBlacklistField, _updateRulesetField, _tagBlacklistNormalizers, and TagBlacklistNormalizers. Per-rule add/remove/toggle now lives on the ruleset config object (BrazenConfigurationManager field API: addRule, removeRule, hasRule, toggleRule, clearRules, setRules).
  • v7.6.0 2026/07/04

    [7.6.0] — current

    Changed

    • Download duplicate ledger — domain logic moved into BrazenConfigurationManager.addLedgerField (CONFIG_TYPE_LEDGER on the gm driver). Framework protected methods (_claimDownloadDuplicateLedgerSlot, _isDownloadDuplicate, _reloadDownloadDuplicateLedgerFromStorage, etc.) are thin delegators to the ledger field.
  • v7.5.0 2026/07/03

    [7.5.0] — 2026-07-03

    Changed

    • Tag-blacklist helpers — replaced the active-list routing model with explicit per-field operations. Register the site-supplied normalizers once via _setTagBlacklistNormalizers({normalizeTagLine, normalizeRuleLine}) (renamed from _setTagBlacklistRouting); the backing field renamed _tagBlacklistRouting_tagBlacklistNormalizers and the typedef TagBlacklistRoutingConfigurationTagBlacklistNormalizers.

    Added

    • _toggleTagInTagBlacklist(fieldKey, optionKey, name) — generic single-token toggle for any tag-blacklist list: enables optionKey if off, adds/removes the normalized token in fieldKey, then save() + _validateCompliance() (no sidebar refresh).

    Removed

    • _getActiveTagBlacklistFieldKey, _isTagInActiveTagBlacklist, _toggleTagInActiveTagBlacklist — the active-list routing concept (primary/secondary keys and options). Apps now target each list explicitly through _isTagInTagBlacklist(fieldKey, name) and _toggleTagInTagBlacklist(fieldKey, optionKey, name).
  • v7.4.2 2026/06/23

    [7.4.2] — 2026-06-23

    Changed

    • _embedUI — settings panel hide waits 1 s after mouseleave before slideUp; re-entering the panel cancels the pending hide.
  • v7.4.1 2026/06/23

    [7.4.1] — 2026-06-23

    Fixed

    • downloadDuplicateLedger — each id is stored under its own atomic GM_setValue key ({storageKey}/e/{id}) so concurrent tabs and a full FIFO index no longer lose entries; duplicate skip reads the per-id key first; the {primaryField} array is an append-only index for bulk hide-filter load. Apps need @grant GM_deleteValue so FIFO trim can remove dropped entry keys.
  • v7.4.0 2026/06/22
  • v7.3.1 2026/06/22

    [7.3.1] — 2026-06-23

    Changed

    • downloadDuplicateLedger_claimDownloadDuplicateLedgerSlot runs from _addDownload at enqueue time; _wrapDownloadTask only invokes GM_download (ledger never tied to onload).
    • _persistDownloadDuplicateLedger — re-merges from GM_getValue immediately before each write so concurrent auto-download tabs union ids instead of last-write-wins clobbering.
    • _initDownloadDuplicateLedgerpagehide listener flushes the ledger when a tab unloads (helps paused video downloads closed early).

    [7.3.0] — 2026-06-16

    Added

    • _addItemHideDownloadedMediaFilter(getItemDownloadId, helpText?, optionKey?) — compliance filter that hides tiles whose media is already in the download duplicate ledger. Registers a flag field (OPTION_HIDE_DOWNLOADED_MEDIA, default off) and gates on _isDownloadDuplicateLedgerActive(), so it is inert (no stat hit) while Skip Duplicate Downloads is off. The per-item id is resolved by the supplied callback and checked via _isDownloadDuplicate.
    • Constants: OPTION_HIDE_DOWNLOADED_MEDIA, OPTION_HIDE_DOWNLOADED_MEDIA_HELP.
    • Tag-blacklist routing APIs (reusable active-list routing for a primary + secondary tag blacklist; visual rendering stays in the app): _setTagBlacklistRouting, _getActiveTagBlacklistFieldKey, _tagBlacklistLineMatchesTag, _isTagInTagBlacklist, _isTagInActiveTagBlacklist, _toggleTagInActiveTagBlacklist, _clearTagBlacklistField.
    • _updateRulesetField(field, lines) — generic ruleset-field updater (applies onTranslateFromUI, optional sortRules, recomputes optimized via onOptimize, re-renders the field UI).
  • v7.2.1 2026/06/09

    Changed

    • downloadDuplicateLedgerSkip Duplicate Downloads (OPTION_ENABLE_DOWNLOAD_DUPLICATE_LEDGER, default on) gates all ledger checks. When off, downloads proceed normally; stored ids are kept so users can re-download after deleting files locally.
    • Default tooltip: OPTION_ENABLE_DOWNLOAD_DUPLICATE_LEDGER_HELP.

    Added

    • Constructor ledger options: enableConfigKey, enableHelpText, enableDefault.
    • _isDownloadDuplicateLedgerActive() — protected helper for apps with enqueue-time duplicate logic.
  • v7.1.1 2026/06/09
  • v7.1.0 2026/06/09
    • branding change
    • various new functionalities
  • v7.0.4 2026/05/27

    Added platform agnostic safe folder name truncation for downloads

  • v7.0.3 2026/04/19

    Fix another case of illegal character combination for downloads

  • v7.0.2 2026/03/14
    • fixed download file name cleanser
  • v7.0.1 2025/12/30

    Added ruleset sorting

  • v7.0.0 2025/12/30
    • sync configuration manager
    • code style update
  • v6.13.0 2025/12/07

    Added support for multiple instances of tag blacklist filters

  • v6.12.5 2025/09/06

    Added option to customize rows for blacklist filter

  • v6.12.4 2025/08/15

    Made some config items optional for a more focused approach

  • v6.12.3 2025/08/15

    Made after compliance run callback more reliable and is now called when all kinds of compliance runs are completed.

  • v6.12.2 2025/08/09

    Fixed a typo causing syntax error

  • v6.12.1 2025/07/26

    Fixed folder not being created for downloads

  • v6.12.0 2025/07/26
    • Added illegal character removal from download file names
    • Added option to remove media element when download is initiated.
  • v6.11.0 2025/07/16

    Added config toggle to perform item compliance

  • v6.10.0 2025/07/05

    Sync UI generator

  • v6.9.1 2025/06/15

    Fixed UI resize not being possible when pane is not set to always show.

  • v6.9.0 2025/06/15

    Added capability to add comments to tag rules.

  • v6.8.0 2025/05/04

    Add option to disable UI generation

  • v6.7.1 2025/04/29

    Fixed settings backup file download

  • v6.7.0 2025/04/29
    • Added compliant item class so such items can be selected
    • Added item hide and show handlers in configuration object so they can be cleanly overridden
  • v6.6.1 2025/04/28

    Fixed text blacklist

  • v6.6.0 2024/11/06
    • Added support to choose item finding method in between find and children
    • Fixed white space inclusion in tags when combination rules are used in blacklist
  • v6.5.0 2024/10/19

    Removed UI before and after event assignment methods

  • v6.4.0 2024/09/20

    Refactored tags support with customizable item attribute based tag blacklist as well as capability to have multiple tag based rule set filters

  • v6.3.1 2024/05/27

    Animation change for settings menu hide

  • v6.3.0 2023/12/22
  • v6.2.0 2023/10/30

    Separate switches for preset blacklists

スクリプトのすべてのバージョンを表示