Skip to content

Releases: srtab/daiv

v0.1.0-alpha.16

03 Jan 23:19

Choose a tag to compare

v0.1.0-alpha.16 Pre-release
Pre-release

Added

  • Included new step apply_lint_fix on IssueAddressorAgent, ReviewAddressorAgent and PipelineFixerAgent to apply lint fixes to the codebase after plan execution. This will improve antecipation of lint errors and avoid pipeline failures.
  • RunSandboxCommandsTool now supports running commands on codebase with uncommitted changes.

Changed

  • Improved ReviewAddressorManager to commit the file changes after all discussions are resolved, avoiding multiple pipelines being created between discussions resolution.
  • Streamlined file changes namespace to avoid code repetition.
  • GitLab client now retry_transient_errors=True to be more resilient to transient errors.
  • Improved assessment of request for changes on ReviewAddressorAgent to allow the agent to reason before responding.
  • Improved response prompt for ReviewAddressorAgent to avoid answering like "I'll update the code to replace", as the agent is not able to update the code but only answer questions.
  • Configuration of webhooks now takes a default EXTERNAL_URL for --base-url to avoid having to pass it on every call, and now configures pipeline_events instead of job_events. You must run command setup_webhooks to update the webhooks on your GitLab projects.
  • Turn PullRequestDescriberAgent more resilient to errors by defining fallbacks to use a model from other provider.

Fixed

  • Fixed index updates to branches that don't exist anymore, like when a branch is marked to delete after a merge request is merged: #153.
  • SnippetReplacerAgent was replacing multiple snippets when only one was expected. Now it will return an error if multiple snippets are found to instruct the llm to provide a more specific original snippet.
  • PipelineFixerAgent was trying to fix multiple jobs from the same stage at the same time, causing multiple fixes being applied simultaneously to the same files which could lead to conflicts or a job being fixed with outdated code. Now it will fix one job at a time. #164
  • Human feedback now is sent without the first note which is the bot note to the issue addressor agent.

Removed

  • get_repository_tree was removed from the RepoClient as it's no longer used.

v0.1.0-alpha.15

30 Dec 01:14

Choose a tag to compare

v0.1.0-alpha.15 Pre-release
Pre-release

Added

  • Added PIPELINE_FIXER_MAX_RETRY to the codebase.conf module to allow configuring the maximum number of retry iterations for the pipeline fixer.

Changed

  • Improved logging on PipelineFixerAgent to clarify why a pipeline fix is not being applied.

Fixed

  • Fixed access to optional parameter actions on result after PipelineFixerAgent has been invoked.

Chore

  • Updated dependencies:
    • duckduckgo-search from 7.0.2 to 7.1.1
    • ipython from 8.30 to 8.31
    • jinja2 from 3.1.4 to 3.1.5
    • langgraph-checkpoint-postgres from 2.0.8 to 2.0.9
    • langsmith from 0.2.4 to 0.2.6
    • python-gitlab from 5.2 to 5.3
    • coverage from 7.6.9 to 7.6.10
    • mypy from 1.13 to 1.14
    • types-pyyaml from 6.0.12.20240917 to 6.0.12.20241221

v0.1.0-alpha.14

27 Dec 00:56

Choose a tag to compare

v0.1.0-alpha.14 Pre-release
Pre-release

Added

  • Added SNIPPET_REPLACER_STRATEGY and SNIPPET_REPLACER_MODEL to SnippetReplacerAgent to allow configuring the strategy and the model to be used.

Changed

  • Migrated from django-appconf to pydantic-settings for configuration management.

Fixed

  • Fixed path to sandbox docker service volume for local development.

Chore

  • Removed django_celery_beat from the project, as it's not used.
  • Updated dependencies:
    • duckduckgo-search from 6.3.7 to 7.0.3.

v0.1.0-alpha.13

23 Dec 20:06

Choose a tag to compare

v0.1.0-alpha.13 Pre-release
Pre-release

Changed

  • Improved prompts for CodebaseQAAgent to improve the quality of the answers.
  • Improved prompts for CodebaseSearchAgent to improve the effectiveness of the search.
  • Improved prompts of plan execution to focus the agent more on the execution of the plan and less on planning.

Fixed

  • Fixed SnippetReplacerAgent prompt to minimize placeholders like "The rest of the code here".

v0.1.0-alpha.12

20 Dec 02:29

Choose a tag to compare

v0.1.0-alpha.12 Pre-release
Pre-release

Fixed

  • Fixed CodebaseSearchAgent to avoid calling index update when no repo or ref is provided.

Changed

  • Changed default max_tokens=2048 for all Anthropic models to deacrese the changes of rate limiting. Only SnippetReplacerAgent left using a higher value.
  • Improved prompts for ReviewAddressorAgent and IssueAddressorManager to avoid excessive tool calls and optimize the agent behavior.
  • Changed tool_choice to auto on REACTAgent to improve reasoning capabilities of the agents.
  • Updated dependencies:
    • langchain from 0.3.11 to 0.3.13
    • langchain-anthropic from 0.3 to 0.3.1
    • langchain-community from 0.3.11 to 0.3.13
    • langchain-openai from 0.2.12 to 0.2.14
    • langchain-text-splitters from 0.3.2 to 0.3.4
    • langgraph from 0.2.59 to 0.2.60
    • langsmith from 0.2.2 to 0.2.4
    • pydantic from 2.10.3 to 2.10.4
    • pytest-asyncio from 0.24 to 0.25
    • python-gitlab from 5.1 to 5.2
    • uvicorn from 0.32.1 to 0.34.0
    • ruff from 0.8.2 to 0.8.4

