Skip to content

Latest commit

 

History

History
1762 lines (1318 loc) · 173 KB

File metadata and controls

1762 lines (1318 loc) · 173 KB

xyOps Changelog

Version v1.0.77

July 2, 2026

  • 744c1389: Version 1.0.77
  • cf115e81: Feature: Allow xySat monitoring to be disabled for some or all servers.
  • a906e493: UI Tweak: On alert detail page, show job event (not job server) in job table.
  • 226e2e7e: UI Tweak: Improve active jobs table display re: job elapsed and remaining time.
  • 13d1f0e6: Feature: Add "Batch Size" to the workflow split controller, to send multiple items to each job.
  • 28dbba1c: Feature: Improve UX around Marketplace Plugins
  • c51ae97d: Feature: Marketplace Plugins: Show banner to setup secret vault for installed plugins that need one.
  • 7c5ac6f7: Feature: Allow users to edit marketplace plugins locally (after displaying a warning).
  • 05f6d131: UI Tweak: Fix button colors on event detail screen.
  • ca17bd31: UI Tweak: Allow ics / ical files as uploads into code editor.
  • c51168b3: Feature: Allow file drag-drop onto secret variable editor.

Version v1.0.76

June 28, 2026

  • 3ce7fb46: Version 1.0.76
  • 56dbd3a4: Feature: Dynamically fire an action on-demand during a job: Instant Job Actions
  • 84c2fef9: Icons: Add xyOps logo icon into the MDI icon set. Fixes #278.
  • 414b70c4: CSS: Improve progress bars in table rows with category colors, so they blend together better.
  • 9901c8a1: Bug Fix: Custom email action with a custom body should not need to include To/Subject macros. Fixes #349
  • 0266ebee: Security: Improve user field sanitization on settings update.
  • 5e6ac1dd: Bug Fix: Do not check marketplace versions on login unless user is admin. Fixes #348.
  • e0df7306: Security: Encode a few more user values before rendering into HTML.
  • c11e4417: Bug Fix: Tighten action controls so only official event fields may be specified.
  • d99a7f14: Bug Fix: Satellite config port was set to webserver port during bootstrap. Fixes #345.
  • 7f96ae47: Feature: Add full sort options to draggable sort tables (Categories, Groups, Monitors). Fixes #346
  • 74fd36a5: UI Tweak: Change Category / Group / Monitor / Param drag sort icon, to make its purpose a bit clearer.
  • 9bcc96b5: Docs: Add new Trust document.

Version v1.0.75

June 25, 2026

  • ced3c94f: Version 1.0.75
  • 29585b88: Feature: Add table searching and sorting to secrets, and add new variable names column.
  • a2993821: Feature: Add configurable defaults for new tickets
  • 51d1b404: UI: Improve "Abort Job" dialogs to include more job details (event name, state).
  • 2a8ea194: UI: Alphabetically sort actions and limits menus, and tweak limit dialog.
  • f74f7fe8: UI: Workflows: Fix Wait controller label, to include more precision.
  • ec8213b8: UI: Add dialog descriptions to the "Test Event" and "Test Workflow" dialogs.
  • 0e043a67: Feature: Allow user to skip over job retry or start delay, by clicking the state label. Fixes #343.
  • f29b1a63: Feature: Add optional "Start Delay" to the Run Event action. Fixes #344.

Version v1.0.74

June 23, 2026

  • 97ff6f7c: Version 1.0.74
  • 54ff7ac7: Docs: Update docs for new workflow replay feature.
  • a347eacd: Docs: Update docs for new workflow suspend/resume jump to node feature.
  • bfa862a5: Feature: Workflows: Add "Replay" feature to freeze a node to simulate a previous job.
  • 106ebea0: CSS Tweak: Remove cyan color from inherited limits / actions
  • 4022a714: Feature: Workflow Suspend/Resume: Allow user to select a target node to jump to after resume.
  • c7e82892: Meta: Release Script: Add protection against accidental release with local git changes.
  • 9b9931f2: Feature: Upgrade System: Automatically filter out prereleases.
  • 0f2fc549: Dependency: Remove "clean-css", as it is no longer maintained.

Version v1.0.73

June 22, 2026

  • b40d2de9: Version 1.0.73
  • 78ec5358: Emergency CSS Fix: Our CSS minifier does not support nesting.

Version v1.0.72

June 22, 2026

  • 1872bb3f: Version 1.0.72
    • Bump pixl-server-storage to v4.2.2 for new deleteAll and Postgres plugin APIs.
    • Bump pixl-xyapp to v2.1.37 for new color variants.
  • cd37f247: CSS: Further adjustments to some category colors in light mode to increase contrast.
  • 27fc506f: Accessibility: Change category color text in color accessibility and high contrast modes.
  • 5573760b: Docs: Plugins: Add sample Event Plugin source code.
  • d61b39ec: Feature: Limit the maximum number of sub-jobs per workflow run to 1000 (configurable).
  • d279bd44: Feature: Delete Job: Add robustness, and auto-delete all workflow sub-jobs when parent is deleted.
  • 446737a2: NPM: add new allowScripts property, for upcoming NPM v12 restrictions.
  • 0915e2a5: Feature: Deleting jobs now deletes input files as well as output files (unless they are linked to buckets or tickets).
  • d02c9e73: UI Tweak: Improve job file table to show magic link and user inputs.
  • 9cf94b29: UI Tweak: Fix default event icons in drop-down menus, and add category colors there as well.
  • cd3d065e: UI Bug Fix: Category color may get stuck in search menus.

Version v1.0.71

June 21, 2026

  • 36566e6a: Version 1.0.71
    • Bump pixl-xyapp to v2.1.36 for color system improvements.
  • 540d419d: Feature: Further improvements to category color system.
  • a22215f8: UI Tweak: Event view page header: Clicking outer nav breadcrumbs now honors sidebar selection.
  • 8fdb4ce8: Feature: Event author (owner) is now editable.
  • a3902fa3: UI Tweak: Make suspended jobs more visible by changing icon.
  • d422ef75: UI Tweak: Add named groups to category color sets.
  • e740ccbb: Feature: Accept gzip-compressed JSON files when dropped on xyOps, and from "Import File...".
  • e85ee7bd: Feature: Add "Test" button to notification channel editor.
  • b599ddd1: Feature: Add many more custom colors to categories. Fixes #309
  • 267dd74c: Docs: Storage: Add section on Postgres SSL
  • fb5abdbb: Feature: Make applicable action descriptions clickable on event detail page. Fixes #331
  • 0df49000: Tighten validation for reserved job overrides

Version v1.0.70

June 18, 2026

  • 8a02cb91: Version 1.0.70
  • e72934c2: Docs: Hosting: Add section on migrating to a new server.
  • bd645fb8: Feature: Improve performance of data sync between conductor peers.
  • 7baa3847: Bug Fix: Crasher when email format is set to plain text.
  • ce683512: UI Tweak: Fix workflow rendering quirks at 0.25x zoom, especially with Safari
  • 5e0a53c7: Feature: Log Viewer: Save current settings inside sidebar tab link (active session only).
  • a6d2619c: Feature: Job Details Page: Add "D" keyboard shortcut to download raw job JSON data.
  • 5e15625c: Feature: Job Details Page: Add "V" keyboard shortcut to view and copy raw job JSON data.
  • 92197a60: Feature: Job Details Page: Add download button to job metadata log (CSV format for now).
  • 94c6d0a6: Event API: Add checks to ensure workflow nodes and connections are not duplicated (via external tools).
  • 0cac576c: Docs: Config: Remove experimental "network transactions" checkbox (replaced by engine native transactions)
  • c01ae217: Setup: Shell Plugin: Remove legacy pass checkbox (superseded by the workflowData system).
  • 794ace74: Docs: Plugins: Add section for new "Fire Web Hook" built-in plugin.
  • 89bdb9a9: Config: Add default example Redis storage configuration.
  • 97489916: Docs: Storage: Corrected some typos in the sample JSON configurations.
  • 17da3308: Docs: Hosting: Add upgrade_timeout_sec prop in satellite configuration.

Version v1.0.69

June 15, 2026

  • f0ea4b2a: Version 1.0.69
    • Bump pixl-mail to v1.1.8 for upstream vuln fixes in nodemailer.
    • Bump pixl-request to v2.6.7 for upstream vuln fixes in form-data and basic-ftp.
    • Bump ws to v7.5.11 for vuln fix.
  • fe5ffba1: Docs: Update several docs regarding new native engine transactions, and new recommended storage configurations.
  • e572375d: Feature: Pressing the Tab key in textarea (text box) params now actually types a tab character.
  • e41a9ffb: Feature: Allow system menu params to be marked as "required".
  • b72ac5c8: Setup: Add new "Fire Web Hook" built-in Plugin.
  • c2a95807: API: Add new fire_job_web_hook API
  • cb0df45a: UI Tweak: Fix spacing in code blocks inside user job markdown HTML content
  • d637ea37: Feature: System DB Optimization now supports multiple engines (namely Postgres).
  • a44f6b55: Bump sanitize-html to v2.17.5 for vuln fix.
  • 3a8a326f: Bump pixl-request to v2.6.6 for fixes to download handling and possible stream handle leaks on error.
  • 89e520db: Bump pixl-server-storage to v4.2.1 for new native engine transaction support in Postgres, Redis, and SQLite.

Version v1.0.68

June 12, 2026

  • c2308671: Version 1.0.68
  • 84e3268e: Bug Fix: File search results were using the wrong responsive CSS classes. Fixes #319.
  • 6b93b826: Bug Fix: If an adminstrator is assigned a role that includes category or group restrictions, those should NOT apply.
  • a8da68b5: Feature: Trigger Plugins are now passed all active jobs in an array, to use in making launch decisions.
  • 59ee6f08: Feature: Improve trigger plugin error handling, and include full raw output in activity log report.
  • e78b8680: UI Tweak: Change "New Server" to "Add Server" in the sidebar.
  • 9daac9d6: Feature: On the category list page, the "Event" count columns are now clickable, and nav directly to the event list w/ the selected category.
  • b8896f7a: Feature: Pass a localhost base URL property and env var to all action and trigger plugins, so they can make API calls.
  • 9ddcef34: Docs: Plugins: Fix typo in link.
  • 98d9289a: Docs: Hosting: Add blurb in air-gapped section about client.outdated_badges setting, which must be disabled in air-gapped mode.

Version v1.0.67

June 10, 2026

  • 6a41a1d2: Version 1.0.67
  • 858ea8a5: Bug Fix: Critical crasher bug in Plugin API and Event API in toolset validation. Regression from v1.0.64.

Version v1.0.66

June 10, 2026

  • c64b9cc3: Version 1.0.66
  • 8a75f414: Dep: Bump pixl-xyapp to v2.1.33 for configurable client API timeout, and auto-hide timeout errors after 8 seconds.
  • f938589c: API Tweak: Force no-cache on admin_stats API.
  • dcfa1be0: Cleanup: Remove unused client.events_per_page config property (legacy).
  • be7a3952: Feature: Add support for configurable client API timeout (default 10 seconds).
  • 3ba1a810: Bug Fix: Change default job search sort to start date (primary key), for performance.

Version v1.0.65

June 9, 2026

  • 553d9a9a: Version 1.0.65
  • adaf3819: Configuration: Disable pixl-server-web's recent_requests (unused) to reduce load.
  • f343e05f: Bug Fix: Ensure an active queue limit is always accompanied by a max concurrent jobs limit.
  • 654f733f: Bug Fix: Improve behavior of job/workflow detail page with large amounts of queued sub-jobs.
  • d8a93115: Bug Fix: Some web took templates (e.g. telegram) were failing to save due to malformed URLs. Fixes #317.
  • 345652ad: Bug Fix: The marketplace API crashes when air-gapped instead of returning an error.

Version v1.0.64

