Skip to content

Latest commit

 

History

History
179 lines (94 loc) · 12.6 KB

CHANGELOG.md

File metadata and controls

179 lines (94 loc) · 12.6 KB

Changelog

0.3.0 (2024-12-08)

Compare the full difference.

Fixes

  • Fixed building. 64499b6

  • Fixed release to test pypi. 610bfa6

  • Fixed tests and version preview. 241e04d

  • Fixed minor linting bugs. 8cad0c3

  • Fixed windows testing bug when removing a directory. a82f645

  • Fixed caching issues with uv in actions. 283590f

  • Fixed more GitHub Actions. 862197a

  • Fixed GitHub Actions. a6733bc

  • Fixed coverage in GitHub Actions. d35db77

  • Fixed tooling and formatting. 217cfb8

New

  • Added pyproject.toml for test fixture. 91d4b1f

  • Added documentation configuration. 8a3c86c

  • Add UI function to CLI tests and refactor conftest.py. 0fbb915

    Incorporate 'ask_question' as a UI function across CLI tests to enhance interactivity. Remove the 'inside_dir' context manager from conftest.py, streamlining the test setup by relying on pytest plugins for directory management.

  • Add testing utilities and tests for Project Forge. 58b22c7

    Introduce a new project_forge.testing module providing utilities such as inside_dir, run_inside_dir, and use_default_ui for testing Project Forge patterns and compositions. Additionally, implement tests for these utilities to ensure correct functionality, including context management, command execution, and handling of project creation using default settings.

Other

Updates

  • Changed the handling of paths in test yet again. d3d35cb

  • Changed the handling of paths in test again. 5b49897

  • Changed the handling of paths in test. a1904ea

  • Refactor to use dataclass for build results. d1fbcdd

    Updated build_project function to return a BuildResult, now including additional UI function parameter for better flexibility. The render_env function now identifies and returns the project root path, enhancing build tracking.

0.2.0 (2024-11-18)

Compare the full difference.

New

  • Add test suite for CLI and enhance TODO tags. 0296f46

    Introduced a comprehensive test suite for the CLI functionality using pytest and unittest.mock.patch to ensure robustness. Enhanced TODO tags with issue numbers for improved tracking and organization.

  • Added initial CLI interface. a6fab99

  • Add tests and implement render functionality. 302b685

    Added two tests in test_render.py to verify the rendering of templates and directories. Implemented the render_env function in render.py to handle the template rendering logic. Also ensured questions field in the pattern configuration has a default factory list.

  • Add initial documentation and assets with new CSS and images. 052af67

    Created new documentation pages for tutorials, how-tos, references, and explanations. Added custom CSS files for card layouts, extra content, field lists, and mkdocstrings styling. Included new logo and favicon images.

  • Add new JSON and YAML pattern files for fixture setups. ca6df6d

    Introduce JSON and YAML files for 'mkdocs', 'python-boilerplate', and 'python-package' fixtures. These files define template locations, questions, and extra context to streamline repository setups.

  • Add URL parsing and caching capabilities to Location class. 92cbb91

    Enhanced Location class to parse URLs, handle local file URLs, and cache parsed URLs. Updated caching functions to handle remote repository cloning and local file paths, with added tests to verify this functionality.

  • Add settings configuration for project. 69ec6e9

    Created a new settings file (settings.py) to manage configurations for the project using pydantic-settings and platformdirs. Updated dependencies in pyproject.toml to include these new packages.

  • Add unit tests and git command utility functions. 1baa00e

    Implemented unit tests for various git commands in tests/test_git_commands.py and defined git utility functions in project_forge/git_commands.py. These changes ensure comprehensive coverage for git operations including repository management, branching, and applying patches.

  • Add URL parsing functionality and unit tests. d6ef3c9

    Introduce project_forge.core.urls module with functions to parse git URLs, internal paths, and path components. Additionally, provide comprehensive unit tests in tests/test_core/test_urls.py to validate the parsing logic.

  • Add path existence and removal utility functions with tests. cec15da

    Introduced make_sure_path_exists and remove_single_path functions to handle directory and file operations safely. Additionally, added tests to ensure these functions create directories if missing and remove files and directories correctly. Logging and custom error handling are also included to enhance debugging and reliability.

  • Added initial composition models. 8aeda6e

  • Added configuration files. 45608a5

Other

  • Enable default responses and fix context rendering logic. 4af116f

    Simplified context rendering by directly returning non-string values and enabled forcing default responses for certain questions. This reduces unnecessary UI interactions and corrects the faulty rendering of expression values in contextual overlays.

Updates

  • Updated tooling and configuration. a7665e6

  • Refactor template handling. 228c06a

    Refactor catalog_templates to incorporate directory names for better path resolution. Updated pyproject.toml templates to align with the new requirements structure. Added logging for template loading in the Jinja2 environment.

  • Update composition tests and add context builder merge logic. ba65296

    Updated unit tests to reflect changes in overlay patterns and added merge keys in composition. Introduced new module data_merge.py and implemented merge strategies for combining configurations within the context builder.

  • Rename and refactor rendering module. 9137a77

    Renamed rendering.py to expressions.py, and refactored to load the environment dynamically rather than using a static instance. Adjusted project to require Python 3.12 and updated dependencies accordingly, including the addition of asttokens and icecream.

  • Refactor rendering module and improve template handling. fc042a2

    Delete rendering.py and establish new modular structure with expressions.py, templates.py, and environment.py. Update import paths accordingly and add new test cases to cover the added functionality.

  • Remove debug prints and update project references. d949cee

    Removed unnecessary debug print statements from multiple files to clean up the codebase. Also, updated references from "cookie_composer" to "project_forge" to align with the current project's naming conventions.

  • Refactor exception hierarchy in core/exceptions.py. e2bd1d5

    Introduce a base ProjectForgeError class and inherit all specific exceptions from it. This change enhances consistency and simplifies exception handling across Project Forge.

  • Updated Ruff configuration. 4eed053

0.1.0 (2024-08-26)

  • Initial creation