Skip to content

Releases: Codeplain-ai/codeplain

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

Standardize commit messages, minor improvements and bug fixes

03 Jul 15:07
ebab816

Choose a tag to compare

This release standardizes commit messages in build/ and conformance_tests/ folders. Note that this update doesn't break backwards compatibility, so you can continue rendering from the current state.

Also, minor updates and bug fixes were introduced.

Minor Upgrades and Bugfixes

30 Jun 10:43
a7f0429

Choose a tag to compare

This update includes minor bugfixes for Git conformance tests and adds retry logic for steps that may fail under unstable network conditions. The run.sh scripts in the examples/ folder were also simplified..