Skip to content

Latest commit

 

History

History
256 lines (208 loc) · 16.6 KB

File metadata and controls

256 lines (208 loc) · 16.6 KB

Release history

Main branch change

v0.13.2

  • feat: Add history navigation keys and functions, by EdmondFrank
  • feat: highlight SEARCH/REPLACE changes automatically when point is inside block, by Vagn Johansen
  • feat: Improve aider-implement-todo
    • aider-implement-todo (C-a i) on blank line will ask user and insert TODO comment.
    • After finishing code generation, mark TODO as DONE, instead of delete it
    • you can add TODO requirement ahead of a function or class, and use aider-implement-todo to make the change for them, addressing tninja/ai-code-interface.el#40

v0.13.1

  • More intelligent and simplified aider-ask-question: Do not use C-u key anymore to choose if it is a question on current function or general question. It will identify the choice given position of current cursor, if it need to ask question, use completing-reading instead of C-u
  • Integrate aider-function-or-region-change and aider-architect-discussion, as aider-code-change function, similar to change above
  • Feat: add configuration options for command completion and file path insertion, by Yikai Zhao
  • Chore: Add prompt candidates for document rewriting
    • Aider.el can be useful for document rewriting. One typical use case is, select several lines of text, call aider-code-change (C-c a c). Type the rewrite instruction, or select rewrite prompt from the candidate list, aider will rewrite the part and ask for review, just like code change.
  • chore: replace list* with cl-list*, as list* is deprecated. By Hongyu Ouyang
  • Fix: do not use jit-lock-defer-time, reported and tested by Yikai Zhao and Vagn Johansen
  • Fix: Double ESC in doom emacs kills aider process, by Volodymyr Anokhin
  • Chore: visual-line-mode should be enabled in the aider buffer so the texts from the LLM is word-wrapped, suggested by Vagn Johansen
  • Feat: Make it easier to see what code the LLM has changed: SEARCH/REPLACE diff visualization, by Vagn Johansen

v0.13.0

  • Feat: aider-function-or-region-change (C-c a c) support inline comment based existing code change requirement, when
    • The current line is a comment describing the change
    • the current selected region is multi-line comments describing the change
  • Improve aider-magit-log-analyze
    • add optional keyword filter to get commits related to particular topic
    • use –since instead of -n , it is more intuitive.
    • let user to review git log args before submitting. user can add additional arg such as –author if they want
  • Commit range support for aider-pull-or-review-diff-file
  • Automatically add –no-auto-accept-architect, unless user specify –auto-accept-architect
  • Extract aider-expand-context-given-file function, it can be used inside aider-prompt file for batch process.

v0.12.2

  • Feat: Prefer feature branch for code change, protect main/master/develop branch from code change
  • Software planning goal has candidates for repo, file, function, region levels
  • Repo evolution analysis should have more author name information
  • Aider-flycheck-fix-errors-in-scope let user choose scope

v0.12.1

  • Improve accuracy of aider-expand-context-current-file
    • to skip matches in both comments and strings
    • require that the basename appears in a context that suggests it is an import or a dependency
    • ask user if test file need to be included

v0.12.0

  • File completion for /drop only list added files, addressing #179
  • Add whole git repo evolution analysis: aider-magit-log-analyze
    • Update menu item to aider-magit-blame-or-log-analyze
  • Add aider-magit-setup-transients function to register Aider commands with Magit transients
  • rewrite unit-tests
  • Introduce shared validator functions to reduce code duplication.
  • Fix: Do not run following commands if aider–send-command failed
  • Fix: Object cannot be turned into regex
    • Follow up change after #178, since same error still happen sometime.
      • Make the function related to advice-add, only take effect in aider-comint-mode and won’t pollute markdown-mode.
    • Addressing 1. #159; 2. MatthewZMD/aidermacs#141
  • aider-add-module function have better default value for user input (suffix-input, content-regex)
  • Update popular model: deepseek to DeepSeek R1 (0528)
  • Feat: Software Planning on given context (file, function, region)
    • Or you can let it focus on all added files, but enter right goal
  • Fix: aider-pull-or-review-diff-file should always use origin/<branch> for remote branch-scope
  • Introduce aider-expand-context-current-file. It suggest a semi-automatic way to add relevant file. It add current file and its dependencies/dependents to aider session. Given current buffer source code file.

v0.11.1

  • Add support for dropping file under cursor in aider comint buffer, given discussion in #179
  • Multiple chats for the same repository.
    • To turn on this feature, (setq aider-use-branch-specific-buffers t)
    • If we want to switch to work on a different feature, we switch git branch, and it will map to a corresponding aider session. The aider session name pattern would be aider:<path-to-git-repo>:branch-name
  • prevent “Object cannot be turned into regex” error in aider-comint-session

