Skip to content

Releases: eli64s/readme-ai

v0.1.6

24 Oct 21:43
Compare
Choose a tag to compare

✨ Features

  • refactor: Reduce complexity of markdown table generator methods. @eli64s (#70)
  • enhancement: Add more context to LLM prompts. @eli64s (#69)
  • feat: Add CLI option --emojis to change README header prefixes @eli64s (#67)

🪲 Bug Fixes

  • fix: #35 Update tokenization logic causing issues for larger codebases @eli64s (#68)
  • fix #65: Update dependency parser method for build.gradle files @eli64s (#66)

📄 Documentation

  • docs: Update readmeai demo videos. @eli64s (#71)

⚙️ Dependency Updates


v0.1.5

16 Oct 00:29
Compare
Choose a tag to compare

What's Changed

🚀 Features

  • feat: Add support for three badge icon styles. @eli64s (#62)
  • feat: Add README file in German README-de and update other README files (FR, zh-CN).

🧩 Dependency Updates

v0.1.4

01 Oct 01:38
Compare
Choose a tag to compare

What's Changed

🚀 Features

  • Add new SVG badge icons that user's can select using the CLI option --badges @eli64s (#58)
  • Refactor readmeai package structure to improve organization and readability @eli64s (#58)

v0.1.3

30 Sep 07:42
Compare
Choose a tag to compare

What's Changed

🚀 Features

🧹 Chore

  • Decouple CLI as own directory to improve readability and maintainability @eli64s (#57)

📄 Documentation

  • Add README files in additional languages [fr, zh-CN] @eli64s (#55)

v0.1.2

26 Sep 03:00
Compare
Choose a tag to compare

What's Changed

🔐 Security

  • Implement custom tree generation method in pure Python. Removes overhead of dependency Tree command and mitigates risk associated with executing the command using the subprocess module @eli64s (#53)

🛠 Maintenance

  • Refactor small details of codebase to improve readability and fix various small bugs @eli64s (#54)

0.1.1

25 Sep 02:52
f678929
Compare
Choose a tag to compare

What's Changed

🚀 Features

  • Add CLI option to run readme-ai in offline mode (without calling the LLM) @eli64s (#52)
  • Add CLI options for specifying the LLM engine and adjusting temperature @eli64s (#50)

🛠 Maintenance

  • Removed redundant git clone operations when preprocessing codebase metadata @eli64s (#51)
  • Refactor remaining dataclasses in conf.py to Pydantic models

0.1.0

20 Sep 21:53
Compare
Choose a tag to compare

[v0.1.0] - 2023-09-20

✨ Features

🐛 Bug Fixes

  • Update configuration ignore_files.toml to stop ignoring the following file extensions:
    • yaml, toml, txt, lock

🧹 Chore

  • Regenerate all README files in the examples directory to reflect the latest changes to the tool.

0.0.9

19 Sep 05:09
Compare
Choose a tag to compare

[v0.0.9] - 2023-09-19

🧹 Chore

  • Update README file to enhance project documentation.
    • Add Configuration section to provide context for customizing the tool.
    • Simplify Getting Started section install and run instructions.
    • Update Roadmap section with latest project goals.

0.0.8

18 Sep 22:29
Compare
Choose a tag to compare

[v0.0.8] - 2023-09-18

🐛 Bug Fixes

  • Update file parsing logic in parse.py and preprocess.py for codebases containing the following dependency files (issue #37).
    • CMakeLists.txt
    • Makefile.am
    • configure.ac
  • Credit to @mooujarrar for the help in solving this issue!

🔐 Security

  • Bump gitpython module to version 3.1.36 to address security vulnerability (Dependabot Alert #5 and issue #43).

0.0.7

30 Aug 08:40
Compare
Choose a tag to compare

[v0.0.7] - 2023-08-30

⚠️ This release addresses a security vulnerability related to cloning git repositories with the GitPython package on Windows systems. This vulnerability could allow arbitrary command execution if code is run from a directory containing a malicious git.exe or git executable.

🔐 Security Fixes

Arbitrary Command Execution Mitigation

  • Dependabot Alert #3: GitPython untrusted search path on Windows systems leading to arbitrary code execution.
  • The previous git clone implementation sets the env argument to the path of the git executable in the current working directory. This poses a security risk as the code is susceptible to running arbitrary git commands from a malicious repository.
    git.Repo.clone_from(repo_path, temp_dir, depth=1)
  • Updated the env argument to explicitly set the absolute path of the git executable. This ensures that the git executable used to clone the repository is the one thats installed in the system path, and not the one located in the current working directory.
    git.Repo.clone_from(repo_path, temp_dir, depth=1, env=git_exec_path)

🚀 New Features and Enhancements

Code Modularity

  • Introduced three methods to help isolate the Git executable discovery and validation logic.
    • find_git_executable(): Determines the absolute path of the Git executable.
    • validate_git_executable(): Validates the found Git executable path.
    • validate_file_permissions(): Validates the file permissions of the cloned repository.

File Permission Checks

  • For Unix systems, added checks to ensure the permissions of the cloned repository are set to 0o700. This is a best practice for secure temporary directories and prevents unauthorized users from accessing the directory.

⚠️ These updates aim to mitigate the vulnerbility raised in Dependabot alert #3. Users are advised to update readme-ai to the latest version, i.e pip install --upgrade readmeai. Please be mindful of this vulnerability and use caution when cloning repositories from untrusted sources, especially for Windows users.