You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: rev_news/drafts/edition-134.md
+126Lines changed: 126 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -409,15 +409,141 @@ As always, we welcome your thoughts and feedback!_
409
409
## Other News
410
410
411
411
__Various__
412
+
+[What’s new in Git 2.54.0?](https://about.gitlab.com/blog/whats-new-in-git-2-54-0/)
413
+
by Patrick Steinhardt on GitLab Blog. Describes
414
+
pluggable object databases support,
415
+
easier editing of your commit history with `git history` command,
416
+
a native replacement for [git-sizer(1)](https://github.com/github/git-sizer): `git repo structure`,
417
+
and new infrastructure for repository maintenance.
418
+
+[Highlights from Git 2.54](https://github.blog/open-source/git/highlights-from-git-2-54/)
419
+
by Taylor Blau on GitHub Blog.
420
+
This blog post covers the highlights from both the 2.53 and 2.54 releases.
421
+
Describes rewriting history with `git history`,
422
+
config-based hooks,
423
+
geometric repacking during maintenance by default,
424
+
and other changes.
425
+
+[Git hooks, upgraded: What's new in Git 2.54 and coming in 2.55](https://www.collabora.com/news-and-blog/news-and-events/git-hooks-upgraded-whats-new-git-254-and-coming-255.html)
426
+
by Adrian Ratiu on Collabora News & Blog. Describes
427
+
hooks specified via git configuration,
428
+
running hooks in parallel,
429
+
and fixing submodule path collisions
430
+
(via `extensions.submodulePathConfig` and `submodule.*.gitdir`).
431
+
+[New features in Git 2.54: easier rebasing, hooks, and statistics](https://andrewlock.net/new-features-in-git-2-54-easier-rebasing-hooks-and-statistcs/)
432
+
by Andrew Lock on .NET Escapades. Describes
433
+
easier simple rebases with [`git history`](https://git-scm.com/docs/git-history),
434
+
setting up Git hooks in repository configuration,
435
+
and getting some git repository stats with [`git repo structure`](https://git-scm.com/docs/git-repo#Documentation/git-repo.txt-structure--formattablelinesnul-z).
436
+
+[git history: the best thing in Git 2.54](https://cekrem.github.io/posts/git-history-git-2-54/)
437
+
by Christian Ekrem on his GitHub Pages based blog.
438
+
439
+
+[An update on GitHub availability](https://github.blog/news-insights/company-news/an-update-on-github-availability/)
440
+
by Vlad Fedorov on GitHub Blog; mentions
441
+
April 23 merge queue incident (inadvertently reverted changes with the squash merge method) and
442
+
April 27 search-related incident (Elasticsearch subsystem stopped returning search results).
443
+
+[GitHub says sorry and vows to do better as uptime slips and devs complain](https://www.theregister.com/2026/04/29/github_says_sorry_and_says/)
444
+
by Richard Speed in The Register.
445
+
+[Securing the git push pipeline: Responding to a critical remote code execution vulnerability](https://github.blog/security/securing-the-git-push-pipeline-responding-to-a-critical-remote-code-execution-vulnerability/)
446
+
by Alexis Wales on GitHub Blog.
412
447
413
448
414
449
__Light reading__
450
+
+[From CVS to Git, thirty years of source control, lived from inside](https://evilgeniuslabs.ca/blog/from-cvs-to-git-thirty-years-of-source-control)
on Armin Ronacher's Thoughts and Writings is a good companion piece.
454
+
+[Using the first and the last version of Torvalds’s Git](https://lucasoshiro.github.io/posts-en/2025-12-12-using-torvalds-git/)
455
+
by Lucas Seiki Oshiro on their blog.
456
+
+[You probably don’t need git worktrees](https://avdi.codes/you-probably-dont-need-git-worktrees/)
457
+
by Avdi Grimm on avdi\.codes:
458
+
you can use _fast_ and _cheap_ local git clones instead (clones of a local repository).
459
+
+[Multiple URLs in Git Remote](https://susam.net/multiple-urls-in-git-remote.html)
460
+
(and what then happens) by Susam Pal on their blog.
461
+
+[Organisation-specific git authentication and commit signing](https://jamesmead.org/blog/2026-04-19-organisation-specific-git-authentication-and-commit-signing)
462
+
with `includeIf` directive (and `core.sshCommand` together with `gpg "ssh".allowedSignersFile`
463
+
configuration options) by James Mead on his blog.
464
+
+[Difftastic — my new favourite diff viewer](https://pawelgrzybek.com/difftastic-my-new-favourite-diff-viewer/)
465
+
by Paweł Grzybek on his blog.
466
+
+[Difftastic](https://github.com/Wilfred/difftastic) was first mentioned
467
+
in [Git Rev News Edition #86](https://git.github.io/rev_news/2022/04/30/edition-86/),
468
+
and most recently in [Edition #133](https://git.github.io/rev_news/2026/03/31/edition-133/).
469
+
+ The article also [talks about using Delta](https://pawelgrzybek.com/better-git-diff-with-delta/);
470
+
the [Delta](https://github.com/dandavison/delta) (from 'git-delta' package)
471
+
was first mentioned in [Git Rev News Edition #9](https://git.github.io/rev_news/2015/11/11/edition-9/),
472
+
and most recently in also in [Edition #133](https://git.github.io/rev_news/2026/03/31/edition-133/).
473
+
+[Protecting .git from malicious agents](https://me.micahrl.com/blog/protecting-git-malicious-agents/)
474
+
by mounting the project’s `.git` directory read only on top
475
+
of the project’s directory inside the container.
476
+
By Micah R. Ledbetter on their blog.
477
+
478
+
+[My New Secure Baseline for GitHub](https://cedwards.xyz/my-new-secure-baseline-for-github/)
479
+
by Connor Edwards on Connor's Blog; followup of sorts to his
480
+
[GitHub "Actions" Are An Impending Security Disaster](https://cedwards.xyz/github-actions-are-an-impending-security-disaster/) post.
481
+
+[GitHub Actions is the weakest link](https://nesbitt.io/2026/04/28/github-actions-is-the-weakest-link.html)
482
+
(in the open source software supply chain)
483
+
by Andrew Nesbitt on his blog.
484
+
+[GitHub banned me for no understandable reason: I got unbanned three hours after publishing this post](https://blog.hellbeast.eu.org/Github%20banned%20me%20for%20no%20understandable%20reason).
415
485
416
486
<!---
417
487
__Easy watching__
418
488
-->
419
489
420
490
__Git tools and sites__
491
+
+ "[High Performance Git](https://gitperf.com/)", a book by Ted Nyman
492
+
(online and [free PDF](https://gitperf.com/pdf.html)).
493
+
The book is about different layers, and the performance costs of each one.
494
+
+[GitChop](https://bendansby.com/apps/gitchop.html) - a visual `rebase -i`
495
+
(interactive rebase) for Mac. Drag-reorder commits,
496
+
split one commit into many by assigning hunks, reword in place.
497
+
+ Compare [rebase-editor: Simple terminal based sequence editor for git interactive rebase.](https://github.com/sjurba/rebase-editor)
498
+
(mentioned in [Git Rev News Edition #26](https://git.github.io/rev_news/2017/04/19/edition-26/)), and
499
+
[Git Interactive Rebase Tool](https://gitrebasetool.mitmaro.ca/)
500
+
(mentioned in [Git Rev News Edition #49](https://git.github.io/rev_news/2019/03/20/edition-49/)).
501
+
+[Git Shield](https://github.com/vekexasia/git-shield) is a set of git hooks
502
+
that blocks API keys, secrets, and contextual PII before code leaves your machine.
503
+
Scans secrets via [`gitleaks`](https://gitleaks.io/) (API keys, tokens, credentials, private keys)
504
+
and PII via [OpenAI Privacy Filter](https://github.com/openai/privacy-filter) (emails, phone numbers, names, addresses).
505
+
Written in Python, under MIT license.
506
+
+ GitLeaks is a tool to “check Git repos for secrets and keys”,
507
+
which was mentioned in [Git Rev News Edition #36](https://git.github.io/rev_news/2018/02/21/edition-36/#other-news).
508
+
This edition also mentions other tools to prevent from accidentally
509
+
storing secrets in repositories, namely:
510
+
[git-secrets](https://github.com/awslabs/git-secrets) by AWS Labs,
511
+
[git-all-secrets](https://github.com/anshumanbh/git-all-secrets), and
512
+
[repo-security-scanner](https://github.com/UKHomeOffice/repo-security-scanner) by UKHomeOffice.
on [Freenet](https://freenet.org/). Push, fetch, and clone through the Freenet network
523
+
using normal Git commands, without GitHub, GitLab, federation, or a server you operate.
524
+
A repository is a Freenet contract; Git sees it through a standard remote helper.
525
+
Requires `cargo install freenet-git` and a running local Freenet node.
526
+
Written in Rust, under LGPL-3.0 license.
527
+
+ See [Git Remote Helpers](https://nesbitt.io/2026/03/18/git-remote-helpers.html)
528
+
by Andrew Nesbitt, mentioned in [Git Rev News #133](https://git.github.io/rev_news/2026/03/31/edition-133/),
529
+
with a list of similar remote helpers:
530
+
[git-remote-gittorrent](https://github.com/cjb/GitTorrent) (distributed git over BitTorrent),
531
+
[git-remote-nostr](https://github.com/gugabfigueiredo/git-remote-nostr) (git objects as [Nostr](https://nostr.com/) events),
532
+
[git-remote-blossom](https://github.com/lez/git-remote-blossom) (on the Nostr-adjacent [Blossom protocol](https://github.com/hzrd149/blossom));
533
+
this edition also mentions [git-remote-rad](https://github.com/radicle-dev/heartwood/blob/master/git-remote-rad.1.adoc) (for [Radicle](https://radicle.dev/)).
534
+
+[`zizmor`](https://docs.zizmor.sh/) is a static analysis tool for GitHub Actions.
535
+
It can find and fix many common security issues in typical GitHub Actions CI/CD setups.
536
+
Written in Rust, under MIT license.
537
+
+[Rebass](https://adamf.github.io/rebass/) is a service
538
+
that turns a git history into music.<br>
539
+
Each commit becomes one bar of a four-beat groove.
540
+
A steady _bass_ and _pad_ ground the repo's key,
541
+
while a _lead_ voice plays a melody derived from each commit's SHA.
0 commit comments