Skip to content

Releases: Significant-Gravitas/AutoGPT

Auto-GPT v0.4.1

19 Jun 17:39
abb397e
Compare
Choose a tag to compare

This release focuses on improving command reliability and fixing bugs from version 0.4.0. Some internal changes have been made that pave the way for the highly anticipated 0.5.0 major release.

As usual, this release cannot have happened without Auto-GPT's ever-enthusiastic community. Hop over to the discussion boards to discuss this release and more.

This time round, we're highlighting "New Contributors" before the longer changelog details, and including testers, PR-reviewers and other active community members. We may keep this new format in future releases.

Highlights ✨

  • Directory-based plugins! - Great news! Plugins no longer have to be compressed into zip files. Simply placing a plugin in a subfolder or repository clone within the plugins directory will now allow it to be recognized and loaded.
  • Keyboard navigation! - People who are "less mouse, more keyboard" will love this.
  • JSON fixes - Several prompts and JSON problems have been resolved, leading to a more dependable selection and execution of commands.
  • More dependable search - Internet searching is now more reliable and less prone to errors thanks to Auto-GPT's improved ability to detect duckduckgo rate limits. The tool now automatically retries searches when these limits are reached.
  • Better read_file - Building on the expansion of the read_file command in version 0.4.0, further improvements have been made to Auto-GPT's reading and writing of files.
  • More reliable Python code execution - Similarly, Auto-GPT should choke less when creating or executing Python code, and now has the ability to do so within a Docker install
  • To round up the highlights, the configuration of allowed/denied shell commands has been simplified and made less confusing, and batch summarization of LLM message history should address some identified crashes caused by the summarization process.

New Contributors & Notable Catalysts

Changelog

  • Cache Python Packages in the CI pipeline by @merwanehamadi in #4488
  • Skip flaky challenges by @merwanehamadi in #4573
  • Add replace_in_file command to change occurrences of text in a file by @bfalans in #4565
  • Sync release v0.4.0 back into master by @Pwuts in #4585
  • Fix "update cassettes" step by @merwanehamadi in #4591
  • Rearrange tests & fix CI by @Pwuts in #4596
  • Fix inverted logic for deny_command by @erik-megarad in #4563
  • Update cassette submodule by @merwanehamadi in #4601
  • Fix duckduckgo rate limiting by @merwanehamadi in #4592
  • Increase thresholds for PR autolabeler by @Pwuts in #4602
  • Fix issues with file reading and writing with Python code by @erik-megarad in #4567
  • Dockerfile: reduce layer bloat by @DrMurx in #2821
  • Update .gitignore by @Androbin in #882
  • feat: log new-line so user can differentiate sections better in console by @BorntraegerMarc in #1569
  • Update .gitignore by @ntindle in #4610
  • Feat set token limits based on model by @BaseInfinity in #4498
  • Set proxy headers as secrets by @merwanehamadi in #4620
  • Inform users that challenges can be flaky by @merwanehamadi in #4616
  • Make challenge "write file" harder + add level 2 by @merwanehamadi in #4481
  • Fix "debug code" challenge by @merwanehamadi in #4632
  • Decrement information retrieval challenge a so that it doesn't break the CI by @merwanehamadi in #4637
  • Add command for directly executing python code by @erik-megarad in #4581
  • Fix issues with information retrieval challenge a by @erik-megarad in #4622
  • Streamline / clarify shell command control configuration by @erik-megarad in #4628
  • False believes challenge based on sally anne test. by @javableu in #4167
  • Quicker logs in pytest by @merwanehamadi in #4486
  • Clean up and fix issues with env configuration and .env.template by @erik-megarad in #4630
  • Fix prompt issue causing 'No Command' issues and challenge b to fail by @erik-megarad in #4623
  • Decrement memory challenge c by @merwanehamadi in #4639
  • Add settings for custom base url by @DGdev91 in #2594
  • Implement directory-based plugin system by @erik-megarad in #4548
  • Add config as attribute to Agent, rename old config to ai_config by @erik-megarad in #4638
  • Upload logs as artifact by @merwanehamadi in #4640
  • Create benchmarks that will run Regression Tests and unbeaten challenges by @merwanehamadi in #4647
  • Pass agent to commands instead of config by @erik-megarad in #4645
  • Retry regression tests by @merwanehamadi in #4648
  • Fix benchmark logs by @merwanehamadi in #4653
  • Implement Batch Summarization in MessageHistory Class to manage context length under model's token limit by @kinance in #4652
  • Use prompt_toolkit to enable keyboard navigation in CLI by @erik-megarad in #4649
  • Change memory challenge c expectations by @merwanehamadi in #4657
  • Update setup.md fix typo by @digger-yu in #4613
  • make run.sh more compatible by @scenaristeur in #4561
  • Add basic Netlify config by @Pwuts in #4662
  • Remove extra spaces in summarization prompt by @kinance in #4660
  • Remove unused function split_file from file_operations.py by @Pwuts in #4658
  • Add challenge identifiers to pytest by @merwanehamadi in #4661
  • Strip spaces from the end of truncated ai_name in log_cycle.py by @Pwuts in #4672
  • Incorporating current summary length in token count calculation for the update_running_summary function by @kinance in #4670
  • Correct and clean up JSON handling by @erik-megarad in #4655
  • Make Benchmarks write cassettes without using them by @merwanehamadi in #4664
  • Fix autogpt docker image not working because missing prompt_settings by @merwanehamadi in #4680
  • Rework plugin config to be file-based by @erik-megarad in #4673
  • Extract openai API calls and retry at lowest level by @collijk in #3696

