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
227 changes: 225 additions & 2 deletions docs/changelog/changelog.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,229 @@ icon: "clock"
iconType: "solid"
---

<Update label="2024-10-12" description="v0.1.1">
Changelog first generated
<Update label="v0.5.26" description="February 06, 2025">
### [Simplified Slack notifications](https://github.com/codegen-sh/codegen-sdk/releases/tag/v0.5.26)
- Simplified Slack notifications by removing description field
</Update>


<Update label="v0.5.25" description="February 06, 2025">
### [JSX parsing improvements and workflow optimizations](https://github.com/codegen-sh/codegen-sdk/releases/tag/v0.5.25)
- Fixed JSX prop parsing mechanism
- Added semantic release workflow improvements
- Fixed handling of empty collections
- Added performance optimizations with Mypyc/Cython
- Improved CI/CD pipeline configuration
</Update>


<Update label="v0.5.24" description="February 05, 2025">
### [Adds Python 3.13 and ARM64 support with feature improvements](https://github.com/codegen-sh/codegen-sdk/releases/tag/v0.5.24)
- Added support for Python 3.13 and ARM64 architecture builds
- Added documentation for incremental recomputation
- Introduced feature flag for generics support
- Fixed issues with duplicate edge creation
- Improved pre-commit hook functionality and stability
</Update>


<Update label="v0.5.23" description="February 04, 2025">
### [Adds symbol flags and improves debugging capabilities](https://github.com/codegen-sh/codegen-sdk/releases/tag/v0.5.23)
- Added new symbol flag functionality for Python and TypeScript
- Introduced duplicate dependencies strategy for file movement
- Enhanced debugging capabilities and server health monitoring
- Improved documentation with new guides and usage examples
- Fixed various issues with codemod file creation and sandbox server
</Update>


<Update label="v0.5.22" description="February 04, 2025">
### [Improves testing and fixes release-related issues](https://github.com/codegen-sh/codegen-sdk/releases/tag/v0.5.22)
- Fixed changelog generation and wheel release issues
- Improved test suite with timeouts and standardized move_to_file tests
- Enhanced CI/CD pipeline configuration
</Update>


<Update label="v0.5.21" description="February 03, 2025">
### [Adds ephemeral server and improves documentation](https://github.com/codegen-sh/codegen-sdk/releases/tag/v0.5.21)
- Added ephemeral server functionality
- Improved documentation generation with better type resolution and class docstrings
- Enhanced CI/CD workflows and testing infrastructure
</Update>


<Update label="v0.5.19" description="February 03, 2025">
### [ARM support for Linux](https://github.com/codegen-sh/codegen-sdk/releases/tag/v0.5.19)
- Added ARM support for Linux platforms
- Enhanced documentation with architecture docs and improved docstrings
- Updated OpenAI dependency to version 1.61.0
</Update>


<Update label="v0.5.18" description="January 30, 2025">
### [Adds system prompt generation and improves core functionality](https://github.com/codegen-sh/codegen-sdk/releases/tag/v0.5.18)
- Added automatic system prompt generation and gist client integration
- Restored namespace module support functionality
- Removed dynamic widget component from home page
- Fixed parse error handling
- Enhanced documentation and workflow improvements
</Update>


<Update label="v0.5.17" description="January 30, 2025">
### [Platform and file handling improvements](https://github.com/codegen-sh/codegen-sdk/releases/tag/v0.5.17)
- Enhanced file handling with improved TSourceFile return type
- Updated platform support capabilities
- Added community resources for contributors
</Update>


<Update label="v0.5.16" description="January 30, 2025">
### [Pydantic v2 migration and documentation updates](https://github.com/codegen-sh/codegen-sdk/releases/tag/v0.5.16)
- Update to Pydantic v2 imports and config handling
- Documentation and example improvements
- Configuration file updates
</Update>


<Update label="v0.5.15" description="January 30, 2025">
### [Removes auth requirement and fixes path handling](https://github.com/codegen-sh/codegen-sdk/releases/tag/v0.5.15)
- Remove authentication requirement for create command
- Fix path handling and directory creation
- Resolve validator import issues
</Update>


<Update label="v0.5.14" description="January 29, 2025">
### [Validation system improvements](https://github.com/codegen-sh/codegen-sdk/releases/tag/v0.5.14)
- Updated validation system to use BeforeValidator instead of PlainValidator
</Update>


