Skip to content

Commit ab75c05

Browse files
lucasmodrichclaude
andcommitted
docs: add CHANGELOG.md following Keep a Changelog conventions
Establishes a changelog commencing from the fork's detach point, covering the 0.1.0 release already tagged and the unreleased work since (subprocess timeout/tini fix, entrypoint CRLF fix, dependency security upgrade). Linked from README.md alongside the existing HERITAGE.md reference. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
1 parent f2f520b commit ab75c05

2 files changed

Lines changed: 92 additions & 0 deletions

File tree

CHANGELOG.md

Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,88 @@
1+
# Changelog
2+
3+
All notable changes to this project will be documented in this file.
4+
5+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7+
8+
This changelog covers changes made in this fork, commencing from the point
9+
of divergence from [AkashRajpurohit/git-sync](https://github.com/AkashRajpurohit/git-sync).
10+
For the original project's history and acknowledgements, see [HERITAGE.md](./HERITAGE.md).
11+
12+
## [Unreleased]
13+
14+
## [0.2.0] - 2026-07-17
15+
16+
### Added
17+
18+
- `timeout` config option (default 1800 seconds) bounding each individual
19+
git clone/fetch attempt, so a stalled operation cannot block a worker
20+
slot indefinitely.
21+
22+
### Changed
23+
24+
- Threaded `context.Context` through the full sync pipeline — platform
25+
clients, `retryOperation`, and git subprocess execution — so shutdown
26+
signals and per-attempt timeouts are respected everywhere, not only in
27+
platform API calls.
28+
- The Docker image now runs `tini` as PID 1, so orphaned git subprocesses
29+
(`ssh`, `git-remote-https`, `pack-objects`) are reaped instead of being
30+
left as zombies.
31+
32+
### Fixed
33+
34+
- Resolved a resource-exhaustion bug where a stalled git operation,
35+
combined with the container running without an init process, could
36+
slowly exhaust the process table over days of uptime — eventually
37+
causing every repository in a sync run to fail until the container was
38+
restarted.
39+
- Fixed `entrypoint.sh`'s shebang breaking under Linux when the repository
40+
is checked out on Windows with `core.autocrlf=true` (CRLF line endings
41+
corrupted the interpreter path); added `.gitattributes` to enforce LF
42+
line endings for shell scripts.
43+
44+
### Removed
45+
46+
- Removed an unused project asset (`assets/catchintent-banner.png`) left
47+
over from before the fork.
48+
49+
### Security
50+
51+
- Upgraded `golang.org/x/crypto` (→ v0.54.0) and `golang.org/x/net`
52+
(→ v0.57.0), resolving 14 Dependabot alerts (7 critical, 2 high,
53+
5 moderate) covering SSH authentication-bypass, denial-of-service, and
54+
panic vulnerabilities in transitive dependencies.
55+
56+
## [0.1.0] - 2026-05-19
57+
58+
### Added
59+
60+
- Forked from [AkashRajpurohit/git-sync](https://github.com/AkashRajpurohit/git-sync).
61+
Original project history, feature log, and contributor acknowledgements
62+
are preserved in [HERITAGE.md](./HERITAGE.md).
63+
64+
### Changed
65+
66+
- Renamed the Go module and all import paths from
67+
`github.com/AkashRajpurohit/git-sync` to `github.com/lucasmodrich/git-sync`.
68+
- Replaced `README.md` with a fork-owned version; preserved the original as
69+
`HERITAGE.md`.
70+
- Updated `.all-contributorsrc`, the Docker image maintainer label, and
71+
GoReleaser ldflags/registry references for fork ownership.
72+
- Bumped the Docker build image to `golang:1.25-alpine` to match `go.mod`.
73+
- Replaced the upstream PostHog telemetry key with a fork-owned key.
74+
75+
### Fixed
76+
77+
- Removed `discussion_category_name` from the GoReleaser config —
78+
GitHub Discussions aren't enabled on this repository, which was causing
79+
release announcements to fail.
80+
81+
### Security
82+
83+
- Upgraded `golang.org/x/crypto` to v0.51.0, resolving CVE-2025-58181 and
84+
CVE-2025-47914.
85+
86+
[Unreleased]: https://github.com/lucasmodrich/git-sync/compare/v0.2.0...HEAD
87+
[0.2.0]: https://github.com/lucasmodrich/git-sync/compare/v0.1.0...v0.2.0
88+
[0.1.0]: https://github.com/lucasmodrich/git-sync/releases/tag/v0.1.0

README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,10 @@ See [CLAUDE.md](./CLAUDE.md) for full architecture and configuration reference.
5959
6060
Open an [issue](https://github.com/lucasmodrich/git-sync/issues/new) on GitHub.
6161
62+
## Changelog
63+
64+
See [CHANGELOG.md](./CHANGELOG.md) for notable changes made in this fork.
65+
6266
## Heritage
6367
6468
This project is a fork of [AkashRajpurohit/git-sync](https://github.com/AkashRajpurohit/git-sync), originally created by [Akash Rajpurohit](https://akashrajpurohit.com/). The original README, feature history, and contributor acknowledgements are preserved in [HERITAGE.md](./HERITAGE.md).

0 commit comments

Comments
 (0)