Skip to content

Latest commit

 

History

History
429 lines (429 loc) · 53 KB

AI_CHANGELOG.md

File metadata and controls

429 lines (429 loc) · 53 KB

AI CHANGELOG

Mon Apr 15 08:29:03 2024 +0000

  • The commit updates the versions of all dependencies listed in the requirements.txt file. The versions of 'anthropic', 'langchain', 'langchainhub', 'openai', and 'pydantic' have been upgraded.

Mon Jan 8 09:02:52 2024 +0000

  • The langchain package version in requirements.txt has been updated from 0.0.353 to 0.1.0. This update might include new features or bug fixes in the langchain package.

Mon Jan 1 08:23:24 2024 +0000

  • The langchain package version in requirements.txt has been updated from 0.0.352 to 0.0.353. This update may include bug fixes, feature improvements or new features from the langchain package.

Tue Dec 26 23:39:13 2023 -0500

  • This commit updates the token used for Github Actions in the bumpver workflow file from 'WORKFLOW_GIT_ACCESS_TOKEN' to 'PAT'.
  • It also updates the Python version used in the workflow to 3.11.

Tue Dec 26 23:35:58 2023 -0500

  • This commit adds a new step to the GitHub Actions workflow that configures the bot's email and name. This is done to ensure that any commits made by the bot are correctly attributed to it.

Tue Dec 26 23:16:15 2023 -0500

  • This commit introduces a new GitHub workflow file named 'bumpver.yml'.
  • The workflow is triggered manually and allows for three types of version bumps: major, minor, and patch.
  • The job runs on the latest Ubuntu, checks out the code, sets up Python, installs the 'bumpver' library, and finally bumps the version.
  • The type of version bump (major, minor, or patch) is provided as an input when the workflow is triggered.

Wed Dec 27 03:31:19 2023 +0000

  • The commit includes updates to the versions of several packages in the requirements.txt file. The anthropic package was updated from version 0.7.8 to 0.8.1, the langchain package from version 0.0.350 to 0.0.352, the openai package from version 1.5.0 to 1.6.1, and the pydantic package from version 2.5.2 to 2.5.3.

Tue Dec 26 22:30:06 2023 -0500

  • This commit introduces a new grouping configuration to the Dependabot settings. Now, all dependencies will be grouped under the 'app' group. This means that whenever Dependabot checks for updates, it will group all updates into a single pull request rather than creating separate pull requests for each update.

Mon Dec 18 13:12:29 2023 +0000

  • The anthropic package version in the requirements.txt file has been updated. The previous version was 0.7.7 and it has been updated to version 0.7.8. No other changes have been made to the requirements.txt file in this commit.

Mon Dec 18 08:39:48 2023 +0000

  • The langchain version was updated in the requirements.txt file. The previous version was 0.0.348 and it has been updated to 0.0.350.

Mon Dec 11 13:10:27 2023 -0500

  • This commit updates the project version from 0.0.13 to 0.0.14. The version number has been updated in three places: the init.py file, the pyproject.toml file, and the tool.bumpver section in the pyproject.toml file.

Mon Dec 11 08:27:14 2023 +0000

  • The langchain library version was updated from 0.0.345 to 0.0.348 in the requirements.txt file. This change ensures that the project is using the latest version of the langchain library.

Tue Dec 5 10:05:39 2023 -0500

  • Updated the versions of the anthropic, langchain, and openai libraries in the requirements.txt file. The anthropic library was updated from version 0.7.5 to 0.7.7, the langchain library from version 0.0.341 to 0.0.345, and the openai library from version 1.3.5 to 1.3.7.

Mon Nov 27 17:36:31 2023 -0500

  • The langchain version in the requirements.txt file has been updated from 0.0.340 to 0.0.341. This update could include bug fixes or new features from the langchain library.

Mon Nov 27 17:35:07 2023 -0500

  • The anthropic package version in the requirements.txt file was updated from 0.7.4 to 0.7.5. No other changes were made in this commit.

Mon Nov 27 17:33:28 2023 -0500

  • The commit updates the versions of several packages in the requirements.txt file. The packages updated include 'anthropic', 'langchain', 'langchainhub', 'openai', and 'pydantic'. The version updates ensure the application uses the latest and possibly more stable or secure versions of these packages.

Mon Nov 6 08:30:02 2023 +0000

  • The langchain package version has been updated in the requirements.txt file. The previous version was 0.0.325, and the new version is 0.0.330. This update may include new features or bug fixes from the langchain package.

Mon Oct 30 08:08:53 2023 +0000

  • The langchain version in the requirements.txt file was updated from 0.0.320 to 0.0.325. This commit does not include any other changes.