<Update label="v0.5.13" description="January 29, 2025">
### [Updates to Pydantic v2 and documentation improvements](https://github.com/codegen-sh/codegen-sdk/releases/tag/v0.5.13)
- Updated to Pydantic v2 for span handling
- Added documentation for import loops
- Improved IDE installation instructions
</Update>


<Update label="v0.5.12" description="January 29, 2025">
### [Documentation improvements and module resolution fixes](https://github.com/codegen-sh/codegen-sdk/releases/tag/v0.5.12)
- Enhanced documentation with improved visualization linking and codebase examples
- Fixed module resolution issues
- Updated VSCode installation guide with Python extensions
- Improved documentation metadata and thumbnail images
</Update>


<Update label="v0.5.11" description="January 29, 2025">
### [Adds graph disabling feature and fixes command handling](https://github.com/codegen-sh/codegen-sdk/releases/tag/v0.5.11)
- Add disable_graph feature flag to reduce memory usage and parsing time
- Fix bug in create command response handling
</Update>


<Update label="v0.5.10" description="January 29, 2025">
### [Adds language detection and improves file handling](https://github.com/codegen-sh/codegen-sdk/releases/tag/v0.5.10)
- Added package.json-based repository language detection
- Improved file editing capabilities with new raw text edit features
- Enhanced documentation with function decorator guide and codebase visualization tutorial
- Fixed GitHub 404 error handling
- Added type fixes for codebase initialization
</Update>


<Update label="v0.5.9" description="January 28, 2025">
### [Documentation improvements and dynamic import support](https://github.com/codegen-sh/codegen-sdk/releases/tag/v0.5.9)
- Improved documentation with new guides and clarifications on file types
- Added support for dynamic import detection
- Added reset command to CLI
- Improved integration tests for better contributor experience
- Fixed widget URLs and various documentation improvements
</Update>


<Update label="v0.5.8" description="January 28, 2025">
### [Fixes branch sync and improves documentation](https://github.com/codegen-sh/codegen-sdk/releases/tag/v0.5.8)
- Fix branch synchronization clone URL issue
- Enhance documentation guides
- Update development dependencies
</Update>


<Update label="v0.5.7" description="January 27, 2025">
### [Improves runner functionality and build process](https://github.com/codegen-sh/codegen-sdk/releases/tag/v0.5.7)
- Enhanced runner module functionality and synchronization
- Added automatic function imports generation during build process
- Updated documentation and README
</Update>


<Update label="v0.5.6" description="January 27, 2025">
### [New codebase initialization workflow and analytics integration](https://github.com/codegen-sh/codegen-sdk/releases/tag/v0.5.6)
- Introduced new codebase initialization workflow
- Added PostHog integration and override functionality
- Enhanced documentation for session options
- Improved sandbox runner synchronization
</Update>


<Update label="v0.5.5" description="January 27, 2025">
### [Adds create flag and improves Git repository handling](https://github.com/codegen-sh/codegen-sdk/releases/tag/v0.5.5)
- Added `-d` flag to `codegen create` command
- Fixed Gradio integration issues
- Improved automatic base path detection for Git repositories
- Enhanced codebase reset functionality to only affect SDK changes
- Updated documentation and README
</Update>


<Update label="v0.5.4" description="January 27, 2025">
### [Adds venv management and TypeScript export support](https://github.com/codegen-sh/codegen-sdk/releases/tag/v0.5.4)
- Added virtual environment creation and persistence for `codegen init`
- Added support for codebase exports in TypeScript projects
- Reorganized test structure for better maintainability
- Updated graph widget configuration and URLs
</Update>


<Update label="v0.5.3" description="January 27, 2025">
### [Graph widget and system prompt features added](https://github.com/codegen-sh/codegen-sdk/releases/tag/v0.5.3)
- Added graph widget visualization feature
- Enhanced documentation with improved readability and new guides
- Added system prompt functionality
- Fixed core commands: codegen run and create
- Various internal code cleanup and reorganization
</Update>


<Update label="v0.5.2" description="January 24, 2025">
### [Adds notebook functionality and improves documentation](https://github.com/codegen-sh/codegen-sdk/releases/tag/v0.5.2)
- Added new codegen notebook functionality
- Fixed several documentation rendering issues and broken links
- Added function call parameter documentation helpers
- Fixed various type annotations and AST-related bugs
- Added README files for codegen modules
</Update>


<Update label="v0.5.1" description="January 24, 2025">
### [Adds remote codebase support and improves documentation](https://github.com/codegen-sh/codegen-sdk/releases/tag/v0.5.1)
- Added support for fetching remote codebases
- Fixed documentation and GitHub link parsing issues
- Improved test organization and coverage
- Added missing documentation pages
- Resolved repository configuration issues
</Update>