Removed

  • Removed check_consecutive_tool_calls from REACTAgent as it's no longer used.
  • Removed ExploreRepositoryPathTool as it's no longer used.

v0.1.0-alpha.11

18 Dec 12:39

Choose a tag to compare

v0.1.0-alpha.11 Pre-release
Pre-release

Removed

  • Removed update_index and setup_webhooks commands from the start-app script to avoid long startup times.
  • Removed GUNICORN_THREADS from the start-app script, as it's not used by gunicorn with UvicornWorker.

Fixed

  • Fixed connections already closed being served by the pool.

v0.1.0-alpha.10

17 Dec 17:24

Choose a tag to compare

v0.1.0-alpha.10 Pre-release
Pre-release

Added

  • Added DEFAULT_RECURSION_LIMIT to the automation.constants module and replaced all hardcoded values with it.
  • Added ErrorLogEvaluatorAgent to evaluate if two error logs are the same error or related.

Changed

  • Changed is_daiv to check the label case insensitive.
  • Changed IssueAddressorManager to comment on the issue when the agent has questions and couldn't define a plan.
  • Changed IssueAddressorManager to present the plan within the discussion thread created when the agent has a plan, instead of creating a sub-tasks on the issue.
  • Improved issue_addressor templates to be more user friendly and informative.
  • Improved planning prompts from IssueAddressorAgent and ReviewAddressorAgent to attempt prevent looping on to many unecessary tool calls.
  • Changed PipelineFixerAgent to use ErrorLogEvaluatorAgent to evaluate if can retry fixing the pipeline and avoid looping on the same error.
  • Changed MAX_RETRY_ITERATIONS to 10 on PipelineFixerAgent.
  • Changed CodebaseSearchAgent to ensure the index is updated before retrieving the documents.

Removed

  • Removed methods create_issue_tasks, get_issue_tasks and delete_issue to create sub-tasks within a issue on GitLab client. This is no longer needed as the agent now creates a discussion thread to track the plan and execution.

Fixed

  • Fixed Docker group ID of sandbox to be compatible with Ubuntu.
  • Fixed ref argument not being used on update_index command.

v0.1.0-alpha.9

12 Dec 01:15

Choose a tag to compare

v0.1.0-alpha.9 Pre-release
Pre-release

Changed

  • Changed IssueAddressorManager to comment on the issue when an unexpected error occurs.
  • Updated dependencies:
    • duckduckgo-search from 6.3.7 to 6.4.1
    • langchain from 0.3.9 to 0.3.11
    • langchain-community from 0.3.9 to 0.3.11
    • langchain-openai from 0.2.10 to 0.2.12
    • langgraph from 0.2.53 to 0.2.59
    • langgraph-checkpoint-postgres from 2.0.7 to 2.0.8
    • langsmith from 0.1.147 to 0.2.2
    • redis from 5.2 to 5.2.1
    • pydantic from 2.10.2 to 2.10.3
    • pyopenssl from 24.2.1 to 24.3.0
    • ruff from 0.8.0 to 0.8.2
    • watchfiles from 1.0.0 to 1.0.3

Removed

  • Removed unused get_openai_callback on codebase managers.
  • Removed unused monitor_beat_tasks from Sentry Celery integration.

Fixed

  • Fixed fallback model name to be used as model argument instead of inexistent model_name on ReAct agents.
  • Fixed missing assignee_id on RepoClient.update_or_create_merge_request abstract method.

v0.1.0-alpha.8

11 Dec 13:14

Choose a tag to compare

v0.1.0-alpha.8 Pre-release
Pre-release

Added

  • Added EXPOSE 8000 to the Dockerfile.
  • Added CodebaseQAAgent to answer questions about the codebase.
  • Added chat completion API endpoints to allow interact with the codebase through seamless integration with external tools and services.
  • Added fallback models to allow more resilient behavior when a model is not available (this happens a lot with Anthropic models).
  • Added CONN_HEALTH_CHECKS to the settings.py to allow healthchecks to be performed on the database connection.

Changed

  • Renamed PostgresRetriever to ScopedPostgresRetriever to allow having a non scoped retriever for CodebaseQAAgent.
  • Changed PLANING_COST_EFFICIENT_MODEL_NAME to point to claude-3-5-sonnet-20241022.
  • Changed GENERIC_PERFORMANT_MODEL_NAME to point to gpt-4o-2024-11-20, the latest version of gpt-4o.
  • Changed prompt for ReviewAddressorAgent to try limiting the number of iterations on ReAct agent.

Fixed

  • Fixed the Dockerfile to create the daiv user with the correct group and user IDs to avoid permission issues.
  • Fixed the branch_filter_strategy to be all_branches if push_events_branch_filter is not set.
  • Fixed conditional edge after reducer in CodebaseSearchAgent, the state where not beign updated as expected, ignoring further iterations.
  • Fixed KeyError: 'response' on ReviewAddressorAgent when the agent reached the maximum number of recursion.
  • Fixed connection timeout when accessing the database with Django ORM.

v0.1.0-alpha.7

07 Dec 13:40

Choose a tag to compare

v0.1.0-alpha.7 Pre-release
Pre-release

Added

  • Added HEALTHCHECK to the Dockerfile.

Fixed

  • Fixed the Dockerfile to create the daiv user with the correct home directory defined.
  • Fixed the Dockerfile to create the necessary directories for the application to run: tantivy_index, media, and static.