# Where to Find the Release History and Changelog for Feynman

> Discover the comprehensive Feynman release history and changelog. Find all updates and version details directly within the GitHub repository at CHANGELOG.md and RELEASES.md.

- Repository: [Advait Paliwal/feynman](https://github.com/advaitpaliwal/feynman)
- Tags: changelog
- Published: 2026-09-08

---

**The complete release history and changelog for Feynman are documented in [`CHANGELOG.md`](https://github.com/advaitpaliwal/feynman/blob/main/CHANGELOG.md) and [`RELEASES.md`](https://github.com/advaitpaliwal/feynman/blob/main/RELEASES.md) at the repository root, supplemented by Git tags that mirror every version in the `v0.3.x` release series.**

The `advaitpaliwal/feynman` repository maintains a transparent, auditable record of its evolution through structured documentation files and version control metadata. Whether you are auditing security patches, verifying artifact integrity, or tracking research-runtime intake cycles, locating the authoritative **release history and changelog for Feynman** requires checking specific files that capture both granular development notes and high-level consumer summaries.

## Locating the Primary Documentation Files

Feynman splits its release documentation between two distinct markdown files at the repository root, each serving different informational needs and audience types.

### CHANGELOG.md: The Lab Notebook

The **[`CHANGELOG.md`](https://github.com/advaitpaliwal/feynman/blob/main/CHANGELOG.md)** file serves as the project's comprehensive laboratory notebook. According to the source code structure, this file logs every research-runtime intake, hot-fix, and release candidate with precise timestamps, objectives, verification status, and next steps. It captures the complete step-by-step evolution of the codebase, making it the authoritative source for the full technical history.

View it at: `https://github.com/advaitpaliwal/feynman/blob/main/CHANGELOG.md`

### RELEASES.md: Consumer Version Summaries

The **[`RELEASES.md`](https://github.com/advaitpaliwal/feynman/blob/main/RELEASES.md)** file provides a condensed, consumer-facing summary of each published version (e.g., `v0.3.47`). It lists the most notable changes, verification states, and links to corresponding GitHub release tags. While significantly shorter than the changelog, this file offers convenient quick lookup for released versions without technical implementation details.

View it at: `https://github.com/advaitpaliwal/feynman/blob/main/RELEASES.md`

### Git Tags and NPM Registry

Beyond markdown documentation, the **Git tag history** (`git tag`) mirrors the release series (`v0.3.x`). Each tag points to the exact commit used for the published NPM and GitHub release, allowing you to retrieve the precise source snapshot for any version. The NPM registry simultaneously tracks these versions for package consumers.

## Querying Release Information Programmatically

You can access Feynman's release data through command-line tools and APIs without manually browsing repository files.

### List All NPM Versions

To retrieve every published version from the NPM registry:

```bash
npm view @advaitpaliwal/feynman versions --json

```

This returns a JSON array such as `["0.3.36","0.3.37","0.3.38",...,"0.3.47"]`, enabling automated dependency auditing and version pinning.

### Check Local CLI Version

If you have the Feynman CLI installed globally, verify your current version:

```bash
feynman --version

```

Example output: `0.3.47`

### Retrieve Historical Changelogs via GitHub API

To fetch the changelog content for a specific release tag using the GitHub REST API:

```bash
curl -s \
  "https://api.github.com/repos/advaitpaliwal/feynman/contents/CHANGELOG.md?ref=v0.3.45" \
  | jq -r '.content' | base64 --decode | grep "0.3.45"

```

This command decodes the base64-encoded file content and filters for entries related to version `0.3.45`.

### Programmatic Access with Octokit

For Node.js applications, use the Octokit library to fetch release notes by tag:

```javascript
import { Octokit } from "@octokit/rest";

const octokit = new Octokit();
async function getReleaseNotes(tag) {
  const { data } = await octokit.repos.getReleaseByTag({
    owner: "advaitpaliwal",
    repo: "feynman",
    tag,
  });
  console.log(`Release ${tag}: ${data.name}\n${data.body}`);
}
getReleaseNotes("v0.3.45");

```

## Release Verification and Package Configuration

Two additional files play critical roles in the release pipeline integrity and version tracking.

### package.json Version Tracking

The **[`package.json`](https://github.com/advaitpaliwal/feynman/blob/main/package.json)** file defines the current version published to NPM and lists scripts that generate releases. It serves as the source of truth for the active version number in the repository root.

### Artifact Verification Script

The **`scripts/verify-package-artifact.mjs`** script executes during each release to verify the integrity of the published artifact. The [`CHANGELOG.md`](https://github.com/advaitpaliwal/feynman/blob/main/CHANGELOG.md) references this script throughout its entries, documenting when verification checks passed or failed during specific release candidates.

## Summary

- **[`CHANGELOG.md`](https://github.com/advaitpaliwal/feynman/blob/main/CHANGELOG.md)** contains the exhaustive, timestamped lab-notebook history of every development iteration, intake, and hot-fix in the `advaitpaliwal/feynman` repository.
- **[`RELEASES.md`](https://github.com/advaitpaliwal/feynman/blob/main/RELEASES.md)** offers concise, consumer-friendly summaries of published versions with verification states and GitHub links.
- **Git tags** (`v0.3.x` series) and the **NPM registry** provide immutable pointers to specific release commits and distributable artifacts.
- **Command-line tools** (`npm view`, `feynman --version`) and the **GitHub API** enable automated querying of version history without manual file inspection.
- **`scripts/verify-package-artifact.mjs`** ensures release integrity through automated verification steps documented in the changelog.

## Frequently Asked Questions

### Where is the full technical history of Feynman development recorded?

The full technical history resides in **[`CHANGELOG.md`](https://github.com/advaitpaliwal/feynman/blob/main/CHANGELOG.md)** at the repository root. This file functions as a lab notebook, documenting every research-runtime intake, hot-fix, and release candidate with timestamps, objectives, and verification status. It captures granular details that [`RELEASES.md`](https://github.com/advaitpaliwal/feynman/blob/main/RELEASES.md) omits for brevity.

### How can I quickly check which versions of Feynman are available on NPM?

Run `npm view @advaitpaliwal/feynman versions --json` to retrieve a complete JSON array of all published versions. Alternatively, check [`RELEASES.md`](https://github.com/advaitpaliwal/feynman/blob/main/RELEASES.md) for a human-readable list of significant releases, or inspect the Git tags for the `v0.3.x` series in the repository.

### What is the difference between CHANGELOG.md and RELEASES.md?

[`CHANGELOG.md`](https://github.com/advaitpaliwal/feynman/blob/main/CHANGELOG.md) provides exhaustive, step-by-step technical documentation of the development process, including failed experiments and verification steps. [`RELEASES.md`](https://github.com/advaitpaliwal/feynman/blob/main/RELEASES.md) offers a condensed, consumer-facing summary highlighting only the most notable changes and final verification states for each published version (e.g., `v0.3.47`).

### How does Feynman verify the integrity of its released packages?

Each release triggers **`scripts/verify-package-artifact.mjs`**, which validates the integrity of the published NPM artifact. The verification results are recorded in [`CHANGELOG.md`](https://github.com/advaitpaliwal/feynman/blob/main/CHANGELOG.md) alongside the release entry, ensuring that every version tagged in Git matches the distributed package hash and functionality.