June 8, 2026

  • cbe44b52: Version 1.0.64
  • 1f3438ea: UI Tweak: Reorder / rename controls in the workflow "Job Node" dialog to better match the event editor.
  • 68181462: Bug Fix: Further improvements to event parameter / field handling and validation in the API, to prevent misuse.
  • dd6d358d: Feature: Add XYEXP event() helper function to resolve an Event or Job ID to the event title. Fixes #314
  • e0d493a8: Docs: Recipes: Add recipe for a web service health alert.
  • 7a8e0acf: Bug Fix: Improve JEXL match() utility function to better handle non-string values.
  • e915dfef: Bug Fix: Alert search and view pages were not automatically updating when alerts changed state.
  • 98ff7ee0: Docs: Update plugin parameters in HTTP Request, Test and Docker Plugins. Add param IDs and missing params.
  • 888ae37e: Bug Fix: Improve sparse event update handling in the update_event API.

Version v1.0.63

June 5, 2026

  • abc095d6: Version 1.0.63
  • ba7510f6: Plugins Doc: Add more details around plugin parameters, and show the underlying JSON structures.
  • de7e9053: Feature: Allow toolsets to be used in event user fields.
  • e6aa0b67: UI Tweak: Add hover tooltips for server titles (in case they are cut off)
  • fd781088: Bug FIx: User settings change needs to sync to all other connected users (in case name or icon changed)
  • e5c8e1aa: Bug Fix: Perform macro substitution on job params in a specific key order, to prevent issues with logically using param values inside a macro code block, inside a shell script. Fixes #312.
  • 77ff93a6: Bug Fix: Prevent infinite loop with param macros that expand to their own values.
  • d1e1d1d5: Several key improvements and bug fixes to the ticketing system...
  • af638787: UI Tweak: Convert email box margins and padding to be responsive, based on viewport width.
  • 6785db16: UI Tweak: Sort users alphabetically by full name (locale-aware).

Version v1.0.62

June 1, 2026

  • f2e2b6bb: Version 1.0.62
    • Bump pixl-xyapp to v2.1.32 for bug fix in menu handling with true/value string values.
  • d779682e: Bug Fix: Test Action Plugin was failing to select the main server group.
  • 22595b8d: UI Bug Fix: Some icons in system menus were not displaying properly.
  • aec7ce4a: Bug Fix: Add missing system menu item into Plugin Param editor.
  • 1ebef7f5: Marketplace UI: Show actual version number in "Latest Version" menu item, to match system tab behavior.
  • 7bea480f: UI: Tweak wording for suspend action job trigger menu, and some minor event / workflow wording / icons.
  • 290c09fd: Bug Fix: Cannot rollback events (regression from v0.9.63). Fixes #306.

Version v1.0.61

May 27, 2026

  • b3964a1c: Version 1.0.61
    • Bump pixl-xyapp to v2.1.31 for CSS and nav system fixes.
  • 404d5e67: CSS Tweaks: Fix various issues with links truncating on mobile screens.
  • 09295723: CSS UI: Fix privacy blur issue on safari
  • b1b63111: Feature: Add unsaved navigation protection (confirmation dialog) to all major pages.
  • ac34e418: Feature: Config Editor UI: Support newly introduced config properties, even if they don't exist in old config files.
  • f639ac68: Feature: Show outdated badges in sidebar for conductors, servers, and marketplace plugins. Fixes #305.
  • cff69216: Feature: Marketplace: Optional search by installed / not installed.
  • da75b079: Feature: Cache xyOps/xySat release metadata locally, and add enable_version_checks config settings.
  • d970efc0: Feature: Unsaved change detection and nav confirmation in event and workflow editors.
  • 0e6a688f: Feature: Add floating button palette on workflow editor.
  • 92cd4e79: Feature: Workflow decision controller can optionally abort the entire workflow on false eval.
  • 8e539232: Workflows: Active join controllers need to detect an idle workflow state and deactivate themselves.
  • 5392c975: UI Tweak: Sort workflow controller type menu by title.

Version v1.0.60

May 25, 2026

  • 11ff41a9: Version 1.0.60
    • Bump pixl-xyapp to v2.1.30 for CSS tweaks and a scrolling dialog popover fix in Safari.
  • 7ee46c5b: Bug Fix: When rerunning a job, inherited actions and limits accumulate in the new job.
  • 6aa2b5ee: Feature: Number fields can now define a min/max range, and a step increment.
  • e97f35fb: Feature: Improve param group separators, add optional captions, and play nicer with toolsets.
  • 66c72e3b: Bug Fix: Login: Initial admin password reset form missing a keyboard handler on the current password field.
  • 9856af46: Plugins Doc: Add section on legacy shell plugin "data passthrough" feature. Fixes #303.

Version v1.0.59

May 23, 2026

  • 0a41a7ce: Version 1.0.59
    • Bump pixl-xyapp to v2.1.29 for regression bug fix with multi-menus not showing correct items selected. Fixes #304.

Version v1.0.58

May 22, 2026

  • 2a9e2be7: Version 1.0.58
  • ccacf56a: Feature: Custom regular expression validation for text / textarea / code plugin and event params. Fixes #300.
  • 6751dde3: Hosting Doc: Renamed some sections to fix issues with the TOC.
  • 1e7570d0: Bug Fix: When a browser reconnects after losing a WebSocket connection, push a full data update to resync. Ref #302
  • fb266b6e: Bug FIx: Another tweak for toolset number variant behavior.
  • 1e2e7503: CSS: Fix "color" input type, so it renders properly in safari.
  • e26e0bfe: Feature: Event and plugin params can now be grouped into custom named sections.
  • e4a24e99: Bug Fix: Allow toolset number variant text fields to have a null (unset) default value.
  • fc359a5d: Multi-Menu UI: Show "(Multi)" suffix in menu type descriptions.
  • d2314afc: System Menus: Add icon menu, and add monitors to algo menu.
  • 0be452ff: SSO Doc: Add note about minimum xyOps version, and reformat links to OIDC provider guides.

Version v1.0.57

May 18, 2026

  • 2285e4b3: Version 1.0.57
    • Bump pixl-xyapp to v2.1.28 for bug fix in menu handling. Fixes #299.
  • 3a0b46b0: Bug Fix: Workflows: If split item filter returns zero items, workflow job hangs.

Version v1.0.56

May 17, 2026

  • 613f2e2c: Version 1.0.56
  • 9ee387e4: Feature: Multi-select menus in plugin and event parameters.
  • 8ebe888b: Docs: Update SSO documentation with new OIDC Plugin, including header mapping and configuration details.
  • c789f8e9: SSO: Enhance custom command to include base_app_url and query parameters, and support redirection
  • 181cb7e3: Bug Fix: Search Page: Do not auto-refresh search results on jobsChanged event if user has performed a job FILE search.
  • 172fa793: Recipes Doc: Enhance server hooks documentation to include server_add notifications
  • 860392d5: Feature: Add job source types filer for suspension actions and update UI accordingly
  • 0efe89f4: xySat Windows Install/Upgrade Scripts: Improve error handling.

Version v1.0.55

May 15, 2026

  • da767a54: Version 1.0.55
  • ea727ab5: Feature: Allow special _xy_override_ prefixed event param IDs to override job props at runtime (i.e. targets, algo).
  • 2a1f7c07: Actions Doc: Remove note about suspend only working within workflows (it now works everywhere).
  • 51116eb6: Feature: New plugin/event param type: "System Menu", pre-populated with various xyOps internal system list items.
  • 72279f53: Recipes Doc: Add recipe for using system hooks to send notification for any server going offline.
  • aee647fd: Workflows Doc: Rewrite "Continue After Controllers" section to be much more clear.
  • cc612696: Bug Fix: Various UI issues with the new fancy searchable plugin/event param menus.
  • d9863fea: Bug Fix: Sidebar: Shortcuts and admin sections couldn not be user-hidden in some cases. Fixes #293.
  • 784f9aac: Feature: Workflow Split controllers now offer an optional "item filter" expression, to filter out specific items based on their properties, or array index, or other. Fixes #298.
  • 049beffb: Feature: Add JEXL macro function: match (regular expression match on a string property).
  • 0e70e730: Bug Fix: Workflows: On abort, make sure ALL controllers are deactivated, to prevent UI animation from running after completion.
  • 5cfe53b4: Bug Fix: Workflows: Ensure split controller is only ever wired to an event or job node (match behavior of all other job control nodes).
  • e7d6ddc2: Feature: Plugin and event param drop-down menus are now searchable.
  • 19072ec9: Feature: Allow suspend action to be attached to regular events (outside of workflows).
  • 6ddeb11d: SSO Doc: Add section on RAM requirements with Authentik.
  • b92adf34: SSO Doc: Add section on Authentik, and fix a number of errors.
  • a9d67ebe: README: Add community section with links to Reddit, Discord, and social media.

Version v1.0.54

May 8, 2026

  • c748f725: Version 1.0.54
  • f283f258: Events Doc: Added better explanation of parameter macro expansion. Fixes #291.
  • ec2a15ac: Workflow Split/Decision: Include current workflowData in eval context.
  • dbbbb053: Workflow Data: Copy workflowData object into top-level job data upon completion, so it is visible to the user.
  • 9ae046ba: UI Optimizations: Use page visibility system to prevent unnecessary API calls, and debounce expensive search API calls when jobs change.
  • 373ce992: Feature: When merging data and workflowData from sub-jobs, allow top-level arrays to concatenate instead of replace.
  • b99becd4: Job Data Optimization: Move workflowData and serverData into jobDetails immediiately, to prevent syncing to all clients.
  • 764986fc: Plugins Doc: Add new details on progressively updating job data, server data, and workflow data, and the new data push array syntax.
  • d2e0ffda: Doc Viewer: Properly sanitize backslashes in search results preview.
  • 2d195aab: Bug Fix: For new workflows, make sure to populate the sample plugin params, in case the user saves without editing it.
  • 86e99b76: Channels UI: Show list of dependants in the delete confirmation dialog.
  • 085a9569: Web Hooks UI: Show list of dependants in the delete confirmation dialog.
  • 8641f4e3: Plugin UI: Include alerts when showing plugin deps (on update / delete).
  • 46c74bb3: Bug Fix: Prevent crash if web hook is deleted and pre-existing event tries to run it.
  • 0e976d3a: UI Bug Fix: Sort web hooks alphabetically by title.
  • fb806e49: Web Hooks Doc: Add details about using job and workflow params inside the web hook.
  • f386e5ba: Colophon Doc: Update colophon to include ioredis and pg packages
  • 6ca2a125: Getting Started: Add new getting started guide for new users.

Version v1.0.53

May 6, 2026

  • cd538674: Version 1.0.53
  • e0a05cd2: Hosting and SSO Docs: Add Docker volume mount for the logs directory, so it can survive container upgrades.
  • 7642e3d6: Feature: Web Hook Templates for creating web hooks using many popular services.
  • cdbae8ec: Sample Config: Decrease default db_maint.jobs.max_rows to 100,000.
  • 958499ae: UI Document: Add new doc describing the user interface configuration settings.
  • 3aa2841d: Sortable Table UI: Fallback default sort settings to global client config, if user pref is not set.
  • 21b9357f: Event List UI: Change default table sort to be by category.
  • ab055dd1: Comparison Doc: Add feature comparisons to major players in the space.
  • 9d28e780: README: Add section on our YouTube videos.
  • 3d5848dc: Improve UX for underprivileged users: hide appropriate buttons, links, shortcuts, sidebar sections, etc.

Version v1.0.52

May 3, 2026

  • f4a8c231: Version 1.0.52
  • 7d064ea6: Feature: Visually indicate when xyOps and xySat are up to date, on the conductor and server pages, respectfully.
  • ecedffec: Feature: Add optional disable_version_checks flag in both satellite and multi configs.
  • 5fdbd7b9: Workflow UI: Show warning toast if selected event node is a sub-workflow that is missing a manual trigger node.
  • 77926474: Feature: Show inherited actions and limits in workflow nodes.

Version v1.0.51