<Update label="v0.5.0" description="January 24, 2025">
### [Major documentation overhaul and API improvements](https://github.com/codegen-sh/codegen-sdk/releases/tag/v0.5.0)
- New documentation system with MDX support and interactive codemod widget
- Simplified API with improved module organization and naming
- Added Codebase and CLI functionality for easier code manipulation
- Introduced fetch_codebase feature for remote repository handling
- Enhanced documentation with new guides and examples
</Update>
19 changes: 19 additions & 0 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,7 @@ dependencies = [
"starlette<1.0.0,>=0.16.0",
"tqdm>=4.67.1",
"tomlkit>=0.13.2",
"python-semantic-release",
"uvicorn[standard]>=0.30.0",
]

Expand Down Expand Up @@ -143,6 +144,7 @@ dev-dependencies = [
"emoji>=2.14.0",
"pytest-benchmark[histogram]>=5.1.0",
"loguru>=0.7.3",
"httpx<0.28.0,>=0.25.1",
]


Expand Down Expand Up @@ -233,3 +235,20 @@ manylinux-aarch64-image = "quay.io/pypa/manylinux_2_34_aarch64"
[tool.cibuildwheel.linux]
before-all = "curl -sSf https://sh.rustup.rs | sh -s -- -y"
environment = { "PATH" = "$HOME/.cargo/bin:$PATH" }

[tool.semantic_release]
assets = []
build_command_env = []
commit_message = "{version}\n\nAutomatically generated by python-semantic-release"
commit_parser = "angular"
logging_use_named_masks = false
major_on_zero = true
allow_zero_version = true
repo_dir = "."
no_git_verify = false
tag_format = "v{version}"

[tool.semantic_release.branches.develop]
match = "develop"
prerelease_token = "rc"
prerelease = false
45 changes: 45 additions & 0 deletions src/codegen/gscli/generate/commands.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@
from codegen.gscli.generate.runner_imports import _generate_runner_imports
from codegen.gscli.generate.system_prompt import get_system_prompt
from codegen.gscli.generate.utils import LanguageType, generate_builtins_file
from codegen.sdk.ai.helpers import AnthropicHelper
from codegen.sdk.code_generation.changelog_generation import generate_changelog
from codegen.sdk.code_generation.codegen_sdk_codebase import get_codegen_sdk_codebase
from codegen.sdk.code_generation.doc_utils.generate_docs_json import generate_docs_json
from codegen.sdk.code_generation.mdx_docs_generation import render_mdx_page_for_class
Expand Down Expand Up @@ -195,3 +197,46 @@ def generate_codegen_sdk_docs(docs_dir: str) -> None:
json.dump(mint_data, mint_file, indent=2)

print(colored("Updated mint.json with new page sets", "green"))


@generate.command()
@click.option("--docs-dir", default="docs", required=False)
@click.option("--anthropic-key", required=True)
@click.option("--complete", is_flag=True, help="Generate a complete changelog for the codegen_sdk API")
def changelog(docs_dir: str, anthropic_key: str, complete: bool = False) -> None:
"""Generate the changelog for the codegen_sdk API and update the changelog.mdx file"""
print(colored("Generating changelog", "green"))
header = """---
title: "Codegen Updates"
icon: "clock"
iconType: "solid"
---
"""
# Generate the changelog for the codegen_sdk API and update the changelog.mdx file
client = AnthropicHelper(anthropic_key=anthropic_key, cache=True, openai_anthropic_translation=False)

if complete:
entire_release_history = generate_changelog(client)
new_changelog = header + entire_release_history
else:
# Read existing changelog and append new releases
with open(os.path.join(docs_dir, "changelog/changelog.mdx")) as f:
# read the existing changelog
existing_changelog = f.read()
# Remove header from existing changelog
existing_changelog = existing_changelog.split(header)[1]
# find the latest existing version
latest_existing_version = re.search(r'label="(v[\d.]+)"', existing_changelog)
# if there is a latest existing version, generate new releases
if latest_existing_version:
# generate new releases
new_releases = generate_changelog(client, latest_existing_version.group(1))
# append new releases to the existing changelog
new_changelog = header + new_releases + existing_changelog
else:
# if there is no latest existing version, generate a complete changelog
new_releases = generate_changelog(client)
new_changelog = header + new_releases

with open(os.path.join(docs_dir, "changelog/changelog.mdx"), "w") as f:
f.write(new_changelog)
Loading
Loading