Mon Oct 23 16:45:30 2023 +0000

  • The anthropic package version was updated from 0.3.11 to 0.5.0 in the requirements.txt file. No other changes were made to the file.

Thu Oct 19 15:29:03 2023 -0400

  • The README.md file has been updated to include new badges for PyPI publishing and Docker Hub pushing. The Docker badge has been replaced with a new one that reflects the status of Docker Hub pushes.

Thu Oct 19 10:48:57 2023 -0400

  • This commit updates the badges displayed in the README.md file. Some badges have been added to provide more information about the project, such as Docker details, Code Climate metrics, and a known vulnerabilities badge. Some existing badges have been reordered.

Mon Oct 16 08:43:41 2023 +0000

  • The langchain version was updated from 0.0.308 to 0.0.315 in the requirements.txt file. This update may include bug fixes, new features, or improvements in the langchain package.

Fri Oct 6 21:03:07 2023 -0400

  • The project's version number has been updated from 0.0.12 to 0.0.13 in three files:
    1. The version variable in ai_changelog/init.py
    1. The version attribute in the [project] section of pyproject.toml
    1. The current_version attribute in the [tool.bumpver] section of pyproject.toml

Thu Oct 5 13:54:40 2023 +0000

  • The langchain version in the requirements.txt file was updated from 0.0.305 to 0.0.308. This update likely includes bug fixes or new features from the langchain library.

Mon Oct 2 09:01:46 2023 -0400

  • This commit represents a version bump from 0.0.11 to 0.0.12. The version number has been updated in multiple places: the __init__.py file, the pyproject.toml file, and the bumpver tool configuration. This suggests that a new version of the software is being prepared for release, with changes that are significant enough to warrant a version number increment.

Mon Oct 2 08:38:36 2023 +0000

  • This commit updates the Pydantic library version from 2.4.0 to 2.4.2 in the requirements.txt file. This update might include bug fixes, new features, or performance improvements in the Pydantic library.

Mon Oct 2 08:38:27 2023 +0000

  • The langchain version in the requirements.txt file was updated from 0.0.300 to 0.0.305. This update could include bug fixes or new features in the langchain library.

Mon Oct 2 08:38:16 2023 +0000

  • The OpenAI package version in the requirements.txt file has been updated. The previous version was 0.28.0 and it has been upgraded to 0.28.1. This update may include bug fixes, security improvements, or new features from the OpenAI package.

Thu Sep 28 14:32:58 2023 -0400

  • The project's version number in init.py, pyproject.toml, and tool.bumpver has been updated from 0.0.10 to 0.0.11.
  • This update reflects the new changes or features added to the project.

Thu Sep 28 14:31:19 2023 -0400

  • The commit involves the refactoring of the AI Changelog GitHub workflow file. The changes include the removal of unnecessary line breaks and comments, thereby improving the readability of the code. The Anyscale provider section has been commented out, suggesting it's not currently in use. The Python version used in the setup has been updated to 3.11.

Thu Sep 28 18:25:40 2023 +0000

  • This commit indicates a task was removed from the TODO list in the README file. The task 'More robust chains for non-OpenAI LLMs' is no longer listed, suggesting it has been completed or is no longer needed.

Wed Sep 27 18:56:58 2023 -0400

  • The .pre-commit-config.yaml file was modified to exclude AI_CHANGELOG.md instead of .idea and docs directories. The change ensures that the specified file is not included during pre-commit checks.

Wed Sep 27 18:53:08 2023 -0400

  • The output string in the update_changelog function in ai_changelog/utils.py was modified to include a newline character at the end of the existing content. This change ensures that the AI changelog is formatted correctly when new commit descriptions are added.

Wed Sep 27 17:25:39 2023 -0400

  • In the main function, the argument for the output file has been renamed. Previously, it was referred to as 'output', but it has now been renamed to 'output_file' for better clarity and understanding. This change helps in making the code more readable and self-explanatory.

Wed Sep 27 17:23:40 2023 -0400

  • The function 'get_model' in ai_changelog/utils.py has been renamed to 'get_llm'.
  • All references to 'get_model' in ai_changelog/main.py have been updated to 'get_llm'.
  • The variable 'model' in ai_changelog/main.py has been renamed to 'llm' to reflect this change.

Wed Sep 27 17:22:47 2023 -0400

  • This commit introduces an option to specify the output file for the AI changelog generation script. The '-o' or '--output_file' argument has been added to the argument parser in 'ai_changelog/main.py'.
  • The 'get_existing_changelog' and 'update_changelog' functions in 'ai_changelog/utils.py' have been updated to accept the 'output_file' as an argument and use it instead of the hardcoded 'AI_CHANGELOG.md'.
  • This change allows users to specify the output file and makes the script more flexible.