Full Changelog: v0.4.0...v0.4.1

Auto-GPT v0.4.0

05 Jun 14:13
25a7957
Compare
Choose a tag to compare

TL;DR: Users will only see a small part of the improvements made in this release. Most of the improvements were made "under the hood", where developers will see cleaner source code that is becoming increasingly easier to work with.

Highlights ✨

Highlights and notable changes since v0.3.0:

⚠️ Command send_tweet is REMOVED

Twitter functionality (and more) is now covered by plugins.

⚠️ Memory backend deprecation 💾

The Milvus, Pinecone and Weaviate memory backends were rendered incompatible by work on the memory system, and have been removed. The Redis memory store was also temporarily removed; we will merge a new implementation ASAP.
Whether built-in support for the others will be added back in the future is subject to discussion, feel free to pitch in: #4280

❇️ Document support in read_file 📄

Auto-GPT can now read text from document files, with support added for PDF, doc, docx, CSV, HTML, TeX and more!

❇️ Managing Auto-GPT's access to commands ❌🔧

You can now disable set of built-in commands through the DISABLED_COMMAND_CATEGORIES variable in .env. Specific shell commands can also be disabled using DENY_COMMANDS, or selectively enabled using ALLOW_COMMANDS.

The state of Auto-GPT 🔍

We are working on re-architecting large parts of the codebase to make development easier in the long term and future-proof the project. This re-architecture is a big task and will take a while, so in the meantime, we continue merging pull requests into master (our main development branch) and integrating contributions that help the project's overall objectives, including re-arch.

The overarching vision of the re-arch is to re-imagine Auto-GPT as a component-based framework geared towards facilitating exploration of AI agents. If the internals are not clean, progress suffers.

This vision breaks down into specific goals:

  • Component-based architecture with clean interfaces (to achieve separability, modularity)
  • State-contained agent (to allow for efficient exploration of the agent run-loop)
    • This requires removing global state

In this release... 🏗️

