Skip to content

Releases: plandex-ai/plandex

Release server/v1.0.0

16 May 20:31
Compare
Choose a tag to compare

☄️ gpt-4o is the real deal for coding

  • gpt-4o, OpenAI's latest model, is the new default model for Plandex. 4o is much better than gpt-4-turbo (the previous default model) in early testing for coding tasks and agent workflows.
  • If you have not used plandex set-model or plandex set-model default previously to set a custom model, you will now be use gpt-4o by default. If you have used one of those commands, use plandex set-model or plandex set-model default and select the new gpt-4o-latest model-pack to upgrade.

🛰️ Reliability improvements: 90% reduction in syntax errors in early testing

  • Automatic syntax and logic validation with an auto-correction step for file updates.
  • Significantly improves reliability and reduces syntax errors, mistaken duplication or removal of code, placeholders that reference other code and other similar issues.
  • With a set of ~30 internal evals spanning 5 common languages, syntax errors were reduced by over 90% on average with gpt-4o.
  • Logical errors are also reduced (I'm still working on evals for those to get more precise numbers).
  • Plandex is now much better at handling large files and plans that make many updates to the same file. Both could be problematic in previous versions.
  • Plandex is much more resilient to incorrectly labelled file blocks when the model uses the file label format incorrectly to explain something rather than for a file. i.e. "Run this script" and then a bash script block. Previously Plandex would mistakenly create a file called "Run this script". It now ignores blocks like these.

🧠 Improvements to core planning engine: better memory and less laziness allow you to accomplish larger and more complex tasks without errors or stopping early

  • Plandex is now much better at working through long plans without skipping tasks, repeating tasks it's already done, or otherwise losing track of what it's doing.
  • Plandex is much less likely to leave TODO placeholders in comments instead of fully completing a task, or to otherwise leave a task incomplete.
  • Plandex is much less likely to end a plan before all tasks are completed.

🏎️ Performance improvements: 2x faster planning and execution

  • gpt-4o is twice as fast as gpt-4-turbo for planning, summarization, builds, and more.
  • If you find it's streaming too fast and you aren't able to review the output, try using the --stop / -s flag with plandex tell or plandex continue. It will stop the plan after a single response so you can review it before proceeding. Use plandex continue to proceed with the plan once you're ready.
  • Speaking of which, if you're in exploratory mode and want to use less tokens, you can also use the --no-build / -n flag with plandex tell and plandex continue. This prevents Plandex from building files until you run plandex build manually.

🪙 2x cost reduction: gpt-4o is half the per-token price of gpt-4-turbo

  • For the same quantity of tokens, with improved quality and 2x speed, you'll pay half-price.

👩‍💻 New plandex-dev and pdxd alias in development mode

  • In order to avoid conflicts/overwrites with the plandex CLI and pdx alias, a new plandex-dev command and pdxd alias have been added in development mode.

🛠️ Bug fixes

  • Fix for a potential panic during account creation (#76)
  • Fixes for some account creation flow issues (#106)
  • Fix for occasional "Stream buffer tokens too high" error (#34).
  • Fix for potential panic when updating model settings. Might possibly be the cause of or somehow related to #121 but hard to be sure (maybe AWS was just being flakey).
  • Attempted fix for rare git repo race condition @jesseswell_1 caught that gives error ending with:
Exit status 128, output
      * Fatal: unable to write new_index file

📚 Readme updates

  • The readme has been revamped to be more informative and easier to navigate.

🏡 Easy self-contained startup script for local mode and self-hosting

git clone https://github.com/plandex-ai/plandex.git
cd plandex/app
./start_local.sh
  • Sincere thanks to @ZanzyTHEbar aka @daofficialwizard on Discord who wrote the script! 🙏🙏

🚀 Upgrading

  • As always, cloud has already been updated with the latest version. To upgrade the CLI, run any plandex command (like plandex version or plandex help or whatever command you were about to run anyway 🙂)

📆 Join me for office hours every Friday 12:30-1:30pm PST in Discord, starting May 17th

  • I'll be available by voice and text chat to answer questions, talk about the new version, and hear about your use cases. Come on over and hang out!
  • Join the discord to get a reminder when office hours are starting: https://discord.gg/plandex-ai

Release cli/v1.0.0

16 May 20:34
Compare
Choose a tag to compare

Release server/v0.9.1

08 May 17:47
Compare
Choose a tag to compare
  • Improvements to auto-continue check. Plandex now does a better job determining whether a plan is finished or should automatically continue by incorporating the either the latest plan summary or the previous conversation message (if the summary isn't ready yet) into the auto-continue check. Previously the check was using only the latest conversation message.
  • Fix for 'exit status 128' errors in a couple of edge case scenarios.
  • Data that is piped into plandex load is now automatically given a name in context ls via a call to the namer role model (previously it had no name, making multiple pipes hard to disambiguate).

Release cli/v0.9.1

08 May 17:35
Compare
Choose a tag to compare
  • Fix for occasional stream TUI panic during builds with long file paths (#105)
  • If auto-upgrade fails due to a permissions issue, suggest re-running command with sudo (#97 - thanks @kalil0321!)
  • Include 'openrouter' in list of model providers when adding a custom model (#107)
  • Make terminal prompts that shouldn't be optional (like the Base URL for a custom model) required across the board (#108)
  • Data that is piped into plandex load is now automatically given a name in plandex ls via a call to the namer role model (previously it had no name, making multiple pipes hard to disambiguate).
  • Still show the '(r)eject file' hotkey in the plandex changes TUI when the current file isn't scrollable.

Release server/v0.9.0

29 Apr 18:03
Compare
Choose a tag to compare
  • Support for custom models, model packs, and default models (see CLI 0.9.0 release notes for details).
  • Better accuracy for updates to existing files.
  • Plandex is less likely to screw up braces, parentheses, and other code structures.
  • Plandex is less likely to mistakenly remove code that it shouldn't.
  • Plandex is now much better at working through very long plans without skipping tasks, repeating tasks it's already done, or otherwise losing track of what it's doing.
  • Server-side support for plandex diff command to show pending plan changes in git diff format.
  • Server-side support for archiving and unarchiving plans.
  • Server-side support for plandex summary command.
  • Server-side support for plandex rename command.
  • Descriptive top-line for plandex apply commit messages instead of just "applied pending changes".
  • Better message in plandex log when a single piece of context is loaded or updated.
  • Fixes for some rare potential deadlocks and conflicts when building a file or stopping astream.

Release cli/v0.9.0

29 Apr 18:07
Compare
Choose a tag to compare

Major file update improvements 📄

  • Much better accuracy for updates to existing files.
  • Plandex is much less likely to screw up braces, parentheses, and other code structures.
  • Plandex is much less likely to mistakenly remove code that it shouldn't.

Major improvements to long plans with many steps 🛤️

  • Plandex's 'working memory' has been upgraded. It is now much better at working through very long plans without skipping tasks, repeating tasks it's already done, or otherwise losing track of what it's doing.

'plandex diff' command ⚖️

plandex-diff

  • New plandex diff command shows pending plan changes in git diff format.

Plans can be archived 🗄️

plandex-archive

  • If you aren't using a plan anymore, but you don't want to delete it, you can now archive it.
  • Use plandex archive (or plandex arc for short) to archive a plan.
  • Use plandex plans --archived (or plandex plans -a) to see archived plans in the current directory.
  • Use plandex unarchive (or plandex unarc) to restore an archived plan.

Custom models!! 🧠

Use Plandex with models from OpenRouter, Together.ai, and more

plandex-models

  • Use plandex models add to add a custom model and use any provider that is compatible with OpenAI, including OpenRouter.ai, Together.ai, Ollama, Replicate, and more.
  • Anthropic Claude models are available via OpenRouter.ai. Google Gemini 1.5 preview is also available on OpenRouter.ai but was flakey in initial testing. Tons of open source models are available on both OpenRouter.ai and Together.ai, among other providers.
  • Some built-in models and model packs (see 'Model packs' below) have been included as a quick way to try out a few of the more powerful model options. Just use plandex set-model to try these.
  • You can use a custom model you've added with plandex set-model, or add it to a model pack (see 'Model packs' below) with plandex model-packs create. Delete custom models you've added with plandex models delete.
  • The roles a custom model can be used for depend on its OpenAI compatibility.
  • Each model provider has an ApiKeyEnvVar associated with it, like OPENROUTER_API_KEY, TOGETHER_API_KEY, etc. You will need to have the appropriate environment variables set with a valid api key for each provider that you're using.
  • Because all of Plandex's prompts have been tested against OpenAI models, support for new models should be considered experimental.
  • If you find prompting patterns that are effective for certain models, please share them on Discord (https://discord.gg/plandex-ai) or GitHub (https://github.com/plandex-ai/plandex/discussions) and they may be included in future releases.

Model packs 🎛️

  • Instead of changing models for each role one by one, a model packs let you switch out all roles at once.
  • Use plandex model-packs create qto create your own model packs.
  • Use plandex model-packs to list built-in and custom model packs.
  • Use plandex set-model to load a model pack.
  • Use plandex model-packs delete to remove a custom model pack.

Model defaults ⚙️

  • Instead of only changing models on a per-plan basis, you can set model defaults that will apply to all new plans you start.
  • Use plandex models default to see default model settings and plandex set-model default to update them.

More commands 💻

  • plandex summary to see the latest plan summary
  • plandex rename to rename the current plan

Quality of life improvements 🧘‍♀️

  • Descriptive top-line for plandex apply commit messages instead of just "applied pending changes".
  • Better message in plandex log when a single piece of context is loaded or updated.
  • Abbreviate really long file paths in plandex ls.
  • Changed OPENAI_ENDPOINT env var to OPENAI_API_BASE, which is more standardized. OPENAI_ENDPOINT is still quietly supported.
  • guides/ENV_VARS.md now lists environment variables you can use with Plandex (and a few convenience variables have been addded) - thanks @knno! → #94

Bug fixes 🐞

  • Fix for potential crash in plandex changes TUI.
  • Fixes for some rare potential deadlocks and conflicts when building a file or stopping a plan stream.

Release server/v0.8.4

14 Apr 20:41
Compare
Choose a tag to compare
  • Add support for new OpenAI models: gpt-4-turbo and gpt-4-turbo-2024-04-09
  • Make gpt-4-turbo model the new default model for the planner, builder, and auto-continue roles -- in testing it seems to be better at reasoning and significantly less lazy than the previous default for these roles, gpt-4-turbo-preview -- any plan that has not previously had its model settings modified will now use gpt-4-turbo by default (those that have been modified will need to be updated manually) -- remember that you can always use plandex set-model to change models for your plans
  • Fix for handling files that are loaded into context and later deleted from the file system (#47)
  • Handle file paths with ### prefixes (#77)
  • Fix for occasional race condition during file builds that causes error "Fatal: Unable to write new index file"

Release cli/v0.8.3

14 Apr 20:47
Compare
Choose a tag to compare
  • Add support for new OpenAI models: gpt-4-turbo and gpt-4-turbo-2024-04-09
  • Make gpt-4-turbo model the new default model for the planner, builder, and auto-continue roles -- in testing it seems to be better at reasoning and significantly less lazy than the previous default for these roles, gpt-4-turbo-preview -- any plan that has not previously had its model settings modified will now use gpt-4-turbo by default (those that have been modified will need to be updated manually) -- remember that you can always use plandex set-model to change models for your plans
  • Fix for set-model command argument parsing (#75)
  • Fix for panic during plan stream when a file name's length exceeds the terminal width (#84)
  • Fix for handling files that are loaded into context and later deleted from the file system (#47)
  • Fix to prevent loading of duplicate files, directory trees, or urls into context (#57)

Release server/v0.8.3

09 Apr 19:29
Compare
Choose a tag to compare
  • SMTP_FROM environment variable for setting from address when self-hosting and using SMTP (#39)
  • Add support for OPENAI_ENDPOINT environment variable for custom OpenAI endpoints (#46)
  • Add support for OPENAI_ORG_ID environment variable for setting the OpenAI organization ID when using an API key with multiple OpenAI organizations.
  • Fix for unhelpful "Error getting plan, context, convo, or summaries" error message when OpenAI returns an error for invalid API key or insufficient credits (#32)

Release cli/v0.8.2

09 Apr 19:32
Compare
Choose a tag to compare
  • Fix root level --help/-h to use custom help command rather than cobra's help message (re: #25)
  • Include 'survey' fork (https://github.com/plandex-ai/survey) as a proper module instead of a local reference (#37)
  • Add support for OPENAI_ENDPOINT environment variable for custom OpenAI endpoints (#46)
  • Add support for OPENAI_ORG_ID environment variable for setting the OpenAI organization ID when using an API key with multiple OpenAI organizations.