Wed Sep 27 15:06:26 2023 -0400

  • Updated the version number in multiple files from 0.0.9 to 0.0.10. The files impacted are init.py, pyproject.toml, and tool.bumpver in the project configuration.

Wed Sep 27 14:51:06 2023 -0400

  • The markdown_template string was moved from being a class attribute to a module-level constant in the pydantic_models.py file. This change was made to improve the structure of the code and to ensure that the markdown_template string is only defined once and reused, as it doesn't need to be an instance variable.

Wed Sep 27 14:48:10 2023 -0400

  • Added a new argument --max_concurrency to the main function in ai_changelog/__main__.py. This argument sets the maximum number of concurrent connections to the llm provider. A default value of 0 implies no limit.
  • In ai_changelog/utils.py, updated the get_descriptions and update_changelog functions to accept max_concurrency as an argument. This value is then passed to the RunnableConfig in the chain.batch call.

Wed Sep 27 14:33:11 2023 -0400

  • The anthropic package version 0.3.11 was added to the requirements.txt file. This change implies that this package is now a dependency for the project.

Wed Sep 27 14:25:31 2023 -0400

  • In this commit, the get_descriptions function in ai_changelog/utils.py was refactored. The logic for creating the chain for getting commit descriptions was updated based on the provider. If the provider is 'openai', it uses the create_structured_output_chain function. Otherwise, it creates a new PydanticOutputParser object and a new ChatPromptTemplate object before creating the chain. The way outputs are extracted from the results was also modified to account for these changes.

Wed Sep 27 14:14:21 2023 -0400

  • The commit introduces the ability to specify a provider when generating descriptions for a list of commits. Depending on the provider, a different output chain is used to fetch and parse the descriptions. The 'provider' parameter was also added to the 'get_descriptions' and 'update_changelog' functions. Additionally, the commit includes the import and usage of the 'PydanticOutputParser' and 'RunnableConfig' classes, which are used when the provider is not 'openai'.

Wed Sep 27 13:50:43 2023 -0400

  • In the Dockerfile, a new git configuration has been added. This configuration sets the global 'safe.directory' to '*'. This change ensures that all directories are considered safe by git.

Wed Sep 27 13:47:50 2023 -0400

  • The version of the langchainhub dependency in the requirements.txt file has been updated from 0.0.303 to 0.1.13.

Wed Sep 27 13:47:05 2023 -0400

  • A new requirement 'langchainhub' has been added to the requirements.txt file. The version specified for this new requirement is 0.0.303.

Wed Sep 27 13:36:21 2023 -0400

  • In the main function of ai_changelog/main.py, the argument 'hub_prompt_str' has been renamed to 'hub_prompt'. This change is likely made to improve code readability and maintain a consistent naming convention.

Wed Sep 27 13:34:23 2023 -0400

  • This commit modifies the command line arguments in the ai_changelog/main.py script. Changes include:
    1. Updated the help text for the 'refs' argument to better reflect its purpose.
    1. Changed the 'provider', 'model', 'temperature', 'max_tokens', and 'hub_prompt_str' arguments to optional by adding '--' before their names.
    1. Added choice validation to the 'provider' argument, limiting the options to 'openai', 'anthropic', and 'anyscale'.
    1. Removed the duplicate 'refs' argument.

Wed Sep 27 13:30:33 2023 -0400

  • This commit removes an unnecessary import statement from 'ai_changelog.pydantic_models.py'. The 'markdown_template' import from 'ai_changelog.string_templates' has been removed as it's no longer in use.
  • Additionally, the usage of 'markdown_template' in the 'CommitInfo' class has been updated. Instead of calling 'markdown_template.format()', it now calls 'self.markdown_template.format()'. This change indicates that the markdown template is now an instance variable of the 'CommitInfo' class.

Wed Sep 27 13:28:14 2023 -0400

  • This commit introduces several enhancements and changes to the ai_changelog module. The __main__.py file has been updated to include more command-line arguments for the main function, allowing more granular control over the model and its parameters. This includes arguments for the model API provider, model name, model temperature, maximum tokens in output, and verbosity.
  • The pydantic_models.py file has been updated to include a markdown template in the CommitInfo class, providing a standard format for commit information.
  • A significant change is the deletion of the string_templates.py file, indicating a shift in the way strings are handled in the module.
  • Finally, the utils.py file has seen extensive updates, including the addition of get_model and get_prompt functions, which return a chat model and a chat prompt template respectively. The get_descriptions and update_changelog functions have also been updated to accommodate these changes.

Mon Sep 25 21:21:54 2023 -0400

  • Updated the version number in init.py, pyproject.toml, and the bumpver tool settings from 0.0.8 to 0.0.9. This is likely in preparation for a new release.