April 30, 2026

  • dc5815d4: Version 1.0.51
    • Bump pixl-xyapp to v2.1.25 for bug fix in keybind assignment UI.
  • e0a546b8: Bug Fix: Local Satellite: Fix localhost hostname issue (must use hostID due to remote runners).
  • 9b6b39ba: Markdown Rendering: Fix styling for code spans inside blockquotes.
  • de2e8ee9: UI: Add caption note regarding "files" keyword for split controller.
  • bb60200a: Bug Fix: Workflow Split Controller: Evaluate expression using XYEXP (was using legacy getPath API).
  • 0e57018a: Marketplace Doc: Add section on inline source plugins and how to publish them.
  • ec6d0b76: Import File UI: When importing plugins, show syntax-highlighted script separately from JSON, when applicable.
  • 0bce1660: Marketplace: Add UI support for dependency-free plugins.
  • a88d1e45: Marketplace: Show a more user-friendly plugin source view when installing / upgrading plugins.
  • dfa2de44: Bug Fix: Apply event user field defaults to schedule triggers on every save. Fixes #283
  • 46d90de7: Scheduler State Menu: Prevent updating state and showing a notification if the selected menu item is re-selected.
  • ded6204d: Bug FIx: If admin priv is inherited from a role, editing own account or settings can "appear" to remove the admin priv in the UI. Fixes #282.

Version v1.0.50

April 27, 2026

  • 401ab942: Version 1.0.50
    • Bump pixl-config to v1.0.15 for improved startup IP sniffing logic.
  • b1812e5b: Job User Content: Improve macro expansion, include base_app_url in context object.
  • c50856bc: Servers Doc: Typo in automated docker workers sample docker compose YAML env vars. Fixes #281.
  • 1e855815: Bug fix: Ad-hoc plugin tests using incorrect property for Event ID.
  • 27fad370: Feature: If job user content (markdown, text or html) to contains placeholder macros, expand them.
  • a72b2d51: Feature: New workflowData object to share data between all nodes in a workflow.
  • e5c6d041: JEXL: Add server() helper function for resolving a server ID into a title (label or hostname).
  • 936594b8: Actions: Prevent crash if email action is missing a users array (both job and alert actions).
  • cee5d415: Workflows Doc: Add section on sharing data between nodes
  • 94fcca51: Servers Doc: Add link to serverData definition in section about user data.
  • 11afaf76: Plugins Doc: Add section on event plugin environment variables
  • 2139a7ea: Data Doc: Add section on Job.workflowData
  • 704c186c: Plugin UI: Save state of key menus in test plugin dialogs.
  • 53036dea: Privileges Doc: Add note regarding removal of all privs to create a read-only user. Ref discussion #275.
  • e139b5b9: Default Privileges: Handle case where priv properties are set to false (treat as missing).
  • 2d715254: Tailscale Doc: Add steps to create and apply a tag, to properly isolate the app capabilities grant. Fixes #273.

Version v1.0.49

April 22, 2026

  • 86a410e3: Version 1.0.49
    • Bump pixl-tools to v2.0.3 for updated getBytesFromText and getTextFromBytes functions.
  • 3c016abe: Diagnostic Report: Redact all IP addresses by regex.
  • da83f3a3: CSS: Tweak responsive data grid rules for server list to improve readability.
  • a669eb18: Server Data Explorer / Test Alert & Monitor: Save/restore server menu selection in localStorage.
  • 6cc01881: Feature: Docker container monitoring and basic management on server/group pages.
  • 63ece0be: Feature: Allow individual live server processes to be killed with a custom signal.
  • d999de86: Cosmetic UI FIx: Show proper "admin" badge for users that inherit administrator priv from a role. Fixes #270
  • 5606f2e1: Workflows Doc: Add clarification on data and files output. Ref discussion #268.
  • 0a54276d: New API: empty_bucket: Delete all files and/or data from a bucket, but leave the bucket itself intact. Ref discussion #269.
  • 179c5c73: Server Detail View UI: Correctly strip hostname suffix in header.
  • 7f63e861: SSO: Correctly apply "admin" privilege as sole privilege.
  • 560150c7: Tailscale Doc: Minor adjustments for clarity.
  • 50d1904e: SSO Doc: Clarified behavior regarding replace_privileges and default_user_privileges.

Version v1.0.48

April 16, 2026

  • c95f5c86: Version 1.0.48
    • Bump pixl-request to v2.6.5 for upstream vuln fix in basic-ftp (sub-dep of proxy-agent). Yes, another one.
  • 0635e844: Satellite Bootstrap: Always honor satellite.config.port when constructing one-liner install URLs.
  • bf5a2ba2: Server Hostname/IP Changes: Fix typos in warning activity messages.
  • cb17082b: Local Satellite: Now connecting via localhost instead of hostID, to work better with proxy setups. Also, support airgap.
  • 98042bf2: Cosmetic: My Account Page: Fix typo in caption text for "Sync Enabled" checkbox.
  • 8f315cda: Cosmetic: Support displaying custom IP address sent by xySat instead of socket IP (with Tailscale socket IP is always 127.0.0.1).
  • 354a10b3: Cosmetic UI Fix: Properly strip hostnames in system upgrade menus.
  • 43d6957c: Feature: Add enhanced support for Tailscale, including priv/role auto assignment, and a full tailscale setup guide.
  • 4e11477c: API: get_events: Allow basic filtering to search for events by title, plugin, etc. Fixes #262.
  • 8a0c060a: Initial Login UI: Improve the "change initial password" dialog to be more clear, include a password verification field.
  • da3d950d: UI Bug Fix: Incorrectly populating schedule hour menu items when browser timezone differs from user selected timezone.
  • d887b4e0: Typo fix: When testing web hooks, the word "took" is used by mistake in the sample output string.
  • fc008176: Hosting Guide: Corrected some inaccurate information about TLS.
  • 78b75b7a: Initial Setup: Change default abort policy of Docker Plugin to "all". Ref #258
  • 34c5da22: Actions and Buckets Docs: Add note regarding job output data and files required for Store Bucket to work. Ref #260.
  • f50d0e81: UI Bug Fix: Alert Invocation Details: Use correct ID for alert history day graph (swatch grid).
  • 620e8178: Limits Doc: Fix link regarding job weight.
  • 59e322ee: Triggers Doc: Typo in link.
  • a289c763: Storage Doc: Typo fix

Version v1.0.47

April 13, 2026

  • e59f9e88: Version 1.0.47
  • b5e810d1: Events Doc: Add sections on new custom job weight, group priority sorting, and priority job queuing features.
  • 31f60fc3: Servers Doc: Add section on new max jobs per server feature.
  • dd9275f3: UI Bug Fix: getNiceJobSourceList was missing alert, magic, and startup definitions. Also added a catch-all. Fixes #255.
  • a438ee70: Feature: Events can now define a job "weight" in the max jobs limiter, which is used in server max jobs calculations.
  • 40098d1d: Feature: Custom QuickMon Plugins and graphs.
  • 44e115e2: Snapshot Icons: Differentiate between single server and group snapshots.

Version v1.0.46

April 10, 2026

  • 9dd9b49b: Version 1.0.46
    • Bump pixl-mail to v1.1.7 for upstream vuln fix in nodemailer.
    • Bump pixl-request to v2.6.4 for upstream vuln fixes in basic-ftp (sub-dep of proxy-agent).
  • bbf7e8d7: Initial Setup: HTTP Request Plugin: Add new idle_timeout and connect_timeout params, set all timeouts to number variants.
  • d6118f2e: Sample Config: Add satellite.config.graphics_enabled set to false (for future xySat use).
  • 8ac3ec2e: Quiet Modifier: For ephemeral mode, if job finishes with a non-zero code (i.e. error) remove ephemeral flag.
  • f5ec5e2a: Feature: Allow default max jobs per server to be set at the group level (individual servers can override).
  • a98c557a: Feature: New job server selection algorithms: prefer_first_natural, and prefer_last_natural.
  • c0ba6982: Feature: Optional job priority flag, to jump to the head of the queue.
  • b5a28ecd: Feature: Implement optional max jobs per server (server.maxJobs).
  • a3c82d0f: Bug Fix: Job Target Expressions: Ensure expression is re-evaluated when monitoring queued jobs.
  • 5886190c: Server UI: Fix race condition when sitting on server page while server disconnects / reconnects.
  • d5d4609e: Actions Doc: Added clarification about the "Suspend" action, which can only be used inside of a workflow.
  • 4ca3e599: UI Fix: When clicking on an out-of-date conductor version to upgrade it, prevent the refresh from popping up the upgrade dialog again.
  • 676ca53c: Delete Job UI: When deleting a workflow sub-job, update the parent workflow so it shows a visual indication of the deleted job in the list. Fixes #243
  • c08ce54f: Log Viewer: Add Postgres and Redis logs to the menu.
  • a4eb1deb: Hot Keys: Add sanity check for event.key. Fixes #245.
  • e93f14be: Installer Script: Change minimum supported Node.js version to v20.

Version v1.0.45

April 6, 2026

  • 041c0007: Version 1.0.45
    • Bump pixl-server-storage to v4.1.0 for new Postgres storage engine.
    • Add pg module for Postgres storage engine.
    • Add ioredis module for Redis storage engine.
    • Bump lodash (sub-dep of async) to v4.18.1 for another vuln fix.
  • 715a640d: Bug Fix: Custom sub-job labels were not visible on workflow job detail screen. Fixes #242.
  • f946407a: Sample Config: Add new default Postgres storage engine configuration.
  • 6f863ba2: Docs: Add new storage setup doc, and link it from existing docs.
  • 46fc0be7: UI Strings: Tweak limit and action table captions to be more clear about category and universal inheritance.
  • 7f962c8e: UI Tweak: Fix "Copy to Clipboard" button in code viewer dialog.
  • dd937e6b: Bug Fix: Upon job recovery after restart, unset job.remote flag in case job is dead (so it can abort after going stale). Fixes #240.
  • 58be32f5: Meta: Add local bin/release.sh script for automating releases.

Version v1.0.44

April 3, 2026

  • bc2a0eae: Version 1.0.44
  • ea357ff9: Meta: Add release.yml to automatically generate release notes and a GH release via GH actions.
  • e379951d: Servers Doc: Fix tabs that snuck into docker-compose sample.
  • e07bea58: UI Tweak: Job Details: When user content contains markdown, increase its body font size slightly.
  • a97589d3: Bug Fix: Ensure web hook headers are an array at the API level, and add extra safeguards. Fixes #238.
  • 74d57782: Servers Doc: Updated automated docker workers section with new xysat configuration setup.
  • 3124d5c4: Security Overview Doc: Made a few minor corrections and wording adjustments.
  • f4ba4f70: Multi/Satelite Release List APIs: Add optional verbose parameter, to include full response from GitHub.
  • 018e43bf: Add SECURITY_OVERVIEW.md document, to complement THREAT_MODEL.md.
  • e8cf67b5: Bulk Deletes: When internal deletion jobs complete, refresh applicable search results pages in case users are waiting. Fixes #236
  • 4c0bf024: Admin Upgrade Conductors API: Default single server pre-delay time to 5 seconds to allow for job to complete before starting upgrade.
  • 0ff5230c: Workflows: Support event/job target expression in the multiplex controller, and do not abort the workflow if no servers match. Fixes #233
  • 68972b9e: Docs: Remove NFS as a recommended storage configuration.
  • 888d1bf1: System Diag Report: Small tweaks, trim load avg for display, add message for zero servers.

Version v1.0.43

March 31, 2026

  • fba0174d: Version 1.0.43
    • Bump pixl-server to v1.0.50 for more detailed crash logs.
    • Override lodash (sub-dependency of async) to v4.17.23 for vuln fix.
  • eb2a6f9e: API Doc: Add docs for internal admin_upgrade_masters and admin_upgrade_workers APIs.
  • 411c36fb: API Doc: Add new multi section, with internal master_register, get_master_releases, and master_command APIs documented.
  • b11ee0ce: API Doc: Clarify some admin API privs and rename satellite section.
  • 54f1568d: Hosting Doc: Added clarification on Docker configuration mount, as it needs to be unique per conductor.
  • 04ec3b47: New Feature: Magic Link Form: Allow button text, icon, and custom faux response parameters.
  • a9828d25: Docker Satellite Servers: Add default named volume mount for custom config dir (so containers survive upgrades).
  • 686fe20d: New Feature: Visually show conductors and satellite servers that have outdated versions. Click to popup upgrade dialog.
  • fee28222: CSS: Adjust scrollbar thumb color to better follow theme.
  • 8f2b0a36: Bug Fix: Ensure workflow decision and split nodes always have access to outer workflow object for use in expressions. Fixes #232.
  • 45a3c1be: Satellite/Multi Release List APIs: Reduce requirement to any valid user or API key
  • ad9bc803: Feature: Send xyops / xysat version information along with each job launch, in job.versions property.
  • 4f5e4d9e: Behavior Change: For get_ APIs with v1 suffix, return HTTP 404 upon failure. Fixes #231.
  • 039bfb03: README: Remove quick-start docker run command, and instead direct people to the self-hosting guide.
  • 699c9ddd: New Feature: Add "Diagnostic Report" button on System page, for generating report content for GitHub issues.
  • 113abb76: README and Hosting Docs: Clarify Docker setup instructions, use XYOPS_masters environment variable even for single-conductor setups.
  • c44a3d0c: Bug Fix: Auto-detect case where multiple hostnames resolve to same servers in masters.json, and shut down with loud error.

