Skip to content

Tags

Tags

v0.11.0

Toggle v0.11.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
fix(history): batch getHistory requests instead of one RPC per message (

#249)

The messages iterator's default batch size is 1, so `tg history --limit N`
issued one messages.getHistory RPC per message. Larger limits became
extremely slow (hundreds of round trips for a few hundred messages).

Set BatchSize to min(limit, 100): Telegram does not reject a per-request
limit above 100 but silently returns fewer/incorrect results, so 100 is the
safe maximum. Clamp to at least 1, since a non-positive batch size panics the
iterator (it preallocates a slice with that capacity) and a negative --limit
would otherwise crash the process.

Co-authored-by: Yago Pérez <[email protected]>
Co-authored-by: Claude Opus 4.8 <[email protected]>

v0.10.0

Toggle v0.10.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
feat(session): store session in macOS Keychain by default (#248)

Add a sessionStore abstraction so session read/exists/delete go through a
single seam, with two backends: a file (existing behaviour, used off macOS
and when keychain is disabled) and the macOS login Keychain via the
`security` CLI (no cgo, keeps the static binary).

Keychain is the default on macOS; set `keychain: false` to opt out. An
existing file session is migrated into the Keychain on first use and the
file is removed; logout clears both.

Co-authored-by: Yago Pérez <[email protected]>
Co-authored-by: Claude Opus 4.8 <[email protected]>

v0.9.1

Toggle v0.9.1's commit message
v0.9.1

- fix(peers): resolve id: peers on the send path (send/reply/forward/edit/
  album/poll/schedule/upload)

v0.9.0

Toggle v0.9.0's commit message
v0.9.0

- feat(chats): split invite-link into show and new subcommands
- ci: add test workflow running go test -race
- docs: add CLAUDE.md

v0.8.0

Toggle v0.8.0's commit message
v0.8.0

- feat(devices): terminate subcommand to end a session
- feat(peers): address peers by numeric id with id: prefix
- feat(chats): allow creating a group without members

v0.7.0

Toggle v0.7.0's commit message
v0.7.0

- feat: use built-in (injected) app credentials on the test server too;
  drop the gotd test app id/hash (test mode only switches the DC list)
- ci: linux/riscv64 build target; upload-artifact on Node 24

v0.6.0

Toggle v0.6.0's commit message
v0.6.0

- breaking: app credentials are mandatory; the public tdesktop (2040)
  fallback is removed. Release binaries embed APP_ID/APP_HASH; source
  builds must supply --app-id/--app-hash (or set them at build time).

v0.4.1

Toggle v0.4.1's commit message
v0.4.1

ci: require APP_ID/APP_HASH secrets on release; modernize workflows

v0.4.0

Toggle v0.4.0's commit message
v0.4.0

- tg logout command
- login --account auto-creates accounts (built-in creds)
- mimic Telegram Desktop transport + init params (gotd/td v0.156.0)
- inject built-in APP_ID/APP_HASH at release time
- installable tg agent skill (skills/tg)
- breaking: --test moved from a global flag to tg init / accounts add