Mon Sep 25 21:19:38 2023 -0400

    1. Updated the AI Changelog workflow to ignore changes in the README file.
    1. Created a new workflow for pushing to Docker Hub upon tagging a new release.
    1. Updated the Dockerfile to change the default command from bash to running ai_changelog.
    1. Made various updates to the README, including changing the Python version badge, expanding on the usage instructions, and updating the TODO list.

Mon Sep 25 22:17:16 2023 +0000

  • This commit updates the project's version number from 0.0.6 to 0.0.7. The version number has been updated in three files: ai_changelog/init.py, pyproject.toml, and tool.bumpver's current_version. This indicates a new version release of the project.

Mon Sep 25 18:07:37 2023 -0400

  • The version of the project has been updated in multiple files including init.py, pyproject.toml. The new version is 0.0.6.

Mon Sep 25 18:00:14 2023 -0400

  • The project version in multiple files (init.py, pyproject.toml) has been updated from 0.0.4 to 0.0.5. This includes the version information in the project metadata and the bumpver tool configuration.

Mon Sep 25 17:56:08 2023 -0400

  • This commit removes the condition that restricted the 'update-changelog' job to only run if a pull request was merged. Now, the job will run on every push to the 'AI_CHANGELOG.md' file.

Mon Sep 25 17:42:00 2023 -0400

  • The project's version number has been incremented from 0.0.3 to 0.0.4. This change has been reflected in the project's main init.py file, the pyproject.toml file, and the bumpver tool's configuration.

Mon Sep 25 17:41:50 2023 -0400

  • In the GitHub Actions workflow, the trigger for the build job was changed. It now only runs on push events that start with 'refs/tags', instead of on all push events to the 'main' branch and any tags. The 'AI_CHANGELOG.md' file was also updated, but the changes were not specified.

Mon Sep 25 16:00:04 2023 -0400

  • Removed the REPO_NAME environment variable from the AI Changelog workflow as it was not being used.
  • Added tags trigger to the PyPi publishing workflow to ensure package publishing occurs whenever a new tag is pushed.
  • Removed the condition to only publish to PyPi on tag pushes as it's now redundant with the new tags trigger.

Mon Sep 25 15:50:27 2023 -0400

  • This commit includes an update to the version number of the 'ai_changelog' project. The version number has been incremented from 0.0.2 to 0.0.3. This change has been made in the 'init.py', 'pyproject.toml' files, and the 'tool.bumpver' section of the project.

Mon Sep 25 15:47:41 2023 -0400

  • This commit changes the 'name' property of the 'environment' in the GitHub action workflows for publishing to PyPI and TestPyPI. The name 'pypi' and 'testpypi' have been replaced with 'release' in both workflows.

Mon Sep 25 15:42:42 2023 -0400

  • A new GitHub workflow file has been added to automate the process of publishing the Python package to PyPI and TestPyPI. The workflow triggers on push events to the main branch, excluding changes to the 'AI_CHANGELOG.md' file.
  • The workflow includes several jobs: building the distribution package, publishing the package to PyPI and TestPyPI, signing the distribution with Sigstore, and uploading the signed package to a GitHub Release.
  • The building process uses Python 3.11 and the pypa/build module. The distribution packages are stored as artifacts for later jobs.
  • The publishing process to PyPI only triggers on tag pushes. The publishing to TestPyPI happens regardless of the push event type.
  • The signing process uses the sigstore/gh-action-sigstore-python GitHub action and the signatures are uploaded to a GitHub Release.

Mon Sep 25 15:16:19 2023 -0400

  • The version of the 'ai_changelog' project has been updated from 0.0.1 to 0.0.2. This change is reflected in the 'init.py' file, the 'pyproject.toml' file, and the 'bumpver' tool settings.

Mon Sep 25 15:15:47 2023 -0400

  • Updated AI_CHANGELOG.md to include a newline at the end of the file.
  • Added a version variable to init.py in the ai_changelog module.
  • Updated the pyproject.toml file to include the author's name, changed the keywords, added optional dependencies, and included bumpver tool configurations.

Mon Sep 25 13:23:18 2023 -0400

  • Updated the line from which the AI_CHANGELOG.md file starts being read. Previously, it was starting from the 3rd line, now it starts from the 2nd line.

Mon Sep 25 13:12:38 2023 -0400

  • In this commit, the token used for the Checkout code step in the GitHub Actions workflow (ai_changelog_main_push.yml) was changed from GITHUB_TOKEN to PAT. Additionally, the force push option was removed from the Commit changes step. Mon Sep 25 12:47:54 2023 -0400
  • This commit introduces a README.md file for the AI Changelog project. The README provides details about the project, such as its licensing, Python version compatibility, and security measures. It also includes usage instructions for local and GitHub workflow environments, configuration tips, and a list of pending tasks.

