Skip to content

Releases: Codeplain-ai/codeplain

v0.2.14

18 Mar 16:44

Choose a tag to compare

Hello everyone, codeplain v0.2.14 is out!

This release focuses on improvements to our code generation pipeline, user experience, and several TUI enhancements. Here's what's new:

  • Unit test generation - Unit tests are now generated more consistently improving the production readiness of the code generation
  • Memory file handling - Fixed a bug when deleting unresolved memory files, which also makes the conformance testing phase a bit faster.
  • TUI enhancements - The functional requirement index is now displayed in the TUI, along with more detailed information about what the conformance testing phase is doing for each individual module.
  • Config file resolution - Improved how config files are resolved during rendering. Previously, only the config file at the root location was used; now the config file at the destination of the *.plain file is also taken into account.
  • tiktoken fix - Several users reported that tiktoken was preventing them from running the code generation process. This has been resolved.

⚠️ This release breaks backwards compatibility. Please make sure to upgrade - all older versions are now deprecated.

v0.2.12

12 Mar 09:44

Choose a tag to compare

Windows Support (Beta)

We're excited to announce beta support for Windows! You can now install via PowerShell:
powershell

https://codeplain.ai/install.ps1 | iex

Windows support is currently in beta. We welcome all feedback as we continue to improve the experience.

Known Limitations (Windows)

Testing scripts are still in progress
The onboarding process for Windows users is not yet finalized
We recommend skipping plainlang-examples for now

Getting Started on Windows
To get started, we've set up a dedicated example repository where you can explore codeplain by building a Java Spring Boot server for a messaging service called Airplain:

Other Changes

  • Improved handling of conformance testing memories
  • Minor code generation enhancements

v0.2.10

19 Feb 14:01

Choose a tag to compare

Overview

This release focuses on improving the Terminal User Interface (TUI) experience with smarter navigation, better visual feedback, and enhanced text selection capabilities.

Exit Flow & Navigation:

  • Refactored TUI exit keybinding: use Ctrl+D instead of double Ctrl+C for a cleaner exit experience
  • Added Enter key support to exit TUI after render completes

Selection & Copy:

  • Added mark & copy support
  • Fixed the log expand/collapse feature conflicting with text selection

Installation & Setup

  • Improved installation flow and messaging

Testing & Environment:

  • Fixed preparation environment script handling
  • Display dist/ folder location in TUI after successful render

Dependencies

  • Upgraded Textual library to v7.5.0 for better TUI performance and features

Introduce ***plain Modules

21 Jan 15:26

Choose a tag to compare

Overview

We’re introducing support for reusable modules in ***plain.

What’s new

You can now include modules in a ***plain spec using Markdown frontmatter.

Example (hello world React):

---
import:
  - typescript-react-app-template
requires:
  - typescript-react-app-boilerplate
---

***functional specs***

- Display "hello, world"
  • import includes all ***plain primitives except functional specs
  • requires can include all primitives

Rendering order

When this spec is rendered:
1. typescript-react-app-boilerplate is resolved and rendered as a dependency.
2. The functional spec (Display "hello, world") is rendered afterwards.

Dedicated Environment-Preparation Script for Conformance Tests

05 Dec 11:14
002fcf4

Choose a tag to compare

Overview

Conformance tests often spend a lot of their runtime on environment setup rather than actual execution. Previously, each functional requirement ran its conformance test in a fully isolated environment, requiring the setup process to repeat for every test.

What's new

This release introduces support for an optional environment-preparation script that runs once before all conformance tests. The prepared environment is then reused across tests, dramatically reducing redundant setup work and lowering overall test time—while still keeping each conformance test fully end-to-end.

Example use cases

  • Compiling the project only when sources have changed (for compiled languages)
  • Rebuilding Docker images only when necessary (for Docker-based workflows)

If no preparation script is provided, existing behavior remains unchanged.

Concept rules in ***plain

27 Nov 09:02
3ff50fb

Choose a tag to compare

⚠️ Breaking Change

This update is not backward compatible.

Concept Rules in ***plain

To improve the consistency and clarity of specifications used for code generation, we introduce concept-based definitions with strict formatting rules.

Each definition introduces a single concept, written as:

- :ConceptName: <explanation of the concept>

Concept naming rules

Each concept name must be enclosed in colons (:) at both the beginning and end.

Valid characters for concept name include: Plus sign (+), Minus sign (-), Dot sign (.), Digits (0-9), Uppercase letters (A-Z), Underscore (_), Lowercase letters (a-z).

Examples: :App:, :Tasks:, :ListOfUsers:, :CLI:.

Definition rules

  • Each definition must start with the concept name being defined.
  • Every concept name must be globally unique.
  • Concepts referenced in Functional Requirements, Non-Functional Requirements, Test Requirements, or Acceptance Tests must appear in the Definitions section first.

Migration to *codeplain API keys authentication

17 Oct 11:54
3a798c9

Choose a tag to compare

*codeplain API keys

This release is introducing migration to internal *codeplain API keys.

⚠️ Breaking Change:
The previous CLAUDE_API_KEY authentication method is no longer supported.

To obtain your new API keys, please contact our support team at support@codeplain.ai.

Other changes

  • Fixed a bug related to parsing plain source templates.

Improved Templating & Isolated Test Environments

07 Oct 13:54
151b903

Choose a tag to compare

Enhanced templating support

Templating is now more flexible and intuitive.

Before:

    - Firstly, ...
{% include "some-template.plain" %}

This required indentation to be managed inside the included file.

Now:

    - Firstly, ...
    - Secondly, {% include "some-template.plain.plain" %}

Templates can now be included inline or indented naturally within the document — indentation is handled automatically, making templates easier to compose and maintain.

Isolated Test Execution

Test scripts for major languages now execute in isolated environments, ensuring clean runs and consistent results.

Supported languages:

  • Python
  • Golang
  • Node.js

This enhancement improves reproducibility and prevents side effects across tests.

Other improvements

  • General improvements and bug fixes
  • Enhanced observability and logging

Minor Improvements and Bufixes

11 Aug 07:12
cf73295

Choose a tag to compare

This release includes bug fixes and minor improvements.

Destination folder for source and conformance test code

17 Jul 09:00
920abe2

Choose a tag to compare

With Plain-Git integration for source and conformance test code set in place, we're introducing the ability to utilize and commit the generated code in the existing repositories.

Destination folder for the generated code

You can copy the source code to source code destination folder

Through the plain2code CLI, you can now set --copy-build (bool) argument, telling if you want to copy the source code into destination folder after a successful rendering. By default, this code is copied into dist/ folder, but you can manage this through --build-dest CLI parameter.

You can copy the conformance tests to source code destination folder

Through the plain2code CLI, you can now set --copy-conformance-tests (bool) argument, telling if you want to copy the conformance test code into conformance test destination folder after a successful rendering. By default, this code is copied into dist_conformance_tests/, but you can manage this through --conformance-tests-dest CLI parameter.

Other Changes

  • Raising threshold for max conformance test runs to 20, ensuring smoother code generation
  • Minor bugfixes