Version v1.0.42

March 29, 2026

  • ffb1e457: Version 1.0.42
    • Remove jimp dependency, replace with in-house developed pixl-resize module.
  • df05634e: Config Editor: Perform basic validation pass on save. Fixes #224.
  • d6dc2080: Config Doc: Add note about leaving storage transactions enabled.
  • db9ba584: Bug Fix: Magic Link: After creation, if user goes back into edit trigger dialog without saving first, magic link key is regenerated.
  • fe22a26e: Config Doc: Document the satellite docker image path.
  • db4d97b5: Bug Fix: Crasher in monitoring subsystem when storage transactions are disabled. Fixes #220.
  • 460ed0b3: Cleanup: Remove unused avatar code in admin path.

Version v1.0.41

March 27, 2026

  • ab845e5e: Version 1.0.41
    • Bump pixl-tools for upstream vuln fix in picomatch.
    • Bump pixl-mail for upstream vuln fix in nodemailer.
  • 9613fd1a: Marketplace UI: Lazy-load thubmnails from GitHub as to not exceed limits.
  • c01e5416: Feature: Global "client.hide_sidebar_sections" will force-hide specific sidebar sections for all users, regardless of their prefs.
  • 269458f6: Feature: Marketplace: Allow quick setup / editing of secret vaults for installed plugins.
  • b4e3169f: CSS UI Tweak: Adjust max select menu height slightly, as certain positions can cause it to extend beyond the screen bounds.
  • 0bff6646: UI Tweak: Sort secret vaults by title.
  • ca7b0327: CSS UI Tweak: Fix background color in plugin/event param select menus on light theme.
  • 67d4e94a: README: Add bind mount for xyops config in docker example command.
  • 69fa7823: Hosting Doc: Add missing bind mount for config dir in quick-start docker run command.

Version v1.0.40

March 24, 2026

  • 587350bb: Version 1.0.40
  • af38badc: SSO Doc: Fixed example command and added note about the xyOps AWS ALB SSO Plugin.
  • be4b79fc: Feature: Custom SSO Plugin command, to validate and transform request for prep for SSO login.
  • 9b9bb477: Sample Config: Update stock tls.crt and tls.key files (self-signed).
  • e9981893: API Doc: Add docs on internal satellite install/upgrade/config endpoints.
  • 34290b77: Hosting Doc: Add section on customizing satellite config managed keys.
  • 295aa284: Servers Doc: Add details on docker workers, specifically around bind mounting the xysat config file.
  • e96dcdb1: Workflow Behavior Change: Sub-job queuing now considers each workflow job to be its own queue "namespace". Fixes #218.
  • 9e94e456: Bug Fix: Crasher in workflow if job is aborted very early, before it goes into an active state.
  • d23fe1e2: Security Hardening: Remove word boundary matching for scrubbing secrets from web hook diagnostic output.

Version v1.0.39

March 23, 2026

  • 6a58a69f: Version 1.0.39
  • f5cd9536: Server Notifications: Improve notification text for server add/remove activity.
  • 96c42849: Docs: Add ToS and Privacy Policy.
  • 0b085a08: Security Hardening: Redact secrets from web hook detail output log (best effort).
  • 45190dab: Bug Fix: UI crash in getWFParamPreviewHTML for omitted optional number param values. Ref #175.
  • 25d22eb7: Add THREAT_MODEL.md file for security audits.
  • b7756ccf: Typo fix in docs and sample config: outbound_blacklist and outbound_whitelist should be blacklist and whitelist, in the airgap config.
  • b68995d8: Security Hardening: Secrets API: Ensure secret key names don't match any bad strings (i.e. proto and the like).
  • 0be3cc70: Security Hardening: API handler: Disallow any params matching bad key names (i.e. proto and the like).
  • 4a7ec2f5: Security Hardening: Remove macro substitution support from system hook shell exec command (was undocumented anyway).
  • f6db6959: Security Hardening: Lock down more built-in plugin fields to administrator-only (HTTP URL, Docker Run Command, etc.).
  • bf41044a: Security Hardening: Check secret variable key names for illegal strings (i.e. proto and the like).
  • eb23ba4c: Security Hardening: Increase default secret key length to 32 chars in container-start.sh
  • 08f6ed03: api_get_latest_monitor_data: Allow both GET and POST parameters. Fixes #214.

Version v1.0.38

March 19, 2026

  • 5347452a: Version 1.0.38
  • f926446d: Server Monitor Alerts: Use correct server label and stripped hostname in notification text.

Version v1.0.37

March 19, 2026

  • fe32764b: Version 1.0.37
  • 85bd8d67: Feature: Customize sidebar section visibility in the user settings screen.
  • 6a62b36a: Server Data Explorer: Add hover tooltips for all Plugin IDs, for easier identification. Fixes #211.
  • 036a5ca4: Welcome Doc: Fix wording to properly describe when the guide auto-disappears. Fixes #212.
  • 35d319e2: CLI Doc: Remove unused section.

Version v1.0.36

March 18, 2026

  • 7fc894c9: Version 1.0.36
  • b7f9f9e9: Feature: Recover admin access from Docker / containerized systems using a special environment variable.
  • 233a1f53: UI Tweak: Set all password input field fonts to monospace.

Version v1.0.35

March 18, 2026

  • 9c14b5cb: Version 1.0.35
  • d2e009c4: UI Improvement: Add visual group separators for sorted event table, for specific columns (e.g. category, tags, plugin, targets).
  • 21813d00: UI Tweak: Improve icons for linked events and workflows, to show arrow pointing right (more clear).
  • 52077ccc: Bug Fix: Export dialog was broken for workflows. Fixes #208.

Version v1.0.34

March 18, 2026

  • fae52ace: Version 1.0.34
  • 81227d63: UI Tweak: When an event has a "Run Event" action attached and enabled, change the default icon.
  • 8bdb8f6e: UI Tweak: Apply hostname strip regex to conductor ID display, to be consistent with server hostnames.
  • ac17c97b: UI Tweak: Show different default icons for events / workflows if they are disabled.

Version v1.0.33

March 17, 2026

  • 87b4d5e1: Version 1.0.33
  • 132f0306: Server UI: Several visual changes to better denote server groups, and if they were manually or auto-assigned.
  • 160d3544: Server Groups: Correctly handle the case when a group is deleted with servers that had manually assigned the group.
  • dded76f7: Unbase Config: Add missing autoGroup column index
  • 887e100b: UI Fix: Show correct "All"/"None" word when group list is empty (alerts / monitors match "All" if none assigned, servers do not).

Version v1.0.32

March 17, 2026

  • 75e11a26: Version 1.0.32
  • 416931fa: Bug Fix: Crasher if a server group is deleted with active servers that match only said group.

Version v1.0.31

March 17, 2026

  • c95eeb88: Version 1.0.31
  • 3facd5cd: Docker Container Startup: Fix typo which failed to auto-generate the secret key on first launch. Fixes #202.

Version v1.0.30

March 16, 2026

  • b06d0c17: Version 1.0.30
  • 506265f4: Fix possible XSS attack on job detail screen when job description contains raw HTML.

Version v1.0.29

March 16, 2026

  • 25396801: Version 1.0.29
  • 8e536f28: CSS: Improve contrast of checkboxes when table row is disabled.
  • 361c99c5: Docs: Fix header title disappearing on mobile devices.
  • e07e8881: CSS: Fix documentation margins on smaller phones
  • 441eb42e: Marketplace UI: Improve icon, allow markdown in product listing descriptions, fix mobile responsive issue with header.
  • 3604b5f0: Marketplace API: Fix issue with searching on tags that contain spaces or other symbols.
  • c5fdbadf: Update README with details on paid support tiers.
  • f65aad11: Delete old unused sample-data.json file.

Version v1.0.28

March 15, 2026

  • 28e7b0dd: Version 1.0.28
  • 5af7e750: CORS: Add OPTIONS preflight request handler.
  • 57a77058: Alerts Doc: Add section on Universal Alert Actions. Ref #195.
  • 02100721: API Doc: Remove incorrect behavior for echo API.

Version v1.0.27

March 15, 2026

  • a918c6f1: Version 1.0.27
  • 3ae2cb7c: Marketplace: Add "Report" button.
  • 903617bf: Marketplace Markdown UI: Try to fix relative links to files inside Plugin repos.
  • 6eb22670: Markdown UI Tweak: Do not decorate links with icons if they contain inline HTML (i.e. for Marketplace shield icons).
  • 4de736cb: UI Tweak: Channel Notifications: Do not auto-hide toasts (these are generally for high severity issues).
  • e06e75af: Alerts: Fix bug where alert message text was missing from web hook args in some cases (race condition).
  • ca2fe095: Bug Fix: Channel notification sent from alerts (configured to send to specific users) crashes the conductor. Fixes #197.
  • b10b988b: Config Doc: Add User.use_csrf property.

Version v1.0.26

March 14, 2026

  • 445949c5: Version 1.0.26
    • Migrate to new bcryptjs module (v3.0.3). Remove old bcrypt-node.
    • Bump jQuery to v3.7.1 for vuln fixes.
    • Bump pixl-chart to v1.0.27 for fix with toolbar buttons disappearing on click.
    • Bump pixl-server-api to v1.0.8 for more verbose debug logging.
    • (MAJOR) Bump pixl-server-user to v2.0.1 for new CSRF Token system.
    • Bump pixl-xyapp to v2.1.24 for CSRF token support in API calls.
  • 44fb32d7: Security Hardening: Move to new CSRF Token system.
  • 555aeb89: Colophon Doc: Add bcryptjs and clean-css packages, remove old bcrypt-node.
  • 01b179b1: Storage CLI: Migrate to bcryptjs.
  • b7894081: GitHub Meta: Add stale issue auto-bot.
  • 1d650a7a: Default Config: Add exit_on_shutdown prop to insure process always exits (a stuck socket can hang it).
  • 0e497930: Doc Update: Remove references to old sqlite3 library, add new better-sqlite3 one.
  • f30e307a: Triggers Doc: Add clarification on keyboard trigger and internal key codes.
  • 79df6c04: README: Add additional step of generating a test key for local dev installs.
  • fdc0dce5: WebSocket Maintenance: Auto-close sockets that do not authenticate within 30 seconds.
  • 2f272dff: Satellite Reconnect Race Condition: Auto-close stale sockets when a server reconnects and auths. Fixes #194.
  • ef7afe24: Alert Action Plugins: Pass in assigned secrets to JSON STDIN (as well as environment vars) to match behavior of Job Action Plugins.

Version v1.0.25

March 13, 2026

  • 0df04905: Version 1.0.25
  • 46297904: Security Hardening: Strongly encourage default stock admin user to change password on first login.
  • d9184b44: Storage Utility CLI: Improve admin account recovery code (use config overrides, and apply default user prefs).
  • 8930b8aa: Security Hardening: Validate storage commands in admin_import_data API.
  • 802d16b0: Security Hardening: Keep config files locked down with mode 0o600 when not running in debug mode.
  • 8275f838: Security Hardening: Generate random secret key on first install.
  • 05d8ba5e: Startup: Perform basic validation of required config props, exit loudly if missing.

Version v1.0.24

March 13, 2026

  • dba0f3b7: Version 1.0.24
    • Dependency bumps: diff to v5.2.2 and pixl-request to v2.6.2, for sub-dependency vuln patches.
  • c2298c94: Bug Fix: Prevent UI crash if event is created via API and limits / actions / triggers params are omitted. Fixes #192.
  • 68233cec: Bug Fix: Race condition with logActivity and shutdown.