Mon Sep 25 12:17:57 2023 -0400

  • This commit fixes a bug in the argument parsing section of the ai_changelog script. The bug was causing the script to fail when trying to split the 'ref' argument. The argument name has been corrected from 'ref' to 'refs'.

Mon Sep 25 12:17:03 2023 -0400

  • The commit includes changes in three files: ai_changelog_main_push.yml, AI_CHANGELOG.md, and main.py in the ai_changelog directory.
  • In ai_changelog_main_push.yml, the run command for the ai_changelog script was simplified to 'ai_changelog origin/main^..origin/main'.
  • In AI_CHANGELOG.md, a newline character was added at the end of the file.
  • In main.py, the argument parser in the main function was refactored. The '--before_ref' and '--after_ref' arguments were replaced with a single 'refs' argument. This argument takes a range of references in the format 'origin/main^..origin/main'. The before_ref and after_ref variables were then set by splitting the 'refs' argument. Mon Sep 25 11:31:17 2023 -0400
  • This commit introduces the MIT License to the project. The license grants permission for anyone to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the software. It also includes a disclaimer of warranty. Mon Sep 25 14:13:28 2023 +0000
  • The Pydantic library version was upgraded from 2.3.0 to 2.4.0 in the requirements.txt file.
  • The langchain package version in the requirements.txt file has been updated from 0.0.298 to 0.0.300. Mon Sep 25 10:07:01 2023 -0400
  • This commit introduces several new files to the GitHub repository. It includes bug report and feature request templates, a pull request template, and a Dependabot configuration file. This will help streamline the issue reporting and feature request process, as well as ensure dependencies are kept up to date.
  • Additionally, the AI Changelog workflow has been updated to use the correct parameter names for the ai_changelog command. Sun Sep 24 00:56:46 2023 -0400
  • In the get_commits function, the outputs variable was refactored into two separate variables: dts and diffs. This change improves code readability by clearly separating the date time strings and diffs for each commit.

Sun Sep 24 00:43:32 2023 -0400

  • Removed unnecessary comment line in CommitDescription class.
  • Simplified the markdown method in the CommitInfo class by removing the optional repo_name parameter and the related error handling, instead directly using the get_repo_name method.

Sun Sep 24 00:39:38 2023 -0400

  • The get_commits function in utils.py was refactored to improve its readability and efficiency. The changes include the extraction of the dt_diffs_from_hashes function call to a separate variable 'outputs' before the return statement. This is followed by printing the 'outputs' to the console for debugging purposes. The diff attribute of the Commit object was also modified to strip any leading or trailing whitespace.

Sun Sep 24 00:31:46 2023 -0400

  • Added a comment in pydantic_models.py for testing purposes.
  • Refactored the get_commits function in utils.py to call dt_diffs_from_hashes directly in the list comprehension. Sat Sep 23 21:17:03 2023 -0400
  • This commit includes a change to the AI Changelog GitHub Actions workflow. Specifically, it adds a commit message to the 'Commit changes' step of the workflow. Sun Sep 24 01:07:48 2023 +0000
  • This commit updates the Python setup and installation steps in the GitHub workflow. The Python version is now set to 3.11, and pip cache is enabled. The step for installing dependencies is renamed to 'Install Python libraries', and a command to install the current directory as a package is added. Sat Sep 23 20:37:34 2023 -0400
  • This commit refactors the import statements in main.py, pydantic_models.py, and utils.py. The changes involve removing the ai_changelog prefix from the import statements, which suggests a possible restructuring of the project's directory. Sat Sep 23 20:14:34 2023 -0400
  • This commit introduces several improvements to the formatting of the AI Changelog and Python scripts.
  • In the AI Changelog, leading and trailing whitespaces are now being stripped from each line. This ensures that the formatting of the commit descriptions is consistent and neat.
  • In the Python scripts, the 'infos_to_str' method in the 'CommitInfo' class now joins the commit descriptions with a single newline character instead of two, reducing the amount of whitespace in the output. Furthermore, the 'get_commits' function in 'utils.py' has been updated to strip leading and trailing whitespaces from the commit hash, date_time_str, and diff.

Sat Sep 23 20:05:42 2023 -0400

  • This commit introduces several improvements to the handling of whitespace in the AI_CHANGELOG.md file and refactors parts of the Python scripts.
  • In the AI_CHANGELOG.md file, leading and trailing whitespaces are now being stripped from each line. This ensures that the formatting of the commit descriptions is consistent and neat.
  • In the Python scripts, the 'infos_to_str' method in the 'CommitInfo' class now joins the commit descriptions with a single newline character instead of two, reducing the amount of whitespace in the output.
  • Additionally, the 'main' function in the 'update.py' script now also strips leading and trailing whitespaces from each line of the existing content of the AI_CHANGELOG.md file. This prevents any unnecessary blank lines or spaces from appearing in the final output.

