Releases: marle3003/mokapi
Releases · marle3003/mokapi
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.
v0.27.2
🐞 Bugfixes
-
Faker module mapping: Fixed the mapping between Go and JavaScript structs in the mokapi/faker module when extending the data generator, ensuring consistent field access and type handling.
-
OpenAPI null reference: Resolved a null reference error that occurred when an OpenAPI operation had no responses defined.
-
Web UI parameters: Fixed incorrect handling of OpenAPI parameters in the Web UI, improving request rendering and parameter visualization.
v0.27.1
v0.27.0
🚀 Mokapi Release Notes
OpenAPI
- Added support for OpenAPI 3.2, including:
- QUERY and custom HTTP methods
- Querystring parameters
- Improved OpenAPI path table view in the dashboard
- Fixed issue removing trailing slashes in server URLs
- Added OpenAPI tags and filtering in the Web UI
Data Generator & JavaScript faker module
- Added support for:
- contains, minContains, and maxContains
- additionalProperties
- dependentRequired and dependentSchemas
- patternProperties with predictable results
- XML-based JSON Schema definitions
- Credit card number generation
- Introduced new CLI parameter: --data-gen-optionalProperties
- Added consideration of schema $id and JSON pointer paths for more accurate data generation
JavaScript & Event Handling
- Improved JavaScript event handler tracking when called console.log
- Added JavaScript shared memory feature for storing and updating values across scripts
Improvements
- Improved handling when schema type is missing
- Enhanced generation for:
- Arrays with prefixItems
- Objects when required fields are missing in properties
- Numeric types with default min/max values
- Complex compositions (anyOf, allOf, oneOf) with objects
- Adjusted probability for skipping optional properties from 0.7 → 0.85, now configurable via OptionalPropertiesProbability
- Improved results when using schema IDs and $id references
Fixes
- Object generation missing required fields
- Pattern property parsing
- JSON Schema parser for anyOf, allOf, oneOf, and objects with patternProperties
- JSON pointer encoded characters (/ and ~)
- Name generation consistency
Configuration & CLI
- Fixed config watcher to correctly handle explicit reads while implicit parsing continues
- Added --data-gen-optionalProperties CLI flag for better control of data generation behavior
Kafka
- Changed Kafka segment creation to lazy initialization for improved performance
v0.25.4
v0.25.3
🚀 Changes
- Added support for light mode in the dashboard.
🐞 Bugfixes
- Resolved a race condition where config listeners could run before the config was fully parsed.
- Resolved a missing JSON support issue for Kafka bindings.
- Fixed handling of confluent.key.schema.validation in Kafka settings.
- Fixed page buffer handling in the Kafka protocol.
v0.25.2
🚀 Changes
- Improved log messages for HTTP/HTTPS servers, making it easier to diagnose configuration and connection issues.
🐞 Bugfixes
- Resolved an issue with path parameters when routes had a trailing slash.
- Fixed file reference handling so listeners are now triggered when reading a file from a reference before the main file.
- Fixed a deadlock race condition in the ConfigWatcher.
- Fixed logs and dashboard display when an HTTP request does not match any API.