Release Notes
All notable changes to ProActions are documented in this file.
Recent Highlightsβ
What's New in 1.2.0 (upcoming)β
- π Flow Monitor - Real-time visualization and control of running workflows
- β±οΈ Progress Tracking - Percentage, step-based, and indeterminate progress indicators
- π Cancellation Support - Stop long-running flows with confirmation dialogs
- π¬ Interactive Feedback - Prompts and actions within the monitor
- π Streaming Content - Real-time LLM response display as it arrives
- π¨ Smart Auto-Hide - Intelligent visibility based on execution state
- π Document Lifecycle Steps - New
SAVE_DOCUMENTandCLOSE_DOCUMENTsteps with cross-platform support in Swing and Prime - β‘ Event-Driven Actions - New internal event system with action subscriptions and
EMIT_EVENT/DISPATCH_EVENTfor trigger-based automation - π€ Agent Skills - Load reusable skill instructions from the server into AI completion steps
- π οΈ Built-in AI Tools - Ready-made tools for document access, user interaction, and metadata; no custom function definitions required
- π MCP Integration - Call MCP server tools directly from flows with
HUB_MCP_TOOLSandHUB_MCP_INVOKEsteps - ποΈ Block Drop Integration - Trigger actions automatically when blocks are dropped in the Swing editor (
onBlockDrop) - π§© New Control & Utility Steps -
PLATFORM,GET_ZONES,GET_PURE_TEXT,TAG_PURE_TEXT,CLEAR_TAGS - βοΈ Section-Level Configuration - Override
monitorand other settings at section level
What's New in 1.1.0 (latest)β
- π¨ Interactive Diff - Review and selectively accept/reject text changes with granular control
- β‘ Inline Steps - Improved UX with background processing for FORM, USER_SELECT, and SHOW_RESPONSE
- π§ Swing Integrations - Native Swing toolbar, object action, and context menu support
- π€ Enhanced Chat Completion - Tool calling and improved multimodal support
- π New Control Steps - BREAK, FOR, TRY, and PARALLEL for advanced workflow logic
- π΅ Audio Playback - New PLAY_AUDIO step with customizable player
- π Prompt Library - Reuse stored prompts from Swing Prompt Management UI
Major Features Since 1.0.0β
- Flow Monitor (1.2.0) - Real-time workflow visualization and control
- Agent Skills (1.2.0) - Reusable AI instruction sets loaded from the server
- Built-in AI Tools (1.2.0) - Ready-made tools for AI function calling
- MCP Integration (1.2.0) - Call MCP tools directly from flows or expose to AI
- Block Drop Integration (1.2.0) - Trigger flows on drag-and-drop in Swing editor
- Interactive Diff (1.1.0) - Granular change review and selection
- Swing Integration (1.1.0) - Native inline toolbar and action integration
- Schema Support (1.0.11) - Auto-completion and validation for YAML configs
- Form Enhancements (1.0.10) - Rich form components (HTML, Markdown, Diff)
- Progress Bars (1.0.8) - Visual feedback for long-running workflows
- Context Menus (1.0.7) - Text selection and one-click menus
- ProActions Hub - Centralized API key management for 40+ AI providers
- Multi-Language Support - English, Spanish, French, Italian, German
Version Historyβ
- 1.2.0 - March, 2026 - Flow Monitor, Agent Skills, Built-in AI Tools, MCP Integration, Block Drop
- 1.1.0 - October 24, 2025 - Interactive Diff, Swing Integration, Enhanced Workflows
- 1.0.12 - February 7, 2025 - Slash Menu, ElevenLabs, Prime 8
- 1.0.11 - April 28, 2025 - Schema Support, YouTube Integration
- 1.0.10 - February 27, 2025 - Form Enhancements, Spanish Language
- 1.0.9 - January 26, 2025 - DeepL Write Integration
- 1.0.8 - December 13, 2024 - Progress Bars, Dashboard Actions
- 1.0.7 - November 14, 2024 - Context Menus, External Config
- 1.0.6 - October 11, 2024 - Permissions, DEBUG Step
- 1.0.5 - September 3, 2024 - Enhanced Metadata Access
- 1.0.4 - August 15, 2024 - Performance Improvements
- 1.0.3 - August 14, 2024 - Stability AI Integration
Detailed Release Notesβ
1.2.0 - March 2026β
π Flow Monitor
A comprehensive monitoring system that provides real-time visualization and control of running ProActions workflows:
- Real-time Visualization: Monitor displays live progress, current step, and elapsed time for all running flows
- Progress Tracking: Multiple progress types supported:
- Percentage-based (0-100%)
- Step-based ("3 of 10 steps")
- Indeterminate (spinner for unknown duration)
- Cancellation Support: Users can cancel long-running flows with optional confirmation dialogs
- Interactive Feedback: Display prompts, confirmations, and actions directly in the monitor
- Streaming Content: Real-time display of LLM streaming responses as they arrive
- Smart Auto-Hide: Intelligent hiding based on execution state:
- Never hides on errors (user must acknowledge)
- Never hides with pending interactive prompts
- Never hides during streaming
- Respects user hover and manual close intent
- Customization: Full control over position, theme, visibility, and behavior
- Permissions: User/group/team-based access control
- Multi-App Support: Works seamlessly in both Swing and Prime applications
- Keyboard Shortcuts: Navigate flows and dismiss the monitor without leaving the keyboard
- Auto-Scroll: Automatically scrolls to the bottom of the monitor log as new messages arrive, with a dedicated scroll-to-bottom button
Configuration:
Global configuration:
AI_KIT:
MONITOR:
enabled: true # Enable monitor globally
position: bottom-right # Position on screen
theme: dark # Visual theme (dark/light)
autoHide: true # Auto-hide when flows complete
autoHideDelay: 3000 # Delay before hiding (ms)
maxVisible: 5 # Max concurrent executions shown
apps: # Which apps to show monitor in
- all # Options: swing, prime, all
showProgress: true # Show progress bars
showStepNames: true # Show current step name
showElapsedTime: true # Show elapsed time
enableCancellation: true # Allow cancelling flows
confirmCancellation: true # Confirm before cancelling
renderMarkdown: true # Render markdown in feedback
Action-level override:
- title: 'Long Running Task'
monitor:
enabled: true
showProgress: true
confirmCancellation: false
flow:
- step: HUB_COMPLETION
instruction: 'Generate comprehensive report...'
Section-level override:
AI_KIT:
SECTIONS:
- section: 'My Section'
monitor:
enabled: false # Disable monitor for all actions in this section
actions:
- title: 'Quick Action'
flow:
- step: SHOW_NOTIFICATION
message: 'Done'
Use Cases:
- Long-running workflows: Provide visibility into multi-step LLM operations
- Batch processing: Track progress through large datasets
- Interactive flows: Handle user prompts without interrupting execution
- Debugging: Understand workflow execution and identify bottlenecks
- User training: Demonstrate what ProActions is doing in real-time
See the Flow Monitor Guide for complete documentation.
β‘ Event-Driven Action Triggers
- Actions can subscribe to internal events using
eventsin action configuration. - New
EMIT_EVENT(DISPATCH_EVENT) step emits custom events for automation chains. - Trigger policies support
skip,queue, andparallelbehavior while an action is running. - Supported event sources:
aikit,system,custom.
See the Swing Integration Guide for full documentation on event-driven triggers.
π€ Agent Skills
Skills are reusable instruction sets stored on the server that can be dynamically loaded into AI completion steps at runtime. This separates prompt engineering from flow configuration and makes instruction sets reusable across multiple actions.
- Skills are stored as
SKILL.mdfiles in/SysConfig/ProActions/Skills/<skillName>/ - Reference documents (e.g., style guides, terminology lists) can be stored under
<skillName>/references/ - When loaded, skills are injected into the system prompt automatically
- A built-in
read_skill_referencetool is exposed to the AI so it can retrieve reference documents on demand - The base path for skills is configurable via
skillsBasePathinpro-actions-config.js
- step: HUB_COMPLETION
behavior: 'You are a writing assistant.'
instruction: 'Improve this article: {textContent}'
skills:
- editorial-style # Loads /SysConfig/ProActions/Skills/editorial-style/SKILL.md
- seo-guidelines # Loads /SysConfig/ProActions/Skills/seo-guidelines/SKILL.md
See the AI Integration Guide β Agent Skills for full documentation including loading modes, reference documents, and the base path configuration.
π οΈ Built-in AI Tools
ProActions now provides a library of pre-configured tools that can be enabled for AI function calling without writing custom function definitions. These tools give the LLM direct access to document content, metadata, and user interaction.
- Content tools:
getTextContent,getXmlContent,getTextAtXpath,replaceTextAtCursor,insertXmlAtCursor, and many more - Document info tools:
getDocumentId,getMetadata,getWorkflowStatus,getChannel, etc. - Container tools: For container (report/DWP) documents
- User interaction tools:
askSingleChoice,askMultipleChoice,askFreeformQuestion,askConfirmationβ pause the AI and prompt the user directly from the monitor - Tool aliases: Define virtual tools with preset arguments to simplify what the AI sees
- Alias templates: Share configuration across multiple aliases using
aliasTemplate/extend - Auto-discovery: Use
autoDiscoverTools: trueto let the model discover and activate available tools on demand
- step: HUB_COMPLETION
instruction: 'Classify the article and update its metadata'
builtinTools:
- ContentTools
- DocumentInfoTools
- alias: getHeadline
target: getTextAtXpath
args:
xpath: '/doc/story/headline'
See the Built-in AI Tools Reference for the complete tool catalog.
π MCP (Model Context Protocol) Integration
Connect to MCP servers via ProActions Hub and expose their tools to LLMs or invoke them directly from flows.
HUB_MCP_TOOLS: List all available tools from an MCP serverHUB_MCP_INVOKE: Directly invoke an MCP tool from a flow step (without an LLM)- Use
builtinToolswithmcp:entries to expose MCP tools to an AI completion step
# Invoke an MCP tool directly
- step: HUB_MCP_INVOKE
server: filesystem
tool: read_file
arguments:
path: '/documents/template.md'
# Expose MCP tools to an LLM
- step: HUB_COMPLETION
instruction: 'Read and summarize the template'
builtinTools:
- mcp: 'filesystem'
only: ['read_file']
See the AI Integration Guide for full documentation.
π Streaming LLM Responses
OpenAI completion steps now support streaming mode. Tokens from the LLM are displayed in the Flow Monitor in real time as they arrive, providing immediate feedback for long completions.
- Streaming works with both plain text and JSON (
response_format: 'json_object') responses - Tool call streaming is also supported
- Streaming is transparent β the final
flowContext.text/flowContext.objectoutput is identical to non-streaming mode - The monitor's auto-hide behaviour is respected during streaming (the monitor stays open until the response is complete)
ποΈ Block Drop Integration (Swing)
Trigger ProActions flows automatically when a block element is dropped in the Swing editor. This enables powerful automation for drag-and-drop scenarios such as cross-story copies, channel migrations, and version restores.
- title: 'Auto-translate Dropped Content'
hidden: true
swing:
onBlockDrop:
enable: true
runWhen:
isCrossStory: true
when: "options.sourceLanguage !== options.targetLanguage"
flow:
- step: DEEPL_TRANSLATE
instruction: '{{ flowContext._dropInfo.xmlContent | safe }}'
target_lang: '{{ flowContext._dropInfo.targetLanguage }}'
- step: REPLACE_XML
at: CURSOR_PARAGRAPH
Drop information is available via flowContext._dropInfo (blockType, xmlContent, textContent, sourceLanguage, targetLanguage, isCrossStory, etc.).
See the Swing Integration Guide for all configuration options.
π§© New Steps
-
PLATFORM: Route flow execution to platform-specific branches (swing,prime,standalone) with an optionaldefaultfallback. Enables writing portable flows that behave differently depending on where they run.- step: PLATFORM
swing:
- step: REPLACE_TEXT
at: CURSOR
prime:
- step: SHOW_RESPONSE
title: 'Result'
default:
- step: SHOW_NOTIFICATION
message: '{{ flowContext.text }}' -
GET_ZONES: Retrieve zone and linked document information from a DWP or Report. The result is stored inflowContext.objectas an array of zone descriptors. -
GET_PURE_TEXT: Extract plain text from the document with XML tags removed and optional character normalization. Useful when you need clean, AI-consumable text without markup. -
TAG_PURE_TEXT: Mark segments of text in the document with a virtual or real XML tag. Useful for highlighting AI-identified segments (e.g., claims for fact-checking, passages for review). -
CLEAR_TAGS: Remove all virtual tags that were previously added byTAG_PURE_TEXT.
βοΈ Step Improvements
-
SCRIPTINGβreturnAsoption: Treat the script body as an expression and assign the result directly to aflowContextvariable, without needing an explicitreturnstatement. Useful for concise one-liner scripts.- step: SCRIPTING
script: flowContext.items.filter(i => i.active).length
returnAs: activeCount -
SANITIZEβnormalizeCharacters: New option to normalize typographic characters (curly quotes, em dashes, etc.) to their ASCII equivalents during sanitization. -
SHOW_RESPONSEβ Markdown mode: Render the response as formatted Markdown in the modal dialog instead of plain text, enabling richer formatted output. -
FORMstep: TheFORMstep now has full schema support, documentation, and examples. All field types and form configuration options are validated.
π² Prime Integration Improvements
Significant improvements to the Prime adapter:
isPageContextsupport: Flows can now detect whether they are running in a page context within Prime, enabling page-aware logic.- Improved XML read/write operations and context detection across a broader set of Prime editor modes.
- Better compatibility with the Prime 8 command palette and resizable palette via
CHANGE_VIEW_SIZE.
β οΈ BREAKING CHANGE: Client adapter data APIs are now async
To remove blocking synchronous HTTP requests (Prime), the following client methods now need to be executed asynchronously:
getBasefolder(storyId, type)getUserData(name)setUserData(name, data)
If you use these methods in SCRIPTING, migrate to async mode and await:
- step: SCRIPTING
mode: async
script: |
const prompts = await client.getUserData('prompts');
prompts.push({ id: 'new', text: 'example' });
await client.setUserData('prompts', prompts);
flowContext.baseFolder = await client.getBasefolder(client.getDocumentId(), 'image');
return flowContext;
1.1.0 - October 24 2025β
π¨ Interactive Diff Component
A powerful new form component that allows users to review and selectively accept or reject text changes:
- Interactive Mode: Click checkboxes and toggles to include/exclude specific changes
- Additions: Include or exclude new content
- Deletions: Apply or keep original text
- Replacements: Choose between previous or new text
- Toolbar Controls:
-
- Zoom in/out for better readability
- Accept All / Reject All buttons for bulk operations
- Customizable button symbols and positioning
- Real-time Updates: Result text recalculates as selections change
Example usage:
- step: FORM
form:
diffField:
type: 'diff'
mode: 'words'
prevText: '{{ flowContext.original }}'
text: '{{ flowContext.improved }}'
interactive: true
showDeletions: true
diffControls:
position: 'top'
zoom: true
acceptRejectAll: true
Perfect for AI text improvement workflows, translation review, and grammar correction tools.
β‘ Inline Steps Feature
Improved user experience for UI steps with background processing:
- FORM, USER_SELECT, and SHOW_RESPONSE now support
inlineSteps - Modal displays immediately with loading indicator
- Background steps execute while modal is visible
- Results seamlessly populate the UI when processing completes
- Customizable loading messages via
loadingTextconfiguration - Error handling displays errors in-place within the modal
Example usage:
- step: USER_SELECT
inlineSteps:
- step: HUB_COMPLETION
instruction: 'Generate 6 creative headlines for: {textContent}'
response_format: 'list'
promptText: 'Select a headline'
enableKeyboardControl: true
This eliminates perceived wait time for long-running LLM calls and provides immediate user feedback.
π§ Swing Integration System
Native integration with Swing Web Client UI components:
-
inlineMenu: Add buttons to the inline editor toolbar
- Appears when editing content in report, story, or DWP contexts and selecting text.
- Supports conditional visibility and enablement via expressions
- Configuration:
label,icon,allowReadOnly,isEnabled,isActive
-
objectAction: Add actions to the object three dots menu (e.g. in search results or preview)
- Works across a lot of contexts
-
contextMenu: Add items to right-click context menus
- Appears in Explorer and other contexts
- Same configuration options as objectAction
Example configuration:
- title: 'Shorten Selection'
swing:
inlineMenu:
enable: true
icon: 'fa fa-compress'
label: 'Shorten'
allowReadOnly: false
isEnabled: "{{ ctx.activeDocument.getSelection().getNode().elementName == 'p' }}"
flow:
- step: HUB_COMPLETION
instruction: 'Shorten this text: {selectedText}'
- step: REPLACE_TEXT
at: CURSOR
β οΈ BREAKING CHANGE: New Deployment Structure
ProActions now uses a single unified bundle for deployment. The old multi-file structure is no longer supported:
Old Structure (v1.0.x):
~/methode-servlets/conf/swing/com.eidosmedia.swing.web-app/app/plugins/
βββ pro-actions-core/
β βββ pro-actions-bundle.js
β βββ pro-actions-command.js
β βββ pro-actions-config.js
βββ pro-actions-ext-ai-kit/
βββ proactions-ai-kit.js
New Structure (v1.1.0+):
~/methode-servlets/conf/swing/com.eidosmedia.swing.web-app/app/plugins/
βββ pro-actions/
βββ pro-actions-{version}.js (single bundle file)
βββ pro-actions-config.js (configuration file)
Migration Steps:
-
Backup configuration:
- Save a copy of
plugins/pro-actions-core/pro-actions-config.js
- Save a copy of
-
Remove old files:
- Delete
plugins/pro-actions-core/directory - Delete
plugins/pro-actions-ext-ai-kit/directory
- Delete
-
Install new bundle:
- Create
plugins/pro-actions/directory - Copy
pro-actions-{version}.jsfrom the release package - Copy your backed-up
pro-actions-config.jstoplugins/pro-actions/
- Create
-
Verify configuration:
- Review
pro-actions-config.jsfor any path references (usually none needed) - Restart your Swing client to load the new bundle
- Review
Benefits:
- Simplified deployment with single bundle file
- Reduced complexity in installation process
- Easier version management and updates
- Consistent file structure across installations
β οΈ TEXT_MENU Deprecation
The TEXT_MENU component is now deprecated in favor of Swing's native inlineMenu integration:
- Using TEXT_MENU in recent Swing versions will show both the inline toolbar and TEXT_MENU
- The two components are not compatible and create a poor user experience
- Action Required: Migrate your TEXT_MENU configurations to use
swing.inlineMenu - TEXT_MENU will be removed in a future version
Migration example:
# OLD - Deprecated
TEXT_MENU:
story:
items:
- type: 'button'
icon: 'fa fa-icon'
title: 'My Action'
flowRef: 'My Action'
# ...
# NEW - Recommended
title: 'My Action'
swing:
inlineMenu:
enable: true
icon: 'fa fa-icon'
label: 'My Action'
π€ Enhanced Chat Completion Steps
Significant improvements to all chat completion steps (OPENAI_COMPLETION, HUB_COMPLETION, etc.):
-
Tool/Function Calling:
- Define custom functions that the LLM can invoke during conversation
- Functions can execute ProActions workflow steps, scripts, or templates
- Support for required and optional parameters
- Multi-turn conversations with tool results
- step: OPENAI_COMPLETION
instruction: 'Ask the user a question using the tool askUser'
functions:
- name: askUser
description: 'Ask the user a question'
required_params: ['question']
steps:
- step: USER_PROMPT
promptText: '{{ flowContext.question }}' -
Binary Input/Output Support:
- Audio input support for speech-capable models
- Audio output support with automatic playback
- Image input improvements with better multimodal handling
- Base64 and blob handling for all media types
-
Structured Outputs:
- Enhanced
response_formatwithjson_objectoption.
- Enhanced
-
Configuration Improvements:
- Support for conversation history via
messagesarray
- Support for conversation history via
π Prompt Library Integration
Reuse and centrally manage prompts:
- Reference stored prompts using
promptIdconfiguration - Prompts managed in Swing Prompt Management UI
- Supports both system and user prompts
- Variable resolution works within stored prompts
- Reduces duplication and improves governance
Example:
- step: OPENAI_COMPLETION
promptId: 'd112a306-8f7a-43bc-8f38-94161b6a91cd'
# All other configurations remain available
π New Control Flow Steps
Advanced workflow control capabilities:
-
BREAK: Exit loops conditionally
- step: WHILE
condition: '{{ flowContext.counter < 10 }}'
do:
- step: SET
counter: '{{ flowContext.counter + 1 }}'
- step: BREAK
condition: '{{ flowContext.counter == 5 }}' -
FOR: Numeric and array iteration
# Numeric iteration
- step: FOR
var: 'i'
start: 1
end: 5
do:
- step: SET
item: '{{ flowContext.i }}'
# Array iteration
- step: FOR
var: 'item'
items: '{{ flowContext.myList }}'
do:
- step: SET
current: '{{ flowContext.item }}' -
TRY: Error handling with catch blocks
- step: TRY
try:
- step: SET
value: '{{ riskyOperation }}'
catch:
- step: SET
error: '{{ flowContext.error }}'
fallbackValue: 'default' -
PARALLEL: Execute multiple step sequences concurrently
- step: PARALLEL
steps:
- # Branch 1
- step: HUB_COMPLETION
instruction: 'Generate headline'
- # Branch 2
- step: HUB_COMPLETION
instruction: 'Generate summary'
π΅ New Steps
-
PLAY_AUDIO: Display a customizable floating audio player
- Supports data URLs, HTTP URLs, and base64 audio
- Configurable theme (dark/light or custom colors)
- Position control (9 anchor positions)
- Progress bar, volume controls, and time display
- Autoplay support with browser compatibility fallbacks
- Draggable player with Shadow DOM isolation
- step: PLAY_AUDIO
in: '{{ flowContext.audioDataUrl }}'
autoplay: true
theme: 'dark'
position: 'bottom-right'
showProgress: true
showVolume: true -
BASE64_TO_BLOB: Convert base64 strings to blobs
- Essential for handling binary data in workflows
- Supports custom MIME types
- Integrates with other steps requiring blob inputs
π FORM Enhancements
-
formConfig: New configuration object for FORM step behavior
- Control modal sizing and appearance (width, height, dialogSize)
- Fullscreen mode support
- Typography customization (fonts, line heights)
- step: FORM
title: 'Large Review Form'
formConfig:
dialogSize: 'xl'
height: '80vh'
diffFontSize: '14px'
form:
reviewField:
type: 'diff'
mode: 'words'
prevText: '{{ flowContext.original }}'
text: '{{ flowContext.improved }}'See Forms and Inputs Guide for complete formConfig options.
-
Textarea Resize: Enhanced textarea component
rowsconfiguration for initial heightresizeoption:none,vertical,horizontal,both- Better control over form layout
- step: FORM
form:
notes:
type: 'textarea'
rows: 10
resize: 'vertical'
π― USER_SELECT Keyboard Control
-
enableKeyboardControl: Navigate selection lists with keyboard
- Arrow keys for navigation
- Enter to select
- Escape to cancel
- Improves accessibility and power-user workflows
- step: USER_SELECT
enableKeyboardControl: true
promptText: 'Choose an option'
π Admin Actions
-
admin flag: Mark actions as administrative
- Hidden from regular command palette
- Requires typing the full action name to access
- Useful for configuration reload, cache clearing, debugging tools
- Prevents accidental execution of sensitive operations
- title: 'Reload Configuration'
admin: true
flow:
- step: # Reload steps
β¨ Conditional Visibility with Templates
-
isAvailable now supports Nunjucks template expressions
- Use
{{ }}syntax for dynamic conditions
- title: 'Report Action'
isAvailable: "{{ ctx.activeObject.getInfo().type == 'EOM::CompoundStory' }}" - Use
Additional Improvements
- JSON schema updates for all new features
- New document lifecycle operations available in workflows and scripts:
SAVE_DOCUMENTstep supports optionalclosebehaviorCLOSE_DOCUMENTstep closes the current document- Scripting API now supports
client.saveDocument({ close: true })andclient.closeDocument()
1.0.12 - February 7, 2025β
π― Slash Menu
The new slash menu brings Notion-style command access to ProActions:
- Type
/anywhere in the editor to open the slash menu - Configuration consistent with TEXT_MENU and ONECLICK_MENU
- Provides quick access to actions without keyboard shortcuts
New Steps
- END_IF - Conditionally terminate flow execution
- SANITIZE - Validate and repair XML content
- Essential for AI-generated XML where validity is uncertain
- Can automatically fix common XML issues
- ELEVENLABS_TTS - ElevenLabs Text-to-Speech integration
- ELEVENLABS_STT - ElevenLabs Speech-to-Text integration
Enhanced Features
-
HUB_YOUTUBE_UPLOAD
- Now supports uploading video thumbnails
- Improved video upload workflow
-
MΓ©thode XML to Markdown
- New
client.xmlToMarkdown(xml)function - Simplifies content export and preview
- New
Prime 8 Integration
- Full integration with Prime 8 Command Palette framework
- Specialized visualization for Prime 8
- CHANGE_VIEW_SIZE step to control palette sizing
ProActions Financial Services
New client functions for financial services integration:
client.getContainerTextContent()- Fetch full report text in Swing and Primeclient.getContainerXmlContents()- Retrieve XML and LOIDs for all report sections- Enhanced
client.getTextContent()- Returns selected section text - Enhanced
client.getXmlContent()- Returns selected section XML
Improvements
client.isReadonly()now checks if active user holds the lock on the active object
1.0.11 - April 28, 2025β
π Schema Support
Created and registered ProActions AI-Kit schema for enhanced development:
- Auto-completion for configuration files
- Real-time validation
- Inline documentation
- Registered at schemastore.org
- Reduces configuration errors significantly
Configuration Enhancements
Actions and Sections:
appattribute - Specify if action/section is for "swing" or "prime"categoryattribute - Set sub-category for better organization in Prime PanelhiddenInPanelattribute - Hide specific actions in Prime PanelsectionIconattribute - Custom icon for sections in Prime PanelpanelContextattribute - Specify context actions for selected elements
YouTube Integration
New steps for YouTube video management:
- HUB_YOUTUBE_AUTH_INIT - Initialize OAuth 2.0 authentication
- HUB_YOUTUBE_AUTH_STATUS - Check authentication status
- HUB_YOUTUBE_AUTH_LOGOUT - Logout authenticated accounts
- HUB_YOUTUBE_UPLOAD - Upload videos to YouTube
User Data Persistence
New client functions for user profile data:
getUserData()- Retrieve stored user datasetUserData()- Save user-specific data for future sessions
Development Support
- Training Mode - Load configs from local development server
- Enable with
trainingModeconfiguration - Use with proactions-dev
Prime Enhancements
- Improved XML management with
getXmlAtXpathandreplaceXmlAtXpath - Better XML insert location support
- Improved read-only state detection using
IsModifyable()
Step Improvements
- CLIPBOARD - Browser compatibility fallbacks
- FORM
- Key-value pairs for select options and radio items
- New form components: datetime, color, range
- REST -
formDataattribute for multipart form data
Branding
- Product name changed to "Eidosmedia ProActions" (formerly "Swing ProActions")
1.0.10 - February 27, 2025β
π Enhanced Forms
New FormComponents for richer user interfaces:
- headline - Section headers in forms
- html - Rich HTML content display
- markdown - Markdown rendering in forms
- diff - Side-by-side text comparison
- hr - Horizontal rules for visual separation
- Custom buttons - Define multiple action buttons
New Steps
- MARKDOWN_TO_HTML - Transform Markdown to HTML format
Enhanced Steps
-
USER_SELECT
infoTitleattribute for additional contextinfoTextattribute for descriptive information above list
-
SCRIPTING
- Now supports asynchronous JavaScript execution
- Greater workflow flexibility
-
SHOW_RESPONSE
- HTML response rendering support
Language Support
- β¨ Spanish Translation - ProActions now available in Spanish
- Supported languages: English, Spanish, French, Italian, German
Context Handling
- Multiple contexts support in sections and actions
- Improved fallback mechanisms for Swing 5.2022.10
- Context support added for Prime
- Better context detection across platforms
Editor Protection
- Steps that modify content now check for read-only mode:
- INSERT_TEXT, INSERT_XML
- REPLACE_TEXT, REPLACE_XML
- INSERT_LIST
Text and Oneclick Menu
forElementconfiguration now supports "DummyText"
Maintenance
- Updated all dependencies to latest versions
1.0.9 - January 26, 2025β
DeepL Write Integration
- New Step: DEEPL_WRITE - Send text for improvement to DeepL
- Enables text refinement and optimization
- Note: DeepL Write API does not support XML format text
INSERT_XML and INSERT_LIST Enhancements
New position parameter for flexible insertion:
insertInline(default) - Insert at cursor positioninsertBefore- Insert before cursor contextinsertAfter- Insert after cursor context- Effective in Swing when
atis set to"CURSOR"
1.0.8 - December 13, 2024β
π Progress Bar Element
Visual feedback for long-running workflows:
- SHOW_PROGRESS - Display progress bar
- UPDATE_PROGRESS - Update progress state
- HIDE_PROGRESS - Hide progress bar
- Auto-hides on workflow completion or error
Dashboard Actions
- AI-Kit now supports dashboard actions
- New context configuration for actions and sections
- Ensures actions only visible in relevant contexts
- β οΈ Action Required: Add
context:config for context-specific actions
Translation Management
- Translations now built into solution
- β οΈ Action Required: Remove standalone locale files
One-Click Menu Enhancement
- New
forTagsconfiguration option - Define menu appearance based on parent tags
Content Filtering
- Optional parameters for
client.getTextContentandclient.getXmlContent GetTextContentOptions- Filter returned contentGetXmlContentOptions- Filter returned XML- Example: Exclude specific tags from content
Minor Updates
- Hide sections - Hide all actions within a section
- Azure OpenAI - Updated IMAGE_GENERATION API version to
2024-10-01-preview - client.getContext() - New function to identify user's current context
1.0.7 - November 14, 2024β
π¨ Context-Based Menus
Two new highly configurable menus:
Text Selection Menu:
- Appears when text is selected
- Quick access to text-specific actions
- Fully customizable per context
- Permission-based visibility
One-Click Menu:
- Appears on left side of content items
- Activated when cursor is placed inside content
- Context-sensitive actions
- Per-action permissions
External Configuration Management
- !include directive - Include external SysConfig files
- Modular configuration management
- Better organization and maintainability
- Example:
!include /SysConfig/ProActions/services.yaml
New Steps
- CLEAR_SELECTION - Clear text selection without replacement
- Useful before INSERT_TEXT or INSERT_XML steps
Stability AI Enhancement
- SEARCH_AND_RECOLOR - Identify and recolor image components
- Uses Stability AI's recoloring model
LLM Response Format
- response_format option for OpenAI ChatGPT and Google Gemini
- Enforce JSON response structure
- Custom schema support
- Alias
listfor JSON list enforcement
Step Improvements
- DOWNLOAD - Now supports downloading blobs
- INSERT_LIST / TO_LIST - Improved list parsing logic
- Removes double newlines
- Cleaner list generation
1.0.6 - October 11, 2024β
π€ Speech Services
- New Text-to-Speech (TTS) models from OpenAI and Azure OpenAI
- High-quality voice synthesis
- Multiple voice options
Document Metadata
- New placeholders for document name and issue date
- Enhanced client functions for metadata access
π Permissions System
Configure access control for sections and actions:
forUsers- User-level permissionsforGroups- Group-level permissionsforTeams- Team-level permissions
New Steps
- DEBUG - Write flowContext to developer console
- Creates breakpoint for debugging
- Essential for workflow troubleshooting
Templating Engine
- Integrated Mozilla's Nunjucks templating engine
- Enhanced string handling
- Powerful placeholder system
Step Enhancements
-
IF, WHILE, SWITCH - New
conditionattribute- Supports string placeholders with Nunjucks
- More flexible conditional logic
-
SET, SWITCH - Simplified syntax
- Replaced name/expression attributes with key-value pairs
- Cleaner configuration
User Experience
- Instant Actions - Execute on ProActions icon click
- Improved workflow initiation
Technical Updates
- Removed deprecated DOMSubtreeModified MutationEvent
- Better cursor location monitoring
1.0.5 - September 3, 2024β
New Steps
- DOWNLOAD_TEXT - Download text content from flow
- WRITE_CLIPBOARD - Write to user clipboard
FILE_UPLOAD Enhancement
- New output types:
textandarrayBuffer - More flexible file handling
Dynamic Placeholders
reportId- Report identifierreportLoid- Report LOIDreportUuid- Report UUID
API Enhancements
- Access Metadata, System Metadata, Usage Tickets, Virtual Attributes
- Support for both story and report (container) contexts
1.0.4 - August 15, 2024β
Performance Improvements
- Faster placeholder resolution
- Asynchronous configuration loading
- Improved overall responsiveness
1.0.3 - August 14, 2024β
π¨ Stability AI Integration
New steps for image processing:
- STABILITY_AI_UPSCALE - Enhance image resolution
- STABILITY_AI_OUTPAINT - Extend image boundaries
- STABILITY_AI_SEARCH_AND_REPLACE - Find and replace in images
Placeholder Improvements
- Option to omit text when variable cannot be resolved
- More graceful handling of missing variables
Flow Control
- Continue flow even when
thenorelseblock is missing - More resilient conditional execution
INSERT_LIST Enhancement
- Add entries to existing lists
- More flexible list management
REST Step Enhancement
- Store response object in variable
requestOptionsconfiguration- More control over REST calls
API Functions
getSiteConfigString()- Read from siteConfiguration- Better integration with MΓ©thode configuration
New Placeholders
uuid- Document UUIDloid- Document LOIDappName- Application name (swing/prime)
Migration Notesβ
Upgrading to 1.1.0β
β οΈ TEXT_MENU Deprecation (Action Required)
- Migrate all TEXT_MENU configurations to use
swing.inlineMenu - Using TEXT_MENU in recent Swing versions causes UI conflicts
- TEXT_MENU will be removed in a future version
Migration steps:
- Identify all actions using TEXT_MENU configuration
- Replace with
swing.inlineMenuconfiguration - Test in your Swing environment
- Remove TEXT_MENU sections from configuration
New Features
- All new features are opt-in and backward compatible
- Interactive diff available in FORM step with
type: 'diff' - Inline steps can be added to existing FORM, USER_SELECT, and SHOW_RESPONSE steps
- Swing integrations work alongside existing action definitions
- New control flow steps (BREAK, FOR, TRY, PARALLEL) available immediately
Recommended Actions
- Consider using
inlineStepsfor actions with LLM calls to improve UX - Explore interactive diff for text improvement workflows
- Review admin actions and add
admin: trueflag where appropriate - Update
isAvailableconditions to use Nunjucks templates for better readability
Upgrading to 1.0.12β
- No breaking changes
- New features are opt-in
- Consider enabling Slash Menu for improved UX
Upgrading to 1.0.11β
- Schema support requires VS Code YAML extension update
Upgrading to 1.0.8β
- Remove standalone ProActions locale files (now built-in)
- Add
context:configuration to context-specific actions
Getting Helpβ
- Documentation: See Getting Started Guide
- Issues: Check existing issues or report new ones
- Community: Join ProActions Developer Community
- Support: Contact Eidosmedia support team