Release history¶
What each release added, newest first.
1.0.0-beta1¶
Upgrading from 1.0.0-alpha3¶
Run drush updb and then drush cr. Database updates and a full cache
rebuild are required.
Changed since 1.0.0-alpha3:
DisclosureReportExportCommand::build()andpreRender()are deprecated. They stay as wrappers until 2.0.0. Use the instance methodsbuildCommand()andfillCount()of the service.AiDisclosureDefaultWidget::dismissSubmit()andacceptSubmit()are deprecated. They stay as wrappers until 2.0.0. The widget uses the instance methodssubmitDismiss()andsubmitAccept().suggest()no longer stores a suggestion whose grade is less severe than the entity's current disclosure, and it removes the pending row of that source. A Content Credentials suggestion with a lower grade no longer appears. A decided suggestion is kept only for the same grade and the same note.- When a suggestion has the grade already in force, the widget says the grade is already set.
acceptedon a suggestion row means a write happened. Rows written before this release may not carry that guarantee. They are not reconciled.- "Generate with AI" now needs a default text-to-speech provider chosen at
/admin/config/ai/settings. Without one the button is disabled; before, the first available provider was used.
A site updated from 1.0.0-alpha3 that touches no option shows its disclosures exactly as before. Everything new that readers see is an option. On an updated site the options start off, or keep the old behavior where one existed. A new install gets the defaults in the table below.
Four of the update messages say where to turn an option on:
- Labels on images are available and switched off. Turn them on with "Images with the icon" on the Media tab.
- The one-card summary of the AI media of a page is available and switched off. Turn it on on the Output tab.
- Media embedded in other content keep showing their disclosure card, on each display that had no value. To show only the mark, change the formatter setting "When this media is embedded in other content" in Manage display of the media type.
- Labels on download links of AI files are available and switched off. Turn them on with "Label download links of AI files" on the Media tab.
New options¶
| Option | Where | New install default | Updated site default |
|---|---|---|---|
| Summarize the AI media of a page in one card | Output tab, /admin/config/content/ai-disclosure/output |
On | Off |
| Summary of the AI parts (texts, one and several parts per kind of AI use) | Output tab, /admin/config/content/ai-disclosure/output |
The texts are set | The texts are added |
| Show a summary of the AI parts | Manage display of the content type, formatter settings of the AI disclosure field | Off | Off |
| Link each row to its content | Manage display, formatter settings | On | On |
| Show media names in the card | Manage display, formatter settings | Off | Off |
| When this media is embedded in other content | Manage display of the media type, formatter settings | Show only the mark on the media | Also show the disclosure card |
| AI disclosure label (compact label under the title) | Manage display of the content type, a component in the Disabled region | Hidden | Hidden |
| Images with the icon | Media tab, Icon on images, /admin/config/content/ai-disclosure/media |
Deep fakes | None |
| Icon size | Media tab, Icon on images | 22 | 22 |
| Label download links of AI files | Media tab, Icon on images | On | Off |
| Sentence for a page that mixes sorts of AI | Output tab | "Parts of this page were made or edited with AI." | Same text |
What is new¶
This release adds the media labels, and it includes the fixes made before the first beta.
- A new Media section covers image, video and audio labels. See Media.
- All media settings sit on one Media tab, and each media form gets one AI disclosure panel.
- The EU icon shows over AI images on the page, with an icon size setting. Editors can set the position per image. Details are in Labels on images.
- The status page warns when the media overlay is off and deep fake media are left without a visible label. See The status page.
- An image preview shows the overlay and the burned-in icon, plus the adjacent modes, before saving. Details are in Labels on images.
- Image style derivatives can carry the icon in the file, through the
ai_disclosure_imagesubmodule. See Burning the icon into images. - Derivatives get IPTC XMP marks, and selected metadata can be copied from the original. See Machine-readable marks in derivatives.
- With C2PA Sign, the disclosure goes into the manifest of a derivative. See With C2PA Sign.
- Video and audio players are labelled on the page, oEmbed video included. See Labels on video and Labels on audio.
- The video icon picks its variant from the luminance of the corner and has a schedule. See The icon in the picture.
- The
ai_disclosure_avsubmodule makes labelled copies of video and audio. It logs status changes in the audit trail and has low-resource settings with a remote render command. See Labelled copies of audio and video. - Deep fake audio gets a spoken disclaimer first, and an optional audiowmark watermark. See Labels on audio.
- Editors get a short guide for deciding whether media is a deep fake. See Is it a deep fake?.
- AI media and remote AI video are marked in the page JSON-LD. See What machines see.
- The responsive image sources carry the disclosure token. See Labels on images.
- A status page under Reports lists what the module needs and what went wrong. Its messages can be filtered by area and severity, and by status. See The status page.
- The installation guides for FFmpeg, ExifTool, ImageMagick, and other tools are on Requirements. Optional modules are on Integrations.
- A suggestion can come from the Content Credentials module. See Reading C2PA content credentials.
- The report and the suggestions listing follow the admin listings of core. Both have a title filter. See The compliance report and Suggestions.
- Changing the storage of labelled copies between private and public files offers to move the existing copies and clips in a batch. See Where the copies are stored.
- The sentence of a page that mixes sorts of AI can be changed on the Output tab.
- The audit trail holds rendition rows. See Rendition rows.
- The audit submodule cannot be uninstalled while it holds records. See Removing the records.
- Admin wording is unified, so translations of the changed strings must be redone. See Updating.
- New services for developers: file resolver, icon position and the derivative saved event.
- A decided suggestion stays accepted or dismissed when the same grade and the same note are suggested again. A new file reopens it. See Suggestions.
- Video and audio copies are made again when a grade or profile changes. Until the new copy is ready, the last one is served while the file still needs a label. See Labelled copies of audio and video.
- The derivative URL changes when the XMP marking changes. See Machine-readable marks in derivatives.
- The overlay on images and players follows the visible parts set per grade. See Visible parts.
- The media form panel opens only when something needs fixing. See The panel on a media form.
- FFmpeg opens uploads only as local files in supported formats. See Requirements.
- Executable paths need the "administer site configuration" permission. See Requirements.
- The CSV export follows the interface language: headers, values, and file name. See The CSV export.
- Modules can add entries to the status page with a service tagged
ai_disclosure.status_checkthat implementsStatusCheckInterface. See Adding a status check. - Modules can add a preview to the panel of a media form with
hook_ai_disclosure_media_preview_alter(), and a section withMediaPanel::attach(). See The panel of a media form. - Drush commands
ai-disclosure-av:process,ai-disclosure-av:requeue,ai-disclosure-av:render-commandandai-disclosure-av:attachwork the queue of labelled copies.ai-disclosure-audit:purgeclears the audit records. See Drush and Removing the records. - The
ai_disclosure_avsubmodule adds two settings tabs under Media: Video and audio, and Spoken disclaimer. See Settings and Labels on audio. - The
ai_disclosure_avsubmodule dispatchesAudioDisclaimerChangedEventandVideoScheduleChangedEvent, with the names inAiDisclosureAvEvents. See Events. - Labelled copy renderers are services tagged
ai_disclosure_av.renderer. See Writing a renderer. - The spoken disclaimer form requires at least 5 seconds between reminders, and a recording gets at most 200 of them.
- The audiowmark watermark is also applied to copies rendered elsewhere and attached with drush.
- The status page warns when ExifTool is older than 12.24.
- The tool returns the
skippedoutcome when a suggestion is dropped because its grade is less severe than the current one. - Requirements now name ExifTool 12.24 as the oldest version to use. See ExifTool.
- The module has a help page at
/admin/help/ai_disclosure. - Every text is translatable.
1.0.0-alpha3¶
- A
GradeLookupInterfacemakes the lookup behavior part of the 1.x contract. See Looking up grades by IPTC URI. - Services count the use of grades and profiles. See Counting grade and profile usage.
- The module settings store a language code, added by an update function. See Updating.
1.0.0-alpha2¶
- The Workflow mapping submodule turns an editorial gesture into a disclosure and can auto-accept a matching suggestion.
- The Tool plugin records a disclosure through a Tool API plugin.
- The Audit trail submodule keeps an append-only record of decisions, and a disclosure keeps what it meant when it was saved.
- A decision on a suggestion is announced as an event. See Subscribing to a decision.
- A suggestions listing under Reports, with its own permission. See The suggestions listing.
- The grade lookup finds the grades that carry an IPTC source type URI. See Looking up grades by IPTC URI.
- A grade can show the editorial responsibility to the reader. See Visible parts.
- The statement URL accepts an internal path or an entity. See The Policy tab.
- The Output tab previews the icon variant while you choose it. See The Output tab.
- The disclosure is a single-directory component with its own stylesheet. See Theming.
- The report shows only content the reader could open, and the shipped views are removed on uninstall. See The compliance report.
- The CSV export no longer lets a spreadsheet evaluate a cell. See The CSV export.
- A suggestion note shows as text, not as markup.
1.0.0-alpha1¶
The base module.
- Nine shipped grades of AI involvement.
- Reusable disclosure profiles.
- The
ai_disclosurefield with four modes. - A formatter with the EU icon, the disclosure sentence, and the legal line.
- JSON-LD and meta tag marking of the canonical page.
- A compliance report under Reports.
- A recorder API and a resolver for other modules.
- Article 50 notes on the legal scope.