v0.11.0

  • Make transient menu be able to fit in narrow screen
    • #157 by markokocic
    • Added aider-transient-menu-2cols / aider-transient-menu-1col
  • transient-setup: Not a transient prefix command or group definition: aider–menu-aider-process
    • #163, found by Spike-Leung and markokocic
    • Fixed by Spike-Leung in #164
      • It require latest >= transient-20250520.1040
      • [X] will update transient version dependency to 0.9.0 after it got released
  • Better align aider-transient-menu-2col, by Spike-Leung
  • Fix error during redisplay (jit-lock-function) when working with comint mode
  • aider-add-module support regex filtering on file content
  • Redesign diff generation function: aider–magit-generate-feature-branch-diff-file
    • Redesign the function to make it more clear to user: at first, let user choose diff type (eg. staged, base branch, branch range, commit hash. For branch range, ask user if it is local or remote. Then perform corresponding action given these detail requirement.
    • Move git related feature to aider-git.el
  • Let aider-comint-session be able to scroll up / search the prompt across sessions
    • By parsing .aider.input.history file, use ctrl + up / down key to scroll, alt + r to search
    • [X] TODO: integrate .aider.input.history with aider-helm.el
  • Let aider to fix the errors reported by flycheck: aider-flycheck-fix-errors-in-scope

v0.10.0

  • Add diff-change aider code snippet, it is a useful pattern to let aider suggest code change given diff as example
  • Add aider-software-planning.el: start a software planning session with Aider
  • Add aider-magit-blame-analyze: combines magit-blame with AI analysis to help understand code history and reasoning behind changes for a file or selected region.

v0.9.0

  • Add aider-add-module function, it will add files with suffix in the module directory to aider session. It will be useful for the whole module level analysis and code change.
  • Add recently added aider command, “/reasoning-effort” and “/think-tokens”, to keyword highlight
  • aider-change-model will ask reasoning-effort for chatgpt o4,o3,o1 model, when it is main model change
  • README improvement
  • Updated Chinese version of README
  • aider-pull-or-review-diff-file support pull changes for magit staged files, as default option
  • refactor the code review function since it has grown very large, with C-c a R (LLM suggest the refactoring strategy and I go ahead to accept it).
  • aider-pull-or-review-diff-file: add function to resolve branch refs for remote branch handling
  • aider-prompt-mode: improve robustness of snippet directory setup
  • expose aider /copy command as a menu item
  • Add experimental feature, aider-bootstrap.el. It introduce functions to bootstrap common code / doc structures using Aider.

v0.8.4

  • Improve prompts for
    • diff review: aider-pull-or-review-diff-file
    • code refactoring suggestion: aider–handle-ask-llm-suggestion
    • debug exception: aider-debug-exception

v0.8.3

  • fix: aider–process-message-if-multi-line: it will not add {aider..aider} block, when the str already contains {aider string. It cause /ask made change for multi-line prompt. (I thought it is an aider bug but it isn’t: Aider-AI/aider#3893). The bug is not very obvious because aider-input-sender function didn’t print the modification on the aider session.
  • fix: aider–send-command trim both leading and trailing \n before sending. so it won’t unnecessarily wrap prompt with {aider..aider} block
  • aider–analyze-module and aider–plot-module-architecture do not ask user to provide module directory (it might add non-relevant files and adding cost). Now add related files for the module is user’s responsibility before using this two functions.
  • aider–batch-add-dired-marked-files-with-command will use git root relative path for /add command. Since in –subtree-only session the full path add doesn’t work.

v0.8.2

  • fix aider–analyze-module function. It now accept a module directory provided by user, /read-only, and then analyze the module using the prompt.
  • Better color rendering for aider-comint-buffer, especially on prompt input line
  • Add [Suggest Refactoring Strategy] menu item in the code refactoring tool
  • refactor aider-agile.el, breakdown large methods to smaller ones
  • Make TDD refactoring stage call aider-refactor-book-method, and tell it to pass all tests
  • Add “subtree-only” command in aider-prompt-mode.el, when user send “subtree-only <dir>” with C-c C-n, it will start aider session at the given directory with –subtree-only
  • fix doom keybinding in README.org

v0.8.1

  • aider–magit-generate-feature-branch-diff-file fetch remote branch firstly
  • aider-send-line-or-region and aider-send-block-or-region keep focus in the aider prompt file after sending prompt to aider session, it is more smooth during using
  • Improved AI assisted agile development and code reading. Introduced more methods from classic programming and code reading books

v0.8.0

  • Fix the installation command in README.org, provided by magthe.
  • Introduce aider-legacy-code.el, it provides legacy code handling techniques based on Michael Feathers’ “Working Effectively with Legacy Code” for the Aider package.
  • Re-organize README to make it easier to read.
  • Fix the bug in aider–analyze-program-structure, provided by EdmondFrank.
  • remove aider-code-change menu item, since It bypass code review. The code quality is not as good as /architect.

v0.7.0

  • aider-run-aider in dired, eshell, or shell buffer will ask if user wants to add `–subtree-only` flag
  • Introduce AI assisted TDD, aider-tdd-cycle, an experimental feature.
  • Use gemini-exp in aider-popular-models, as well as README example, since it is still free at 2025-04-05
  • Introduce AI assisted code reading functions, based on “Code Reading: The Open Source Perspective” by Diomidis Spinellis
  • Extract aider-refactor-book-method and aider-tdd-cycle into a dedicate file aider-agile.el

v0.6.0

  • Add aider-refactor-book-method and introduced couple of refactoring techniques from Martin Flower’s Refactoring book
  • Enhance aider-plain-read-string with better completion and history
  • Deprecate aider-other-process-command menu item. aider comint session already have command completion, so there is no advantage to use this menu item.
  • Update keyword completion and highlight given aider in-chat commands change
  • Added aider-core--auto-trigger-insert-prompt. when aider-auto-trigger-prompt is t (default off), it will automatically trigger prompt insertion in aider comint session after one of the commands (/ask, /code, /architect).
  • aider–comint-send-string-syntax-highlight use comint-send-input since it is a more standard way, given suggestion from Spike-Leung
  • In aider-prompt-file, C-u C-c C-n can send block line by line in aider prompt file (close to C-c C-n)

v0.5.5

  • magit rebase style file operation in aider-prompt-mode, and send block line by line command (request from Spike-Leung)
    • also added cycle between /ask and /architect command
  • Remove redundant savehist configuration, by LemonBreezes (the history feature with savehist for aider-plain-read-string is initially added by LemonBreezes as well)
  • aider-helm.el support candidate prompt list, aider-ask-question (Question on Context), aider-general-question (Question without Context) and aider-function-or-region-refactor (Change function / region) provide a list of prompt candidates respectively
  • TODO keyword for aider-implement-todo is configurable through aider-todo-keyword-pair
  • update aider-change-model to adapt recent aider change (three types of model command). For simplicity, only use the same aider-popular-models variable
  • deprecate aider-add-same-type-files-under-dir, since things like /add *.el will do it
  • deprecate aider-fix-failing-test-under-cursor. aider-function-or-region-refactor can do the same work.
  • improve aider-write-unit-test by providing the option of write unit-test first given description (Test First)
  • fix the issue: Chat window: wrap code always in code blocks: #113
    • side effect: inhibited BOLD or italic text in regular markdown text outside of code block
  • add aider-open-history function, under File section in the menu
  • aider-function-or-region-refactor have different candidate-list for main code and test code

v0.5.0

  • Much improved aider-comint-mode rendering
    • Use color from markdown-mode.el. It support more than code block highlight
  • Added Chinese version of README file
  • Added to melpa. Updated install instruction

v0.4.0

  • User side change
    • Aider prompt file have
      • aider command syntax highlight
      • aider command completion
      • file name completion
      • prompt enter / completion from mini-buffer / helm
    • Aider session have
      • aider command completion
      • file name completion
      • prompt enter / completion from mini-buffer / helm
  • Developer side change
    • Add aider-comint-mode major mode in aider-core.el, for aider comint buffer. It derived from comint-mode
    • Move aider command completion and file name completion to aider-core.el since they are used in both aider prompt file and aider comint buffer

v0.3.0

  • User side change
    • Menu: Simplify menu to make it fit the screen: Thanks Spike-Leung
      • Group operations into same menu item. Less used one bind to C-u
      • #93
    • Improve the mini buffer prompt re-usability
      • Make the use entered prompt in history more reusable across project.
      • Highly recommend to use aider-helm.el for better prompt history search experience.
      • #94
    • Add snippets support to aider prompt file
      • Initial snippet came from reddit user LorestForest
      • #101
  • Developer side change
    • #101
    • Deprecate aider-minor-mode, use aider-prompt-mode (major-mode) instead
      • aider-prompt-mode inherit from org-mode
    • Large refactoring to aider.el, break it into several small files, to help future development and maintaining
      • aider-core.el: core comint aider session interaction function
        • also have customize variables
      • aider-file.el: file operation related functions
        • depend on aider-core.el
      • aider-code-change.el: code change related functions
        • depend on aider-core.el and aider-file.el
      • aider-discussion.el: discussion related functions
        • depend on aider-core.el and aider-file.el
      • aider-prompt-mode.el: major mode for aider prompt file
        • depend on aider-core
      • aider.el: aider session management and transient menu
        • depend on files all above