Sat Sep 23 19:57:20 2023 -0400

  • Added descriptive docstrings to classes and functions in pydantic_models.py, update.py, and utils.py for better code understanding and readability.
  • Refactored the main function in update.py to handle command line arguments directly, simplifying the code structure.
  • Modified get_timestamp function in utils.py to rename the 'format' parameter to 'format_str' to avoid naming conflict with the built-in Python function 'format'.

Sat Sep 23 19:11:08 2023 -0400

  • The .idea directory was added to the .gitignore file to ignore files generated by the JetBrains IDE.
  • A newline character was added at the end of the AI_CHANGELOG.md file.
  • A new Dockerfile was created with instructions to build a Docker image for a Python 3.11 Alpine application.
  • The infos_to_str method was moved from the utils.py file to the pydantic_models.py file as a static method of the CommitInfo class.
  • The shebang line was added to the top of the update.py file to specify the Python 3 interpreter.
  • The call to the infos_to_str function in the update.py file was replaced with a call to the static method CommitInfo.infos_to_str.

Sat Sep 23 13:08:14 2023 -0400

  • In this commit, the get_repo_name function was moved from the utils.py file to the pydantic_models.py file. This function is now a static method within the CommitInfo class. In addition, the function call in the markdown method has been updated to use the new location of the get_repo_name function.

Sat Sep 23 12:24:52 2023 -0400

  • The first commit removes any leading or trailing whitespace from the bullet points in the commit descriptions. This ensures that the formatting of the commit descriptions is consistent and neat.
  • The second commit makes sure that the existing content is stripped of any leading or trailing whitespace before it is appended to the new descriptions in the AI Changelog. This prevents any unnecessary blank lines or spaces from appearing in the final output.

Sat Sep 23 12:18:58 2023 -0400

  • The commit contains changes to the AI_CHANGELOG.md, ai_changelog/update.py, and ai_changelog/utils.py files. The changes in the update.py and utils.py scripts involve refactoring how commits are fetched. The 'base_ref' and 'head_ref' parameters were renamed to 'before_ref' and 'after_ref' to better reflect their purpose. The 'before_ref' represents the state of the repository before the changes, and the 'after_ref' represents the state after the changes. The way the commits are fetched was also changed. Instead of finding the common ancestor of 'before_ref' and 'after_ref', the commit hashes for 'before_ref' and 'after_ref' are fetched directly. The changes in the AI_CHANGELOG.md file involve adding a newline at the end of the file.

Fri Sep 22 17:58:04 2023 -0400

  • The code in update.py was refactored to encapsulate the main logic within a new main() function. This change improves the readability and structure of the code. The main() function now contains the logic for checking if AI_CHANGELOG.md exists, restoring the original version if it does, reading its contents, generating the new AI_CHANGELOG.md, writing the output, and adding the file to the git staging area. The script now calls the main() function if it is run as the main module.

Fri Sep 22 17:53:25 2023 -0400

  • The bash script used for updating the AI changelog has been replaced with a Python script. The Python script checks if the AI_CHANGELOG.md file exists. If it does, it restores the original version from the main branch and gets its contents starting from the 3rd line.
  • The script then generates new commit descriptions and combines them with the existing content. The new content is written to AI_CHANGELOG.md and the file is added to the git staging area.
  • In the GitHub workflow file, the run command has been updated to use the Python script instead of the bash script.

Fri Sep 22 16:00:00 2023 -0400

  • The description for the 'date_time_str' field in the Commit class has been updated to improve clarity. The previous version lacked the 'description' keyword, which has now been added.

Fri Sep 22 15:58:51 2023 -0400

  • This commit introduces a modification to the 'get_commits' function in 'ai_changelog/utils.py'.
  • Specifically, the '--no-notes' option has been added to the git show command. This option suppresses the display of notes that annotate a commit, providing a cleaner output.