In this release, we make two major re-architecture steps:

  • Memory System Revamp
    We have revised the vector memory storage system (#4208), laying a foundation to implement so-called "retrieval augmentation" that enhances the long-term performance of Auto-GPT.
    For the time being we have removed support for all memory providers except for local (json_file) memory. This stop-gap measure simplifies/expedites development. A Redis memory provider implementation is in the pipeline, we're waiting on the redis-om-python team to merge a fix.
    Work on the memory system is tracked here: #3536

  • Removal of global configuration object
    In this version, we've removed the global configuration object. Instead configuration is passed into components as required. Further work is ongoing to remove these 'singletons'.

Other Highlights

  • Added possibility to interrupt continuous runs
  • Updated Google/DuckDuckGo search internals
  • Continued work on challenges
  • Continued work on CI pipelines to speed them up without degrading DX
  • Improved test coverage
  • Updated documentation

Changelog 📃

Read more

Auto-GPT v0.3.1

15 May 12:12
3d494f1
Compare
Choose a tag to compare

Summary

Challenges

  • Information retrieval challenges have been created and added to the wiki.
  • Memory challenges B and C have been created and their documentations have been fixed.

Documentation

  • Docker-compose 1.29.0 is now required, as documented.
  • Path to the workspace directory in the setup guide has been corrected.
  • Memory setup links have been updated.

Log

  • Log functionality has been improved for better understanding and easier summarization.
  • User input is now logged in the logs/Debug Folder.

Other

  • Edge browser support has been added using EdgeChromiumDriverManager.
  • Users now have the ability to disable commands via the .env file.
  • Run scripts for both Windows (.bat) and Unix (.sh) have been updated.

BugFix

  • DuckDuckGo dependency has been updated, with a minimum version set to 2.9.5.
    • Package versions parsing has been enabled for forced upgrades.
  • Docker volume mounts have been fixed.
  • A fix was made to the plugin.post_planning call.
  • A selenium driver object reference bug in the browsing results was fixed.
  • JSON error in summary_memory.py has been handled.
  • Dockerfile has been updated to add missing scripts and plugins directories.

Plugins

  • Denylist handling for plugins is now available.

CI

  • The CI pipeline has been tightened up for improved performance.
  • pytest-xdist Plugin has been integrated for parallel and concurrent testing.
  • Tests have been conducted for a new CI pipeline.
  • A code owners policy has been added.
  • Test against Python 3.10 (not 3.10 + 3.11) to halve the number of tests that are executed.

What's Changed

  • Patch master with fixes from release-v0.3 by @Pwuts in #3694
  • Feature/tighten up ci pipeline by @merwanehamadi in #3700
  • Fix docker volume mounts by @ppetermann in #3710
  • Feature/enable intuitive logs for community challenge step 1 by @merwanehamadi in #3695
  • Feature/enable intuitive logs summarization by @merwanehamadi in #3697
  • Move task_complete command out of prompt by @ntindle in #3663
  • Allow users to Disable Commands via the .env by @ntindle in #3667
  • Document Disabling command categories by @ntindle in #3669
  • Enable denylist handling for plugins by @lc0rp in #3688
  • Fix call to plugin.post_planning by @Androbin in #3414
  • create information retrieval challenge a by @merwanehamadi in #3770
  • fix typos by @RainRat in #3798
  • Update run.bat by @itsmarble in #3783
  • Update run.sh by @itsmarble in #3752
  • ADD: Bash block in the contributing markdown by @ambujpawar in #3701
  • BUGFIX: Selenium Driver object reference was included in the browsing results for some reason by @bszollosinagy in #3642
  • Self feedback Improvement by @AbTrax in #3680
  • community challenges in the wiki by @merwanehamadi in #3764
  • Implement Logging of User Input in logs/Debug Folder by @AndresCdo in #3867
  • add information retrieval challenge to the wiki by @merwanehamadi in #3876
  • add code owners policy by @merwanehamadi in #3981
  • Memory Challenge C by @dschonholtz in #3908
  • memory challenge c cassette is inconsistent by @merwanehamadi in #3985
  • Fix for Memory Challenge B & C Documentations by @sdfgsdfgd in #3989
  • Feature/centralize prompt by @merwanehamadi in #3990
  • Use correct reference to prompt_generator in autogpt/llm/chat.py by @TKasperczyk in #4011
  • fix typos by @minfenglu in #3998
  • fix typo in the getting started docs by @jit-shlomi in #3997
  • Fix path to workspace directory in setup guide by @itaisteinherz in #3927
  • document that docker-compose 1.29.0 is minimally required by @Boostrix in #3963
  • Integrate pytest-xdist Plugin for Parallel and Concurrent Testing by @AndresCdo in #3870
  • explain temperature setting in env file by @Boostrix in #4140
  • Catch JSON error in summary_memory.py by @kristianjackson in #3996
  • Update duckduckgo dependency - min should be 2.9.5 by @lalo in #4142
  • Update Dockerfile - add missing scripts and plugins directories. by @prom3theu5 in #3706
  • Updated memory setup links by @dominic-ks in #3829
  • Parse package versions so upgrades can be forced by @k-boikov in #4149
  • fix typo in autopgt/agent/agent.py by @andrey13771 in #3747
  • Fix milvus_memory_test.py mock Config by @Androbin in #3424
  • Implemented showing the number of preauthorised commands left. #1035 by @xhypeDE in #3322
  • Challenge: Kubernetes and documentation by @rihp in #4121
  • Make sdwebui tests pass (when SD is running) by @cwenner in #3721
  • Add Edge browser support using EdgeChromiumDriverManager by @karimhabush in #3058
  • Added --install-plugin-deps to Docker by @k-boikov in #4151
  • Feature/basic proxy by @merwanehamadi in #4164
  • test new CI by @merwanehamadi in #4168
  • Feature/test new ci pipeline 2 by @merwanehamadi in #4169
  • Test New CI Pipeline by @merwanehamadi in #4170
  • Feature/fix rate limiting issue Step 1 by @merwanehamadi in #4173
  • Put back 3.11 until it's removed as a requirement by @merwanehamadi in #4185
  • Revert "Put back 3.11 until it's removed as a requirement" by @k-boikov in #4191
  • Release 0.3.1 by @richbeales in #4201

New Contributors

Full Changelog: v0.3.0...v0.3.1

Auto-GPT v0.3.0

02 May 16:41
d8f5cdb
Compare
Choose a tag to compare

Over a week and 275 pull requests have passed since v0.2.2, and we are happy to announce the release of v0.3.0! From now on, we will be focusing on major improvements rather than bugfixes, as we feel stability has reached a reasonable level. Most remaining issues relate to limitations in prompt generation and the memory system, which will be the focus of our efforts for the next release.

Highlights ✨

Plugins 🔌

Now 3rd-party developers can extend the functionality of AutoGPT by writing plugins.
Do you want Auto-GPT to access your calendar or open your garage door? Write a plugin for it!
Please note the Plugin interface is unstable and will change with potentially v0.3.1 and v0.4.0 as we add more capability
https://github.com/Significant-Gravitas/Auto-GPT-Plugins#plugins-in-the-repository

Documentation 📖 - https://docs.agpt.co/

The docs have been updated and can now be found on https://docs.agpt.co/. RTFM! :)

Test Driven Development 🧪

Many proposals come in, but how to know which ones actually improve Auto-GPT? To better focus our efforts, our tests now include challenges, e.g., a memory challenge (levels 1 to 10).
AutoGPT can get up to level 4. Can any rockstar dev get it to level 5 or level 10?

Simplified prompt 💬

Auto-GPT just became a lot easier to use with an automatic initial prompt generator.
Just say what you want, e.g., "make pong," and Auto-GPT will (attempt to) do the rest.

Self-feedback 🔍

This feature enables the AI to engage in reflection and improve its thought, plans, and reasoning capabilities by considering its own internal evaluations. To use this feature, input the 'S' key when Auto-GPT asks for your input.

Memory Management 🧠

To better keep the AI on track, Auto-GPT now maintains a running summary of prior interactions.
After each interaction, this summary is updated. In this way, Auto-GPT remembers what's essential as it works.

Behind the scenes

The above are highlights out of the changes you'll see as a user, but it's just the tip of the iceberg.
Behind the scenes, the core team has been restructuring the codebase and organizing itself.
We're paying back the technical debt that was accrued during our early days. There's much more to come.

Full List of What's Changed

Read more

Auto-GPT v0.2.2

20 Apr 05:04
c9bf95e
Compare
Choose a tag to compare

Welcome to Auto-GPT release 0.2.2. This is largely a release focussed on stability over 0.2.1. More exciting stuff will becoming in 0.3.0!

What's Changed

  • Add "Memory Backend Setup" subtitle by @jakubbober in #1983
  • benchmark json errors, clean json parsing code and implement json schema by @merwanehamadi in #1866
  • Fixed new backends not being added to supported memory by @cryptidv in #1977
  • Fix README.md by @MrBrain295 in #1925
  • Add run scripts for shell by @lonrun in #1743
  • data_ingestion.py 'no module named 'autogpt'" fix and ReadMe update by @Slowly-Grokking in #1679
  • minimall add pytest by @0xArty in #1859
  • Change ci to pytest by @0xArty in #2009
  • Improve dev containers so autogpt can browse the web by @bennyhobart in #1942
  • fix user input being modified by @merwanehamadi in #2007
  • add utf-8 encoding to file handlers for logging by @k-boikov in #1916
  • Feature/hotfix user input by @merwanehamadi in #2019
  • ensure git operations occur in the working directory by @ccheney in #2020
  • Clean up README by @Pwuts in #2040
  • Implement new demo video into README.md by @Void-n-Null in #2041
  • Added one space after period for better formatting by @AdrianScott in #2022
  • Added Credit to README.md Demo by @Void-n-Null in #2063
  • Add File Downloading Capabilities by @cryptidv in #1680
  • Fix milvus test Error: 'NameError: name 'MockConfig' is not defined' by @wangxuqi in #2061
  • Fix: Update run_continuous.sh to correctly pass all command-line arguments by @0xf333 in #2012
  • move comment to correct position by @nolan23 in #1555
  • feat: (aesthetic) add space on warning message by @BatesJernigan in #2003
  • Remove irrelevant noqa comments by @endolith in #905
  • add docker requirements - jsonschema by @Song2017 in #2083
  • Add the OpenAI API Keys Configuration to the top of the readme by @cryptidv in #2089
  • Add Nix flakes support through direnv by @superherointj in #1091
  • Don't incapacitate yourself! by @lfricken in #1240
  • feat(pr-labels): auto-label conflicting PRs by @Pwuts in #2195
  • Use latest alpine image for code execution by @rickythefox in #1192
  • fix(pr-label): set job permissions explicitly by @Pwuts in #2198
  • internal resource request bug by @REal0day in #2001
  • install chrome/firefox for headless browing when running in docker co… by @obonyojimmy in #1723
  • Unbound summary size by @tkaitchuck in #2056
  • Fix split file to handle edge case where overlap size > last chunk size by @rocks6 in #2062
  • 【fix】config.py format by @gklab in #2108
  • fix(pr-label): mitigate excessive concurrent runs by @Pwuts in #2203
  • fix a missing import by @xffxff in #2129
  • Update .env.template by @mawsyh in #2132
  • config.py: update OpenAI link to platform.openai.com by @suzuken in #2137
  • Update README.md with Weaviate installation and reference by @bobvanluijt in #2153
  • Remove requirements-docker.txt by @deece in #2024
  • Fix BRIAN_TTS - Prevent TypeError exception in _speech method by @gabrielrbarbosa in #2105
  • Update .env.template by @Funkelfetisch in #2172
  • Spelling Fixes by @H-jj-R in #2168
  • fix(pr-label): concurrency group cannot be empty by @Pwuts in #2217
  • Improve the error logging for OAI Issues by @cryptidv in #1987
  • added missing import by @aminghani in #2183
  • docs: update docs around Milvus by @hamidzr in #2176
  • memory object move to memory_add block by @lengweiping1983 in #2093
  • Add Fixes for Selenium Browsing On Linux by @cryptidv in #2096
  • Allow local Development without pip install using "pip install -e ." by @bszollosinagy in #1474
  • fixes Weaviate index name to classname conversion by @cs0lar in #1836
  • fix: unreadable text in console and potentially over the max token by @tzengyuxio in #2050
  • Added return type hint to execute_code.py file by @Tmpecho in #2227
  • changed rstrip for strip and added case for empty string by @Lootheo in #2193
  • Align flake, black and isort to pipelines and precommit hooks by @merwanehamadi in #2192
  • Make Continuous Integration Automatic by @Torantulino in #2327
  • Add non-essential warning for contributors by @cryptidv in #2359
  • Use click to parse arguments by @0xArty in #2373
  • Improve the Issue Templates by @cryptidv in #2375
  • Hotfix bugs template by @cryptidv in #2408
  • [Hotfix] bugs template again by @cryptidv in #2415
  • Fix for execute_shell_popen using WORKING_DIRECTORY by @ezolenko in #2318
  • Added ability to output news/announcements on startup by @richbeales in #2429
  • Hotfix - Announcement filename was incorrect by @richbeales in #2441
  • feat: Add support for running Chrome in Headless mode. by @ickma in #1473
  • Move to Python 3.10 & improve CI workflow by @Pwuts in #2369
  • fix(python-run): prompt users to install Docker when execute_python_file encounters a Docker error by @willcallender in #2231
  • Ensure Python 3.10 & 3.11 compatability by @drikusroor in #1815
  • Option to disable working directory restrictions by @Josh-XT in #1875
  • Rename evaluate_code to analyze_code by @willcallender in #1371
  • Image generation improvements by @Tymec in #1477
  • Delete unused folder /outputs/ by @wnasich in #1130
  • refactoring all json utilities by @bingoko in #2032
  • Print the current Git branch on startup - warn if unsupported by @richbeales in #2494
  • Update README.md Windows run.bat instructions by @Explorergt92 in #2495
  • Fix Issue #1211 - gpt-3.5 chunk is less than the default by @itaihochman in #2324
  • fix: remove duplicate task complete command prompt by @zzzgydi in #2321
  • Update config.py fix: azure_model_to_deployment_id_map default type should be a dict, not list by @zvrr in #2351
  • Fix azure config by @yunzheng1112 in #2355
  • Don't install sorcery on docker by @mikekelly in https://github.com/Signific...
Read more

Auto-GPT v0.2.1

16 Apr 18:24
97d62cc
Compare
Choose a tag to compare

What's Changed

Read more

Auto-GPT v0.2.0

15 Apr 05:19
60b2b61
Compare
Choose a tag to compare

We have changed the way that Auto-GPT is launched, it is now wrapped in a module which will allow us better testing and make
the code more maintainable and extensible in the future.

Please see the updated README.md for instructions how to run this version

NOTE: Auto-GPT (in this release) currently requires Chrome to be installed in order to browse the web.
Other dependencies have also been introduced - please re-run pip install -r requirements.txt

What's Changed

New Contributors

  • @0xArty made their first contribution in #1393

Full Changelog: v0.1.3...v0.2.0

Auto-GPT v0.1.3

14 Apr 17:19
638c956
Compare
Choose a tag to compare

Daily release, encompasses the merging of PRs in "Batch 4"
#1015

Auto-GPT v0.1.2

13 Apr 18:02
2a7bc5c
Compare
Choose a tag to compare

Daily release, based on the merge of PRs in Batch 3
#709

v0.1.1

12 Apr 23:25
d43e2ae
Compare
Choose a tag to compare
v0.1.1 Pre-release
Pre-release

Many PRs:

Remainder of Batch2 - #673

Some of Batch 3 - #709