Skip to content

Releases: marle3003/mokapi

v0.34.1

16 Feb 22:03
cf0e5a3

Choose a tag to compare

🐛 Fixes

JavaScript

  • HttpResponse.rebuild()
    • Ensures the Content-Type header is set in the response when rebuild() is called.

v0.34.0

15 Feb 21:17
062df9e

Choose a tag to compare

✨ 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 include and exclude patterns when loading files
    • Improves control over large configuration directories

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

HTTP & Parsing

  • Correct parsing of ISO 8601 durations
    • Fixes incorrect duration handling in schema validation
  • Improved application/x-www-form-urlencoded parsing
    • 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
    • -v for --version
    • -h for --help
  • Graceful shutdown on SIGINT / SIGTERM
    • Servers now shut down cleanly on interrupt and termination signals

v0.33.0

03 Feb 08:04
ff01e0b

Choose a tag to compare

✨ 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

v0.32.1

24 Jan 21:57
50e30ed

Choose a tag to compare

🚀 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

24 Jan 19:23
6eec78f

Choose a tag to compare

🚀 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

03 Jan 17:48

Choose a tag to compare

🚀 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 memberOf queries 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

07 Dec 18:52
a13c966

Choose a tag to compare

🐞 Bugfixes

  • Fixed shared variable handling in the mokapi JavaScript module when multiple runtimes accessed the same key.

v0.30.0

02 Dec 18:46
9fcedb3

Choose a tag to compare

🚀 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

09 Nov 17:56
344681c

Choose a tag to compare

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

22 Oct 20:52
1a8fc54

Choose a tag to compare

🚀 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.