July 10, 2018


New OpenAPI 3.0 Code Generation

With this release, RepreZen API Studio now supports OpenAPI-Generator, a new open source project from the top Swagger-Codegen contributors. OpenAPI-Generator, forked from Swagger-Codegen, is a community-driven project that has prioritized OpenAPI v3 support, while maintaining backward compatibility with Swagger-OpenAPI v2. 

Most of the OpenAPI-Generator templates overlap with the same-named Swagger-Codegen templates. The New Project, New Model and New GenTemplate dialogs in RepreZen API Studio allow you to filter the GenTemplate list by provider, so you don't have to see the duplicates. 

By default, OpenAPI v2 source documents will offer GenTemplates from Swagger-Codegen, and hide OpenAPI-Generator.  It will also include GenTemplates from NSwag and RepreZen. But you can set the providers filter to show any combination of providers:

Similarly, for OpenAPI v3 source documents, the dialogs offer GenTemplates from OpenAPI-Generator and RepreZen.

The Swagger-Codegen community is still working on generators for OpenAPI v3, and we plan to add support for these in a later release.

Swagger-OpenAPI Improvements and Bug Fixes

  • Improved Performance on large Swagger projects
    This release improves performance and fixes Out of Memory/GC resolving references on large OpenAPI 2.0 and 3.0 projects.

  • Bugfix: RepreZen HTML Documentation TOC only shows top level
    The navigation pane in the RepreZen HTML Documentation format for OpenAPI now includes the correct two-level TOC, with "scroll spy" positional sync.

RAPID-ML Improvements and Bug Fixes

  • Improvement - Restrict GenTarget wizard to valid settings when creating prerequisite GenTargets
  • Improvement: Rework _links and _RapidLinksMap for Swagger-Codegen compatibility and OAS2 compliance
    The Swagger RAPID-XChange Contract GenTemplate includes several improvements to ensure compatibility with the Swagger-Codegen pipeline, and conformance to the OpenAPI 2.0 specification.
    • Separate _RapidLink subschema from _RapidLinksMap for clarity and self-documentation
    • Translate base64Binary property to string with "format: byte"
    • Remove open additionalProperties from _RapidLink schema
    • Remove additionalProperties: false from referenceLink schemas
    • Remove _links property from required list, retain readOnly, so it adheres to OAS3 specification guidelines.
    • Improve description of _RapidLinksMap

  • Improvement: Bring JSON Schema GenTemplate up to date with current RAPID-XChange link representation
    The JSON Schema GenTemplate now uses _links instead of _rapid_links as the property name for referenceLinks.

  • Bugfix: Re-enable RAPID-ML GenTargets with legacy Swagger GenTemplate
    GenTargets created with the legacy Swagger GenTemplate were broken by the previous release. This has been fixed in the new release.
  • Bugfix: Use of title as a property name requires ^ prefix when referenced in property set
    The caret prefix should no longer be required.
  • Bugfix: RAPID-ML Documentation Format: Security Schemes heading appears when none defined
    The static "Security Schemes" heading should only be present if the source RAPID model defines one or more security schemes.

General Improvements and Bug Fixes

  • Avoid using Swagger Parser for SwaggerUI live views
    Swagger-Parser can incur some information loss due to limitations in the SwaggerModels classes. We can avoid this in certain cases, including live views.
  • Add manual refresh button in GenTemplate selector UI, don't auto-refresh each time we display the list
    The GenTemplates list can load faster now, because it won't scan for available GenTemplates each time. In the rare case where a new GenTemplate isn't visible, the manual refresh button will pick it up.
  • Bugfix: Compile errors in custom GenTemplate interfere with built-in New API Spec commands
    Compilation errors in Xtend GenTemplate projects should not interfere with primary API Studio UI interaction.