| Age | Commit message (Expand) | Author |
| 2026-03-30 | Use cond more instead of if and progn | Jonas Bernoulli |
| 2026-03-29 | Use Cond-Let's when$ with longer bodies | Jonas Bernoulli |
| 2026-03-29 | Use Cond-Let's when$ | Jonas Bernoulli |
| 2026-03-29 | Make Cond-Let's when$ available | Jonas Bernoulli |
| 2026-01-11 | magit-buffer-diff-range{,-oid}: Renamed variables | Jonas Bernoulli |
| 2026-01-01 | Improve indentation of interactive | Jonas Bernoulli |
| 2026-01-01 | Bump copyright years | Jonas Bernoulli |
| 2025-11-16 | magit-post-refresh-hook: Autoload hook functions | Jonas Bernoulli |
| 2025-11-08 | magit-{before-change,after-apply}-functions: New hooks | Jonas Bernoulli |
| 2025-09-21 | magit-discard-apply: Fix recent regression | Jonas Bernoulli |
| 2025-09-18 | magit-discard-apply: Absorb magit-discard-apply | Jonas Bernoulli |
| 2025-09-18 | Use cond more | Jonas Bernoulli |
| 2025-09-16 | Require dired, message and epa directly | Jonas Bernoulli |
| 2025-08-22 | Avoid t condition in final match-all cond clause | Jonas Bernoulli |
| 2025-08-22 | Use Cond-Let's implementations of {if,when,and,while}-let{,*} | Jonas Bernoulli |
| 2025-08-08 | magit-unstage-intent: Use correct conditional | Jonas Bernoulli |
| 2025-07-31 | magit-diff-visit-file-*: Remove FILE argument | Jonas Bernoulli |
| 2025-07-30 | magit-call-smerge: Remove unnecessary complication | Jonas Bernoulli |
| 2025-07-25 | Use shorthand match-str instead of match-string-no-properties | Jonas Bernoulli |
| 2025-07-02 | magit-discard: On "Untracked files" delete exactly the listed files | Jonas Bernoulli |
| 2025-07-02 | magit-discard: Refresh after discarding all untracked files | Jonas Bernoulli |
| 2025-05-31 | magit-apply-patch: Respect buffers context limit | Jonas Bernoulli |
| 2025-05-12 | magit-apply--get-selection: Return t for untracked type | Jonas Bernoulli |
| 2025-04-15 | Use ## more | Jonas Bernoulli |
| 2025-03-31 | magit-{stage,unstage}-file: Rename to magit-{stage,unstage}-files | Jonas Bernoulli |
| 2025-03-31 | magit-{stage,unstage}-buffer-file: Rename to magit-file-{stage,unstage} | Jonas Bernoulli |
| 2025-03-31 | magit-{stage,unstage}-buffer-file: Move definitions | Jonas Bernoulli |
| 2025-03-29 | Use ## more | Jonas Bernoulli |
| 2025-03-23 | magit-apply-patch: Do not refresh twice | Jonas Bernoulli |
| 2025-03-28 | magit-stage-untracked: Increase robustness | Jonas Bernoulli |
| 2025-03-28 | magit-state-untracked: Avoid unnecessary work | Jonas Bernoulli |
| 2025-02-03 | Drop dependency on Dash | Jonas Bernoulli |
| 2025-02-02 | Use ## and -separate instead of --separate | Jonas Bernoulli |
| 2025-02-02 | Use ## and seq-remove instead of --remove | Jonas Bernoulli |
| 2025-02-02 | Use ## and seq-filter instead of --filter | Jonas Bernoulli |
| 2025-02-02 | Use ## and mapcar instead of --map | Jonas Bernoulli |
| 2025-01-05 | Let the byte-compiler check more function references | Jonas Bernoulli |
| 2025-01-01 | Bump copyright years | Jonas Bernoulli |
| 2024-09-07 | Use ensure-list more | Jonas Bernoulli |
| 2024-08-03 | magit-reverse-in-index: Fix option reference in docs | Kyle Meyer |
| 2024-07-21 | magit-confirm: Directly support two rounds of prompt formatting | Jonas Bernoulli |
| 2024-07-21 | magit-{discard,reverse}-hunks: Use %d in format string | Jonas Bernoulli |
| 2024-06-23 | Use string-join instead of mapconcat | Jonas Bernoulli |
| 2024-04-29 | Drop support for Emacs 25 | Jonas Bernoulli |
| 2024-04-15 | Update contact information | Jonas Bernoulli |
| 2024-01-01 | Bump copyright years | Jonas Bernoulli |
| 2023-09-12 | magit-apply-{hunks,hunk,region}: Cosmetics | Jonas Bernoulli |
| 2023-09-12 | magit-diff--combined-p: New function | Jonas Bernoulli |
| 2023-09-03 | Allow un-/staging binary files when whitespace is being ignored | Jonas Bernoulli |
| 2023-08-19 | magit-stage-file: Fix staging ignored files | Jonas Bernoulli |