Version v1.0.23

March 10, 2026

  • 9b4fd9a4: Version 1.0.23
  • 6a73922c: Satellite API: Allow API keys containing dashes to be substituted for the token (t) parameter.
  • 75163e25: Add FUNDING.yml file for GH sponsor button.

Version v1.0.22

March 10, 2026

  • 6b1f9da3: Version 1.0.22
  • 246daa4c: Feature: Display version number in brackets alongside 'Latest Stable'. Fixes #188.
  • fd1a0130: Bug Fix: Regression from v1.0.14: Default parameter values are not correctly being applied in run_event and magic APIs. Fixes #189.
  • 87d6b0bd: UI: Job Event Display: Use shorter "v" prefix for revision, instead of "rev.".

Version v1.0.21

March 9, 2026

  • 41ef84a7: Version 1.0.21
  • 9df1183a: Feature: New schedule modifier trigger: "Every Nth": Skip over every Nth job run (for things like bi-weekly events).
  • e266594e: Upcoming Job Prediction: Correctly simulate day limits.
  • 079b9c72: Internal: Shorten float for total_elapsed inside event state data, to reduce overall JSON size.
  • 20589aeb: System UI: Show versions of xyOps / xySat in the upgrade dialogs.
  • fe176e25: Multi-Server: Automatically detect primary conductor hostname (Host ID) changes, and adjust masters.json file as needed.
  • 0756051b: Jobs: Allow jobs to be aborted if stuck in "finishing" state.
  • 15be10d2: Tickets: Add author (full name) to emails, and fix tag icons.

Version v1.0.20

March 7, 2026

  • e031a0d3: Version 1.0.20
  • e4510e5f: Number Variant Text Fields: Redesign to use special null value when optional fields are blank.

Version v1.0.19

March 6, 2026

  • f9a047b9: Version 1.0.19
  • 46a5df23: Plugins: Disallow Marketplace Plugins from setting their own UID/GID.
  • 7845974a: Feature: Add default_plugin_credentials config option, which will set the UID/GID of plugins if not otherwise set.
  • 461997e0: Active Jobs Tables UI: Show "Elapsed Time" column for wider screens. Affects Dashboard, Server and Group Views.
  • 1405efaf: Group Server List UI: Fix responsive table columns (add missing arch and xysat ver).
  • edc56ed2: Search UI: Fix collapsing buttons on tablet/mobile.

Version v1.0.18

March 5, 2026

  • c59eeeca: Version 1.0.18
  • 6b380273: Fix issue with optional number params / fields with default values, getting reset if set to empty.

Version v1.0.17

March 4, 2026

  • 6dc5f112: Version 1.0.17
  • 38b5d16c: Health Check API: Remove ACL requirement (was accidentally added).

Version v1.0.16

March 3, 2026

  • 59073098: Version 1.0.16
  • c63e99a2: Feature: Show previous event titles and revision numbers in search results and job detail pages. Fixes #170. WIP.
  • 7ee45886: Bug Fix: Bulk deleting jobs tried to delete non-existent job logs causing storage log error noise.
  • 92d6eb8b: UI Bug Fix: Deleting event caused a race condition with update event.
  • d7793fa2: Feature: Add "Export..." button inside revision dialog, so you can export any historical revision in XYPDF format. Fixes #173.
  • 01ca56de: Feature: Add last job completed date/time as tooltip hover on event status labels. Fixes #172.
  • 4aca9db6: Marketplace Plugins: Do not allow direct editing, as it complicates upgrades. Instead, allow marketplace plugins to be "cloned" for local changes. Fixes #178.
  • 8a8606bc: SSO: Change group role delimiter to simple character (default comma), and allow customization via SSO.group_role_separator. Fixes #177.

Version v1.0.15

