Releases: marle3003/mokapi
Releases · marle3003/mokapi
v0.34.1
v0.34.0
✨ Improvements
JavaScript Runtime
- Event handler priorities
- Introduced a priority field in EventArgs
- Allows handlers to run before or after others
- Enables advanced patterns like request forwarding + response recording
- HttpResponse.rebuild()
- Rebuilds the entire HTTP response based on a new status code and content type
- Generates fresh response data and headers from the OpenAPI spec
- Makes it easier to handle error scenarios without breaking schema validity
- File system module
- New JavaScript module for reading and writing files
- Enables recording & replay workflows, snapshots, and custom persistence
- Random message generation
- Generator now supports producing random values for message fields
Configuration
- Include / Exclude directory filters
- Added support for
includeandexcludepatterns when loading files - Improves control over large configuration directories
- Added support for
Web UI
- Line markers in config view
- Easier navigation with permanent link to a specific line or range of lines of code
- Dynamic page titles
- Dashboard pages now set meaningful titles per route
🐛 Fixes
JavaScript
- Console logging now matches browser behavior
- Improved handling of format specifiers (
%s,%d, etc.) - Supports extra parameters like in real browser consoles
- Improved handling of format specifiers (
HTTP & Parsing
- Correct parsing of ISO 8601 durations
- Fixes incorrect duration handling in schema validation
- Improved
application/x-www-form-urlencodedparsing- Handles properties not explicitly defined in schemas
- Properly supports nested object properties
Web UI
- Decode encoded email subjects and addresses
- Properly decodes MIME-encoded headers (e.g. UTF-8 subjects)
CLI & Runtime
- CLI shortcuts added again
-vfor--version-hfor--help
- Graceful shutdown on SIGINT / SIGTERM
- Servers now shut down cleanly on interrupt and termination signals
v0.33.0
✨ Improvements
- Enhanced Kafka views in the dashboard
- Improved Kafka group and member views
- Added Kafka client views with relevant request visibility
- Improved Kafka server view with binding information
- Enhanced HTTP views in the dashboard
- Dashboard tabs now persist after page refresh
- Improved responsiveness of both the dashboard and website
- Improved Git clone performance
- Added release notes to the dashboard
- Introduced dashboard shortcuts (press
?)
⚠️ Changes
- Removed Kafka leader management to simplify usage
- Broker selection is now based on port, preferring the first broker in the list
🐛 Fixes
- Fixed bugs related to the new CLI logic CLI flags documentation
v0.32.1
🚀 Release Notes
Improvements
- Refactored CLI flags and inputs for better consistency and usability
- Added automatic documentation generation for CLI options (CLI documentation)
- Introduced a clear precedence order for configuration sources:
- Default values
- Configuration file
- Environment variables
- CLI flags
- Improved responsiveness across the website and dashboard for a smoother experience on different screen sizes
Bug Fixes
- Fixed conversion from Swagger to OpenAPI when schema uses type: file
- Fixed XML parsing issues in HTTP requests and responses
Notes
This patch is mostly behind-the-scenes fixes and CI/workflow improvements
v0.32.0
🚀 Release Notes
Improvements
- Refactored CLI flags and inputs for better consistency and usability
- Added automatic documentation generation for CLI options (CLI documentation)
- Introduced a clear precedence order for configuration sources:
- Default values
- Configuration file
- Environment variables
- CLI flags
- Improved responsiveness across the website and dashboard for a smoother experience on different screen sizes
Bug Fixes
- Fixed conversion from Swagger to OpenAPI when schema uses type: file
- Fixed XML parsing issues in HTTP requests and responses
v0.31.0
🚀 Mokapi Release Notes
Documentation & JavaScript API
- Fixed example documentation for Base64 encoding.
- Added debug message when a JavaScript file does not export a default function — helps identify scripts that won’t be executed.
- Improved documentation about JavaScript in Mokapi, clarifying:
- How Mokapi executes scripts vs modules
- Default function requirements
- Built-in module usage
- Fixed cron optional parameter args default value, aligning behavior with every jobs (SkipImmediateFirstRun default behavior changed for consistency).
Dashboard Enhancements
- Added syntax highlighting for LDIF files.
- Added LDAP Bind and Unbind requests to the dashboard.
- Added detail view for LDAP search responses, making it easier to inspect entries.
- Improved responsiveness and accessibility for dashboard components.
Website
- Added demo dashboard to the website for easier exploration of Mokapi features.
Mail Server
- Added new mail configuration:
AllowUnknownSenders. - Fixed SMTP server closing connection when STARTTLS is used.
LDAP
- Fixed decoding of Compare and ModifyDn requests.
- Added support for FilterExtensibleMatch in LDAP queries.
- Added support for
memberOfqueries to enhance group-based searches.
XML
- Fixed an issue in XML marshalling not always was only one root element created.
Notes / Considerations
- JavaScript scripts without a default function will no longer fail silently — a debug message is logged.
- Cron and every jobs now have consistent defaults for first execution (
every: runs immediately,cron: runs after first scheduled time unless overridden).
v0.30.1
v0.30.0
🚀 Mokapi Release Notes
Kafka Improvements
- Added XML support in Kafka for message payloads.
- Added support for idempotent Kafka producers
- Added Kafka record producer details to the dashboard
- Improved Kafka client to support multiple content-types.
- Fixed ApiVersion response handling when the Kafka client uses a newer version than the server.
AsyncAPI
- Fixed support for referenced schemas inside components, improving compatibility with complex AsyncAPI files.
JavaScript Enhancements
- Improved JavaScript handling for HTTP responses and shared values:
- Response header names are now case-insensitive.
- Better usability for response data in JS event handlers.
- More robust shared value handling.
- Refined HTTP response header processing.
- Fixed response header and data processing when modified through JavaScript.
- Improved lock mechanism for JavaScript execution.
- Fixed JS files not being executed when loaded from Git provider.
- Added API title to the HTTP event request parameter.
- Improved URL object available in HTTP event request parameters.
Dashboard
- Enhanced action log output, providing clearer visibility into actions and events.
v0.29.0
This release includes major improvements for Kafka protocol handling, enhanced dashboard usability, and better HTTP module features.
Kafka Protocol Improvements
- Flexible versions:
- Fixed flexible response handling for multiple APIs (FindCoordinator, JoinGroup, SyncGroup, ListGroup, Heartbeat, CreateTopics).
- Improved compatibility with clients (e.g., Java) that expect responses in strict order — Mokapi now guarantees correct ordering according to the Kafka protocol specification.
- Fixed reading of ReadCompactBytes in flexible versions.
- Offset & Group Management:
- Added new supported versions for OffsetCommit and OffsetFetch.
- Fixed OffsetFetch protocol error.
- Added missing ProtocolType in JoinGroup requests.
- Fixed FindCoordinator when channels are assigned to the server.
JSON Schema & OpenAPI Fixes
- Improved request body handling when Content-Length is set but no body is sent.
- Fixed applying references with sibling attributes in JSON Schema.
- Fixed null validation errors overriding other errors for nullable types ([object, null]).
- Fixed conversion of nullable OpenAPI schemas where nullable: true without an explicit type incorrectly produced type: "null".
JavaScript HTTP Module
- Added timeout option to JavaScript HTTP requests (supports numeric or duration string, e.g. "5m").
Dashboard
- Added client IP address to HTTP request view.
- Added filtering feature to the HTTP requests list.
- Improved responsiveness and alignment in the HTTP requests table.
- Improved display of HTTP parameters in the request view.
Configuration
- Fixed issue preventing self-patching configurations.
v0.28.0
🚀 Changes
- Improved dashboard data updates for smoother UI experience.
- Enhanced display of HTTP request parameters in the dashboard for better readability.
🐞 Bugfixes
- Fixed IMAP SELECT and EXAMINE response handling.
- Added read-only flag support for IMAP commands.
- Corrected IMAP LOGIN command handling: previously, AuthenticatedState was not properly set in handleLogin.
- Fixed IMAP CAPABILITY handling in authenticated state.
- Prevented HTTP header parameters from being added to the event log twice.
- Fixed concurrent map access in the shared store to prevent race conditions.