What's Changed
- Support ending sessions with Ctrl-D by @chadwhitacre in #5
- Fix rel_path vs abs_path typo by @yoDon in #7
- Fix bug filter gitignore sooner by @swinglejohn in #13
- make required python version 3.10 or higher by @PCSwingle in #9
- move python version check, add python 3.11 to github actions by @biobootloader in #16
- check python version in main by @biobootloader in #19
- Fix test bugs; Clean up tests by @biobootloader in #14
- Improve handling of large projects by @yoDon in #8
- add description, license to setup.py by @biobootloader in #22
- License check by @PCSwingle in #24
- Fix typo in code_file_manager.py by @eltociear in #26
- Encoding bug fix by @PCSwingle in #23
- update packages by @PCSwingle in #27
- Git migration by @PCSwingle in #28
- The great config migration by @PCSwingle in #29
- Remove filetype checking by @PCSwingle in #32
- Create directories as needed by @biobootloader in #35
- Exclude globs by @PCSwingle in #33
- add star to new files to git by @PCSwingle in #38
- Fix tiktoken crash by @biobootloader in #39
- Fix typo in readme for --exclude by @yoDon in #40
- Model error handling by @PCSwingle in #37
- Fix windows paths by @PCSwingle in #41
- Fix a type mismatch by @chadwhitacre in #44
- removed extra first_changed_line by @civil-dude in #47
- Use custom exceptions instead of KeyboardInterrupts and exit() by @swinglejohn in #45
- Check early if file tokens exceed or near limit by @biobootloader in #42
- Fix openAI error messages and API key messages by @swinglejohn in #52
- Refactor: keep git_root private to CodeFileManager by @dheerajck in #62
- Replaced most of the os path related methods with pathlib by @dheerajck in #68
- Fix
test_start_project_from_scratch
by @waydegg in #72 - Fix git root parsing when using msys2 git on Windows by @vickunwu in #67
- Add high-level code map to system prompt by @waydegg in #66
- Add commands by @PCSwingle in #59
- Partial files allowed by @jakethekoenig in #69
- Clear prompt with ctrl-c before quitting by @waydegg in #83
- Add auto completions by @waydegg in #79
- Add rename file action by @PCSwingle in #46
- update gitpython because of security vulnerabilities by @PCSwingle in #89
- Add pyright by @waydegg in #84
- refactor benchmarks by @PCSwingle in #90
- fail gracefully for paths without interval data by @granawkins in #95
- Test run in subdirectory by @granawkins in #96
- Switch package name on PyPI by @biobootloader in #98
- add /add and /remove commands by @waydegg in #88
- Exercism Benchmark by @jakethekoenig in #92
- Diff context by @granawkins in #86
- Model configuration by @jakethekoenig in #100
- Refactor context by @granawkins in #101
- remove logging from test environment by @PCSwingle in #104
- Refactor changes by @PCSwingle in #94
- move the get_code_message() method from code_file_manager to code_context by @granawkins in #108
- Readme update: biobootloader to AbanteAI in github links by @jakethekoenig in #110
- refactor prompts to be in separate txt files, add replacement parser by @PCSwingle in #105
- add split diff parser and tests by @PCSwingle in #112
- Exercism Benchmark supports javascript by @jakethekoenig in #116
- Generic interface by @waydegg in #119
- add util func for async subprocess by @waydegg in #124
- Full gpt transcripts logged by @jakethekoenig in #120
- Flag to choose exercism exercises by @jakethekoenig in #125
- Exercism fix by @jakethekoenig in #127
- remove basicConfig and modify the root handler directly by @PCSwingle in #126
- turn all singletons into context vars, remove git_root from config by @PCSwingle in #123
- Add unified diff format by @PCSwingle in #118
- Version bump to 0.1.15 by @biobootloader in #132
- Exercism language refactor by @jakethekoenig in #133
- Implement basic auto-context generation by @granawkins in #115
- Automatic failure analysis by @PCSwingle in #130
- Python client added by @jakethekoenig in #134
- fix small bugs by @PCSwingle in #135
- use signal.signal instead of loop.add_signal_handler by @PCSwingle in #138
- Update configuration.md by @jakethekoenig in #137
- Clojure exercism added by @jakethekoenig in #136
- Version bump to 0.1.16 by @jakethekoenig in #142
- Manifest added by @jakethekoenig in #145
- Add undo by @PCSwingle in #143
- Broadcast hold events by @PCSwingle in #147
- Embeddings by @granawkins in #144
- add benchmark repos to .gitignore by @granawkins in #156
- Cleanup resources by @PCSwingle in #151
- Empty string handling by @jakethekoenig in #166
- Reversible parsing by @jakethekoenig in #150
- add way to exit main session loop, add command catching and quitting to sessioninput by @PCSwingle in #167
- Conversation viewer by @PCSwingle in #152
- Default to auto-token limit of 0 by @biobootloader in #175
- use graft instead of recursive-include by @PCSwingle in #177
- fix running mentat from a sub folder and also fix duplicated code features bug by @PCSwingle in #179
- Bump version to 0.1.19 by @biobootloader in #180
- Replacement parser inverse by @jakethekoenig in #172
- Unified diff tweaking by @PCSwingle in #168
- fix context checking in fileedit, remove test.conftest imports by @PCSwingle in #184
- switch to use abs-paths for parsers renames by @PCSwingle in #183
- Backoff llm api calls by @PCSwingle in #171
- remove backoff_delay_base by @PCSwingle in #193
- catch shlex error by @PCSwingle in #194
- Context command by @PCSwingle in #200
- fix abs path auto completions by @PCSwingle in #198
- Create file not in context by @PCSwingle in #197
- add include and exclude warnings by @PCSwingle in #196
- Git diff parsing by @jakethekoenig in #195
- update diff_context and tests to use absolute path by @granawkins in #199
- add session context and remove old contextvars by @PCSwingle in #185
- Remove async from send by @PCSwingle in #203
- add search command by @granawkins in #157
- fix codecontext test to not be brittle by @PCSwingle in #204
- rename code_file to code_feature, CodeFile to CodeFeature by @granawkins in #208
- standardize import format to absolute by @granawkins in #207
- Update openai by @jakethekoenig in #211
- Ignore Paths by @granawkins in #186
- Function-level Features by @granawkins in #209
- Generate synthetic transcripts from commits by @jakethekoenig in #210
- Fix Interactive Mode suggestion count by @waydegg in #212
- Remove git dependency for CodeMap by @waydegg in #217
- Add
preview
setting to black inpyproject.toml
by @waydegg in #220 - Config refactor by @jakethekoenig in #219
- Config Command by @jakethekoenig in #221
- Benchmark generation from git commits by @jakethekoenig in #214
- reset auto tokens default to 0 by @PCSwingle in #224
- Fix: --diff/--pr-diff by @jakethekoenig in #230
- Run github actions on all pushes / PRs by @biobootloader in #222
- Git Parser Fix by @jakethekoenig in #232
- Git transcript processing tweaks by @jakethekoenig in #233
- Don't skip Github Action PR checks by @biobootloader in #234
- Rubric benchmark by @jakethekoenig in #236
- Parser held by config by @jakethekoenig in #240
- Fix: cli flag parsing by @jakethekoenig in #238
- Include paths from diff/pr-diff if no paths given by @granawkins in #241
- Auto context with llm by @granawkins in #228
- Parser change midconversation by @jakethekoenig in #244
- Parser prompt optional by @jakethekoenig in #245
- Interval uses attr by @jakethekoenig in #247
- Display exception by @jakethekoenig in #250
- Refactor context benchmark by @granawkins in #249
- Add new gpt-4-turbo 128k model (gpt-4-1106-preview) to cost and token… by @hesiod-au in #252
- Conversation command shows old transcripts by @jakethekoenig in #251
- Feature Selection Refactor by @jakethekoenig in #248
- Speed up embeddings/search by @granawkins in #254
- Auto context interface by @granawkins in #255
- Aider attribution by @jakethekoenig in #258
- remove split diff by @PCSwingle in #259
- change back to find packages by @PCSwingle in #261
- Javascript Exercism Fix by @jakethekoenig in #267
- Default temperature changed to 0.05 by @jakethekoenig in #266
- fix error handling by @PCSwingle in #263
- version -> 0.1.20 by @biobootloader in #270
- add cd and conf.ini by @PCSwingle in #275
- Release 0.1.21 by @PCSwingle in #276
New Contributors
- @chadwhitacre made their first contribution in #5
- @yoDon made their first contribution in #7
- @swinglejohn made their first contribution in #13
- @PCSwingle made their first contribution in #9
- @biobootloader made their first contribution in #16
- @eltociear made their first contribution in #26
- @civil-dude made their first contribution in #47
- @dheerajck made their first contribution in #62
- @waydegg made their first contribution in #72
- @vickunwu made their first contribution in #67
- @jakethekoenig made their first contribution in #69
- @granawkins made their first contribution in #95
- @hesiod-au made their first contribution in #252
Full Changelog: https://github.com/AbanteAI/mentat/commits/v0.1.20