March 2, 2026

  • 0c449578: Version 1.0.15
    • Bump pixl-request to v2.6.1 for new connectTimeout, and retryDelayMax features.
    • Bump pixl-xyapp to v2.1.23 for new getKeyLabel and getShortKetLabel functions.
  • 74a7c42d: Add new internal api_finish_job API, used by xySat (replaces finishing jobs over the websocket, which isn't guaranteed).
  • 17307b70: WebSocket API: Broadcast server features to satellites.
  • ef829bea: Keyboard Trigger UI: Use new getShortKeyLabel in pixl-xyapp. Also fix capitalization in getKeyLabel.
  • f70776dd: Event UI: Fix highlight color of "Run Now..." which should be green to match the ellipsis (dialog action).

Version v1.0.14

February 28, 2026

  • 4830ef2a: Version 1.0.14
  • a6ff3283: Event/Plugin Params: Improve handling of omitted non-required values (especially number fields).
  • ec0da56a: UI Bug Fix: Allow number variant text fields to contain floats.
  • 93089f24: Bug Fix: (Regression) Rollback button stopped working when we introduced nav blocking while dialogs are open. Fixes #171.
  • 0cd3e18b: Network Robustness: Allow final job update to come in "late" (after job was completed), in case server dropped offline then came back later.
  • b36bf421: Job Tags & Ticket Updates: Properly generate job metadata log rows from APIs (was missing ID and sever props).
  • b7293b91: Keyboard Trigger UI: Tweak job launch notification text to include event title.

Version v1.0.13

February 27, 2026

  • 372e4351: Version 1.0.13
  • 90c0dc91: Feature: Marketplace table is now sortable by column, and "Author" is now a drop-down menu filter option.
  • 189adea7: UI Tweak: Show "n/a" in trigger tags column for trigger modifiers, as they cannot have tags.
  • 80e11e98: UI: Trigger Type Menu: Split into groups (Scheduling, On-Demand, and Modifiers).

Version v1.0.12

February 27, 2026

  • af6eac15: Version 1.0.12
  • 5cf8f641: New Feature: Keyboard Shortcut Trigger for launching events.
  • 6345f214: CSS Tweak: Adjust max menu height slightly.
  • 3f20cfd2: CSS Tweak: Extend max single/multi select menu height to 40vh.

Version v1.0.11

February 27, 2026

  • fcbdd811: Version 1.0.11
  • 946cb185: Favorite Events: UI Bug Fix: Run/Edit buttons did not work from dashboard.
  • 7bbc290b: New Feature: User Event Favorites, which are displayed on the dashboard page.
  • 223d159e: Event UI Tweak: Year Selector: Show previous (past) years in menu if event still targets them.
  • 8fe319dc: Default Config: Remove default hourly trigger for new events. Fixes #169.
  • eeac891e: Scaling Doc: Add note about satellte's disable_job_network_io config prop, for large servers with tens of thousands of network connections.
  • f9ee9f65: Alert Behavior: Disabled alerts are now completely disabled in every way, and no longer evaulate.
  • bcdfa5bd: Prep Job Log: Optimization: Skip fs check for workflows, which produce no log.
  • d5762ce7: Upload File API: Prevent logging of API Key (was debug level 7).

Version v1.0.10

February 26, 2026

  • b00b2da7: Version 1.0.10
  • 9be5b9c7: Actions Doc: Add note about special workflow "continue" condition. Also "user" (custom) error condition.
  • ceb139d8: Triggers Doc: Add "quiet" modifier mention in manual run trigger. Plus a few other misc corrections.
  • eafaa0c8: Feature: Add new "Custom Error" action trigger and search filter, for job errors that aren't warning, critical or abort (i.e. user-generated errors). Fixes #166.
  • 01344c36: Shell Plugin: Remove legacy "Interpret JSON" checkbox (unused).
  • af349d87: UI Tweak: For job search and action condition, change text "Error" to "Any Error", to make it more clear that errors are ANY non-zero job code value. Ref #166 and #167.
  • e0d67792: Workflow Bug Fix: Correctly bubble up sub-job output files into parent workflow files.
  • b34fbb27: Job UI: Fix icon for invisible workflows and sub-jobs inside workflows.
  • b99f7db0: Workflow Action Fix: Pass along data/files to wired actions, for things like Run Event receiving input files from previous jobs.
  • 65883516: Plugins Doc: Add note about deleting files after upload.
  • 8e788e0f: Actions Doc: Run Event: Add new target_server and clear_alert props.
  • 5e1bafbc: User Admin UI: Remove legacy "create random user" feature.
  • dbc84696: UI: Tweak wording for target expression labels and captions.
  • af6338c6: New Alert Features: Exclusive alert actions (no inheritance), run event on server that alerted, and clear alert on job completion.
  • 239494db: Bug Fix: Server group assignments were not correctly being passed to xySat when autoGroup was set.
  • 4b481af8: JEXL Utils: Ensure "integer" and "float" helper utilities always return a numner (not NaN).
  • 061ab583: New Feature: Allow user to specify event field values (user params) with the "Run Event" action (job and alert).
  • 246e658d: UI Bug Fix: Job Details: "Additional Jobs" table was not auto-updating as jobs completed.
  • 11f1f9f7: CSS: Fix hover style on summary grid icons (for copy-to-clipobard). Underline was showing.
  • 866b8fae: New Feature: Alert "Exclusive Actions" mode, which only runs actions defined in the alert (i.e. does not inherit from groups or universal).
  • 16ccf08c: New Feature: Quiet Trigger Modifier: Optionally run scheduled jobs invisible from the UI, and/or ephemeral so they auto-self-delete upon completion.
  • 8d14b2fc: UI Fix: Job Action Details Dialog: Properly join markdown lists so the formatting does not break.
  • 1a51c087: DB Optimization API: Fix issue where SQLite WAL file was growing too large.

Version v1.0.9

February 24, 2026

  • db9b0d64: Version 1.0.9
  • 3a47e9a6: New Feature: Server User Data, to store arbitrary data per server, available in all running jobs, and can be used to augment event targeting. Fixes #160.

Version v1.0.8

February 23, 2026

  • 5b88a01d: Version 1.0.8
    • Bump pixl-server-storage to v4.0.2 for latest AWS SDK, for multiple upstream vuln fixes.
  • 02042913: Alert System: Fix issue when servers with active alerts disconnect, then reconnect after the alerts time out, which causes the alerts to get stuck in limbo, and never reappear.

Version v1.0.7

February 22, 2026

  • 8ba3f913: Version 1.0.7
  • 7287b3ed: Action / Trigger Plugins: Only parse JSON from last line of output, to ignore noise emitted from plugins. Be smart about trailing empty lines.

Version v1.0.6

February 22, 2026

  • cb17b950: Version 1.0.6
  • d2c80ba9: Action and Trigger Plugins: Provide secrets via JSON in top-level secrets object, to be consistent with Event Plugins.

Version v1.0.5

February 22, 2026

  • 28615bf2: Version 1.0.5
  • 51edb926: Bug Fix: Crasher when trying to use the "Notify Me" button inside running jobs. Fixes #156.
  • cfc11309: Web Hooks Doc: Add section for nfty.sh

Version v1.0.4

February 21, 2026

  • 930e09e6: Version 1.0.4
  • 15a14001: Bug Fix: Plugin List: Inline "Edit" and "Delete" links were no longer working after table was upgraded to sortable. Regression from 147.

Version v1.0.3

February 20, 2026

  • e168b7b3: Version 1.0.3
  • d656dbcd: Admin DB Optimization: Fix crasher on new better-sqlite3 engine. Thanks to @nickdollimount for finding this!

Version v1.0.2

February 20, 2026

  • ae56df78: Version 1.0.2
  • 2447d82b: Plugin List UI: Convert to sortable table with clickable column headers and filter text field. Fixes #147.
  • 8a23fba3: Active Jobs: When maximum concurrent jobs is exceeded, log all blocking jobs to metadata, for troubleshooting.
  • bc53c62d: Bulk Export: Added new bulk_export privilege just for using the admin_export_data API, so automated backups don't need full admin privs.
  • 39a17763: HTML Sanitization: Allow "style" tag on any element (for user HTML content in jobs). Fixes #150.
  • bc63feb8: Hosting Doc: Fix typo in daily backup shell script. Fixes #148.
  • b9c0a0e8: Servers Doc: Added section on automated docker workers.

Version v1.0.1

February 17, 2026

  • bdfeb237: Version 1.0.1
    • Bump pixl-server-web to v3.0.4 for new URI auth feature.
  • 7dd58d75: Feature: Sortable tables remember the sort column and sort direction in localStorage prefs.
  • db3dd37f: Event List: Fix table sorting bug with inline links. Fixes #144.

Version v1.0.0

February 15, 2026

  • 24b2ed92: Version 1.0.0
    • Major version bump of pixl-server-storage to v4 for new better-sqlite3 engine. Fixes #7.
  • 95f1241f: Changelog Script: Add debug mode, and include extra commit details on version commits.

Version v0.9.69

February 15, 2026

  • a6efd223: Version 0.9.69
  • 989f622a: Feature: Make event table sortable by column. Remove checkboxes for more room.
  • 09625d77: Workflow Editor UI: Change icon for "remove selection" so it isn't a trash can.
  • 79363ce1: Ticket UI: FIx duplicate DOM ID in button
  • d845ed69: Hosting Doc: Add note about MinIO open-source repo getting archived, and added new section on RustFS.
  • daed1e5e: Bug Fix: Secrets UI: Make change without decrypting, save changes, secret key labels disappear (cosmetic only).

Version v0.9.68

February 14, 2026

  • b61f4022: Version 0.9.68
  • b37b2a2c: Data Structures Doc: Add Job "starting" state.
  • f5ce25c5: Job Concurrency: Fix issue where jobs stuck in "starting" state could cause queue limits to be bypassed.
  • 9696a406: API Doc: Add more MIME header examples for importance.

Version v0.9.67

February 14, 2026

Version v0.9.66

February 13, 2026

  • 789baeb0: Version 0.9.66
  • 8de2be2c: UI: Make it MUCH more obvious which event fields / plugin params are admin-locked, when logged in as a non-admin. Fixes #137.
  • ce088855: Bug Fix: Non-admins updating workflows cause admin-locked text fields to reset to defaults. Fixes #136 (again).

Version v0.9.65

February 13, 2026

  • e99dbf89: Version 0.9.65
  • d8df06de: Bug Fix (Regression): Workflows were getting created without a targets array, which was breaking the UI.
  • 397bb949: Move sortable table utility functions to base

Version v0.9.64

February 12, 2026

  • 030d1db1: API Doc: send_email: Add note re: max_emails_per_day
  • 6fac0264: CSS: CodeMirror: Lighten comment / quote color on dark theme.
  • 3ab49370: Version 0.9.64
  • 00fa562b: Further improvements to UX regarding multi-user concurrent editing and saving for events and workflows.

Version v0.9.63

February 12, 2026

  • c27e2db1: Version 0.9.63
  • 55439231: Events / Workflows: Improve multi-user concurrent editing UX: Auto-refresh on edit if no conflicts, otherwise show notification. Server: check revision number on save to prevent clobbering. Fixes #136.
  • 017ba36a: New API: send_mail: Send custom email with optional attachments on xyOps HTML stationary. Fixes #135.
  • e7b84265: Support optional "link", "inline" and "none" email logo formats. Change default mode to "inline". Fixes #133.

Version v0.9.62

February 10, 2026

  • ab7fbd64: Version 0.9.62
  • 6aa0e25e: Marketplace: Add xyOps version to XYPDF file format, and include on export and validate on import. Affects direct imports and Marketplace Plugins. Fixes #128.
  • 205d5a0e: Hot Keys: Add "Delete" as an alternate key for workflow delete selection, as well as delete job.
  • b3693464: Workflow UI: Change wording of upper delete button for nodes to say "Remove", to differientiate it from the lower "Delete" button that deletes the entire workflow. Fixes #131.
  • cb7cf943: Improve "select [id]" syntax handling for param menus (better default value fallback).
  • f75b5082: Bug Fix: Prevent macro expansion infinite loop when job params is expanded directly. Fixes #132.
  • fd7d0100: Server List: Add architecture as sortable column.
  • 0e69ca99: Job Action Details UI: Fix spacing issue between summary and mailer debug log sections.
  • 71ffe2cb: Workflow UI: When adding a new job node, honor the new_event_template config settings (category, plugin, targets)

Version v0.9.61

February 7, 2026

  • cb3a762f: Version 0.9.61
  • 308a91b0: Job Detail View Improvements: Configurable max output size, and lock job final output viewer to 80% window height with overflow scroll. Fixes #125.
  • 28c1f23c: Bug Fix: Skip Upcoming Job for workflows was failing to create a blackout node on the map. Fixes #127.
  • 5ccd3d9d: System Upgrade DIalogs: Include links to xyOps / xySat changelogs. Fixes #124.
  • f841e5e1: Feature: Show IDs for plugin and event params in tables. Adjust margins a bit to compensate. Fixes #123.
  • dca1d4f9: Events: Typo fix in comment
  • 14e23261: Bug Fix / Feature: Prevent unknown tag from being added to jobs, and log warning in job meta log. Also, allow tags to be specified by title (exact match only). Fixes #122.
  • c6344f8c: CSS: Fix coloring of HR line breaks in markdown documents.

Version v0.9.60

February 6, 2026

  • df026d30: Version 0.9.60
  • 77f00da4: Docs UI: Fix header nav link to scroll to top in a cleaner way.
  • d0211a36: Marketplace: Links to README sections should stay in app, not link out. Fixes #121.
  • a91e859e: CSS: Fix custom nav link color.
  • 2f44c514: Cosmetic Bug Fix: Edit Plugins: Box button floater wasn't appearing by default for plugins with lots of params (pushing the buttons off the bottom of the page). Fixes #120.

Version v0.9.59

February 6, 2026

  • 8143639b: Version 0.9.59
  • 6a20b937: Bug Fix: Logout button not accepting clicks at all. Regression from v0.9.43. Fixes #117.
  • 3c68b206: Config Doc: Typo fix in metadata.

Version v0.9.58

February 5, 2026

  • e7a7ba41: Version 0.9.58
    • Bump pixl-xyapp to v2.1.22 for blocking nav if code editor dialog is up. Fixes #116

Version v0.9.57

February 5, 2026

  • d0d461ea: Version 0.9.57
    • Bump pixl-xyapp to v2.1.21 for CodeEditor nav fix.
    • Fixes #116
  • 81caf3d7: Popup Code Editor Params: Show line numbers by default.

Version v0.9.56

February 5, 2026

  • e272a8e9: Version 0.9.56
  • fa8fda11: Plugin Editor: Change inline editor to popup code dialog editor, with line numbers and accidental outside click protection (and accidental ESC key protection too).
  • bd281a52: Change default ping freq to 5 sec, and ping timeout to 30 sec, for "troublesome" networks (packet loss, etc.).
  • ea1edc7b: Triggers Doc: Added note about startup triggers skipping modifiers.
  • c945d320: Triggers Doc: Add note about startup trigger behavior WRT self-initiated upgrades, restarts, and shutdowns.

Version v0.9.55

February 4, 2026

  • 244ccf64: Version 0.9.55
  • 046aa4b0: Startup Triggers: If a background upgrade or restart command was issued, skip the startup trigger check.
  • 6d142252: Multi: Ensure becomeMaster() only ever gets called once per server process lifetime.

Version v0.9.54

February 4, 2026

  • 7bc869c5: Version 0.9.54
  • f83d5991: New Event Trigger: "Startup", automatically runs a job on xyOps startup, when certain conditions are met. Similar to the crontab @reboot alias.

Version v0.9.53

February 4, 2026

  • e0d06e1f: Version 0.9.53
  • 0522adef: Global Hot Keys: Add default Cmd+K / Ctrl+K for focusing primary search box.
  • 37675858: UI Bug Fix: User Prefs: Steamer mode was showing raw HTML tags in the button label.

Version v0.9.52

February 4, 2026

  • f80a0e69: Version 0.9.52
  • adf424a6: Dashboard: Set click behaviors on some dash units (cards), for e.g. conductors, servers, alerts, jobs today, jobs failed today. Fixes #113.
  • 4f1c4464: New Features: Add optional rate limiting to API Keys, as well as display a "Last Used" date, as well as display the API "Key ID" on the edit screen (not used for auth).
  • 3965f8ba: Feature: Job File Search: Also search job description, input / output data, user content (text, markdown, html), and display all results separately.
  • c3533838: Search Jobs UI: Change name of result "Failure" menu item to "Error", to be more consistent with rest of app.
  • e3e7f83d: Feature: Allow configuration to set default event category, plugin, and targets. Fixes #110

Version v0.9.51

February 3, 2026

  • f1b51287: Version 0.9.51
  • e7fed957: New Feature: Job status tagline displayed on live job details screen and all job progress bars.
  • a4a44241: Feature: Allow plugin / event param menus to specify values and labels separately. Fixes #107.
  • 63080ab2: Feature: Remember event filters in the sidebar links for "Events" and "Workflows" pages. Fixes #105.
  • 00986d8d: Universal Actions / Limits: Add some additional crash protection in case the configuration is invalid.

Version v0.9.50

February 1, 2026

  • b39ded72: Version 0.9.50
  • 7eaaaae9: UI: Remove default sidebar "expanded" classes in prep for pixl-xyapp 2.1.20, which manages them automatically.
  • 1c82bf4d: Bug Fix: Dashboard: "Jobs Failed" counter could be incorrect in certain situations.
  • 2df18c0e: Bucket API: api_delete_bucket_file: Allow params to be specified on the query string or HTTP form data.
  • fb835c12: API Keys: Add "Clone" button. Fixes #99

Version v0.9.49

January 31, 2026

  • fcee1d62: Version 0.9.49
  • c7e144ac: API Doc: Add docs for new admin_search_logs, admin_get_config, and admin_update_config APIs.
  • 74e6465b: Activity Log UI: Tweak action dialog display so that user is not shown as a link (looks off).
  • e5179470: UI: Copy Markdown to clipboard: Strip HTML so icons etc. are not included in the copied text.
  • 9f4e97fa: UI Tweak: For defining text fields / text boxes for params, use monospace font for the default values.
  • 84d73399: API Doc: Formatting tweaks.
  • 78f23c3a: API Hardening: Ensure all HTTP file uploads are valid (i.e. have filenames and non-zero size).
  • 6ac6bac7: API Doc: Add "pretty" parameter to echo API.

Version v0.9.48

January 31, 2026

  • 65d1016d: Version 0.9.48
  • b7cd1761: API: upload_bucket_files: Rename bucket param to "id" and support both query string and HTTP POST params.
  • de178d6d: API Doc: Typo Fix: Incorrect parameter name in write_bucket_data. Fixes #98.
  • 890285da: UI Bug Fix: Secret key names revert to previous versions when saving. Fixes #97.

Version v0.9.47

January 31, 2026

  • d7dae73e: Version 0.9.47
  • c0905b5e: Remove "password" text field variant type, as it gives a false sense of data security (use a secret vault instead).
  • 110cf58b: Add Powershell as an official syntax-highlighted language

Version v0.9.46

January 30, 2026

  • 8e97839c: Version 0.9.46
  • 3cc61edb: New Feature: Programmatic bucket data access, via new API: write_bucket_data.

Version v0.9.45

January 30, 2026

  • 67ae5d2b: Version 0.9.45
  • f64d395c: Log Viewer Bug Fix: Custom Date menu was not working correctly.

Version v0.9.44

January 30, 2026

  • d7083871: Version 0.9.44
  • f5b5aada: New Feature: Log Viewer in the UI!
  • adb67957: Config API: Make sure reserved keys are omitted from the overrides object in admin_get_config.
  • 2441ae74: Search Jobs UI: Cleanup memory on page deactivate
  • 1cf781bb: UI Fix: Remove "Any Tag" item from tags menu on job search page (not used for a multi-select menu).
  • bf021ec0: UI Bug Fix: Floating buttons on config page weren't showing up until user scrolled.

Version v0.9.43

January 29, 2026

  • 93017cde: Version 0.9.43
  • ca8fb604: New Feature: Configuration Editor in the UI!
  • 860ea3b1: UI: Improve event / plugin parameter summary display, with correct icons for text variants, and masking password fields. Fixes #89
  • 2689af32: Add Content-Disposition header for satellite file downloads.
  • 0a4f4301: Admin Import Data API: Add optional "danger" mode which will skip scheduler disable and job abort. For future use (i.e. sync with external systems).
  • 0e6e4cb1: Delete Server: FIx issue with server sticking in cache after deletion, and also properly updating jobs on deleted servers.
  • b26601e6: Alerts: Write active alerts to recovery data so they survive restarts cleanly.
  • d8cd1378: UI Bug FIx: Clicks on header widgets may get missed if they are redrawn during the mousedown.
  • ff9837c0: Workflow UI: Improve trigger icon titles a bit (for internal / single shot).

Version v0.9.42

January 26, 2026

  • d095f911: Version 0.9.42
  • 6af4f4f2: Install / Upgrade Script: Improve behavior with systemd on Linux. Fixes #86.

Version v0.9.41

January 26, 2026

  • 8d697543: Version 0.9.41
  • 74281729: API Doc: Clarified _tags system tag behavior in search_jobs API.
  • dc983810: Job Tag Behavior: Apply "Has Files" tag if job has input OR output files. See #68.
  • 99dfe560: UI FIx: Show tooltips on all entity names (was not working in Chrome / Firefox). Fixes #85.
  • 27ab6f4c: Install Script: chmod log dir to 775, not 777
  • cdb3195f: Config Doc: Remove excess space.
  • 68ecea9d: Config Doc: Add more details in client.chart_defaults, client.editor_defaults, client.bucket_upload_settings, client.ticket_upload_settings, and client.job_upload_settings.

Version v0.9.40

January 25, 2026

  • b46abb6c: Version 0.9.40
    • Bump pixl-boot to v2.0.2 for improved systemd service behavior.
  • d35f3977: Doc Index: Add link to contrib guide.
  • f2576b2e: Satellite Install/Upgrade: Redesign Linux install/upgrade scripts to be first-class systemd citizens.
  • 53ec3a87: Bug Fix: For fetching storage bucket actions, handle case where bucket data is a top-level array (merge in as "items" property).
  • f3589c26: UI: Fix bucket header icon
  • d592cb28: CSS: Adjust repsonsive classes for compact trigger grid, for new tags column
  • 6542d44f: UI: Tweak icon for New Ticket (change to outline version)
  • 7d8267e9: Feature: Add optional tags and user params to all schedule triggers, for passing onto jobs.
  • c09c45cd: Job Details: Pad chart second timeline to match full job start/end range.
  • e1204943: Bug Fix: Do not allow category to be deleted if workflow job nodes are assigned. Also, include these nodes in the counts on the category list page. Fixes #82.
  • c46e0065: Bug fix: UI crash when saving a bucket without having used the "bucket menu" feature.

Version v0.9.39

January 24, 2026

  • 1acce061: Version 0.9.39
  • 269b3392: Bug Fix: A job triggering a limit with non-email actions cause a full crash. Fixes #81
  • b32e2601: Plugins Doc: Add section on input files for event plugins. Also rename a few sections for TOC clarity.
  • 359fd7db: Doc Viewer: Add table wrapper with scroll-x for mobile.

Version v0.9.38

January 24, 2026

  • a651832d: Version 0.9.38
  • 111e1a05: Web Hooks: Improve test API to better handle text inside inline JEXL function macros.
  • a63f175d: Web Hooks: Properly display core request errors (e.g. "Socket hang up") in markdown details.
  • 51a1d9cc: Setup: Add new "pass" checkbox to stock Shell Plugin.
  • e9791cde: Job Detail Page: On delete job, nav to previous page if one is on the stack.
  • 082a5921: Doc Viewer: Add click on nav to scroll to top, and copy-to-clipboard icons on code blocks.
  • 9e2c2a29: Web Hooks Doc: Improve instructions for setting up Pushover.

Version v0.9.37

January 23, 2026

  • 4c5af9cd: Version 0.9.37
  • 4885ccba: UI: Disable spellcheck in param text fields.
  • d1d8aa10: CSS: Tweak scroll shadows background color for compact table grids.
  • 294a97f2: Event Timing Summaries: Redesign to support date/time locales and 24-hour time.
  • ff972853: Event View: Cosmetic: Set max-height to trigger/action/limit summaries, and add auto-scroll.
  • 7bb4415d: Tweak last day of month summarization format.
  • dd108dfc: Cosmetic Fix: Add proper default icon for tags in drop-down menus.
  • ad29d24b: Job Details: Allow input files to be deleted if source was a user or a plugin.
  • 875eb39d: README: Update docs links to use new official docs website.

Version v0.9.36

January 22, 2026

  • 9ca026ce: Version 0.9.36
  • da6aad5c: Hosting Doc: Added section on external storage, recommending MinIO.
  • a57fa501: Default Config: Set correct values in S3 cache (maxItems and maxBytes)
  • b1a3926a: Bug fix: Preserve Job.now value when re-running a job.
  • 3e7b5adc: Workflows: Pass Job.now timestamp into sub-jobs by way of workflow.now sub-property.
  • a3fa5410: Feature: Add optional "select" parameter to the search_jobs API, to select individual job properties to return.
  • 2e59b097: Feature: Add new "Has Files" system tag to the UI and job searches.
  • 14f61a64: Feature: Add special _files system tag when a job completes and has output files attached.
  • 6b07b7e1: Fix: Deleting files on the job detail screen was not working if the job also had input files displayed. Fixes #67
  • 9df2a6e7: Database Doc: Fix table formatting.

Version v0.9.35

January 21, 2026

  • a2c2bf27: Version 0.9.35
  • 37b17aee: Events / Workflows: When switching Plugins, retain the user's previous param selections (temporarily during edits).
  • 43eea0a4: Keyboard Shortcuts: Add "E" hot key on job detail page, to jump straight into editing event.
  • 75f72eed: Feature: Add "Edit Event" button to job detail page. Collapse the two tickets buttons into one, with drop-down menu.
  • bc1a5808: Hosting Doc: Added section on default SQLite daily backups.

Version v0.9.34

January 20, 2026

  • 26053347: Version 0.9.34
  • 628bd9b8: Feature: "Bucket Menu" allows you to define a plugin or event param with dynamic items that load from a storage bucket.
  • 5490b8e1: Bump pixl-xyapp to v2.0.19 for more robust menu data handling.
  • 5de61eb5: Feature: Show "Tags" column on Event List page.

Version v0.9.33

January 19, 2026

  • e5d07a57: Version 0.9.33
  • c0edb6e7: Remove: Legacy Job Comments feature (replaced by tickets).
  • c6c7f62c: Feature: Implement log archive auto-delete via log_archive_keep config property.
  • 5b53e425: Config Doc: Add client.company property description.

Version v0.9.32

January 19, 2026

  • 440913b8: Version 0.9.32
  • 55106058: Event List: Remove "Clone" link, as it was taking up too much room.
  • b5ca35e4: CSS: Add styles for job media slideshow, and also disabled button.link buttons
  • a0e1ce58: Feature: Media slideshow when job outputs images, video or audio files.
  • d9f8723b: HTTP Range: Fixed another issue with computing the byte range
  • 30526233: Crasher: Fix issue with HTTP Range headers and streaming media hosting.
  • 18be0f61: Cosmetic Fix: Ensure CodeMirror deselects the current text selection on blur.
  • 82e61d4b: Job Completion: if job failed with no output, set description as output (better UX).
  • 0224608d: Event List UI: Fix sorting order issue with some categeories.

Version v0.9.31

January 16, 2026

  • 085918f0: Version 0.9.31
  • f977427c: Workflow UI: Fix display issue with trigger plugins (title not showing).
  • 1b3df7cb: Workflow UI: Set a fixed max height for event/job nodes and enable auto-scroll inside them.

Version v0.9.30

January 16, 2026

  • 29008d5d: Version 0.9.30
  • 89b74e66: Fix: Workflow nodes were not properly rendering JSON and Toolset params in the UI.
  • 2bcf02b9: Event/Job UI: Tweak height of workflow map preview.
  • 76eea070: Workflow Doc: Clarified behavior of workflow user field params passing to sub-jobs.
  • 2e429bab: Marketplace UI: General cleanup, remove console.log, add confetti.
  • 25d236d2: Event List: Change "History" action link to go to job history search, not revision history.

Version v0.9.29

January 15, 2026

  • 0a45c929: Version 0.9.29
  • 506ea86c: API Docs: Add docs for new bulk_search_export API
  • 7aa85df3: Docs: Change array formatting to not use any HTML metacharacters.
  • f0161415: New Feature: Bulk export job, ticket, alert and snapshot search results, in CSV / TSV / NDJSON format, with optional gzip wrapper.
  • a60bf0c4: Admin: Remove comment about unused API (it is now used).
  • 16e2bb3a: CSS: Tweak padding above first checkbox container in form row
  • e4817c0c: Event List UI: Replace "Delete" with "History" in action column.

Version v0.9.28

January 15, 2026

  • 58edcc91: Version 0.9.28
  • dfe967cf: Scalability: Add deboucing for several API in the UI, to better handle large job / queue throughput.
  • 56558c17: Event List UI: Add more options in the actions column. Fixes #53.
  • 363f5b7b: User Settings: Add option to show milliseconds in dates/times. Fixes #52.
  • 6754d723: API Doc: Added query examples to main search APIs.
  • 4fdad845: Docs: Complete Activity.action in data.md and link syshooks to it.
  • 3aeb7d03: API Doc: Remove sentence.

Version v0.9.27

January 14, 2026

  • 773673c7: Version 0.9.27
  • 2e517882: Job Completion: Check for free queue slots on each job complete, to speed up queue item throughput.
  • dab255ca: Alerts: Include server info in alert_new and alert_cleared activity log entries.
  • e872466f: UI: activity_search_map: Add "master_primary" activity ID to "peers" search group.
  • a77fe3e4: Activity UI: Fix issue where alert invocations were not searchable by "Alerts" menu item, and also show copyable ID in dialogs.
  • bbacd45d: CSS: Adjust font size of non-styled code in code_viewer
  • ee4e2346: Comm UI: Only show "reconnecting" progress dialog if a dialog (or code editor) isn't already being displayed.
  • af23237b: api_get_servers API: Drop admin requirement, as this is a read-only API. Fixes #46.

Version v0.9.26

January 14, 2026

  • 3f6f452e: Version 0.9.26
  • 46343258: Multi: Include hostID in notice/critical messages for backup server startup.
  • b1203c52: Satellite Upgrade Script: Unset "__daemon" variable (used by pixl-server)
  • 839df824: Multi: When spawning shell for background commands, remove "__daemon" var (used by pixl-server).
  • bae34ac1: Satellite Upgrade Script: Unset "__daemon" env var so pixl-server properly forks (for non-docker installs)
  • c5082663: Install Script: Improve output, and remove old unused code.
  • 60fb1d02: Comm/Multi: Add sanity checks on websocket data format, in case remote side is still on an older version.

Version v0.9.25

January 14, 2026

  • f70bc7cc: Version 0.9.25
  • e431b11c: Satellite Upgrade Script: Improve logging output.

Version v0.9.24

January 14, 2026

  • ad751b57: Version 0.9.24
  • 09c5da22: UI: Fix color of critical notification banner.
  • 7bb23465: Crasher Fix: Sending incorrect websocket data for notice/critical.
  • 9c99743e: System Hooks Doc: Added note regarding shell_exec running on the primary conductor, and debugging tips.

Version v0.9.23

January 14, 2026

  • 23eebde5: Scaling Doc: Add sections for handling critical errors, and monitoring alerts.
  • 1196139e: System Hooks Doc: Change word.
  • f20a75b7: System Hooks Doc: Add note about creating overdue tickets.
  • ac3e093b: Added note regarding passing query string or POST parameters to the magic API
  • 7f035a66: Version 0.9.23
  • 99cf11d2: Install Script: Disable current version check, in case user wants to reinstall the same version.
  • 684254ef: API Doc: Added note in run_event about overriding event properties, and specifying tags.
  • 028604c1: Wrote: System Hooks doc.
  • 5d0504f1: System Web Hooks: Remove legacy configuration properties.
  • 0e5efaaf: Multi-Server System: Improvements to background upgrades and remote command notifications.
  • d0af5b96: Mailer: New "activity.txt" email template for system hook activity email reports.
  • b58f2e20: Mailer: Look in both conf/emails/ and sample_conf/emails/ for templates, as new ones may be introduced.
  • 67e1c144: WebSocket Comm: Add support for notice, error, warning and critical activity log entries from remote servers.
  • 6e948095: System Hook: Major improvements to shell exec, add "email" and "ticket" system hook actions.
  • 9ee9be20: UI Config: Add "critical" activity type, and fix icon for warnings.
  • c2a1cdbe: Activity UI: Add display and filtering support for general notices, warnings, errors, and criticals.
  • 3a1035f8: Dynamic copyright string with configurable company name.

Version v0.9.22

January 12, 2026

  • 832f698a: Version 0.9.22
  • ffeffa99: Self-Upgrade System: Change log filename to "background.log" for background upgrade commands (WIP).
  • 66044bfc: UI: Page Descriptions: Prevent flickering on some pages when server sends data updates.
  • f0d4ee04: Satellite Upgrade: Tweak debug log levels slightly, for more info on standard level 5.
  • a0311375: Self Upgrades: Add retries with exponential backoff for upstream GitHub requests, as they randomly fail sometimes.
  • 862c6741: System Upgrade Dialogs: Save release and stagger selections in user prefs.

Version v0.9.21

January 12, 2026

  • 55131169: Version 0.9.21
  • 3dd571d9: Marketplace: Show plugin installed status (up-to-date, outdated, not installed) on the marketplace listing page. Fixes #40.
  • 60d0e0af: Fix: Satellite and Conductor upgrades fail if any version other than "latest" is selected.
  • 2d564d3d: README: Change main heading text.

Version v0.9.20

January 11, 2026

  • 29822dc0: Version 0.9.20
  • f8d153b5: Fix: Flickering dialog issue when waiting for conductor server election.
  • 84160de2: Conductor Page: Add "Remove" link to remove dead / ghost conductor servers.
  • 437f2090: Marketplace Improvements: Allow filtering by plugin type, and also display plugin type in the search results, and on landing pages.
  • 63b45f60: Marketplace Doc: Added "plugin_type" metadata property.
  • 5bf7ab89: UI: Improve styling of links in workflow controller description blocks.
  • 21e4e6d8: UI: Added links to docs in workflow controller descriptions.
  • ba2f6054: Data Structures Doc: Indicate that IDs must be lowercase alphanumeric.
  • 41312f0f: Plugins Doc: Added note re: use of secrets in the HTTP Request Plugin.

Version v0.9.19

January 10, 2026

  • 0613740a: Version 0.9.19
  • 74c3cd08: create_plugin API: Ensure plugin has an "enabled" property.
  • 43baa589: API Change: Ensure all object IDs are lower-case alphanumeric + underscore only.
  • b544050d: Marketplace Doc: Typo fix: Missing "enabled" property in sample exported plugin.
  • b3fd4371: Fix: Export PATH variable in control.sh and container-start.sh, so it properly propages out.

Version v0.9.18

January 10, 2026

  • b13d9fb2: Version 0.9.18
  • 9f51b256: Fix: Move uv/uvx binaries to a standard PATH location

Version v0.9.17

January 10, 2026

  • 4cca9969: Version 0.9.17
  • fb1973cb: Plugin API: Two new APIs: test_monitor_plugin, and test_scheduler_plugin.
  • 3d6b2f69: Run Event API Validation fixes...
  • 0cfe00f9: Server Connect: Initialize server.info.features if not passed in by remote server.
  • 44796069: Scheduler: Support for testing scheduler (trigger) plugins, and tweak env vars...
  • 0177dc40: Socket Comm: Improve debug logging, support for new monitor plugin test
  • 64705207: Action Plugins: Changes to env vars and output formatting...
  • 74c25452: Sanitize HTML Config: Allow "class" attrib on pre and code tags
  • 853baddb: Plugins: Big Change: New "Test" button, to test all 4 plugin types!
  • ae3637d9: Revision Dialogs: Fix icon spacing.
  • d79cd6f9: Job Detail: Add action popup, and a markdown style fix...
  • f7726670: Event Revision Dialog: Fix icon spacing.
  • aee19f03: Fix getNiceAPIKey, and changes to viewMarkdownAuto...
  • 3e1653c5: Allow CodeEditor to show progress dialogs on top of standard dialogs.
  • b01e5b8f: style.css: Add new styles for using ex_tree for testing monitor plugins.

Version v0.9.16

January 8, 2026

  • 742c66c5: Version 0.9.16
  • cd003411: Fix: Properly handle case when satellite reboots while jobs are running.
  • f3e72b2a: Fix: Socket ping death logic was not happening due to a typo

Version v0.9.15

January 8, 2026

  • d4802698: Version 0.9.15
  • 266b7295: Fix: Crasher race condition when workflow is aborted on start due to event being disbled at the same time. Fixes #34.
  • d6d2f49b: Test Event: Allow user to disable ALL actions and limits, even inherited ones -- for test jobs only.
  • 6f1c4aa6: Marketplace: Tweak button style depending on installation status.

Version v0.9.14

January 7, 2026

  • f7317db0: Version 0.9.14
  • 16ebe454: Predict Upcoming Jobs: Support Trigger Plugins as modifiers
  • 4eed0802: Marketplace: Add colors to status item
  • 2dd310cc: Fix: Group Process search feature crashing on user input
  • 124648df: Config: Drop default satellite.config.debug_level to 5
  • 95c3b04e: Changelog: Tweak styling of git hash links
  • 53c6897b: Changelog Generator: Add more smarts

Version v0.9.13

January 7, 2026

  • df79e544: Version 0.9.13
  • 54ed78ec: Job Detail Page: Only show "Run Again" button if job has an event, and event still exists.
  • b1238b4a: Fix: Crasher bug when "Delete Event" action is used.
  • 7054659c: System: Tweak color of test email success dialog title.
  • 6b66b77b: Cosmetic: Fix plugin dependency markdown list when multiple types are present.
  • 2db9ccf2: Feature: Send test email from system page.
  • f27382d3: Self-Hosting Guide: Added a bind mount for the conf directory in the sample docker compose.
  • b7780755: Tickets: Drop email send debug level to 5
  • 873f9186: Fix: Descending date sort not working due a typo
  • 8c7092f1: Config Doc: Add Fastmail SMTP setup example

Version v0.9.12

January 7, 2026

  • 90c50441: Version 0.9.12
  • 23ad69ea: Marketplace: Try to "fix" inline image URLs in product READMEs, if they are relative links.
  • ff812086: Marketplace: Show "Visit Repo..." button on product details page.

Version v0.9.11

January 6, 2026

  • c70ccb60: Version 0.9.11
  • 2d6b1e60: Add user content to job success/fail emails.
  • 27d5f37a: Suppress upgrade finish notifications, as the operations run in the background
  • acd75a96: multiSetup: If current hostID is not found in master list, add it back in (and log a loud warning)

Version v0.9.10

January 6, 2026

  • 1ed33019: Trigger Plugin: Include STDOUT in level 9 debug log entry
  • fa9ec911: Version 0.9.10
    • Bump pixl-request to v2.5.0 for retry delay feature
  • e21a2aa0: Improve UX for updating or upgrading plugins.
  • bdbbd927: Fix bug where "negative" Cronicle list pages were not imported.
  • fdf4a689: Marketplace: Use exponential backoff for proxy request retries.
  • 8a5b7187: Marketplace: Add retries to origin API proxy requests

Version v0.9.9

January 5, 2026

  • d8ab7cba: Version 0.9.9
  • 6a7cedf2: Improved user notification for saving / deleting plugins.
  • 7e3cb287: Added a note on using job data in web hook macros
  • 9b32d067: Wording
  • 6a4e4ee9: Added note regarding using an actual hostname that resolves on your network
  • 7e7141db: Fix cosmetic issue where server group list is rendered incorrectly (rogue "true" is displayed instead of the comma separator).
  • 575aabd0: Fix issue where quick-added tag isn't added to the menu right away.
  • 501cefa0: Fix issue with cloning events, where plugin resets back to shell. Fixes #22
  • 91913653: When jobs change, sync all data to master peers right away (don't wait for next tick).
  • 22316a23: Add blurb on starting xyops automatically on server reboot
  • 323a0aa4: Fix issue with load avg display when zero, and page desc disappearing when info refreshes
  • b50e99f2: Add python3-setuptools to apt-get install (for sqlite3 install)
  • 3374f073: Added note regarding compiler tools for manual install

Version v0.9.8

January 4, 2026

  • 3ea5db82: Version 0.9.8
  • a157333a: Add docker-compose YAML for quick-start
  • 446e30ac: Setting config prop satellite.config.host will now override the satellite bootstrap install one-liner command.
  • 3fed6b81: Fix: Crasher when getJobHookData is called with a completed job (i.e. via ticket template fill)
  • 3ba8578b: Bump pixl-tools to v2.0.1
  • dd835cd8: Implement Plugin Marketplace!
  • ee2db7a2: Fix: Combine jobDetails with job data in getJobHookData, so actions can have access to job output data.
  • 686415af: Move validateOptionalParams out to api.js, so other APIs can use it

Version v0.9.7

January 2, 2026

  • 340ff1b5: Version 0.9.7
  • 74ee1ec6: Rewrote Docker setup instructions for handling config files
  • 1afc5f1a: Automatically copy over sample config on launch, if needed (i.e. for bind mounted config dir)
  • 21a93784: Change default secret key

Version v0.9.6

January 1, 2026

  • 9b290a68: Version 0.9.6
  • 82db8c1e: Bump pixl-xyapp to v2.1.18 for some mobile fixes.
  • a9840a8f: Configuration: Add preliminary marketplace config (WIP)
  • 536aa2d7: Fix reset buttons and A/V sliders on mobile.
  • 7dd5ae59: Fix edit buttons on mobile across multiple pages.
  • f168e785: Fix A/V adjustment sliders on mobile
  • 4a6fa1d4: Event Editor: Tweak trigger table for mobile
  • a8d6adb5: Event Editor: Tweak buttons for mobile
  • 16e27cf0: Hide box button floater on mobile
  • f5a55e90: Fix compact table buttons and empty rows on mobile
  • e49f5df4: My Settings: Escape key will reset AV adjustments
  • 17fb7302: Doc index: Tweak wording a bit.
  • 5c835cd1: Correct location of unit test logs.
  • 86aa8169: Tweak wording for hljs in colophon.
  • ec557639: Fix a couple of typos in the hosting guide.
  • a297361e: Reworded the "coming soon" professional service offerings.
  • e9106b0e: Added "coming soon" labels on the upcoming cloud and enterprise offerings.

Version v0.9.5

December 31, 2025

  • 3388e85c: Version 0.9.5
  • 2ca51624: Fix issue where files could arrive without being uploaded.
  • c23a0758: Reconfigure local satellite to connect to hostID, not "localhost" (breaks xyRun)

Version v0.9.4

December 31, 2025

  • 85a9875d: Version 0.9.4
  • 19d0458a: Fix: Toolset fields need to support new JSON type, and number variant
  • 22e0b7ec: Run as root inside the container, so we can access /var/run/docker.sock
  • 08060b78: Fix issue where conductor self-upgrade sleeps for full stagger amount even if no other servers were upgraded.

Version v0.9.3

December 30, 2025

  • d341dee3: Version 0.9.3
  • 349d71ea: Added docs on new JSON parameter type, and clarification on number parameter variant parsing behavior.
  • 715f3c78: Added changelog, with auto generator script.

Version v0.9.2

December 30, 2025

  • 029a96ae: Version 0.9.2
  • 0ed4aaba: Cleanup internal job report, so markdown list doesn't break
  • aa9caa8c: Tweak directory permissions, for self upgrades to work properly.

Version v0.9.1

December 30, 2025

  • d1c00fc5: Version 0.9.1
    • Add auto-changelog dev dep
  • 094f785b: Add JSON param type, and also parse number variants as numbers.
  • 6cfd035f: Fix typo in macro expansion example
  • 381f8bb4: Add debug logging to api_get_master_releases
  • 23af35b4: Tweak column names
  • ed9e1b20: Add icons to table
  • 9db61dc6: Add default search presets to stock admin account
  • 7864a844: Conductors page: Only call addPageDescription on onActivate, not every call to render_masters

Version v0.9.0

December 29, 2025

  • Initial beta release!