Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ body:
id: version
attributes:
label: ContextForge version
placeholder: "0.4.2"
placeholder: "0.4.2.post1"
validations:
required: true
- type: input
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ on:
workflow_dispatch:
inputs:
tag:
description: Existing signed annotated tag to publish (for example v0.4.2)
description: Existing signed annotated tag to publish (for example v0.4.2.post1)
required: true
type: string

Expand Down Expand Up @@ -49,7 +49,7 @@ jobs:
run: |
case "$TAG" in
v[0-9]*.[0-9]*.[0-9]*) ;;
*) echo "tag must match vX.Y.Z" >&2; exit 1 ;;
*) echo "tag must match vX.Y.Z or a PEP 440 post release such as vX.Y.Z.postN" >&2; exit 1 ;;
esac
test "$(git cat-file -t "refs/tags/$TAG")" = "tag"
test "$(git rev-parse "$TAG^{}")" = "$GITHUB_SHA"
Expand Down
13 changes: 11 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,20 @@

All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project follows [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
Feature releases follow [Semantic Versioning](https://semver.org/spec/v2.0.0.html),
and Python distribution versions follow PEP 440.

## [Unreleased]

## [0.4.2.post1] - 2026-08-21

### Fixed

- Made the CLI help regression validation insensitive to ANSI terminal styling
so the same documented options are verified consistently on Linux and
Windows CI runners.

## [0.4.2] - 2026-08-21

### Added
Expand Down
10 changes: 5 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<p align="center">
<img src="https://raw.githubusercontent.com/waterflane/ContextForge/main/docs/assets/contextforge-banner.png" width="100%" alt="ContextForge — Build bounded, reviewable context for coding agents.">
<img src="https://github.com/user-attachments/assets/3060d8ef-6c77-4a50-a51f-10ff671fe4ff" width="100%" alt="ContextForge — Build bounded, reviewable context for coding agents.">
</p>

<h1 align="center">ContextForge</h1>
Expand Down Expand Up @@ -28,10 +28,10 @@ commands.
</p>

> [!IMPORTANT]
> ContextForge is pre-alpha software. Version `0.4.2` is the first public-release
> candidate. Discovery benchmarking is experimental and its results should be
> reviewed alongside the recorded provider, model, configuration, and source
> snapshot.
> ContextForge is pre-alpha software. Version `0.4.2.post1` is the corrected
> first public-release candidate. Discovery benchmarking is experimental and
> its results should be reviewed alongside the recorded provider, model,
> configuration, and source snapshot.

## Why ContextForge

Expand Down
5 changes: 4 additions & 1 deletion ROADMAP.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,10 @@ This roadmap describes broad milestones only. It does not promise dates.
fixed source, index, model, and context-window provenance.
- [x] Add locked distribution builds, clean-install validation, SBOM generation,
Trusted Publishing workflows, and public contribution/security policies.
- [ ] Publish the reviewed signed release through TestPyPI and PyPI.
- [x] Correct ANSI-sensitive CLI help validation for consistent Linux and
Windows release CI.
- [ ] Publish the reviewed signed `v0.4.2.post1` release through TestPyPI and
PyPI.

## Later

Expand Down
3 changes: 2 additions & 1 deletion docs/RELEASE_CHECKLIST.md
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,8 @@ uv run contextforge benchmark discovery 'C:\Repositories' `

- [ ] Merge the reviewed release pull request from `dev` into `main`.
- [ ] Verify the exact merge commit contains the intended version and changelog.
- [ ] Create a signed annotated `vX.Y.Z` tag on that exact commit.
- [ ] Create a signed annotated `vX.Y.Z` tag on that exact commit, or
`vX.Y.Z.postN` for a PEP 440 post release.
- [ ] Push the tag without rewriting earlier tags.
- [ ] Synchronize `dev` with the released `main`.

Expand Down
2 changes: 1 addition & 1 deletion src/contextforge/_metadata.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,4 @@
APP_NAME = "ContextForge"
APP_SLUG = "contextforge"
APP_TAGLINE = "Build bounded, reviewable repository context for coding agents."
__version__ = "0.4.2"
__version__ = "0.4.2.post1"
10 changes: 6 additions & 4 deletions tests/test_openai_compatible.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
from typing import Any, Literal

import pytest
from click import unstyle
from pydantic import BaseModel, ConfigDict
from typer.testing import CliRunner

Expand Down Expand Up @@ -658,10 +659,11 @@ def test_cli_help_and_provider_selection_include_base_url(tmp_path: Path) -> Non
)

assert help_result.exit_code == 0
assert "--base-url" in help_result.output
assert "--request-timeout" in help_result.output
assert "--context-window" in help_result.output
assert "--max-output-tokens" in help_result.output
help_output = unstyle(help_result.output)
assert "--base-url" in help_output
assert "--request-timeout" in help_output
assert "--context-window" in help_output
assert "--max-output-tokens" in help_output
assert selected.exit_code == 1
assert "OpenAI-compatible base URL must be an HTTP URL" in selected.output

Expand Down
Loading