- Allow user to optionally include matching events
- Fixed documentation on matching events in multi condition
- Support for switching slugs to connect to controller via gateway
- Support passing in controller job id to server so it can build Job URL
- Fix log level for websocket
- Support for vaulted variables
- Support for string interpolation from encrypted variables
- Added aiobotocore package needed for our SQS plugin
- Job template, workflow template, module and playbook output facts/events using banner style
- ssl_verify option now also supports "true" or "false" values
- Support for standalone boolean in conditions
- Add basic auth to controller
- Use token for websocket authentication
- skip-audit-events to disable sending audit events to server
- restrict drools async connection to localhost
- Generic print as well as printing of events use new banner style
- Support a base path for the controller url
- Job_template and workflow_template actions honor custom hosts limit
- Upgraded to 0.3.8 of drools_jpy
- Add missing watchdog dependency
- support for firing multiple rules
- bug fix in run_workflow_template
- rulebook and Drools bracket notation syntax
- new action called run_workflow_template
- Add source plugins best practices to the documentation
- Minor documentation fixes
- Fix an issue where rule_run_at field is not send to the websocket
- Don't try to connect with AWX when no run_job_template action is used
- Limits the number of simultaneously open connections to controller to 30
- Fixes a wrong 401 response from AWX when 443 port is present in CONTROLLER_URL (#554)
- Remove official support for Python 3.8
- Sending heartbeat to the server with the session stats
- Added command line option --execution-strategy
- Rulesets in rulebook can have execution_strategy attribute
- In a collection look for playbook in playbooks directory
- Support .yaml and .yml extension for playbooks
- Retract fact for partial and complete matches
- Checking of controller url and token at startup
- rule_uuid and ruleset_uuid provided even when an action fails
- Drools intermittently misses firing of rules
- Resend events lost during websocket disconnect
- Support for default_events_ttl at ruleset level and globally
- Added --websocket-ssl-verify
- Support singular event_source and event_filter in collections
- Find job template by name
- Support all file formats for static inventories as ansible does.
- Support for controller url via env var EDA_CONTROLLER_URL
- Support for controller token via env var EDA_CONTROLLER_TOKEN
- Support for controller token ssl verify via env var EDA_CONTROLLER_SSL_VERIFY
- Support for bulitin filter eda.builtin.insert_meta_info added to every source
- actions in different rules to run in parallel
- actions within a single rule to execute sequentially
- comparing 2 different attributes in the same event
- select with search option on delayed evaluation
- Scheduled workflow and split long-run tests
- Ansible_eda top key in variables
- Temporal use cases and handle async responses from Drools
- Time constraints in rules schema
- group_by_attributes
- Support multiple actions for a rule
- Support for search/match/regex
- Support for graceful shutdown, timeout to allow actions to complete
- Removed the echo command in favor of debug with msg
- Support for null type in conditions
- Support Jinja2 substitution in rule names
- Support booleans in lists, which can contain mixed data types
- Support for identifiers in select and selectattr
- get_java_version, add compatibility with macs and tests for check_jvm
- selectattr operator with negation using greater/less than operators
- select operator and comparing ints and floats
- Preserve native types when doing jinja substitution
- Inventory argument to the CLI is optional
- select works with null
- a race condition between threads in drools rule engine
- Redis and durability
- envvar for rules_engine
- Support for vars namespace
- Support for negation
- Support for Floats
- Log format and set the log stream for debug/verbose
- A builtin action : echo
- Cmdline option --print_events
- New action: run_job_template
- Support for in and contains in condition
- Add more info to --version flag
- Add EDA prefix to environment variables
- Enable drools for python 3.11
- Combine hosts when running a module
- Combine the same playbook on multiple hosts
- Schema validation for empty additionalProperties
- Drools dependency for python3.11
- Remove the temporary directory
- Configure controller API access
- Switch the default rules engine back to drools
- Print help if run without arguments
- Removed durable rules
- Remove call_action
- Removes get_facts
Update minimal python version Improves error messages for unhandled events
- get_facts for now
- Job details for eda-server usage
- add arg to install devel collection
- Duplicate para after merge
- Shutdown action and add test for it
- Always log each retry
- Disable gather facts
- Don't use {{ }} in conditions
- Adds support for non-async event plugins using put_nowait
- Support storing facts per host
- Cmdline --rules to --rulebook
- Lookup directory to rulebooks in collections
- Rename assert_fact to set_fact
- Support for any and all conditions
- Log every run_playbook or run_module retry
- Multiple operator expressions
- Rename ansible-events to ansible-rulebook
- One shutdown event stops all rulesets
- Run each ruleset in a separate asyncio task
- Quotes around is defined
- Worker mode
- Allow to rerun a playbook on failure
- Plus syntax of is defined
- An error msg
- Support for executing ansible modules as part of action
- Support to post_event for Drools
- Support var_root in multi events
- Support for embedded spaces
- Sending ansible events as they are received
- Error handling for the websocket connection
- Use a dictionary for var_root with the old key: new key
durable-rules
adapter invoking a REST service- Support events in print_event
- a bug in non string type in facts
- event_filters folder under ansible_events
- Or operator
- Fact namespace to variable lookup
- Add operator
- json_mode option for run_playbook action
- Coroutine based event sources
- Async sources of hosts and range2
- Argument for post_event to event
- Websocket event log
- Converts actions to async functions
- Error message for missing rules
- Collection support
- Schema for the ruleset files
- Support for multiple sources
- Back plan
- Variable substitution to list args
- Greater than operator to conditions
- Copy files and fixes post_events
- Support for comparing events and facts
- Booleans to condition parser
- Lists_to_dicts
- Event_filters
- Log scraper
- Multiple hosts tests
- Rules to a optional argument
- Flushes standard output
- Project structure
- Initial version of rule engine
- Tests for multiple and statements
- Support for enabled flag on rules
- Event source filters
- Fact as synonym for event in conditions
- Fact assignment in conditions
- Dpath to value access
- Check for size of dictionaries due to durable rules limitation
- Support for multiple conditions
- Support for 'is defined'
- Docopt to test requirements
- Dpath to requirements
- Rule parsing test
- Asserting facts from ansible facts
- Assert_facts option to run_playbook
- Pass by value in substitute_variables
- Support substituting variables in dictionaries
- Support for matching all to inventory
- Performance tests
- Variables and facts to actions
- Support for host-specific rulesets
- Example rules
- Cli
- Requirements
- Filters with no args
- Typing
- URL on pypi
- Types
- Fact to event in conditions
- Glob to var_root
- Host_ruleset to ruleset in ActionContext
- Generate_rulesets to generate_host_rulesets