Fri Sep 22 15:57:01 2023 -0400

  • The commit adds a formatted date and time string to the commit information. This is achieved by modifying the Commit class in the pydantic_models.py file, adding a new attribute 'date_time_str'.
  • In the string_templates.py file, the markdown template is updated to include the date and time string. The commit also simplifies the sys_msg and hum_msg templates in the same file.
  • The utils.py file is updated to include a new function 'get_timestamp' that retrieves the timestamp for a given commit hash. The 'get_commits' function is also modified to include the timestamp in the commit information.
  • This commit addresses the issue of repeating commit summaries in the changelog. Previously, the script would not properly rollback the previous additions to the AI_CHANGELOG.md file, leading to an accumulation of repeated summaries.
  • The fix involves changing the 'git checkout' command to specifically checkout the 'AI_CHANGELOG.md' file from the 'origin/main' branch, effectively discarding changes made in the working tree.
  • The commit 529609cb0748a803c601dee4408815a00cac8bfc includes several updates to the AI Changelog:
    1. Fixed a typo in the markdown_template URL in the file ai_changelog/string_templates.py.
    1. Introduced a hyperlink to the commit in the markdown output by modifying the markdown template in 'string_templates.py' and updating the 'markdown' method in the 'CommitInfo' class of 'pydantic_models.py'.
    1. Added the 'REPO_NAME' environment variable in '.github/workflows/ai_changelog_main_pr.yml' to store the repository name.
    1. Included the functionality to create hyperlinks in markdown by modifying the markdown template in the 'string_templates.py' file and adding an optional 'repo_name' parameter to the 'markdown' method in the 'CommitInfo' class.
  • The commit ddd9ce75383893fee14132a284eec573c46a002c by Joshua Sundance Bailey on Fri Sep 22 15:05:12 2023 is a minor fix for a typo in the 'markdown_template' string in the ai_changelog/string_templates.py file.
  • The change involves correcting the GitHub URL format in the markdown template. The word 'commits' has been changed to 'commit' in the hyperlink format.
  • The commit '7e7e956c59fb42752f6f607b28427669e30c24f5' introduces a hyperlink to the commit in the markdown output. This was achieved by modifying the markdown template in 'string_templates.py' to include the repository name and commit hash in a GitHub URL format.
  • To accommodate this change, the 'markdown' method in 'CommitInfo' class of 'pydantic_models.py' was updated to accept an optional 'repo_name' parameter. If 'repo_name' is not provided, the method attempts to fetch it from the environment variables.
  • A new environment variable 'REPO_NAME' is added in '.github/workflows/ai_changelog_main_pr.yml' to store the repository name.
  • The commit introduces the functionality to create hyperlinks in markdown. Changes were made to the 'ai_changelog_main_pr.yml', 'pydantic_models.py', and 'string_templates.py' files.
  • In the 'ai_changelog_main_pr.yml', the REPO_NAME was added as an environment variable.
  • In 'pydantic_models.py', the 'markdown' method was updated to include the 'repo_name' parameter, which defaults to the REPO_NAME environment variable if not provided. If the 'repo_name' is not provided and the REPO_NAME environment variable is not set, a ValueError is raised.
  • In 'string_templates.py', the markdown template was modified to include a hyperlink to the commit in the short description.

Added .gitignore file

7389ceff6fc1a2e81146f0215d83b58419e9cbdd

  • This commit introduces a .gitignore file to the project. The .gitignore file specifies intentionally untracked files that Git should ignore. This includes various Python-related files and directories, such as .pyc files, pycache directories, virtual environments (venv), and others. This helps to keep the repository clean from unnecessary files, especially those that are generated during code execution or by the development environment.

Fixed pip install command in GitHub Actions workflow

3ac4b562ceb2b11b1edcb9d196c7086365274608

  • Corrected the pip install command in the .github/workflows/ai_changelog_main_pr.yml GitHub Actions workflow file. The previous command attempted to install a package called 'requirements.txt', which is incorrect. The corrected command uses the -r flag to correctly install the packages listed in the requirements.txt file.

Added requirements.txt

1f59a6ee1804d15af2d59eb047b178cc512ea969

  • A new file named requirements.txt has been added to the project. This file contains the following Python dependencies:
    1. langchain version 0.0.298
    1. openai version 0.28.0
    1. pydantic version 2.3.0

Separated Python setup and dependency installation steps in GitHub workflow

897ac1dd8135ed3099d660d15035504c425e3d3e

  • In the GitHub workflow file 'ai_changelog_main_pr.yml', the Python setup and dependency installation steps were previously combined. This commit separates these two steps into individual actions. The Python setup now uses the 'actions/setup-python@v4' action with Python version 3.11 and pip caching. The installation of dependencies is now a separate step, which runs 'pip install --user requirements.txt'.

Refactored Python setup in GitHub workflow and updated import statements in Python scripts

5df12c7f15ffeea1447734a3354dbc37bdb31df9

  • Updated Python setup in GitHub workflow to use version 4 of the setup-python action and added pip cache. Also, changed the installation of dependencies to use a requirements file instead of installing packages individually.
  • Removed unnecessary init.py file from ai_changelog directory.
  • Refactored import statements in pydantic_models.py, update.py, and utils.py to import from local directories instead of ai_changelog.
  • Wrapped main execution block in update.py within a main() function.

