Release 1.17.3
2026-05-29
Improvements
- Improved recognition of duplicate embedded media assets in Storyline packages
- Improved early recognition of media assets that have a duration shorter than is defined by the
TRANSCRIPTION__MINIMUM_AUDIO_DURATION_MSsetting
Bug fixes
- Fixed a bug in Captivate parser that prevented text parsing of VR-style packages
- Corrected issue with some MPX content imported on or after v1.16.0. This issue would prevent the return of VTT-formatted text output, and incorrectly combined timestamp locations of video content. Affected should behave correctly normally after the upgrade to 1.17.3.
-
Bug fixes for Storyline parser
Release 1.17.2
2026-05-15
Improvements
- Improved import performance of Storyline and Captivate packages
- Improved recognition of packaged content authored by tools: Go1, OpenSesame, Trivanis Lectora, Brainshark, iSpring Suite
- Improved recognition of dispatch and proxy packages
Bug Fixes
- Various bug fixes for Captivate and Rise parsers
- Fixed issue that prevented imports of zip packaged with unexpected filename casing
Release 1.17.1
2026-05-05
Improvements
- Improved error messages when importing packaged content from recognized, but unsupported tools
Bug Fixes
- Corrected log message when unable to determine version of Intellum Evolve package
- Corrected handling of hidden files in unzipped packages
- Fixed occasional database race condition when importing content
- Various bug fixes for Storyline and Captivate parsers
Release 1.17.0
2026-04-22
New Features
- Adds support for parsing interactions to DominKnow content packages
Improvements
- Improved error handling when imported elearning package is not a zip file
- Performance improvements around parsing of Storyline packages
- Improved recognition of and parsing support for embedded videos in Storyline packages
Bug fixes
- Fixes bug that resulted in some parsed interactions not being included in returned text
- Corrects handling of embedded media with invalid URLs
- Account for zipped packages that use the backslash as the file separator
- Fail the import job when no meaningful text is found for a given course
- Various fixes for EasyGenerator, LetterAI, Rise, Captivate, Storyline, and DominKnow parsers
Security
- Corrected a logging vulnerability where sensitive connection strings for the database could be exposed during the handling of certain errors. In an abundance of caution, we recommend rotating the database password used as the value of the DB__PASSWORD environment variable after updating to this version.
Release 1.16.0
2026-04-03
New Features
- Introduces parsing support for iSpring Cloud packaged content
- Introduces parsing support for Articulate Storyline version 2 packaged content
- Adds support for parsing interactions to EasyGenerator content packages
Improvements
- Significant performance improvements added to the Storyline parser
- Improved recognition of button-style interactions for Captivate content
- Significant performance improvements around handling of AWS Transcribe tasks
- Improved LLM model validations in
health/check_up - Improved text parsing of VTT assets for the generic ELEARNING parser
- Improved handling of AWS rate limit errors
- Improved recognition of video transcripts in Intellum Evolve content packages
Bug fixes
- Fixed handling of unsupported characters in parsed locations and text
- No longer follow and attempt to parse text from unsupported embedded links
Important Note: Schema changes
Required for Self-Hosted installations of Generator
In a recent maintenance release of Generator, we added some protection during the start-up process to verify that the application's database schema has been updated to the correct version. Today's release is the first since then to include a schema change. Because of this, you'll need to perform the new version's schema migration process before deploying the containers with the new version. Otherwise, the application will terminate before starting due to the outdated database schema.
Release 1.15.1
2026-03-11
Improvements:
- Improved trace logging around the import process
- Added verification to ensure the database schema is up to date before the application starts
- Included troubleshooting tool
Bug Fixes:
- Fix a bug that could cause parsing a large PDF to lock up a worker thread
Release 1.15.0
2026-03-06
New Features:
- Introduces the GENERATION__TRANSCRIPTION_TIME_LIMIT_SEC configuration setting, which can be used to prevent imports of course packages with many media assets. Generator aggregates the cumulative duration of embedded media assets in an elearning package, and it will reject course imports if the total media asset duration is greater than the defined value. Serves as a breakpoint for cost limitations.
- Expanded Gomo parser to support parsing of embedded static HTML sites and embedded media assets hosted on Brightcove
Security:
- Corrected a logging vulnerability where sensitive connection strings for the MQ broker were exposed. We recommend rotating the MQ password used as the value of the
QUEUE__PASSWORDenvironment variable after updating to this version.
Improvements:
- Database performance improvements around task processing
- Added detail to logs around the content import process, removed redundant logging
Bug Fixes:
- Updates Storyline parser to handle unexpected unicode characters
- Corrects comparison of Storyline variables when the variables have different types
- Fixes bug that prevented recognition of certain embedded audio assets in Captivate parser
- Improves handling of unexpected data types for Storyline, Captivate, and Intellum Evolve parsers
Release 1.14.2
2026-02-24
Improvements:
- Significant database performance improvements around storing and reading parsed content text
- Performance improvements when importing content with multiple embedded media assets
Bug Fixes:
-
Fixes a DB constraint issue caused by faulty recognition of duplicate content
Release 1.14.1
2026-02-20
Improvements:
- Significant database performance improvements around task processing
- Allows user configuration of message broker timout
- Configure message queue to prioritize tasks for jobs that have already started
Bug Fixes:
- Improvements to the Storyline and Captivate content parsers
-
Improved error handling around malformed or missing embedded PDF media
Release 1.14.0
2026-02-17
New Features:
-
Adds an
include_interactionssetting to the TextObjectStore configuration to specify whether Generator should include parsed interactions in the text exported to a configured text object store.
Release 1.13.0
2026-02-12
New Features:
- Adds an
include_interactionsquery parameter to the/textendpoint, allowing interactions to be optionally included in the test response.
Bug Fixes:
- Gracefully handles file traversals when embedded media files do not exist
- Capped filename to prevent long filenames failing content import
- Fixed various bugs handling unexpected data in Storyline and Captivate parsers
- Fixed bug allowing for the creation of locked credentials
Release 1.12.0
2026-02-03
New Features:
- Adds recognition of LIKERT interactions in Gomo content
Improvements:
- Significant improvements to Captivate and Gomo parsers around location recognition
- Generator now attempts to recognize previously transcribed media files in order to prevent transcription duplication
- For import jobs that use a configured text_store, the job results schema includes a text_object_store_uri property that indicates where the text was place
- Improved error messages on failed import jobs caused by Generator parser
Bug Fixes
- Fixed issue with Captivate parser that incorrectly included internal-use GUIDs in the parsed text
- The 'check_up' endpoint will no longer attempt to check LLM access if the LLM__USAGE_ENABLED setting is False
-
Fixes a parsing but for Storyline content
Release 1.11.0
2026-01-07
New Features:
- Adds parsing support for LetterAI content
- Exposes API endpoints that can be used for application health validations:
- health/check_up provides a expansive health report, with indications of health across services and components of the Generator application
- health/heartbeat can be used as a simple health report. If this endpoint returns a 200, the service is running. This endpoint isn't intended for an overall indication of application health. Rather, it is intended for use with automatic health checks (as with, for example, load balancers).
- Adds Claude 4.5 Haiku as a supported model
- Adds support to configure a separate DB connection for each tenant. With this configuration, a tenant's data, including parsed text and generated metadata, is isolated in its own database. Generator's default database will store only system-level database information necessary for application functionality. This configuration is available only to self-hosted instances of Generator.
Improvements:
- Improves clean up of Rustici Engine resources as part of a Tenant Data Deletion job
-
Adds support for MQ brokers running engine versions 4+
Release 1.10.0
2025-12-16
New Features:
- Added a new configuration setting
IMPORT__TEXT_OBJECT_STOREto store extracted content text in S3 - Added a new configuration setting
LLM__USAGE_ENABLEDto disable all LLM/ML features, including metadata generation, video transcript improvements, and semantic search
Improvements:
- Clarified API response when no relevant skills or keywords exist in a taxonomy.
- Made improvements to our question generation
- Made improvements to our Storyline parser
- Improved text reuse logic to now reparse recognized elearning content if imported after a version upgrade.
- Updated the taxonomy import jobs to support automatically configuring the relevant setting
Bug fixes:
- Fixed a bug that allowed content to be viewed from the API before the import process was complete
- Fixed an issue where failed content imports could leave artifacts in the database
-
Fixed inaccurate values for
is_correctfor interactions in Rise courses
Release 1.9.0
2025-11-14
New Features:
- Adds support for parsing interactions from Gomo and Captivate packaged content
- Adds configuration that can be used to disable authentication requirements in the Generator API and Subscription messages. Configurable for self-hosted installations of Generator.
- Introduces support for Keyword Taxonomies. The
/jobs/taxonomyhas been updated to support importing both SKILLS and KEYWORDS taxonomies. A new configuration setting calledGENERATION__KEYWORD_TAXONOMYhas been introduced that determines which taxonomy should be used when generating KEYWORDS metadata.
Security:
- Introduces configuration values that enforce password complexity. Settings can be used to enforce requirements around password length and the presence of numbers and uppercase, lowercase, and special characters. Configurable for self-hosted installations of Generator.
- Adds support for nonce validation on API requests. Configuration values determine whether or not nonce validation is enforced and the level of tolerance for the nonce timestamp. Configurable for self-hosted installations of Generator.
- Introduces credential lockouts as protection against password-spraying and brute force attempts. Configuration settings determine the number of failed login attempts before locking the account and the number of minutes the credential remains locked. Configurable for self-hosted installations of Generator.
Deprecation:
- The
csv_skill_col_nameparameter on the/jobs/taxonomyendpoint has been renamed tocsv_col_name, as the endpoint has been updated to work with both SKILLS and KEYWORDS taxonomies. Requests using the deprecated namecsv_skill_col_namewill still be accepted.
Improvements:
- The API now includes a 'last_token_generated' timestamp in a Credential's schema
Bug fixes:
- Fixed parsing bugs in EasyGenerator and Articulate Rise360 content
- When AWS credentials aren't provided in an Engine Integration configuration, the app will use the default provider chain to access alternative credentials.
- The ID property for Credential resources is no longer mutable.
Release 1.8.0
2025-10-22
New Features:
- Introduces a Data Deletion job that clears data from the specified tenant.
Bug Fixes:
- Fixes various parsing bugs for Storyline packaged content text and interactions
- Fixes handling of optional parameters in job request schemas that caused import and generation jobs to become stuck in the QUEUED status.
Documentation:
- Fixed issue causing documentation to be unintentionally cached in user's browser. If you've visited the User Docs (https://docs.generator.rusticisoftware.com) before, please visit https://docs.generator.rusticisoftware.com/refresh.html to make sure you have the latest updates.
Release 1.7.0
2025-10-01
New Features:
- Introduces support for parsing "Interactions" from packaged content. At this time, Generator will parse interactions in packaged content authored by Articulate Storyline, Articulate Rise360, and Intellum Evolve.
- Introduces an
include_detailsquery parameter for theGET /api/v1/contentendpoint. Iftrue, the response schema will includecontent_detailsproperty for all returned content. Default value:false. - Introduces an "enabled" property for tenant resources. When a tenant is disabled, the API will reject API requests that update resources within that tenant. All POST, PUT, and DELETE requests involving a disabled tenant or its resources will be rejected with a
409 Conflictresponse.
Improvements:
- Improved recognition and correction of mistakes from our transcription service
- Improved performance when parsing file imports
- Improvements to cue duration and formatting of generated VTT files
Bug Fixes:
- Fixes errors during VTT and MPX imports.
- Fixes incorrect error handling when attempting to PUT or PATCH Engine integrations with an invalid tenant
- Fixes various parsing bugs for Storyline, Rise360, and gomo packaged content
- Corrects handling of VTT files without optional hour segment in cue
Release 1.6.0
2025-09-05
New Features:
- Expands tool support for the 'authoring_tool_version' property in the Content Details schema to include Intellum Evolve, Articulate Storyline, and dominKnow content.
- Introduces the 'output_language_code' property as a customization option for field generation jobs. This property accepts a language code and will influence the generated field values. Current support includes 'en-US' and 'en-GB'. The default value for the field is 'en-US'.
- Introduces a 'field_generation' property to the import job request schema. This adds more customization options to the field generation jobs that can be initiated as part of a content import job. This new property deprecates the previous 'fields_to_generate' property. See 'Deprecation Notice' below for more information.
Improvements:
- Improved parsing performance for elearning packages
- Updated the default generation model Claude Haiku from version 3 to 3.5
Bug Fixes:
- Fixes bug that caused import and field generation jobs to fail when the job requests specified a 'model' parameter
- Fixes bug around how generator detects text encoding when parsing files.
- Fixes various parsing bugs for Articulate Rise 360 content
Deprecation Notice:
- The Content Import Job schema's 'fields_to_generate' list property is now deprecated. Going forward, users should use the new 'field_generation' schema property, which offers more customization options for field generation jobs kicked off as part of content import jobs.
Release 1.5.0
2025-08-27
New Features:
- Adds parsing support for EasyGenerator content
-
Introduces the 'authoring_tool_version' property in the Content Details, which will record the version of the tool used when building the content package. Currently supported for Adobe Captivate content. Support for additional authoring tools is upcoming.
Improvements:
-
Expands dominKnow parser support to recognize the Speech Bubble element type
Bug Fixes:
- Correct handling of failed Metadata Field Generation jobs when run as part of a Content Import job. The failed metadata generation task will no longer cause the Content Import job to fail; rather, the failed task will be noted in the 'warnings' property of the results schema for the Content Import job.
Release 1.4.0
2025-08-05
New Features
- QUESTIONS metadata can be set for learning content using the
PUT /api/v1/{content_id}/versions/{version}/fields/{field}endpoint - Introduces a 'content_details' object that defines existing metadata properties about the learning content. 'content_details' is itself a property of the course schema, which is returned from the API endpoints
GET /api/v1/content,GET /api/v1/content/{content_id}/versions, andGET /api/v1/content/{content_id}/versions/{version}. - Introduces a 'length' value in the 'content_details' property that specifies how many elements are presented as part of the course. Attempts have been made to make the property name correspond to file type/tool terminology. For example, 'content_details' for PDF content will define the number of "pages", whereas 'content_details' for Articulate Rise360 content will define the number of "lessons" in the course.
Bug Fixes
- Fixes bug in Adobe Captivate and Articulate Rise parsers that caused text from embedded media files to be ignored when getting the content text
- Corrects issue that prevented recognition of certain dominKnow content
- Fixes bug that prevented API updates to configuration list properties
- Corrects handling of case-insensitive Tenant names when validating incoming Engine Integration webhooks
Improvements
- Improves support for setting QUESTIONS metadata using the API
- Significant improvements to the gomo and Articulate Rise parsers
Security
- Lowers the default expiry for the API bearer token to 60 minutes
Release 1.3.1
2025-07-24
Bug Fixes
- Fixes case where deleting a system-level resource could potentially delete a tenant-level resource with the same resource ID.
- Removes limit on the length of a text location
- Fixed parsing issues around dominKnow, Articulate Rise360, and Intellum Evolve content
Improvements
- Generator's support for Adobe Captivate content has been expanded to support Adobe Captivate 23
- Implemented connection pooling for queue broker connection
- Updated API documentation around configuration cache behavior. PUT
/api/v1/content/{content_id}/versions/{version}/fields/{field}will include aX-Config-Propagation-Delay-Secondsheader to specify the maximum cache expiry delay.
Release 1.3.0
2025-07-15
New Features
- Adds a new setting 'ENGINE__MP4_CONFIGURE_VTT' that determines whether or not Generator should update the course's Engine data with a generated .vtt file.
- Adds a new setting 'AWS_OVERRIDE_BEDROCK_ENDPOINT_URL' that will determine where Generator should redirect it's AWS Bedrock' requests.
- Adds support for phrase searching. When a multi-word search term is surrounded by quotation marks, Generator will respect the order of the search term words when finding location text matches.
- Added optional behavior to temporarily cache imported course files for easier troubleshooting. Enabled by default on Rustici-hosted installation
Improvements
- Add a warning about accidental overwrites to direct import results if an Engine integration exists for the same tenant
- Improved handling of course import failures during Engine Imports jobs
- Improved performance of Questions metadata generation.
- Improves precision of error messages around S3 import issues
Bug Fixes
- Search requests that contain only 'stop words' will be rejected before performing the search
- Fix validation check that could have allowed a taxonomy overwrite if multiple 'Import Skills Taxonomy' jobs were run at once.
- Fix bug where system-level webhooks were ignored in favor of tenant-level webhooks.
- Fixes support for AICC content imported via an Engine webhook or integration.
- Various parsing improvements with imported Storyline, Captivate, and Rise content
Release 1.2.0
2025-06-19
New Features:
- Adds support for parsing embedded mp3, mp4, and PDF media in Adobe Captivate content
- Adds support for parsing embedded mp3 and mp4 media in Storyline Rise 360 content
Improvements:
- Large scale improvements to Storyline parsing support:
- Expands parsing to catch alt text defined for SVG images
- Improves parsing for courses with unconventional sequencing rules
- Introduces a new `source` property to the EngineIntegration schema that clarifies at what level the integration is defined. Options include 'tenant' or 'system'.
- Expands Intellum Evolve parsing to better support nested content and cases where course elements have no defined child elements
- Improves description of errors encountered when performing S3 imports
Release 1.1.0
2025-05-29
New Features:
- Generator will now parse PDF Resource files when importing Storyline content.
- Generator can now import and parse Intellum Evolve packaged content. This support includes the recognition and parsing of embedded PDF documents.
Bug Fixes:
- Fixes a bug that caused inconsistent Semantic Search results across different environments. Content text is now consistently vectorized, which results in consistent search results.
Improvements:
- Improves recognition of duplicate content text across imports
- Improves performance of accessing and parsing S3 content
- Improves consistency of accessing web content
- Improves error handling during course import
Release 1.0.5
2025-05-22
Bug fixes
- Corrects handling of lexical searches that are performed before any content imports
- Updates Generator's content parsers to be more flexible in handling unexpected data properties
Release 1.0.4
2025-05-20
New Features:
- Introduces a new FIELD search type that works against generated metadata.
- For LEXICAL searches WITHIN a course, introduce a query param that would additionally return the matched term
- Introduces Content Tags, which can be used to organize your imported content.
- Tags can be used to filter the content included in searches through the 'tag_id' query parameter
- Tags are managed through the '/api/v1/tags' API methods
- Tags can be assigned to an imported course by using the `PATCH /api/v1/content/{content_id}` endpoint. Example body:
- `{ "tags": ["tag1", "tag2", "tag3"] }`
Bug Fixes:
- Generator had previously been overwhelming the AWS Guardrails, which had caused a cascade of downstream errors. Generator will now handle Guardrails retries more gracefully.
- Corrects handling of files with no explicit file extension
- Corrects handling of non-standard content imported via an Engine integration
Improvements:
- Improve the spread of content covered by generated Questions metadata
- Improved communication when Generator is unable to communicate with third-party systems
- Improved request validations before performing search
- Expands SFTP private key support to include ed25519 and ECDSA keys
- Improves parsing of non-standard webpages
- Improved results when performing multiple iterations of metadata generation
- Improved text parsing of Rise360 content
Breaking Changes:
- The method for returning the formatted Questions metadata has been moved to a new API endpoint:
- Old endpoint: GET /api/v1/content/{content_id}/versions/{version}/fields/QUESTIONS
- New endpoint: GET /api/v1/content/{content_id}/versions/{version}/fields/QUESTIONS/formatted
Release 1.0.3
2025-04-02
Improvements
- Introduce support for configurable Custom Vocab, which identifies known words or phrases to be used when transcribing mpX content. The new configuration setting is: GENERATION__TRANSCRIBE_CUSTOM_VOCAB
Bug Fixes
- Correct encoding errors when parsing text from Storyline content
Improvements
- Improve retry logic for unsuccessful generation jobs
- Improved output syntax for generated QUESTIONS field data
- Improve coverage of generated questions
Release 1.0.2
2025-03-10
Improvements
- Dropped support Claude Instant, added support for Claude 3 Haiku
- Added support for importing unzipped elearning content from S3
- Added prompt injection protection to PUT field value endpoints
Bug Fixes
- Removed PUT
/api/v1/app_management/tenants as it didn't offer any mutable tenant properties to be changed. - Fixed a bug causing incomplete lexical search results for certain phrases
Release 1.0.1
2025-02-18
Bug Fixes
- Generator will no longer upload VTT files to an integration Engine application for MP3 content
- Fixes handling of unexpected response from the AI model
Improvements
- Improves text parsing and search performance of GOMO content
- Improves performance of searches across content libraries
- Added clarity to various error messages
- Improves database performance