Fixed script execution command

b88f695bf2f58c70e828077830fb4365aacff32e

  • Updated the command to execute the 'update_changelog.sh' script in the GitHub workflow file 'ai_changelog_main_pr.yml'.
  • The script is now being run with '/bin/bash' to ensure the correct shell environment.

Refactored AI Changelog Update Process

ff7719e90b74122f6d326b5a4c1ff070fdcc698f

  • This commit refactors the AI changelog update process. Previously, the update process was directly embedded in the Github Action workflow file (ai_changelog_main_pr.yml). This commit moves the update process into a separate shell script (update_changelog.sh) to improve code organization and readability.

Installation and implementation of pre-commit hooks

baa19fd17f49932c007e76fecf0dcda90e986283

  • This commit introduces the installation and running of pre-commit hooks to ensure code quality before commits are pushed. The hooks include checks for syntax errors, merge conflicts, trailing whitespaces, and more.
  • The commit also includes minor modifications to the ai_changelog_main_pr.yml, AI_CHANGELOG.md, pydantic_models.py, and utils.py files. These changes mainly involve formatting adjustments and do not impact the functionality of the code.

Updated GitHub action to call the update script from new location

2d28faafa321b4a3b38fff09d54e2d7025034d1c

  • This commit updates the GitHub action workflow to call the update script from its new location. Previously, the script was called directly from the root directory. Now, it's located inside the 'ai_changelog' directory.

Refactor main function to new file and rename ai_changelog.py to utils.py

bad72996e057ae700e957f00a5a8dddd9827dfd7

  • The main function that was previously in ai_changelog.py has been moved to a new file called update.py. This helps in organizing the codebase and separating concerns.
  • The ai_changelog.py file has been renamed to utils.py, indicating that this file is now primarily used for utility functions like get_commits, get_descriptions, and infos_to_str.

Refactored main script into separate functions

610f994f9aeb242b76e9bfc0966079c96670a797

  • This commit refactors the main script in 'ai_changelog.py' by splitting the main execution block into separate functions. This change improves the modularity and readability of the code.
  • The 'get_commits' function was already present. Two new functions were added: 'get_descriptions' and 'infos_to_str'.
  • 'get_descriptions' takes a list of commits as input and returns a list of 'CommitInfo' objects, which contain both the original commit and its generated description.
  • 'infos_to_str' takes a list of 'CommitInfo' objects and returns a formatted string representation of these objects, ready for printing.
  • The main execution block now simply calls these functions in sequence and prints the final string.

Moved ai_changelog.py to a new directory

1cd076994b323ffb646df8428d2a7ad241be9d27

  • The ai_changelog.py file was moved from the root directory to a new subdirectory named ai_changelog. This change does not affect the functionality of the file but helps in organizing the codebase.

Refactored code by moving Pydantic models to a separate file

87294d34d1112c45376f6e8ae334208bf2c19e8b

  • Moved the Pydantic models 'Commit', 'CommitDescription', and 'CommitInfo' from 'ai_changelog.py' to a new file named 'ai_changelog/pydantic_models.py'.
  • This change helps to keep the codebase organized and improves the readability of the 'ai_changelog.py' file by reducing its length and complexity.

Refactored string templates to a separate file

5f9ac629d38703cc640456ac2474e5aef95aafcc

  • The commit involves moving the string templates (sys_msg, hum_msg, markdown_template) used in the ai_changelog.py file to a separate file named string_templates.py within the same directory.
  • This change helps in improving the code organization and readability by separating the string templates from the main logic of the program.
  • The ai_changelog.py file was updated to import the string templates from the new location.

Creation of ai_changelog/init.py

b8b3377a6f0016108c8860d28fa23ef0098e4418

  • This commit introduces a new file, ai_changelog/init.py. The file does not contain any code yet as it is an initialization file.

Removed hello_world.py

b79d5c378120eabad7062cbad29dc0e1e9b6b2b1

  • This commit deletes the file hello_world.py from the repository. The file previously contained a simple script for printing a 'Hello, world!' message and testing the bot's ability to generate commit messages from diffs.

Added additional print statements to hello_world.py

a4273faacb57222dfcec6f3446efc2f12bf40fc5

  • The commit adds two new print statements to the 'hello_world.py' script. These messages provide more information about the purpose of the script and how the diff is generated.

Added hello_world.py

0fdc81b6b26fe9c8d3dfed936e8c692f369119a7

  • This commit introduces a new Python file named 'hello_world.py'.
  • The file contains a simple script that prints 'Hello, world!' when run.